@teleporthq/teleport-plugin-next-data-source 0.43.57 → 0.43.60

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (147) hide show
  1. package/__tests__/_helpers/pagination-widget-fixture.ts +230 -0
  2. package/__tests__/ecommerce-product-allow-backorders.test.ts +156 -0
  3. package/__tests__/ecommerce-product-discounts.test.ts +196 -0
  4. package/__tests__/ecommerce-product-model.test.ts +179 -0
  5. package/__tests__/infinite-scroll.test.ts +143 -0
  6. package/__tests__/numbered-pagination.test.ts +113 -0
  7. package/__tests__/page-reset-on-filter-sort.test.ts +182 -0
  8. package/__tests__/page-url-sync.test.ts +208 -0
  9. package/__tests__/product-price-sort.ts +313 -0
  10. package/__tests__/search-url-sync.test.ts +7 -3
  11. package/dist/cjs/array-mapper-pagination.d.ts +9 -0
  12. package/dist/cjs/array-mapper-pagination.d.ts.map +1 -1
  13. package/dist/cjs/array-mapper-pagination.js.map +1 -1
  14. package/dist/cjs/count-effect.d.ts +42 -0
  15. package/dist/cjs/count-effect.d.ts.map +1 -0
  16. package/dist/cjs/count-effect.js +81 -0
  17. package/dist/cjs/count-effect.js.map +1 -0
  18. package/dist/cjs/fetchers/postgresql.d.ts.map +1 -1
  19. package/dist/cjs/fetchers/postgresql.js +2 -1
  20. package/dist/cjs/fetchers/postgresql.js.map +1 -1
  21. package/dist/cjs/fetchers/teleport.d.ts.map +1 -1
  22. package/dist/cjs/fetchers/teleport.js +3 -2
  23. package/dist/cjs/fetchers/teleport.js.map +1 -1
  24. package/dist/cjs/infinite-scroll.d.ts +65 -0
  25. package/dist/cjs/infinite-scroll.d.ts.map +1 -0
  26. package/dist/cjs/infinite-scroll.js +190 -0
  27. package/dist/cjs/infinite-scroll.js.map +1 -0
  28. package/dist/cjs/numbered-pagination.d.ts +42 -0
  29. package/dist/cjs/numbered-pagination.d.ts.map +1 -0
  30. package/dist/cjs/numbered-pagination.js +167 -0
  31. package/dist/cjs/numbered-pagination.js.map +1 -0
  32. package/dist/cjs/page-reset.d.ts +42 -0
  33. package/dist/cjs/page-reset.d.ts.map +1 -0
  34. package/dist/cjs/page-reset.js +116 -0
  35. package/dist/cjs/page-reset.js.map +1 -0
  36. package/dist/cjs/page-url-sync.d.ts +42 -0
  37. package/dist/cjs/page-url-sync.d.ts.map +1 -0
  38. package/dist/cjs/page-url-sync.js +180 -0
  39. package/dist/cjs/page-url-sync.js.map +1 -0
  40. package/dist/cjs/pagination-controls.d.ts +55 -0
  41. package/dist/cjs/pagination-controls.d.ts.map +1 -0
  42. package/dist/cjs/pagination-controls.js +159 -0
  43. package/dist/cjs/pagination-controls.js.map +1 -0
  44. package/dist/cjs/pagination-plugin.d.ts.map +1 -1
  45. package/dist/cjs/pagination-plugin.js +506 -160
  46. package/dist/cjs/pagination-plugin.js.map +1 -1
  47. package/dist/cjs/product-price-sort.d.ts +116 -0
  48. package/dist/cjs/product-price-sort.d.ts.map +1 -0
  49. package/dist/cjs/product-price-sort.js +169 -0
  50. package/dist/cjs/product-price-sort.js.map +1 -0
  51. package/dist/cjs/transformations/ecommerce-product.d.ts +12 -0
  52. package/dist/cjs/transformations/ecommerce-product.d.ts.map +1 -1
  53. package/dist/cjs/transformations/ecommerce-product.js +2 -1
  54. package/dist/cjs/transformations/ecommerce-product.js.map +1 -1
  55. package/dist/cjs/transformations/index.d.ts +2 -1
  56. package/dist/cjs/transformations/index.d.ts.map +1 -1
  57. package/dist/cjs/transformations/index.js +17 -1
  58. package/dist/cjs/transformations/index.js.map +1 -1
  59. package/dist/cjs/transformations/shared-utils.d.ts.map +1 -1
  60. package/dist/cjs/transformations/shared-utils.js +1 -1
  61. package/dist/cjs/transformations/shared-utils.js.map +1 -1
  62. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  63. package/dist/esm/array-mapper-pagination.d.ts +9 -0
  64. package/dist/esm/array-mapper-pagination.d.ts.map +1 -1
  65. package/dist/esm/array-mapper-pagination.js.map +1 -1
  66. package/dist/esm/count-effect.d.ts +42 -0
  67. package/dist/esm/count-effect.d.ts.map +1 -0
  68. package/dist/esm/count-effect.js +53 -0
  69. package/dist/esm/count-effect.js.map +1 -0
  70. package/dist/esm/fetchers/postgresql.d.ts.map +1 -1
  71. package/dist/esm/fetchers/postgresql.js +2 -1
  72. package/dist/esm/fetchers/postgresql.js.map +1 -1
  73. package/dist/esm/fetchers/teleport.d.ts.map +1 -1
  74. package/dist/esm/fetchers/teleport.js +3 -2
  75. package/dist/esm/fetchers/teleport.js.map +1 -1
  76. package/dist/esm/infinite-scroll.d.ts +65 -0
  77. package/dist/esm/infinite-scroll.d.ts.map +1 -0
  78. package/dist/esm/infinite-scroll.js +159 -0
  79. package/dist/esm/infinite-scroll.js.map +1 -0
  80. package/dist/esm/numbered-pagination.d.ts +42 -0
  81. package/dist/esm/numbered-pagination.d.ts.map +1 -0
  82. package/dist/esm/numbered-pagination.js +138 -0
  83. package/dist/esm/numbered-pagination.js.map +1 -0
  84. package/dist/esm/page-reset.d.ts +42 -0
  85. package/dist/esm/page-reset.d.ts.map +1 -0
  86. package/dist/esm/page-reset.js +87 -0
  87. package/dist/esm/page-reset.js.map +1 -0
  88. package/dist/esm/page-url-sync.d.ts +42 -0
  89. package/dist/esm/page-url-sync.d.ts.map +1 -0
  90. package/dist/esm/page-url-sync.js +152 -0
  91. package/dist/esm/page-url-sync.js.map +1 -0
  92. package/dist/esm/pagination-controls.d.ts +55 -0
  93. package/dist/esm/pagination-controls.d.ts.map +1 -0
  94. package/dist/esm/pagination-controls.js +126 -0
  95. package/dist/esm/pagination-controls.js.map +1 -0
  96. package/dist/esm/pagination-plugin.d.ts.map +1 -1
  97. package/dist/esm/pagination-plugin.js +507 -161
  98. package/dist/esm/pagination-plugin.js.map +1 -1
  99. package/dist/esm/product-price-sort.d.ts +116 -0
  100. package/dist/esm/product-price-sort.d.ts.map +1 -0
  101. package/dist/esm/product-price-sort.js +160 -0
  102. package/dist/esm/product-price-sort.js.map +1 -0
  103. package/dist/esm/transformations/ecommerce-product.d.ts +12 -0
  104. package/dist/esm/transformations/ecommerce-product.d.ts.map +1 -1
  105. package/dist/esm/transformations/ecommerce-product.js +3 -2
  106. package/dist/esm/transformations/ecommerce-product.js.map +1 -1
  107. package/dist/esm/transformations/index.d.ts +2 -1
  108. package/dist/esm/transformations/index.d.ts.map +1 -1
  109. package/dist/esm/transformations/index.js +17 -1
  110. package/dist/esm/transformations/index.js.map +1 -1
  111. package/dist/esm/transformations/shared-utils.d.ts.map +1 -1
  112. package/dist/esm/transformations/shared-utils.js +1 -1
  113. package/dist/esm/transformations/shared-utils.js.map +1 -1
  114. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  115. package/package.json +5 -5
  116. package/src/array-mapper-pagination.ts +10 -0
  117. package/src/count-effect.ts +137 -0
  118. package/src/fetchers/postgresql.ts +52 -13
  119. package/src/fetchers/teleport.ts +53 -13
  120. package/src/infinite-scroll.ts +401 -0
  121. package/src/numbered-pagination.ts +292 -0
  122. package/src/page-reset.ts +162 -0
  123. package/src/page-url-sync.ts +241 -0
  124. package/src/pagination-controls.ts +176 -0
  125. package/src/pagination-plugin.ts +755 -346
  126. package/src/product-price-sort.ts +204 -0
  127. package/src/transformations/ecommerce-product.ts +141 -10
  128. package/src/transformations/index.ts +19 -1
  129. package/src/transformations/shared-utils.ts +14 -0
  130. package/dist/cjs/array-mapper-registry.d.ts +0 -85
  131. package/dist/cjs/array-mapper-registry.d.ts.map +0 -1
  132. package/dist/cjs/array-mapper-registry.js +0 -296
  133. package/dist/cjs/array-mapper-registry.js.map +0 -1
  134. package/dist/cjs/pagination-with-count.d.ts +0 -6
  135. package/dist/cjs/pagination-with-count.d.ts.map +0 -1
  136. package/dist/cjs/pagination-with-count.js +0 -63
  137. package/dist/cjs/pagination-with-count.js.map +0 -1
  138. package/dist/esm/array-mapper-registry.d.ts +0 -85
  139. package/dist/esm/array-mapper-registry.d.ts.map +0 -1
  140. package/dist/esm/array-mapper-registry.js +0 -292
  141. package/dist/esm/array-mapper-registry.js.map +0 -1
  142. package/dist/esm/pagination-with-count.d.ts +0 -6
  143. package/dist/esm/pagination-with-count.d.ts.map +0 -1
  144. package/dist/esm/pagination-with-count.js +0 -34
  145. package/dist/esm/pagination-with-count.js.map +0 -1
  146. package/src/array-mapper-registry.ts +0 -416
  147. package/src/pagination-with-count.ts +0 -89
