@teleporthq/teleport-plugin-next-data-source 0.42.8 → 0.42.10
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.
- package/__tests__/csv-header-detection.test.ts +212 -0
- package/__tests__/validation.test.ts +33 -2
- package/dist/cjs/data-source-fetchers.d.ts +2 -2
- package/dist/cjs/data-source-fetchers.d.ts.map +1 -1
- package/dist/cjs/data-source-fetchers.js +30 -7
- package/dist/cjs/data-source-fetchers.js.map +1 -1
- package/dist/cjs/fetchers/airtable.d.ts.map +1 -1
- package/dist/cjs/fetchers/airtable.js +2 -2
- package/dist/cjs/fetchers/airtable.js.map +1 -1
- package/dist/cjs/fetchers/clickhouse.d.ts.map +1 -1
- package/dist/cjs/fetchers/clickhouse.js +1 -1
- package/dist/cjs/fetchers/clickhouse.js.map +1 -1
- package/dist/cjs/fetchers/csv-file.d.ts.map +1 -1
- package/dist/cjs/fetchers/csv-file.js +23 -3
- package/dist/cjs/fetchers/csv-file.js.map +1 -1
- package/dist/cjs/fetchers/firestore.d.ts.map +1 -1
- package/dist/cjs/fetchers/firestore.js +1 -1
- package/dist/cjs/fetchers/firestore.js.map +1 -1
- package/dist/cjs/fetchers/google-sheets.d.ts.map +1 -1
- package/dist/cjs/fetchers/google-sheets.js +6 -1
- package/dist/cjs/fetchers/google-sheets.js.map +1 -1
- package/dist/cjs/fetchers/javascript.d.ts.map +1 -1
- package/dist/cjs/fetchers/javascript.js +2 -1
- package/dist/cjs/fetchers/javascript.js.map +1 -1
- package/dist/cjs/fetchers/mariadb.d.ts.map +1 -1
- package/dist/cjs/fetchers/mariadb.js +3 -3
- package/dist/cjs/fetchers/mariadb.js.map +1 -1
- package/dist/cjs/fetchers/mongodb.d.ts +1 -1
- package/dist/cjs/fetchers/mongodb.d.ts.map +1 -1
- package/dist/cjs/fetchers/mongodb.js +11 -3
- package/dist/cjs/fetchers/mongodb.js.map +1 -1
- package/dist/cjs/fetchers/mysql.d.ts.map +1 -1
- package/dist/cjs/fetchers/mysql.js +2 -2
- package/dist/cjs/fetchers/mysql.js.map +1 -1
- package/dist/cjs/fetchers/postgresql.d.ts.map +1 -1
- package/dist/cjs/fetchers/postgresql.js +3 -3
- package/dist/cjs/fetchers/postgresql.js.map +1 -1
- package/dist/cjs/fetchers/redis.d.ts.map +1 -1
- package/dist/cjs/fetchers/redis.js +1 -1
- package/dist/cjs/fetchers/redis.js.map +1 -1
- package/dist/cjs/fetchers/redshift.d.ts.map +1 -1
- package/dist/cjs/fetchers/redshift.js +2 -2
- package/dist/cjs/fetchers/redshift.js.map +1 -1
- package/dist/cjs/fetchers/rest-api.d.ts.map +1 -1
- package/dist/cjs/fetchers/rest-api.js +3 -2
- package/dist/cjs/fetchers/rest-api.js.map +1 -1
- package/dist/cjs/fetchers/static-collection.d.ts.map +1 -1
- package/dist/cjs/fetchers/static-collection.js +2 -1
- package/dist/cjs/fetchers/static-collection.js.map +1 -1
- package/dist/cjs/fetchers/supabase.d.ts.map +1 -1
- package/dist/cjs/fetchers/supabase.js +2 -2
- package/dist/cjs/fetchers/supabase.js.map +1 -1
- package/dist/cjs/fetchers/turso.d.ts.map +1 -1
- package/dist/cjs/fetchers/turso.js +1 -1
- package/dist/cjs/fetchers/turso.js.map +1 -1
- package/dist/cjs/fetchers/utils/header-detection.d.ts +2 -0
- package/dist/cjs/fetchers/utils/header-detection.d.ts.map +1 -0
- package/dist/cjs/fetchers/utils/header-detection.js +8 -0
- package/dist/cjs/fetchers/utils/header-detection.js.map +1 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +168 -4
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/pagination-plugin.d.ts.map +1 -1
- package/dist/cjs/pagination-plugin.js +320 -65
- package/dist/cjs/pagination-plugin.js.map +1 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/cjs/utils.d.ts +3 -0
- package/dist/cjs/utils.d.ts.map +1 -1
- package/dist/cjs/utils.js +218 -46
- package/dist/cjs/utils.js.map +1 -1
- package/dist/esm/data-source-fetchers.d.ts +2 -2
- package/dist/esm/data-source-fetchers.d.ts.map +1 -1
- package/dist/esm/data-source-fetchers.js +29 -6
- package/dist/esm/data-source-fetchers.js.map +1 -1
- package/dist/esm/fetchers/airtable.d.ts.map +1 -1
- package/dist/esm/fetchers/airtable.js +3 -3
- package/dist/esm/fetchers/airtable.js.map +1 -1
- package/dist/esm/fetchers/clickhouse.d.ts.map +1 -1
- package/dist/esm/fetchers/clickhouse.js +2 -2
- package/dist/esm/fetchers/clickhouse.js.map +1 -1
- package/dist/esm/fetchers/csv-file.d.ts.map +1 -1
- package/dist/esm/fetchers/csv-file.js +23 -3
- package/dist/esm/fetchers/csv-file.js.map +1 -1
- package/dist/esm/fetchers/firestore.d.ts.map +1 -1
- package/dist/esm/fetchers/firestore.js +2 -2
- package/dist/esm/fetchers/firestore.js.map +1 -1
- package/dist/esm/fetchers/google-sheets.d.ts.map +1 -1
- package/dist/esm/fetchers/google-sheets.js +6 -1
- package/dist/esm/fetchers/google-sheets.js.map +1 -1
- package/dist/esm/fetchers/javascript.d.ts.map +1 -1
- package/dist/esm/fetchers/javascript.js +2 -1
- package/dist/esm/fetchers/javascript.js.map +1 -1
- package/dist/esm/fetchers/mariadb.d.ts.map +1 -1
- package/dist/esm/fetchers/mariadb.js +4 -4
- package/dist/esm/fetchers/mariadb.js.map +1 -1
- package/dist/esm/fetchers/mongodb.d.ts +1 -1
- package/dist/esm/fetchers/mongodb.d.ts.map +1 -1
- package/dist/esm/fetchers/mongodb.js +12 -4
- package/dist/esm/fetchers/mongodb.js.map +1 -1
- package/dist/esm/fetchers/mysql.d.ts.map +1 -1
- package/dist/esm/fetchers/mysql.js +3 -3
- package/dist/esm/fetchers/mysql.js.map +1 -1
- package/dist/esm/fetchers/postgresql.d.ts.map +1 -1
- package/dist/esm/fetchers/postgresql.js +4 -4
- package/dist/esm/fetchers/postgresql.js.map +1 -1
- package/dist/esm/fetchers/redis.d.ts.map +1 -1
- package/dist/esm/fetchers/redis.js +2 -2
- package/dist/esm/fetchers/redis.js.map +1 -1
- package/dist/esm/fetchers/redshift.d.ts.map +1 -1
- package/dist/esm/fetchers/redshift.js +3 -3
- package/dist/esm/fetchers/redshift.js.map +1 -1
- package/dist/esm/fetchers/rest-api.d.ts.map +1 -1
- package/dist/esm/fetchers/rest-api.js +3 -2
- package/dist/esm/fetchers/rest-api.js.map +1 -1
- package/dist/esm/fetchers/static-collection.d.ts.map +1 -1
- package/dist/esm/fetchers/static-collection.js +2 -1
- package/dist/esm/fetchers/static-collection.js.map +1 -1
- package/dist/esm/fetchers/supabase.d.ts.map +1 -1
- package/dist/esm/fetchers/supabase.js +3 -3
- package/dist/esm/fetchers/supabase.js.map +1 -1
- package/dist/esm/fetchers/turso.d.ts.map +1 -1
- package/dist/esm/fetchers/turso.js +2 -2
- package/dist/esm/fetchers/turso.js.map +1 -1
- package/dist/esm/fetchers/utils/header-detection.d.ts +2 -0
- package/dist/esm/fetchers/utils/header-detection.d.ts.map +1 -0
- package/dist/esm/fetchers/utils/header-detection.js +4 -0
- package/dist/esm/fetchers/utils/header-detection.js.map +1 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +169 -5
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/pagination-plugin.d.ts.map +1 -1
- package/dist/esm/pagination-plugin.js +320 -65
- package/dist/esm/pagination-plugin.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/utils.d.ts +3 -0
- package/dist/esm/utils.d.ts.map +1 -1
- package/dist/esm/utils.js +214 -45
- package/dist/esm/utils.js.map +1 -1
- package/package.json +2 -2
- package/src/data-source-fetchers.ts +29 -13
- package/src/fetchers/airtable.ts +81 -31
- package/src/fetchers/clickhouse.ts +88 -19
- package/src/fetchers/csv-file.ts +256 -27
- package/src/fetchers/firestore.ts +65 -13
- package/src/fetchers/google-sheets.ts +243 -26
- package/src/fetchers/javascript.ts +106 -23
- package/src/fetchers/mariadb.ts +85 -26
- package/src/fetchers/mongodb.ts +156 -37
- package/src/fetchers/mysql.ts +86 -26
- package/src/fetchers/postgresql.ts +89 -27
- package/src/fetchers/redis.ts +43 -5
- package/src/fetchers/redshift.ts +87 -18
- package/src/fetchers/rest-api.ts +105 -24
- package/src/fetchers/static-collection.ts +100 -18
- package/src/fetchers/supabase.ts +178 -54
- package/src/fetchers/turso.ts +87 -18
- package/src/fetchers/utils/header-detection.ts +200 -0
- package/src/index.ts +248 -2
- package/src/pagination-plugin.ts +708 -191
- package/src/utils.ts +374 -38
|
@@ -64,6 +64,7 @@ var teleport_types_1 = require("@teleporthq/teleport-types");
|
|
|
64
64
|
var types = __importStar(require("@babel/types"));
|
|
65
65
|
var teleport_shared_1 = require("@teleporthq/teleport-shared");
|
|
66
66
|
var utils_1 = require("./utils");
|
|
67
|
+
var data_source_fetchers_1 = require("./data-source-fetchers");
|
|
67
68
|
// Scan UIDL to find all data source usages and build a registry
|
|
68
69
|
function buildStateRegistry(uidlNode) {
|
|
69
70
|
var usages = [];
|
|
@@ -71,7 +72,7 @@ function buildStateRegistry(uidlNode) {
|
|
|
71
72
|
var byArrayMapperRenderProp = new Map();
|
|
72
73
|
var index = 0;
|
|
73
74
|
var traverse = function (node, parentDataSource) {
|
|
74
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
75
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t;
|
|
75
76
|
if (!node || typeof node !== 'object') {
|
|
76
77
|
return;
|
|
77
78
|
}
|
|
@@ -110,9 +111,19 @@ function buildStateRegistry(uidlNode) {
|
|
|
110
111
|
if ((_h = (_g = parentDataSource.resourceParams) === null || _g === void 0 ? void 0 : _g.queryColumns) === null || _h === void 0 ? void 0 : _h.content) {
|
|
111
112
|
queryColumns = parentDataSource.resourceParams.queryColumns.content;
|
|
112
113
|
}
|
|
114
|
+
// Extract sorts from parent's resource params
|
|
115
|
+
var sorts = [];
|
|
116
|
+
if ((_k = (_j = parentDataSource.resourceParams) === null || _j === void 0 ? void 0 : _j.sorts) === null || _k === void 0 ? void 0 : _k.content) {
|
|
117
|
+
sorts = parentDataSource.resourceParams.sorts.content;
|
|
118
|
+
}
|
|
119
|
+
// Extract filters from parent's resource params
|
|
120
|
+
var filters = [];
|
|
121
|
+
if ((_m = (_l = parentDataSource.resourceParams) === null || _l === void 0 ? void 0 : _l.filters) === null || _m === void 0 ? void 0 : _m.content) {
|
|
122
|
+
filters = parentDataSource.resourceParams.filters.content;
|
|
123
|
+
}
|
|
113
124
|
// Extract limit from parent's resource params (for plain array mappers)
|
|
114
125
|
var limit = 0;
|
|
115
|
-
if ((
|
|
126
|
+
if ((_p = (_o = parentDataSource.resourceParams) === null || _o === void 0 ? void 0 : _o.limit) === null || _p === void 0 ? void 0 : _p.content) {
|
|
116
127
|
limit = parentDataSource.resourceParams.limit.content;
|
|
117
128
|
}
|
|
118
129
|
// For paginated mappers, use perPage from cms-list-repeater
|
|
@@ -132,6 +143,8 @@ function buildStateRegistry(uidlNode) {
|
|
|
132
143
|
searchEnabled: !!content.searchEnabled,
|
|
133
144
|
searchDebounce: content.searchDebounce || 300,
|
|
134
145
|
queryColumns: queryColumns,
|
|
146
|
+
sorts: sorts,
|
|
147
|
+
filters: filters,
|
|
135
148
|
category: 'plain',
|
|
136
149
|
};
|
|
137
150
|
// Determine category
|
|
@@ -153,22 +166,22 @@ function buildStateRegistry(uidlNode) {
|
|
|
153
166
|
byArrayMapperRenderProp.set(arrayMapperRenderProp, usage);
|
|
154
167
|
}
|
|
155
168
|
// Continue traversing inside the repeater
|
|
156
|
-
if ((
|
|
169
|
+
if ((_q = content.nodes) === null || _q === void 0 ? void 0 : _q.list) {
|
|
157
170
|
traverse(content.nodes.list, parentDataSource);
|
|
158
171
|
}
|
|
159
172
|
return;
|
|
160
173
|
}
|
|
161
174
|
// Recurse into children
|
|
162
|
-
if (((
|
|
163
|
-
for (var _i = 0,
|
|
164
|
-
var child =
|
|
175
|
+
if (((_r = node.content) === null || _r === void 0 ? void 0 : _r.children) && Array.isArray(node.content.children)) {
|
|
176
|
+
for (var _i = 0, _u = node.content.children; _i < _u.length; _i++) {
|
|
177
|
+
var child = _u[_i];
|
|
165
178
|
traverse(child, parentDataSource);
|
|
166
179
|
}
|
|
167
180
|
}
|
|
168
|
-
if ((
|
|
181
|
+
if ((_s = node.content) === null || _s === void 0 ? void 0 : _s.node) {
|
|
169
182
|
traverse(node.content.node, parentDataSource);
|
|
170
183
|
}
|
|
171
|
-
if ((
|
|
184
|
+
if ((_t = node.content) === null || _t === void 0 ? void 0 : _t.nodes) {
|
|
172
185
|
if (node.content.nodes.success) {
|
|
173
186
|
traverse(node.content.nodes.success, parentDataSource);
|
|
174
187
|
}
|
|
@@ -186,8 +199,8 @@ function buildStateRegistry(uidlNode) {
|
|
|
186
199
|
}
|
|
187
200
|
}
|
|
188
201
|
if (Array.isArray(node.children)) {
|
|
189
|
-
for (var
|
|
190
|
-
var child =
|
|
202
|
+
for (var _v = 0, _w = node.children; _v < _w.length; _v++) {
|
|
203
|
+
var child = _w[_v];
|
|
191
204
|
traverse(child, parentDataSource);
|
|
192
205
|
}
|
|
193
206
|
}
|
|
@@ -373,6 +386,29 @@ var createNextArrayMapperPaginationPlugin = function () {
|
|
|
373
386
|
if (usage.queryColumns.length > 0) {
|
|
374
387
|
urlParams.push(types.objectProperty(types.identifier('queryColumns'), types.callExpression(types.memberExpression(types.identifier('JSON'), types.identifier('stringify')), [types.arrayExpression(usage.queryColumns.map(function (c) { return types.stringLiteral(c); }))])));
|
|
375
388
|
}
|
|
389
|
+
// Add sorts to count fetch params if present
|
|
390
|
+
if (usage.sorts && usage.sorts.length > 0) {
|
|
391
|
+
urlParams.push(types.objectProperty(types.identifier('sorts'), types.callExpression(types.memberExpression(types.identifier('JSON'), types.identifier('stringify')), [
|
|
392
|
+
types.arrayExpression(usage.sorts.map(function (sort) {
|
|
393
|
+
return types.objectExpression([
|
|
394
|
+
types.objectProperty(types.identifier('field'), types.stringLiteral(sort.field || '')),
|
|
395
|
+
types.objectProperty(types.identifier('order'), types.stringLiteral(sort.order || '')),
|
|
396
|
+
]);
|
|
397
|
+
})),
|
|
398
|
+
])));
|
|
399
|
+
}
|
|
400
|
+
// Add filters to count fetch params if present
|
|
401
|
+
if (usage.filters && usage.filters.length > 0) {
|
|
402
|
+
urlParams.push(types.objectProperty(types.identifier('filters'), types.callExpression(types.memberExpression(types.identifier('JSON'), types.identifier('stringify')), [
|
|
403
|
+
types.arrayExpression(usage.filters.map(function (filter) {
|
|
404
|
+
return types.objectExpression([
|
|
405
|
+
types.objectProperty(types.identifier('source'), types.stringLiteral(filter.source || '')),
|
|
406
|
+
types.objectProperty(types.identifier('destination'), types.stringLiteral(filter.destination || '')),
|
|
407
|
+
types.objectProperty(types.identifier('operand'), types.stringLiteral(filter.operand || '')),
|
|
408
|
+
]);
|
|
409
|
+
})),
|
|
410
|
+
])));
|
|
411
|
+
}
|
|
376
412
|
// Build the count fetch effect body
|
|
377
413
|
var countFetchEffectBody = [];
|
|
378
414
|
// Only add skip-on-mount check for pages (where we have server-side count)
|
|
@@ -536,13 +572,11 @@ var createNextArrayMapperPaginationPlugin = function () {
|
|
|
536
572
|
else if (usage.category === 'search-only') {
|
|
537
573
|
updateDataProviderForSearchOnly(dp, usage, vars, fileName);
|
|
538
574
|
}
|
|
539
|
-
else {
|
|
540
|
-
updateDataProviderForPlain(dp,
|
|
541
|
-
}
|
|
542
|
-
// Create API route if needed
|
|
543
|
-
if (usage.category !== 'plain') {
|
|
544
|
-
ensureAPIRouteExists(options.extractedResources, usage);
|
|
575
|
+
else if (usage.category === 'plain') {
|
|
576
|
+
updateDataProviderForPlain(dp, fileName);
|
|
545
577
|
}
|
|
578
|
+
// Create API route for all categories (including 'plain' for components)
|
|
579
|
+
ensureAPIRouteExists(options.extractedResources, usage, options.dataSources);
|
|
546
580
|
});
|
|
547
581
|
dataProvidersWithoutRepeaters = dataProviders.filter(function (dp) {
|
|
548
582
|
var hasRepeater = findArrayMapperRenderPropInDataProvider(dp) !== undefined;
|
|
@@ -575,7 +609,7 @@ var createNextArrayMapperPaginationPlugin = function () {
|
|
|
575
609
|
});
|
|
576
610
|
// STEP 6: Update getStaticProps if this is a page
|
|
577
611
|
if (isPage) {
|
|
578
|
-
updateGetStaticProps(chunks, registry);
|
|
612
|
+
updateGetStaticProps(chunks, registry, dependencies);
|
|
579
613
|
}
|
|
580
614
|
return [2 /*return*/, structure];
|
|
581
615
|
});
|
|
@@ -760,6 +794,29 @@ function updateDataProviderForPaginatedSearch(dp, usage, vars, fileName) {
|
|
|
760
794
|
if (usage.queryColumns.length > 0) {
|
|
761
795
|
paramsProps.push(types.objectProperty(types.identifier('queryColumns'), types.callExpression(types.memberExpression(types.identifier('JSON'), types.identifier('stringify')), [types.arrayExpression(usage.queryColumns.map(function (c) { return types.stringLiteral(c); }))])));
|
|
762
796
|
}
|
|
797
|
+
// Add sorts if present
|
|
798
|
+
if (usage.sorts && usage.sorts.length > 0) {
|
|
799
|
+
paramsProps.push(types.objectProperty(types.identifier('sorts'), types.callExpression(types.memberExpression(types.identifier('JSON'), types.identifier('stringify')), [
|
|
800
|
+
types.arrayExpression(usage.sorts.map(function (sort) {
|
|
801
|
+
return types.objectExpression([
|
|
802
|
+
types.objectProperty(types.identifier('field'), types.stringLiteral(sort.field || '')),
|
|
803
|
+
types.objectProperty(types.identifier('order'), types.stringLiteral(sort.order || '')),
|
|
804
|
+
]);
|
|
805
|
+
})),
|
|
806
|
+
])));
|
|
807
|
+
}
|
|
808
|
+
// Add filters if present
|
|
809
|
+
if (usage.filters && usage.filters.length > 0) {
|
|
810
|
+
paramsProps.push(types.objectProperty(types.identifier('filters'), types.callExpression(types.memberExpression(types.identifier('JSON'), types.identifier('stringify')), [
|
|
811
|
+
types.arrayExpression(usage.filters.map(function (filter) {
|
|
812
|
+
return types.objectExpression([
|
|
813
|
+
types.objectProperty(types.identifier('source'), types.stringLiteral(filter.source || '')),
|
|
814
|
+
types.objectProperty(types.identifier('destination'), types.stringLiteral(filter.destination || '')),
|
|
815
|
+
types.objectProperty(types.identifier('operand'), types.stringLiteral(filter.operand || '')),
|
|
816
|
+
]);
|
|
817
|
+
})),
|
|
818
|
+
])));
|
|
819
|
+
}
|
|
763
820
|
dp.openingElement.attributes.push(types.jsxAttribute(types.jsxIdentifier('params'), types.jsxExpressionContainer(types.callExpression(types.identifier('useMemo'), [
|
|
764
821
|
types.arrowFunctionExpression([], types.objectExpression(paramsProps)),
|
|
765
822
|
types.arrayExpression([types.identifier(vars.combinedStateVar)]),
|
|
@@ -790,12 +847,37 @@ function updateDataProviderForPaginationOnly(dp, usage, vars, fileName) {
|
|
|
790
847
|
var _a;
|
|
791
848
|
return !['params', 'key', 'initialData', 'fetchData', 'persistDataDuringLoading'].includes((_a = attr.name) === null || _a === void 0 ? void 0 : _a.name);
|
|
792
849
|
});
|
|
850
|
+
// Build params properties
|
|
851
|
+
var paramsProps = [
|
|
852
|
+
types.objectProperty(types.identifier('page'), types.identifier(vars.pageStateVar)),
|
|
853
|
+
types.objectProperty(types.identifier('perPage'), types.numericLiteral(usage.perPage)),
|
|
854
|
+
];
|
|
855
|
+
// Add sorts if present
|
|
856
|
+
if (usage.sorts && usage.sorts.length > 0) {
|
|
857
|
+
paramsProps.push(types.objectProperty(types.identifier('sorts'), types.callExpression(types.memberExpression(types.identifier('JSON'), types.identifier('stringify')), [
|
|
858
|
+
types.arrayExpression(usage.sorts.map(function (sort) {
|
|
859
|
+
return types.objectExpression([
|
|
860
|
+
types.objectProperty(types.identifier('field'), types.stringLiteral(sort.field || '')),
|
|
861
|
+
types.objectProperty(types.identifier('order'), types.stringLiteral(sort.order || '')),
|
|
862
|
+
]);
|
|
863
|
+
})),
|
|
864
|
+
])));
|
|
865
|
+
}
|
|
866
|
+
// Add filters if present
|
|
867
|
+
if (usage.filters && usage.filters.length > 0) {
|
|
868
|
+
paramsProps.push(types.objectProperty(types.identifier('filters'), types.callExpression(types.memberExpression(types.identifier('JSON'), types.identifier('stringify')), [
|
|
869
|
+
types.arrayExpression(usage.filters.map(function (filter) {
|
|
870
|
+
return types.objectExpression([
|
|
871
|
+
types.objectProperty(types.identifier('source'), types.stringLiteral(filter.source || '')),
|
|
872
|
+
types.objectProperty(types.identifier('destination'), types.stringLiteral(filter.destination || '')),
|
|
873
|
+
types.objectProperty(types.identifier('operand'), types.stringLiteral(filter.operand || '')),
|
|
874
|
+
]);
|
|
875
|
+
})),
|
|
876
|
+
])));
|
|
877
|
+
}
|
|
793
878
|
// Add params
|
|
794
879
|
dp.openingElement.attributes.push(types.jsxAttribute(types.jsxIdentifier('params'), types.jsxExpressionContainer(types.callExpression(types.identifier('useMemo'), [
|
|
795
|
-
types.arrowFunctionExpression([], types.objectExpression(
|
|
796
|
-
types.objectProperty(types.identifier('page'), types.identifier(vars.pageStateVar)),
|
|
797
|
-
types.objectProperty(types.identifier('perPage'), types.numericLiteral(usage.perPage)),
|
|
798
|
-
])),
|
|
880
|
+
types.arrowFunctionExpression([], types.objectExpression(paramsProps)),
|
|
799
881
|
types.arrayExpression([types.identifier(vars.pageStateVar)]),
|
|
800
882
|
]))));
|
|
801
883
|
// Add initialData
|
|
@@ -825,6 +907,29 @@ function updateDataProviderForSearchOnly(dp, usage, vars, fileName) {
|
|
|
825
907
|
if (usage.queryColumns.length > 0) {
|
|
826
908
|
paramsProps.push(types.objectProperty(types.identifier('queryColumns'), types.callExpression(types.memberExpression(types.identifier('JSON'), types.identifier('stringify')), [types.arrayExpression(usage.queryColumns.map(function (c) { return types.stringLiteral(c); }))])));
|
|
827
909
|
}
|
|
910
|
+
// Add sorts if present
|
|
911
|
+
if (usage.sorts && usage.sorts.length > 0) {
|
|
912
|
+
paramsProps.push(types.objectProperty(types.identifier('sorts'), types.callExpression(types.memberExpression(types.identifier('JSON'), types.identifier('stringify')), [
|
|
913
|
+
types.arrayExpression(usage.sorts.map(function (sort) {
|
|
914
|
+
return types.objectExpression([
|
|
915
|
+
types.objectProperty(types.identifier('field'), types.stringLiteral(sort.field || '')),
|
|
916
|
+
types.objectProperty(types.identifier('order'), types.stringLiteral(sort.order || '')),
|
|
917
|
+
]);
|
|
918
|
+
})),
|
|
919
|
+
])));
|
|
920
|
+
}
|
|
921
|
+
// Add filters if present
|
|
922
|
+
if (usage.filters && usage.filters.length > 0) {
|
|
923
|
+
paramsProps.push(types.objectProperty(types.identifier('filters'), types.callExpression(types.memberExpression(types.identifier('JSON'), types.identifier('stringify')), [
|
|
924
|
+
types.arrayExpression(usage.filters.map(function (filter) {
|
|
925
|
+
return types.objectExpression([
|
|
926
|
+
types.objectProperty(types.identifier('source'), types.stringLiteral(filter.source || '')),
|
|
927
|
+
types.objectProperty(types.identifier('destination'), types.stringLiteral(filter.destination || '')),
|
|
928
|
+
types.objectProperty(types.identifier('operand'), types.stringLiteral(filter.operand || '')),
|
|
929
|
+
]);
|
|
930
|
+
})),
|
|
931
|
+
])));
|
|
932
|
+
}
|
|
828
933
|
dp.openingElement.attributes.push(types.jsxAttribute(types.jsxIdentifier('params'), types.jsxExpressionContainer(types.callExpression(types.identifier('useMemo'), [
|
|
829
934
|
types.arrowFunctionExpression([], types.objectExpression(paramsProps)),
|
|
830
935
|
types.arrayExpression([types.identifier(vars.debouncedSearchQueryVar)]),
|
|
@@ -840,15 +945,48 @@ function updateDataProviderForSearchOnly(dp, usage, vars, fileName) {
|
|
|
840
945
|
dp.openingElement.attributes.push(createFetchDataAttribute(fileName));
|
|
841
946
|
dp.openingElement.attributes.push(types.jsxAttribute(types.jsxIdentifier('persistDataDuringLoading'), types.jsxExpressionContainer(types.booleanLiteral(true))));
|
|
842
947
|
}
|
|
843
|
-
function updateDataProviderForPlain(dp,
|
|
948
|
+
function updateDataProviderForPlain(dp, fileName) {
|
|
949
|
+
var _a, _b, _c;
|
|
844
950
|
var attrs = dp.openingElement.attributes;
|
|
845
|
-
//
|
|
846
|
-
|
|
847
|
-
//
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
951
|
+
// Check if fetchData already exists
|
|
952
|
+
var hasFetchData = attrs.some(function (attr) { var _a; return attr.type === 'JSXAttribute' && ((_a = attr.name) === null || _a === void 0 ? void 0 : _a.name) === 'fetchData'; });
|
|
953
|
+
// If no fetchData, add it
|
|
954
|
+
if (!hasFetchData) {
|
|
955
|
+
attrs.push(createFetchDataAttribute(fileName));
|
|
956
|
+
}
|
|
957
|
+
// Check if persistDataDuringLoading already exists
|
|
958
|
+
var hasPersistData = attrs.some(function (attr) { var _a; return attr.type === 'JSXAttribute' && ((_a = attr.name) === null || _a === void 0 ? void 0 : _a.name) === 'persistDataDuringLoading'; });
|
|
959
|
+
// If no persistDataDuringLoading, add it
|
|
960
|
+
if (!hasPersistData) {
|
|
961
|
+
attrs.push(types.jsxAttribute(types.jsxIdentifier('persistDataDuringLoading'), types.jsxExpressionContainer(types.booleanLiteral(true))));
|
|
962
|
+
}
|
|
963
|
+
// Find the params attribute
|
|
964
|
+
var paramsAttrIndex = attrs.findIndex(function (attr) { return attr.type === 'JSXAttribute' && attr.name.name === 'params'; });
|
|
965
|
+
if (paramsAttrIndex === -1) {
|
|
966
|
+
return;
|
|
967
|
+
}
|
|
968
|
+
var paramsAttr = attrs[paramsAttrIndex];
|
|
969
|
+
// Check if params is already wrapped in useMemo
|
|
970
|
+
if (((_a = paramsAttr.value) === null || _a === void 0 ? void 0 : _a.type) === 'JSXExpressionContainer' &&
|
|
971
|
+
paramsAttr.value.expression.type === 'CallExpression' &&
|
|
972
|
+
((_b = paramsAttr.value.expression.callee) === null || _b === void 0 ? void 0 : _b.name) === 'useMemo') {
|
|
973
|
+
return;
|
|
851
974
|
}
|
|
975
|
+
// Get the current params value expression
|
|
976
|
+
var paramsExpression = null;
|
|
977
|
+
if (((_c = paramsAttr.value) === null || _c === void 0 ? void 0 : _c.type) === 'JSXExpressionContainer') {
|
|
978
|
+
paramsExpression = paramsAttr.value.expression;
|
|
979
|
+
}
|
|
980
|
+
if (!paramsExpression) {
|
|
981
|
+
return;
|
|
982
|
+
}
|
|
983
|
+
// Wrap params in useMemo with empty dependencies array
|
|
984
|
+
var memoizedParams = types.callExpression(types.identifier('useMemo'), [
|
|
985
|
+
types.arrowFunctionExpression([], paramsExpression),
|
|
986
|
+
types.arrayExpression([]),
|
|
987
|
+
]);
|
|
988
|
+
// Replace the params attribute
|
|
989
|
+
attrs[paramsAttrIndex] = types.jsxAttribute(types.jsxIdentifier('params'), types.jsxExpressionContainer(memoizedParams));
|
|
852
990
|
}
|
|
853
991
|
function stabilizeDataProviderWithoutRepeater(dp) {
|
|
854
992
|
var _a, _b, _c;
|
|
@@ -1014,35 +1152,54 @@ function wirePaginationButtons(paginationNode, usage, vars) {
|
|
|
1014
1152
|
}
|
|
1015
1153
|
}
|
|
1016
1154
|
}
|
|
1017
|
-
function ensureAPIRouteExists(extractedResources, usage) {
|
|
1155
|
+
function ensureAPIRouteExists(extractedResources, usage, dataSources) {
|
|
1018
1156
|
// Generate file name for the API route
|
|
1019
1157
|
var fileName = (0, utils_1.generateSafeFileName)(usage.resourceDefinition.dataSourceType, usage.resourceDefinition.tableName, usage.resourceDefinition.dataSourceId);
|
|
1020
|
-
// Check if the utils data source file exists - if
|
|
1021
|
-
if (extractedResources["utils/".concat(fileName)]) {
|
|
1022
|
-
//
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
path: ['pages', 'api'],
|
|
1040
|
-
content: countApiRouteCode,
|
|
1041
|
-
};
|
|
1158
|
+
// Check if the utils data source file exists - if not, create it
|
|
1159
|
+
if (!extractedResources["utils/".concat(fileName)]) {
|
|
1160
|
+
// Get the data source from dataSources
|
|
1161
|
+
var dataSource = dataSources[usage.resourceDefinition.dataSourceId];
|
|
1162
|
+
if (dataSource) {
|
|
1163
|
+
try {
|
|
1164
|
+
// Generate the utils file with fetchData, fetchCount, handler, and getCount
|
|
1165
|
+
var fetcherCode = (0, data_source_fetchers_1.generateDataSourceFetcherWithCore)(dataSource, usage.resourceDefinition.tableName || 'data');
|
|
1166
|
+
extractedResources["utils/".concat(fileName)] = {
|
|
1167
|
+
fileName: fileName,
|
|
1168
|
+
fileType: teleport_types_1.FileType.JS,
|
|
1169
|
+
path: ['utils', 'data-sources'],
|
|
1170
|
+
content: fetcherCode,
|
|
1171
|
+
};
|
|
1172
|
+
}
|
|
1173
|
+
catch (error) {
|
|
1174
|
+
// If generation fails, skip
|
|
1175
|
+
return;
|
|
1176
|
+
}
|
|
1042
1177
|
}
|
|
1043
1178
|
}
|
|
1179
|
+
// Now create API routes that re-export from the utils file
|
|
1180
|
+
// Create main data API route if not exists
|
|
1181
|
+
if (!extractedResources["api/".concat(fileName)]) {
|
|
1182
|
+
var apiRouteCode = "import dataSourceModule from '../../utils/data-sources/".concat(fileName, "'\n\nexport default dataSourceModule.handler\n");
|
|
1183
|
+
extractedResources["api/".concat(fileName)] = {
|
|
1184
|
+
fileName: fileName,
|
|
1185
|
+
fileType: teleport_types_1.FileType.JS,
|
|
1186
|
+
path: ['pages', 'api'],
|
|
1187
|
+
content: apiRouteCode,
|
|
1188
|
+
};
|
|
1189
|
+
}
|
|
1190
|
+
// Create count API route if not exists (needed for paginated+search cases)
|
|
1191
|
+
var countFileName = "".concat(fileName, "-count");
|
|
1192
|
+
if (!extractedResources["api/".concat(countFileName)]) {
|
|
1193
|
+
var countApiRouteCode = "import dataSourceModule from '../../utils/data-sources/".concat(fileName, "'\n\nexport default dataSourceModule.getCount\n");
|
|
1194
|
+
extractedResources["api/".concat(countFileName)] = {
|
|
1195
|
+
fileName: countFileName,
|
|
1196
|
+
fileType: teleport_types_1.FileType.JS,
|
|
1197
|
+
path: ['pages', 'api'],
|
|
1198
|
+
content: countApiRouteCode,
|
|
1199
|
+
};
|
|
1200
|
+
}
|
|
1044
1201
|
}
|
|
1045
|
-
function updateGetStaticProps(chunks, registry) {
|
|
1202
|
+
function updateGetStaticProps(chunks, registry, dependencies) {
|
|
1046
1203
|
var _a;
|
|
1047
1204
|
var getStaticPropsChunk = chunks.find(function (c) { return c.name === 'getStaticProps'; });
|
|
1048
1205
|
if (!getStaticPropsChunk || getStaticPropsChunk.type !== teleport_types_1.ChunkType.AST) {
|
|
@@ -1088,7 +1245,11 @@ function updateGetStaticProps(chunks, registry) {
|
|
|
1088
1245
|
var arrayPattern = declarator.id;
|
|
1089
1246
|
// Track unique data sources for count fetching
|
|
1090
1247
|
var dataSourcesNeedingCount = new Set();
|
|
1091
|
-
|
|
1248
|
+
// Only process usages that need pagination or search functionality
|
|
1249
|
+
// Non-paginated, non-search usages are handled by the main plugin
|
|
1250
|
+
registry.usages
|
|
1251
|
+
.filter(function (u) { return u.paginated || u.searchEnabled; })
|
|
1252
|
+
.forEach(function (usage) {
|
|
1092
1253
|
var vars = getStateVarsForUsage(usage);
|
|
1093
1254
|
var fileName = (0, utils_1.generateSafeFileName)(usage.resourceDefinition.dataSourceType, usage.resourceDefinition.tableName, usage.resourceDefinition.dataSourceId);
|
|
1094
1255
|
// Use consistent import name generation (matches extractDataSourceIntoGetStaticProps)
|
|
@@ -1108,6 +1269,29 @@ function updateGetStaticProps(chunks, registry) {
|
|
|
1108
1269
|
if (usage.queryColumns.length > 0) {
|
|
1109
1270
|
fetchParams.push(types.objectProperty(types.identifier('queryColumns'), types.callExpression(types.memberExpression(types.identifier('JSON'), types.identifier('stringify')), [types.arrayExpression(usage.queryColumns.map(function (c) { return types.stringLiteral(c); }))])));
|
|
1110
1271
|
}
|
|
1272
|
+
// Add sorts if present
|
|
1273
|
+
if (usage.sorts && usage.sorts.length > 0) {
|
|
1274
|
+
fetchParams.push(types.objectProperty(types.identifier('sorts'), types.callExpression(types.memberExpression(types.identifier('JSON'), types.identifier('stringify')), [
|
|
1275
|
+
types.arrayExpression(usage.sorts.map(function (sort) {
|
|
1276
|
+
return types.objectExpression([
|
|
1277
|
+
types.objectProperty(types.identifier('field'), types.stringLiteral(sort.field || '')),
|
|
1278
|
+
types.objectProperty(types.identifier('order'), types.stringLiteral(sort.order || '')),
|
|
1279
|
+
]);
|
|
1280
|
+
})),
|
|
1281
|
+
])));
|
|
1282
|
+
}
|
|
1283
|
+
// Add filters if present
|
|
1284
|
+
if (usage.filters && usage.filters.length > 0) {
|
|
1285
|
+
fetchParams.push(types.objectProperty(types.identifier('filters'), types.callExpression(types.memberExpression(types.identifier('JSON'), types.identifier('stringify')), [
|
|
1286
|
+
types.arrayExpression(usage.filters.map(function (filter) {
|
|
1287
|
+
return types.objectExpression([
|
|
1288
|
+
types.objectProperty(types.identifier('source'), types.stringLiteral(filter.source || '')),
|
|
1289
|
+
types.objectProperty(types.identifier('destination'), types.stringLiteral(filter.destination || '')),
|
|
1290
|
+
types.objectProperty(types.identifier('operand'), types.stringLiteral(filter.operand || '')),
|
|
1291
|
+
]);
|
|
1292
|
+
})),
|
|
1293
|
+
])));
|
|
1294
|
+
}
|
|
1111
1295
|
// Check if this fetch already exists
|
|
1112
1296
|
var existingFetchIndex = arrayPattern.elements.findIndex(function (el) { return (el === null || el === void 0 ? void 0 : el.type) === 'Identifier' && el.name === vars.propsPrefix; });
|
|
1113
1297
|
if (existingFetchIndex === -1) {
|
|
@@ -1121,6 +1305,13 @@ function updateGetStaticProps(chunks, registry) {
|
|
|
1121
1305
|
types.returnStatement(types.arrayExpression([])),
|
|
1122
1306
|
])),
|
|
1123
1307
|
]));
|
|
1308
|
+
// Add import dependency for the fetcher
|
|
1309
|
+
if (!dependencies[fetcherImportName]) {
|
|
1310
|
+
dependencies[fetcherImportName] = {
|
|
1311
|
+
type: 'local',
|
|
1312
|
+
path: "../utils/data-sources/".concat(fileName),
|
|
1313
|
+
};
|
|
1314
|
+
}
|
|
1124
1315
|
// Add to props
|
|
1125
1316
|
propsObj.properties.push(types.objectProperty(types.identifier(vars.propsPrefix), types.identifier(vars.propsPrefix)));
|
|
1126
1317
|
}
|
|
@@ -1131,7 +1322,11 @@ function updateGetStaticProps(chunks, registry) {
|
|
|
1131
1322
|
// Add maxPages calculation for paginated
|
|
1132
1323
|
if (usage.paginated) {
|
|
1133
1324
|
var maxPagesPropName_1 = "".concat(vars.propsPrefix, "_maxPages");
|
|
1134
|
-
|
|
1325
|
+
// Use filter-specific count variable if usage has filters
|
|
1326
|
+
var hasFilters = usage.filters && usage.filters.length > 0;
|
|
1327
|
+
var countVarName = hasFilters
|
|
1328
|
+
? "".concat(usage.dataSourceIdentifier, "_ds_").concat(usage.index, "_count")
|
|
1329
|
+
: "".concat(usage.dataSourceIdentifier, "_count");
|
|
1135
1330
|
// Check if maxPages calculation already exists
|
|
1136
1331
|
var existingMaxPages = tryBlock.body.find(function (s) { var _a, _b, _c; return s.type === 'VariableDeclaration' && ((_c = (_b = (_a = s.declarations) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.id) === null || _c === void 0 ? void 0 : _c.name) === maxPagesPropName_1; });
|
|
1137
1332
|
if (!existingMaxPages) {
|
|
@@ -1148,26 +1343,86 @@ function updateGetStaticProps(chunks, registry) {
|
|
|
1148
1343
|
}
|
|
1149
1344
|
});
|
|
1150
1345
|
// Add count fetches for unique data sources
|
|
1346
|
+
// Group usages by filters to determine which need separate count fetches
|
|
1347
|
+
var processedCountKeys = new Set();
|
|
1151
1348
|
dataSourcesNeedingCount.forEach(function (key) {
|
|
1152
1349
|
var _a = key.split(':'), dataSourceType = _a[0], tableName = _a[1], dataSourceId = _a[2];
|
|
1153
1350
|
var fileName = (0, utils_1.generateSafeFileName)(dataSourceType, tableName, dataSourceId);
|
|
1154
|
-
// Use consistent import name generation (matches extractDataSourceIntoGetStaticProps)
|
|
1155
1351
|
var fetcherImportName = teleport_shared_1.StringUtils.dashCaseToCamelCase(fileName);
|
|
1156
|
-
// Find
|
|
1157
|
-
var
|
|
1352
|
+
// Find all paginated usages for this data source
|
|
1353
|
+
var usagesForDataSource = registry.usages.filter(function (u) {
|
|
1158
1354
|
return u.resourceDefinition.dataSourceId === dataSourceId &&
|
|
1159
|
-
u.resourceDefinition.tableName === tableName
|
|
1355
|
+
u.resourceDefinition.tableName === tableName &&
|
|
1356
|
+
u.paginated;
|
|
1160
1357
|
});
|
|
1161
|
-
if (
|
|
1358
|
+
if (usagesForDataSource.length === 0) {
|
|
1162
1359
|
return;
|
|
1163
1360
|
}
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
var
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1361
|
+
// Group usages by their filters (stringify for comparison)
|
|
1362
|
+
var usagesByFilters = new Map();
|
|
1363
|
+
for (var _i = 0, usagesForDataSource_1 = usagesForDataSource; _i < usagesForDataSource_1.length; _i++) {
|
|
1364
|
+
var usage = usagesForDataSource_1[_i];
|
|
1365
|
+
var filtersKey = JSON.stringify(usage.filters || []);
|
|
1366
|
+
var existing = usagesByFilters.get(filtersKey) || [];
|
|
1367
|
+
existing.push(usage);
|
|
1368
|
+
usagesByFilters.set(filtersKey, existing);
|
|
1170
1369
|
}
|
|
1370
|
+
// Generate count fetches for each unique filter configuration
|
|
1371
|
+
usagesByFilters.forEach(function (usages, filtersKey) {
|
|
1372
|
+
var firstUsage = usages[0];
|
|
1373
|
+
var hasFilters = firstUsage.filters && firstUsage.filters.length > 0;
|
|
1374
|
+
// Create unique count variable name based on filters
|
|
1375
|
+
var countVarName = hasFilters
|
|
1376
|
+
? "".concat(firstUsage.dataSourceIdentifier, "_ds_").concat(firstUsage.index, "_count")
|
|
1377
|
+
: "".concat(firstUsage.dataSourceIdentifier, "_count");
|
|
1378
|
+
// Check if this count was already processed
|
|
1379
|
+
var countKey = "".concat(key, ":").concat(filtersKey);
|
|
1380
|
+
if (processedCountKeys.has(countKey)) {
|
|
1381
|
+
return;
|
|
1382
|
+
}
|
|
1383
|
+
processedCountKeys.add(countKey);
|
|
1384
|
+
// Check if count fetch already exists
|
|
1385
|
+
var existingCount = arrayPattern.elements.findIndex(function (el) { return (el === null || el === void 0 ? void 0 : el.type) === 'Identifier' && el.name === countVarName; });
|
|
1386
|
+
if (existingCount === -1) {
|
|
1387
|
+
arrayPattern.elements.push(types.identifier(countVarName));
|
|
1388
|
+
// Build count params if filters exist
|
|
1389
|
+
var countParams = [];
|
|
1390
|
+
if (hasFilters) {
|
|
1391
|
+
countParams.push(types.objectProperty(types.identifier('filters'), types.callExpression(types.memberExpression(types.identifier('JSON'), types.identifier('stringify')), [
|
|
1392
|
+
types.arrayExpression(firstUsage.filters.map(function (f) {
|
|
1393
|
+
return types.objectExpression([
|
|
1394
|
+
types.objectProperty(types.identifier('source'), types.stringLiteral(f.source)),
|
|
1395
|
+
types.objectProperty(types.identifier('destination'), types.stringLiteral(f.destination)),
|
|
1396
|
+
types.objectProperty(types.identifier('operand'), types.stringLiteral(f.operand)),
|
|
1397
|
+
]);
|
|
1398
|
+
})),
|
|
1399
|
+
])));
|
|
1400
|
+
}
|
|
1401
|
+
fetchesArray.elements.push(types.callExpression(types.memberExpression(types.callExpression(types.memberExpression(types.identifier(fetcherImportName), types.identifier('fetchCount')), countParams.length > 0 ? [types.objectExpression(countParams)] : []), types.identifier('catch')), [
|
|
1402
|
+
types.arrowFunctionExpression([types.identifier('error')], types.blockStatement([
|
|
1403
|
+
types.expressionStatement(types.callExpression(types.memberExpression(types.identifier('console'), types.identifier('error')), [
|
|
1404
|
+
types.stringLiteral("Error fetching ".concat(countVarName, ":")),
|
|
1405
|
+
types.identifier('error'),
|
|
1406
|
+
])),
|
|
1407
|
+
types.returnStatement(types.numericLiteral(0)),
|
|
1408
|
+
])),
|
|
1409
|
+
]));
|
|
1410
|
+
// Store which usages use this count variable for maxPages calculation
|
|
1411
|
+
for (var _i = 0, usages_1 = usages; _i < usages_1.length; _i++) {
|
|
1412
|
+
var usage = usages_1[_i];
|
|
1413
|
+
// tslint:disable-next-line:no-any
|
|
1414
|
+
;
|
|
1415
|
+
usage.countVarName = countVarName;
|
|
1416
|
+
}
|
|
1417
|
+
// Add import dependency for the fetcher
|
|
1418
|
+
if (!dependencies[fetcherImportName]) {
|
|
1419
|
+
dependencies[fetcherImportName] = {
|
|
1420
|
+
type: 'local',
|
|
1421
|
+
path: "../utils/data-sources/".concat(fileName),
|
|
1422
|
+
};
|
|
1423
|
+
}
|
|
1424
|
+
}
|
|
1425
|
+
});
|
|
1171
1426
|
});
|
|
1172
1427
|
}
|
|
1173
1428
|
//# sourceMappingURL=pagination-plugin.js.map
|