@@ -1,292 +0,0 @@
1
- /**
2
- * ArrayMapperRegistry - Centralized registry for managing array mappers,
3
- * their associated states, search inputs, and pagination buttons.
4
- *
5
- * This ensures consistent index usage across:
6
- * - Component state declarations
7
- * - DataProvider params
8
- * - getStaticProps fetch calls and prop names
9
- * - Search input bindings
10
- * - Pagination button bindings
11
- */
12
- var __assign = (this && this.__assign) || function () {
13
- __assign = Object.assign || function(t) {
14
- for (var s, i = 1, n = arguments.length; i < n; i++) {
15
- s = arguments[i];
16
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
17
- t[p] = s[p];
18
- }
19
- return t;
20
- };
21
- return __assign.apply(this, arguments);
22
- };
23
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
24
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
25
- if (ar || !(i in from)) {
26
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
27
- ar[i] = from[i];
28
- }
29
- }
30
- return to.concat(ar || Array.prototype.slice.call(from));
31
- };
32
- var ArrayMapperRegistry = /** @class */ (function () {
33
- function ArrayMapperRegistry() {
34
- this.entries = [];
35
- this.paginatedCount = 0;
36
- this.paginationOnlyCount = 0;
37
- this.searchOnlyCount = 0;
38
- this.plainCount = 0;
39
- }
40
- ArrayMapperRegistry.prototype.registerFromUIDL = function (config) {
41
- var type = this.determineType(config.paginated, config.searchEnabled);
42
- var typeIndex = this.getTypeIndex(type);
43
- var registryIndex = this.entries.length;
44
- var stateVarPrefix = this.generateStateVarPrefix(type, typeIndex);
45
- var entry = __assign(__assign({ registryIndex: registryIndex, type: type, dataSourceIdentifier: config.dataSourceIdentifier, arrayMapperRenderProp: config.arrayMapperRenderProp, uidlGlobalIndex: config.uidlGlobalIndex, paginated: config.paginated, searchEnabled: config.searchEnabled, perPage: config.perPage || 10, searchDebounce: config.searchDebounce || 300, searchDefaultValue: config.searchDefaultValue, queryColumns: config.queryColumns || [], stateVarPrefix: stateVarPrefix }, this.generateStateVarNames(stateVarPrefix, config.paginated, config.searchEnabled)), this.generateGetStaticPropsVarNames(config.dataSourceIdentifier, type, typeIndex));
46
- this.entries.push(entry);
47
- this.incrementTypeCount(type);
48
- return entry;
49
- };
50
- ArrayMapperRegistry.prototype.getEntry = function (registryIndex) {
51
- return this.entries[registryIndex];
52
- };
53
- ArrayMapperRegistry.prototype.getEntryByUIDLIndex = function (uidlGlobalIndex) {
54
- return this.entries.find(function (e) { return e.uidlGlobalIndex === uidlGlobalIndex; });
55
- };
56
- ArrayMapperRegistry.prototype.getEntriesByType = function (type) {
57
- return this.entries.filter(function (e) { return e.type === type; });
58
- };
59
- ArrayMapperRegistry.prototype.getAllEntries = function () {
60
- return __spreadArray([], this.entries, true);
61
- };
62
- ArrayMapperRegistry.prototype.getPaginatedEntries = function () {
63
- return this.getEntriesByType('paginated');
64
- };
65
- ArrayMapperRegistry.prototype.getPaginationOnlyEntries = function () {
66
- return this.getEntriesByType('pagination-only');
67
- };
68
- ArrayMapperRegistry.prototype.getSearchOnlyEntries = function () {
69
- return this.getEntriesByType('search-only');
70
- };
71
- ArrayMapperRegistry.prototype.getPlainEntries = function () {
72
- return this.getEntriesByType('plain');
73
- };
74
- ArrayMapperRegistry.prototype.updateJSXReferences = function (registryIndex, updates) {
75
- var entry = this.entries[registryIndex];
76
- if (entry) {
77
- Object.assign(entry, updates);
78
- }
79
- };
80
- ArrayMapperRegistry.prototype.getStateInitializationMaxPagesPropName = function (entry) {
81
- return entry.getStaticPropsMaxPagesPropName;
82
- };
83
- ArrayMapperRegistry.prototype.toDebugSummary = function () {
84
- return JSON.stringify(this.entries.map(function (e) { return ({
85
- registryIndex: e.registryIndex,
86
- type: e.type,
87
- dataSource: e.dataSourceIdentifier,
88
- renderProp: e.arrayMapperRenderProp,
89
- uidlIndex: e.uidlGlobalIndex,
90
- statePrefix: e.stateVarPrefix,
91
- getStaticPropsProp: e.getStaticPropsPropName,
92
- }); }), null, 2);
93
- };
94
- ArrayMapperRegistry.prototype.determineType = function (paginated, searchEnabled) {
95
- if (paginated && searchEnabled) {
96
- return 'paginated';
97
- }
98
- if (paginated && !searchEnabled) {
99
- return 'pagination-only';
100
- }
101
- if (!paginated && searchEnabled) {
102
- return 'search-only';
103
- }
104
- return 'plain';
105
- };
106
- ArrayMapperRegistry.prototype.getTypeIndex = function (type) {
107
- switch (type) {
108
- case 'paginated':
109
- return this.paginatedCount;
110
- case 'pagination-only':
111
- return this.paginationOnlyCount;
112
- case 'search-only':
113
- return this.searchOnlyCount;
114
- case 'plain':
115
- return this.plainCount;
116
- default:
117
- return 0;
118
- }
119
- };
120
- ArrayMapperRegistry.prototype.incrementTypeCount = function (type) {
121
- switch (type) {
122
- case 'paginated':
123
- this.paginatedCount++;
124
- break;
125
- case 'pagination-only':
126
- this.paginationOnlyCount++;
127
- break;
128
- case 'search-only':
129
- this.searchOnlyCount++;
130
- break;
131
- case 'plain':
132
- this.plainCount++;
133
- break;
134
- default:
135
- break;
136
- }
137
- };
138
- ArrayMapperRegistry.prototype.generateStateVarPrefix = function (type, typeIndex) {
139
- switch (type) {
140
- case 'paginated':
141
- return "pg_".concat(typeIndex);
142
- case 'pagination-only':
143
- return "paginationOnly_".concat(typeIndex);
144
- case 'search-only':
145
- return "searchOnly_".concat(typeIndex);
146
- case 'plain':
147
- return "plain_".concat(typeIndex);
148
- default:
149
- return '';
150
- }
151
- };
152
- ArrayMapperRegistry.prototype.generateStateVarNames = function (prefix, paginated, searchEnabled) {
153
- var result = {};
154
- if (paginated) {
155
- if (searchEnabled) {
156
- result.combinedStateVar = "paginationState_".concat(prefix);
157
- result.setCombinedStateVar = "setPaginationState_".concat(prefix);
158
- result.pageStateVar = "paginationState_".concat(prefix, ".page");
159
- result.setPageStateVar = "setPaginationState_".concat(prefix);
160
- }
161
- else {
162
- result.pageStateVar = "".concat(prefix, "_page");
163
- result.setPageStateVar = "set".concat(this.capitalize(prefix), "_page");
164
- }
165
- result.maxPagesStateVar = "pagination_".concat(prefix, "_maxPages");
166
- result.setMaxPagesStateVar = "setPagination_".concat(prefix, "_maxPages");
167
- }
168
- else {
169
- result.pageStateVar = '';
170
- result.setPageStateVar = '';
171
- result.maxPagesStateVar = '';
172
- result.setMaxPagesStateVar = '';
173
- }
174
- if (searchEnabled) {
175
- result.searchQueryVar = "search_".concat(prefix, "_query");
176
- result.setSearchQueryVar = "setSearch_".concat(prefix, "_query");
177
- result.debouncedSearchQueryVar = "debouncedSearch_".concat(prefix, "_query");
178
- result.setDebouncedSearchQueryVar = "setDebouncedSearch_".concat(prefix, "_query");
179
- result.skipDebounceRefVar = "skipDebounceOnMount_".concat(prefix);
180
- }
181
- return result;
182
- };
183
- ArrayMapperRegistry.prototype.generateGetStaticPropsVarNames = function (dataSourceIdentifier, type, typeIndex) {
184
- var suffix;
185
- switch (type) {
186
- case 'paginated':
187
- suffix = "pg_".concat(typeIndex);
188
- break;
189
- case 'pagination-only':
190
- suffix = "paginationOnly_".concat(typeIndex);
191
- break;
192
- case 'search-only':
193
- suffix = "searchOnly_".concat(typeIndex);
194
- break;
195
- case 'plain':
196
- suffix = "plain_".concat(typeIndex);
197
- break;
198
- default:
199
- suffix = "plain_".concat(typeIndex);
200
- break;
201
- }
202
- var dataVar = "".concat(dataSourceIdentifier, "_").concat(suffix);
203
- var maxPagesVar = "".concat(dataSourceIdentifier, "_").concat(suffix, "_maxPages");
204
- return {
205
- getStaticPropsDataVar: dataVar,
206
- getStaticPropsMaxPagesVar: maxPagesVar,
207
- getStaticPropsPropName: dataVar,
208
- getStaticPropsMaxPagesPropName: maxPagesVar,
209
- };
210
- };
211
- ArrayMapperRegistry.prototype.capitalize = function (str) {
212
- return str.charAt(0).toUpperCase() + str.slice(1);
213
- };
214
- return ArrayMapperRegistry;
215
- }());
216
- export { ArrayMapperRegistry };
217
- export function createRegistryFromUIDL(uidlNode, allResources) {
218
- var registry = new ArrayMapperRegistry();
219
- var visitedRepeaterKeys = new Set();
220
- var uidlGlobalIndex = 0;
221
- var findQueryColumns = function (resourceId, nodeResource, registryResources) {
222
- var _a, _b, _c, _d;
223
- if ((_a = nodeResource === null || nodeResource === void 0 ? void 0 : nodeResource.params) === null || _a === void 0 ? void 0 : _a.queryColumns) {
224
- var val = nodeResource.params.queryColumns;
225
- if (val.type === 'static' && Array.isArray(val.content)) {
226
- return val.content;
227
- }
228
- }
229
- if ((_d = (_c = (_b = registryResources === null || registryResources === void 0 ? void 0 : registryResources.items) === null || _b === void 0 ? void 0 : _b[resourceId]) === null || _c === void 0 ? void 0 : _c.params) === null || _d === void 0 ? void 0 : _d.queryColumns) {
230
- var val = registryResources.items[resourceId].params.queryColumns;
231
- if (val.type === 'static' && Array.isArray(val.content)) {
232
- return val.content;
233
- }
234
- }
235
- return undefined;
236
- };
237
- var traverse = function (node, currentDataSourceId) {
238
- var _a, _b, _c, _d, _e, _f;
239
- if (!node || typeof node !== 'object') {
240
- return;
241
- }
242
- if (node.type === 'data-source-list' && ((_a = node.content) === null || _a === void 0 ? void 0 : _a.renderPropIdentifier)) {
243
- currentDataSourceId = node.content.renderPropIdentifier;
244
- }
245
- if (node.type === 'cms-list-repeater' && ((_b = node.content) === null || _b === void 0 ? void 0 : _b.renderPropIdentifier)) {
246
- var c = node.content;
247
- var repeaterKey = "".concat(c.renderPropIdentifier, "|").concat(c.paginated, "|").concat(c.searchEnabled, "|").concat(c.perPage || 'default', "|").concat(c.source || '');
248
- if (visitedRepeaterKeys.has(repeaterKey)) {
249
- return;
250
- }
251
- visitedRepeaterKeys.add(repeaterKey);
252
- var resourceId = (_c = c.resource) === null || _c === void 0 ? void 0 : _c.id;
253
- var queryColumns = void 0;
254
- if (resourceId) {
255
- queryColumns = findQueryColumns(resourceId, c.resource, allResources);
256
- }
257
- var rawDefault = c.searchDefaultValue;
258
- var searchDefaultValue = rawDefault &&
259
- rawDefault.type === 'static' &&
260
- typeof rawDefault.content === 'string' &&
261
- rawDefault.content.length > 0
262
- ? rawDefault.content
263
- : undefined;
264
- registry.registerFromUIDL({
265
- dataSourceIdentifier: currentDataSourceId || 'unknown',
266
- arrayMapperRenderProp: c.renderPropIdentifier,
267
- uidlGlobalIndex: uidlGlobalIndex++,
268
- paginated: !!c.paginated,
269
- searchEnabled: !!c.searchEnabled,
270
- perPage: c.perPage,
271
- searchDebounce: c.searchDebounce,
272
- searchDefaultValue: searchDefaultValue,
273
- queryColumns: queryColumns,
274
- });
275
- }
276
- if (((_d = node.content) === null || _d === void 0 ? void 0 : _d.children) && Array.isArray(node.content.children)) {
277
- node.content.children.forEach(function (child) { return traverse(child, currentDataSourceId); });
278
- }
279
- if ((_e = node.content) === null || _e === void 0 ? void 0 : _e.node) {
280
- traverse(node.content.node, currentDataSourceId);
281
- }
282
- if ((_f = node.content) === null || _f === void 0 ? void 0 : _f.nodes) {
283
- Object.values(node.content.nodes).forEach(function (n) { return traverse(n, currentDataSourceId); });
284
- }
285
- if (Array.isArray(node.children)) {
286
- node.children.forEach(function (child) { return traverse(child, currentDataSourceId); });
287
- }
288
- };
289
- traverse(uidlNode);
290
- return registry;
291
- }
292
- //# sourceMappingURL=array-mapper-registry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"array-mapper-registry.js","sourceRoot":"","sources":["../../src/array-mapper-registry.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import * as types from '@babel/types';
2
- import { ArrayMapperPaginationInfo } from './array-mapper-pagination';
3
- export declare function generateTotalPagesState(info: ArrayMapperPaginationInfo): types.VariableDeclaration;
4
- export declare function generateTotalPagesCalculation(info: ArrayMapperPaginationInfo): types.VariableDeclaration;
5
- export declare function wrapFetchDataWithTotalExtraction(fetchDataExpr: types.ArrowFunctionExpression, setTotalStateVar: string): types.ArrowFunctionExpression;
6
- //# sourceMappingURL=pagination-with-count.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pagination-with-count.d.ts","sourceRoot":"","sources":["../../src/pagination-with-count.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAA;AAErE,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,yBAAyB,GAC9B,KAAK,CAAC,mBAAmB,CAU3B;AAED,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,yBAAyB,GAC9B,KAAK,CAAC,mBAAmB,CAmB3B;AAED,wBAAgB,gCAAgC,CAC9C,aAAa,EAAE,KAAK,CAAC,uBAAuB,EAC5C,gBAAgB,EAAE,MAAM,GACvB,KAAK,CAAC,uBAAuB,CA6C/B"}
@@ -1,34 +0,0 @@
1
- import * as types from '@babel/types';
2
- export function generateTotalPagesState(info) {
3
- var totalStateVar = "pagination_".concat(info.paginationNodeId, "_total");
4
- var setTotalStateVar = "setPagination_".concat(info.paginationNodeId, "_total");
5
- return types.variableDeclaration('const', [
6
- types.variableDeclarator(types.arrayPattern([types.identifier(totalStateVar), types.identifier(setTotalStateVar)]), types.callExpression(types.identifier('useState'), [types.numericLiteral(0)])),
7
- ]);
8
- }
9
- export function generateTotalPagesCalculation(info) {
10
- var totalStateVar = "pagination_".concat(info.paginationNodeId, "_total");
11
- var totalPagesVar = "pagination_".concat(info.paginationNodeId, "_totalPages");
12
- return types.variableDeclaration('const', [
13
- types.variableDeclarator(types.identifier(totalPagesVar), types.callExpression(types.memberExpression(types.identifier('Math'), types.identifier('ceil')), [
14
- types.binaryExpression('/', types.identifier(totalStateVar), types.numericLiteral(info.perPage)),
15
- ])),
16
- ]);
17
- }
18
- export function wrapFetchDataWithTotalExtraction(fetchDataExpr, setTotalStateVar) {
19
- // Wrap the existing fetchData to extract total from response
20
- var wrappedBody = types.blockStatement([
21
- types.returnStatement(types.callExpression(types.memberExpression(types.callExpression(fetchDataExpr.body, []), types.identifier('then')), [
22
- types.arrowFunctionExpression([types.identifier('response')], types.blockStatement([
23
- types.ifStatement(types.logicalExpression('&&', types.identifier('response'), types.memberExpression(types.identifier('response'), types.identifier('total'))), types.blockStatement([
24
- types.expressionStatement(types.callExpression(types.identifier(setTotalStateVar), [
25
- types.memberExpression(types.identifier('response'), types.identifier('total')),
26
- ])),
27
- ])),
28
- types.returnStatement(types.conditionalExpression(types.memberExpression(types.identifier('response'), types.identifier('data')), types.memberExpression(types.identifier('response'), types.identifier('data')), types.identifier('response'))),
29
- ])),
30
- ])),
31
- ]);
32
- return types.arrowFunctionExpression(fetchDataExpr.params, wrappedBody);
33
- }
34
- //# sourceMappingURL=pagination-with-count.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pagination-with-count.js","sourceRoot":"","sources":["../../src/pagination-with-count.ts"],"names":[],"mappings":"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"}