@teleporthq/teleport-plugin-next-data-source 0.43.66 → 0.43.68
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__/array-mapper-cache-wiring.test.ts +11 -0
- package/__tests__/array-overlap-sql.test.ts +53 -0
- package/__tests__/blog-post-page-enrichment.test.ts +214 -0
- package/__tests__/browser-row-policy.test.ts +503 -0
- package/__tests__/data-source-cache-wrapping.test.ts +18 -2
- package/__tests__/data-source-request-locale.test.ts +313 -0
- package/__tests__/ecommerce-product-options.test.ts +206 -0
- package/__tests__/ecommerce-product-pages.test.ts +82 -0
- package/__tests__/ecommerce-product-pre-options.golden.json +505 -0
- package/__tests__/ecommerce-product-storefront-contract.test.ts +293 -0
- package/__tests__/ecommerce-product-subscriptions.test.ts +121 -0
- package/__tests__/fetchers.test.ts +2 -2
- package/__tests__/gated-data-provider.test.ts +88 -0
- package/__tests__/items-path.test.ts +150 -0
- package/__tests__/localized-columns.test.ts +217 -0
- package/__tests__/numbered-pagination.test.ts +15 -0
- package/__tests__/product-filter-fields.ts +230 -0
- package/__tests__/product-filter-sql.fixture.json +7 -0
- package/__tests__/product-options-storefront.fixture.json +2510 -0
- package/__tests__/product-page-url-fixtures.json +25 -0
- package/__tests__/product-price-sort.ts +4 -2
- package/__tests__/raw-rows-mode.test.ts +111 -0
- package/__tests__/refetch-loading-state.test.ts +23 -0
- package/__tests__/rest-api-response-cache.test.ts +434 -0
- package/__tests__/search-clear-button.test.ts +122 -0
- package/__tests__/table-read-route-protected-tables.test.ts +493 -0
- package/dist/cjs/array-overlap-sql.d.ts +21 -0
- package/dist/cjs/array-overlap-sql.d.ts.map +1 -0
- package/dist/cjs/array-overlap-sql.js +25 -0
- package/dist/cjs/array-overlap-sql.js.map +1 -0
- package/dist/cjs/content-localization.d.ts +37 -0
- package/dist/cjs/content-localization.d.ts.map +1 -0
- package/dist/cjs/content-localization.js +29 -0
- package/dist/cjs/content-localization.js.map +1 -0
- package/dist/cjs/count-effect.d.ts +11 -1
- package/dist/cjs/count-effect.d.ts.map +1 -1
- package/dist/cjs/count-effect.js +30 -2
- package/dist/cjs/count-effect.js.map +1 -1
- package/dist/cjs/data-source-fetchers.d.ts.map +1 -1
- package/dist/cjs/data-source-fetchers.js +10 -4
- 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 +1 -1
- 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/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/javascript.d.ts.map +1 -1
- package/dist/cjs/fetchers/javascript.js +1 -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 +1 -1
- package/dist/cjs/fetchers/mariadb.js.map +1 -1
- package/dist/cjs/fetchers/mongodb.d.ts.map +1 -1
- package/dist/cjs/fetchers/mongodb.js +1 -1
- 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 +1 -1
- package/dist/cjs/fetchers/mysql.js.map +1 -1
- package/dist/cjs/fetchers/postgresql.d.ts +1 -1
- package/dist/cjs/fetchers/postgresql.d.ts.map +1 -1
- package/dist/cjs/fetchers/postgresql.js +9 -4
- package/dist/cjs/fetchers/postgresql.js.map +1 -1
- package/dist/cjs/fetchers/raw-query.d.ts +8 -1
- package/dist/cjs/fetchers/raw-query.d.ts.map +1 -1
- package/dist/cjs/fetchers/raw-query.js +42 -4
- package/dist/cjs/fetchers/raw-query.js.map +1 -1
- package/dist/cjs/fetchers/redshift.d.ts.map +1 -1
- package/dist/cjs/fetchers/redshift.js +1 -1
- 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 +7 -2
- package/dist/cjs/fetchers/rest-api.js.map +1 -1
- package/dist/cjs/fetchers/teleport.d.ts.map +1 -1
- package/dist/cjs/fetchers/teleport.js +16 -6
- package/dist/cjs/fetchers/teleport.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/browser-row-policy.d.ts +43 -0
- package/dist/cjs/fetchers/utils/browser-row-policy.d.ts.map +1 -0
- package/dist/cjs/fetchers/utils/browser-row-policy.js +66 -0
- package/dist/cjs/fetchers/utils/browser-row-policy.js.map +1 -0
- package/dist/cjs/fetchers/utils/request-sql-guards.d.ts +8 -0
- package/dist/cjs/fetchers/utils/request-sql-guards.d.ts.map +1 -0
- package/dist/cjs/fetchers/utils/request-sql-guards.js +12 -0
- package/dist/cjs/fetchers/utils/request-sql-guards.js.map +1 -0
- package/dist/cjs/fetchers/utils/rest-api-response-cache.d.ts +40 -0
- package/dist/cjs/fetchers/utils/rest-api-response-cache.d.ts.map +1 -0
- package/dist/cjs/fetchers/utils/rest-api-response-cache.js +64 -0
- package/dist/cjs/fetchers/utils/rest-api-response-cache.js.map +1 -0
- package/dist/cjs/fetchers/utils/table-access-guard.d.ts +23 -0
- package/dist/cjs/fetchers/utils/table-access-guard.d.ts.map +1 -0
- package/dist/cjs/fetchers/utils/table-access-guard.js +34 -0
- package/dist/cjs/fetchers/utils/table-access-guard.js.map +1 -0
- package/dist/cjs/index.d.ts +5 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +60 -8
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/items-path.d.ts +10 -0
- package/dist/cjs/items-path.d.ts.map +1 -0
- package/dist/cjs/items-path.js +86 -0
- package/dist/cjs/items-path.js.map +1 -0
- package/dist/cjs/loading-state.d.ts +16 -1
- package/dist/cjs/loading-state.d.ts.map +1 -1
- package/dist/cjs/loading-state.js +69 -3
- package/dist/cjs/loading-state.js.map +1 -1
- package/dist/cjs/localized-columns.d.ts +56 -0
- package/dist/cjs/localized-columns.d.ts.map +1 -0
- package/dist/cjs/localized-columns.js +137 -0
- package/dist/cjs/localized-columns.js.map +1 -0
- package/dist/cjs/pagination-plugin.d.ts.map +1 -1
- package/dist/cjs/pagination-plugin.js +140 -50
- package/dist/cjs/pagination-plugin.js.map +1 -1
- package/dist/cjs/product-filter-fields.d.ts +87 -0
- package/dist/cjs/product-filter-fields.d.ts.map +1 -0
- package/dist/cjs/product-filter-fields.js +161 -0
- package/dist/cjs/product-filter-fields.js.map +1 -0
- package/dist/cjs/request-locale.d.ts +49 -0
- package/dist/cjs/request-locale.d.ts.map +1 -0
- package/dist/cjs/request-locale.js +130 -0
- package/dist/cjs/request-locale.js.map +1 -0
- package/dist/cjs/search-clear.d.ts +31 -0
- package/dist/cjs/search-clear.d.ts.map +1 -0
- package/dist/cjs/search-clear.js +103 -0
- package/dist/cjs/search-clear.js.map +1 -0
- package/dist/cjs/transformations/blog-adjacent-posts.d.ts +16 -0
- package/dist/cjs/transformations/blog-adjacent-posts.d.ts.map +1 -0
- package/dist/cjs/transformations/blog-adjacent-posts.js +25 -0
- package/dist/cjs/transformations/blog-adjacent-posts.js.map +1 -0
- package/dist/cjs/transformations/blog-comments.d.ts +30 -0
- package/dist/cjs/transformations/blog-comments.d.ts.map +1 -0
- package/dist/cjs/transformations/blog-comments.js +34 -0
- package/dist/cjs/transformations/blog-comments.js.map +1 -0
- package/dist/cjs/transformations/blog-post.d.ts +2 -0
- package/dist/cjs/transformations/blog-post.d.ts.map +1 -1
- package/dist/cjs/transformations/blog-post.js +4 -1
- package/dist/cjs/transformations/blog-post.js.map +1 -1
- package/dist/cjs/transformations/ecommerce-product.d.ts +9 -1
- package/dist/cjs/transformations/ecommerce-product.d.ts.map +1 -1
- package/dist/cjs/transformations/ecommerce-product.js +28 -1
- package/dist/cjs/transformations/ecommerce-product.js.map +1 -1
- package/dist/cjs/transformations/heading-anchors.d.ts +25 -0
- package/dist/cjs/transformations/heading-anchors.d.ts.map +1 -0
- package/dist/cjs/transformations/heading-anchors.js +29 -0
- package/dist/cjs/transformations/heading-anchors.js.map +1 -0
- package/dist/cjs/transformations/index.d.ts +61 -4
- package/dist/cjs/transformations/index.d.ts.map +1 -1
- package/dist/cjs/transformations/index.js +69 -19
- package/dist/cjs/transformations/index.js.map +1 -1
- package/dist/cjs/transformations/shared-utils.d.ts.map +1 -1
- package/dist/cjs/transformations/shared-utils.js +1 -1
- package/dist/cjs/transformations/shared-utils.js.map +1 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/cjs/utils.d.ts +11 -1
- package/dist/cjs/utils.d.ts.map +1 -1
- package/dist/cjs/utils.js +60 -16
- package/dist/cjs/utils.js.map +1 -1
- package/dist/esm/array-overlap-sql.d.ts +21 -0
- package/dist/esm/array-overlap-sql.d.ts.map +1 -0
- package/dist/esm/array-overlap-sql.js +21 -0
- package/dist/esm/array-overlap-sql.js.map +1 -0
- package/dist/esm/content-localization.d.ts +37 -0
- package/dist/esm/content-localization.d.ts.map +1 -0
- package/dist/esm/content-localization.js +24 -0
- package/dist/esm/content-localization.js.map +1 -0
- package/dist/esm/count-effect.d.ts +11 -1
- package/dist/esm/count-effect.d.ts.map +1 -1
- package/dist/esm/count-effect.js +28 -1
- package/dist/esm/count-effect.js.map +1 -1
- package/dist/esm/data-source-fetchers.d.ts.map +1 -1
- package/dist/esm/data-source-fetchers.js +11 -5
- 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 +1 -1
- 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 +1 -1
- package/dist/esm/fetchers/clickhouse.js.map +1 -1
- package/dist/esm/fetchers/firestore.d.ts.map +1 -1
- package/dist/esm/fetchers/firestore.js +1 -1
- package/dist/esm/fetchers/firestore.js.map +1 -1
- package/dist/esm/fetchers/javascript.d.ts.map +1 -1
- package/dist/esm/fetchers/javascript.js +1 -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 +1 -1
- package/dist/esm/fetchers/mariadb.js.map +1 -1
- package/dist/esm/fetchers/mongodb.d.ts.map +1 -1
- package/dist/esm/fetchers/mongodb.js +1 -1
- 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 +1 -1
- package/dist/esm/fetchers/mysql.js.map +1 -1
- package/dist/esm/fetchers/postgresql.d.ts +1 -1
- package/dist/esm/fetchers/postgresql.d.ts.map +1 -1
- package/dist/esm/fetchers/postgresql.js +9 -4
- package/dist/esm/fetchers/postgresql.js.map +1 -1
- package/dist/esm/fetchers/raw-query.d.ts +8 -1
- package/dist/esm/fetchers/raw-query.d.ts.map +1 -1
- package/dist/esm/fetchers/raw-query.js +42 -4
- package/dist/esm/fetchers/raw-query.js.map +1 -1
- package/dist/esm/fetchers/redshift.d.ts.map +1 -1
- package/dist/esm/fetchers/redshift.js +1 -1
- 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 +7 -2
- package/dist/esm/fetchers/rest-api.js.map +1 -1
- package/dist/esm/fetchers/teleport.d.ts.map +1 -1
- package/dist/esm/fetchers/teleport.js +16 -6
- package/dist/esm/fetchers/teleport.js.map +1 -1
- package/dist/esm/fetchers/turso.d.ts.map +1 -1
- package/dist/esm/fetchers/turso.js +1 -1
- package/dist/esm/fetchers/turso.js.map +1 -1
- package/dist/esm/fetchers/utils/browser-row-policy.d.ts +43 -0
- package/dist/esm/fetchers/utils/browser-row-policy.d.ts.map +1 -0
- package/dist/esm/fetchers/utils/browser-row-policy.js +60 -0
- package/dist/esm/fetchers/utils/browser-row-policy.js.map +1 -0
- package/dist/esm/fetchers/utils/request-sql-guards.d.ts +8 -0
- package/dist/esm/fetchers/utils/request-sql-guards.d.ts.map +1 -0
- package/dist/esm/fetchers/utils/request-sql-guards.js +8 -0
- package/dist/esm/fetchers/utils/request-sql-guards.js.map +1 -0
- package/dist/esm/fetchers/utils/rest-api-response-cache.d.ts +40 -0
- package/dist/esm/fetchers/utils/rest-api-response-cache.d.ts.map +1 -0
- package/dist/esm/fetchers/utils/rest-api-response-cache.js +59 -0
- package/dist/esm/fetchers/utils/rest-api-response-cache.js.map +1 -0
- package/dist/esm/fetchers/utils/table-access-guard.d.ts +23 -0
- package/dist/esm/fetchers/utils/table-access-guard.d.ts.map +1 -0
- package/dist/esm/fetchers/utils/table-access-guard.js +29 -0
- package/dist/esm/fetchers/utils/table-access-guard.js.map +1 -0
- package/dist/esm/index.d.ts +5 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +55 -7
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/items-path.d.ts +10 -0
- package/dist/esm/items-path.d.ts.map +1 -0
- package/dist/esm/items-path.js +58 -0
- package/dist/esm/items-path.js.map +1 -0
- package/dist/esm/loading-state.d.ts +16 -1
- package/dist/esm/loading-state.d.ts.map +1 -1
- package/dist/esm/loading-state.js +69 -3
- package/dist/esm/loading-state.js.map +1 -1
- package/dist/esm/localized-columns.d.ts +56 -0
- package/dist/esm/localized-columns.d.ts.map +1 -0
- package/dist/esm/localized-columns.js +132 -0
- package/dist/esm/localized-columns.js.map +1 -0
- package/dist/esm/pagination-plugin.d.ts.map +1 -1
- package/dist/esm/pagination-plugin.js +141 -51
- package/dist/esm/pagination-plugin.js.map +1 -1
- package/dist/esm/product-filter-fields.d.ts +87 -0
- package/dist/esm/product-filter-fields.d.ts.map +1 -0
- package/dist/esm/product-filter-fields.js +154 -0
- package/dist/esm/product-filter-fields.js.map +1 -0
- package/dist/esm/request-locale.d.ts +49 -0
- package/dist/esm/request-locale.d.ts.map +1 -0
- package/dist/esm/request-locale.js +98 -0
- package/dist/esm/request-locale.js.map +1 -0
- package/dist/esm/search-clear.d.ts +31 -0
- package/dist/esm/search-clear.d.ts.map +1 -0
- package/dist/esm/search-clear.js +74 -0
- package/dist/esm/search-clear.js.map +1 -0
- package/dist/esm/transformations/blog-adjacent-posts.d.ts +16 -0
- package/dist/esm/transformations/blog-adjacent-posts.d.ts.map +1 -0
- package/dist/esm/transformations/blog-adjacent-posts.js +21 -0
- package/dist/esm/transformations/blog-adjacent-posts.js.map +1 -0
- package/dist/esm/transformations/blog-comments.d.ts +30 -0
- package/dist/esm/transformations/blog-comments.d.ts.map +1 -0
- package/dist/esm/transformations/blog-comments.js +30 -0
- package/dist/esm/transformations/blog-comments.js.map +1 -0
- package/dist/esm/transformations/blog-post.d.ts +2 -0
- package/dist/esm/transformations/blog-post.d.ts.map +1 -1
- package/dist/esm/transformations/blog-post.js +4 -1
- package/dist/esm/transformations/blog-post.js.map +1 -1
- package/dist/esm/transformations/ecommerce-product.d.ts +9 -1
- package/dist/esm/transformations/ecommerce-product.d.ts.map +1 -1
- package/dist/esm/transformations/ecommerce-product.js +29 -2
- package/dist/esm/transformations/ecommerce-product.js.map +1 -1
- package/dist/esm/transformations/heading-anchors.d.ts +25 -0
- package/dist/esm/transformations/heading-anchors.d.ts.map +1 -0
- package/dist/esm/transformations/heading-anchors.js +25 -0
- package/dist/esm/transformations/heading-anchors.js.map +1 -0
- package/dist/esm/transformations/index.d.ts +61 -4
- package/dist/esm/transformations/index.d.ts.map +1 -1
- package/dist/esm/transformations/index.js +69 -19
- package/dist/esm/transformations/index.js.map +1 -1
- package/dist/esm/transformations/shared-utils.d.ts.map +1 -1
- package/dist/esm/transformations/shared-utils.js +1 -1
- package/dist/esm/transformations/shared-utils.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/utils.d.ts +11 -1
- package/dist/esm/utils.d.ts.map +1 -1
- package/dist/esm/utils.js +60 -16
- package/dist/esm/utils.js.map +1 -1
- package/package.json +5 -5
- package/src/array-overlap-sql.ts +41 -0
- package/src/content-localization.ts +53 -0
- package/src/count-effect.ts +53 -2
- package/src/data-source-fetchers.ts +41 -5
- package/src/fetchers/airtable.ts +4 -2
- package/src/fetchers/clickhouse.ts +4 -2
- package/src/fetchers/firestore.ts +4 -2
- package/src/fetchers/javascript.ts +9 -1
- package/src/fetchers/mariadb.ts +4 -2
- package/src/fetchers/mongodb.ts +4 -2
- package/src/fetchers/mysql.ts +4 -2
- package/src/fetchers/postgresql.ts +53 -12
- package/src/fetchers/raw-query.ts +60 -5
- package/src/fetchers/redshift.ts +4 -2
- package/src/fetchers/rest-api.ts +27 -5
- package/src/fetchers/teleport.ts +85 -22
- package/src/fetchers/turso.ts +4 -2
- package/src/fetchers/utils/browser-row-policy.ts +212 -0
- package/src/fetchers/utils/request-sql-guards.ts +25 -0
- package/src/fetchers/utils/rest-api-response-cache.ts +188 -0
- package/src/fetchers/utils/table-access-guard.ts +39 -0
- package/src/index.ts +79 -11
- package/src/items-path.ts +74 -0
- package/src/loading-state.ts +134 -3
- package/src/localized-columns.ts +146 -0
- package/src/pagination-plugin.ts +206 -60
- package/src/product-filter-fields.ts +173 -0
- package/src/request-locale.ts +113 -0
- package/src/search-clear.ts +102 -0
- package/src/transformations/blog-adjacent-posts.ts +74 -0
- package/src/transformations/blog-comments.ts +132 -0
- package/src/transformations/blog-post.ts +38 -5
- package/src/transformations/ecommerce-product.ts +568 -5
- package/src/transformations/heading-anchors.ts +85 -0
- package/src/transformations/index.ts +191 -23
- package/src/transformations/shared-utils.ts +6 -0
- package/src/utils.ts +109 -19
package/dist/cjs/index.js
CHANGED
|
@@ -62,17 +62,47 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
62
62
|
}
|
|
63
63
|
};
|
|
64
64
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
65
|
-
exports.buildProductTransformOptions = exports.createNextComponentDataSourcePlugin = exports.createNextPagesDataSourcePlugin = void 0;
|
|
65
|
+
exports.buildServerLocaleParam = exports.REQUEST_LOCALE_PARAM = exports.resolveContentLocalization = exports.isLocalizedProject = exports.buildProductTransformOptions = exports.createNextComponentDataSourcePlugin = exports.createNextPagesDataSourcePlugin = void 0;
|
|
66
66
|
var teleport_types_1 = require("@teleporthq/teleport-types");
|
|
67
67
|
var teleport_shared_1 = require("@teleporthq/teleport-shared");
|
|
68
68
|
var utils_1 = require("./utils");
|
|
69
69
|
var pagination_plugin_1 = require("./pagination-plugin");
|
|
70
70
|
var transformations_1 = require("./transformations");
|
|
71
71
|
var isr_1 = require("./isr");
|
|
72
|
+
var request_locale_1 = require("./request-locale");
|
|
72
73
|
var types = __importStar(require("@babel/types"));
|
|
73
74
|
// Prefix used to clearly differentiate wrapped data source expression props
|
|
74
75
|
// from user-defined or standard renderPropIdentifier values
|
|
75
76
|
var WRAPPED_DS_EXPR_PREFIX = '__dsExpr_';
|
|
77
|
+
/**
|
|
78
|
+
* The statements of the component function the `jsx-component` chunk declares
|
|
79
|
+
* (`const Page = (props) => { … }`), or `null` when the chunk holds another
|
|
80
|
+
* shape — a test may hand the plugin a bare element.
|
|
81
|
+
*/
|
|
82
|
+
var findComponentBody = function (componentChunk) {
|
|
83
|
+
var _a;
|
|
84
|
+
var content = componentChunk.content;
|
|
85
|
+
if ((content === null || content === void 0 ? void 0 : content.type) !== 'VariableDeclaration') {
|
|
86
|
+
return null;
|
|
87
|
+
}
|
|
88
|
+
var init = (_a = content.declarations[0]) === null || _a === void 0 ? void 0 : _a.init;
|
|
89
|
+
if (((init === null || init === void 0 ? void 0 : init.type) !== 'ArrowFunctionExpression' && (init === null || init === void 0 ? void 0 : init.type) !== 'FunctionExpression') ||
|
|
90
|
+
init.body.type !== 'BlockStatement') {
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
93
|
+
return init.body.body;
|
|
94
|
+
};
|
|
95
|
+
/**
|
|
96
|
+
* A client-side fetch in a localized project reads `router.locale` (see
|
|
97
|
+
* `extractDataSourceIntoNextAPIFolder`), so the router has to be declared in
|
|
98
|
+
* the component that fetches.
|
|
99
|
+
*/
|
|
100
|
+
var ensureRouterForClientFetches = function (componentChunk, dependencies) {
|
|
101
|
+
var body = findComponentBody(componentChunk);
|
|
102
|
+
if (body) {
|
|
103
|
+
(0, request_locale_1.ensureRouterDeclaration)(body, dependencies);
|
|
104
|
+
}
|
|
105
|
+
};
|
|
76
106
|
function containsDataSourceDataReference(astNode) {
|
|
77
107
|
if (!astNode || typeof astNode !== 'object') {
|
|
78
108
|
return false;
|
|
@@ -313,7 +343,7 @@ function extractPaginationConfigEarly(uidlNode, resources) {
|
|
|
313
343
|
}
|
|
314
344
|
var createNextPagesDataSourcePlugin = function () {
|
|
315
345
|
var nextPagesDataSourcePlugin = function (structure) { return __awaiter(void 0, void 0, void 0, function () {
|
|
316
|
-
var uidl, chunks, options, dependencies, dataSources, componentChunk, opts, pageConfig, getStaticPropsChunk, firstDataSourceInfo, fetcherImportName, dataProviderPositionCounters, existingPropKeys, funcDecl, tryStmt, retStmt, propsProp, propsVal, _i, _a, prop, keyName, wrapContext, functionDeclaration, functionBody, tryBlock, returnStatement, propsObject, propsValue, meta, _b, _c, wrapped, fetchCallExpression, safeFetchExpression, existingIndex, promiseAllCall, arrayPattern, hasPaginatedOrSearchDataSources, getStaticPropsAST, paginationPlugin;
|
|
346
|
+
var uidl, chunks, options, dependencies, dataSources, componentChunk, opts, pageConfig, getStaticPropsChunk, transformOptions, wiredClientFetch, firstDataSourceInfo, fetcherImportName, dataProviderPositionCounters, existingPropKeys, funcDecl, tryStmt, retStmt, propsProp, propsVal, _i, _a, prop, keyName, wrapContext, functionDeclaration, functionBody, tryBlock, returnStatement, propsObject, propsValue, meta, _b, _c, wrapped, fetchCallExpression, safeFetchExpression, existingIndex, promiseAllCall, arrayPattern, hasPaginatedOrSearchDataSources, getStaticPropsAST, paginationPlugin;
|
|
317
347
|
var _d, _e;
|
|
318
348
|
return __generator(this, function (_f) {
|
|
319
349
|
uidl = structure.uidl, chunks = structure.chunks, options = structure.options, dependencies = structure.dependencies;
|
|
@@ -357,6 +387,8 @@ var createNextPagesDataSourcePlugin = function () {
|
|
|
357
387
|
opts.paginationConfig.limitMap.set(dataSourceId, limit);
|
|
358
388
|
});
|
|
359
389
|
getStaticPropsChunk = chunks.find(function (chunk) { return chunk.name === 'getStaticProps'; });
|
|
390
|
+
transformOptions = (0, transformations_1.buildProductTransformOptions)(options);
|
|
391
|
+
wiredClientFetch = false;
|
|
360
392
|
firstDataSourceInfo = null;
|
|
361
393
|
fetcherImportName = null;
|
|
362
394
|
dataProviderPositionCounters = new Map();
|
|
@@ -448,7 +480,7 @@ var createNextPagesDataSourcePlugin = function () {
|
|
|
448
480
|
// When multiple nodes share the same dataSourceKey (same resource ID), the function is
|
|
449
481
|
// idempotent for getStaticProps (skips duplicate fetches via existingInFetchMeta) but
|
|
450
482
|
// still updates the next uninitialized DataProvider JSX node on each call.
|
|
451
|
-
var result = (0, utils_1.extractDataSourceIntoGetStaticProps)(dataSourceNode, dataSources, componentChunk, getStaticPropsChunk, chunks, options.extractedResources, dependencies, dynamicRouteAttr, (_c = uidl.outputOptions) === null || _c === void 0 ? void 0 : _c.folderPath,
|
|
483
|
+
var result = (0, utils_1.extractDataSourceIntoGetStaticProps)(dataSourceNode, dataSources, componentChunk, getStaticPropsChunk, chunks, options.extractedResources, dependencies, dynamicRouteAttr, (_c = uidl.outputOptions) === null || _c === void 0 ? void 0 : _c.folderPath, transformOptions);
|
|
452
484
|
if (result.success && result.chunk) {
|
|
453
485
|
getStaticPropsChunk = result.chunk;
|
|
454
486
|
// Track the first data source info for wrapping dataSourceData expressions
|
|
@@ -470,10 +502,13 @@ var createNextPagesDataSourcePlugin = function () {
|
|
|
470
502
|
}
|
|
471
503
|
}
|
|
472
504
|
}
|
|
473
|
-
else {
|
|
474
|
-
|
|
505
|
+
else if ((0, utils_1.extractDataSourceIntoNextAPIFolder)(dataSourceNode, dataSources, componentChunk, options.extractedResources, transformOptions)) {
|
|
506
|
+
wiredClientFetch = true;
|
|
475
507
|
}
|
|
476
508
|
});
|
|
509
|
+
if (wiredClientFetch && transformOptions.localization) {
|
|
510
|
+
ensureRouterForClientFetches(componentChunk, dependencies);
|
|
511
|
+
}
|
|
477
512
|
// After processing all data source nodes, wrap any element props containing dataSourceData
|
|
478
513
|
// expressions in a DataProvider
|
|
479
514
|
if (firstDataSourceInfo && componentChunk.content) {
|
|
@@ -802,7 +837,7 @@ function stringifyComplexParamsInDataProviders(componentChunk) {
|
|
|
802
837
|
}
|
|
803
838
|
var createNextComponentDataSourcePlugin = function () {
|
|
804
839
|
var nextComponentDataSourcePlugin = function (structure) { return __awaiter(void 0, void 0, void 0, function () {
|
|
805
|
-
var uidl, chunks, options, dependencies, dataSources, opts, componentConfig, componentChunk, firstDataSourceInfo, firstDataSourceId, dataSource, dsIdPrefix, dsType, existingFileName, existingTableName, _i, _a, key, parts, tableName, sanitizedDsName, sanitizedTableName, fileName, existingPropKeys, wrapContext, dataSource, fileName, generateDataSourceFetcherWithCore, fetcherCode, apiRouteCode, paginationPlugin;
|
|
840
|
+
var uidl, chunks, options, dependencies, dataSources, opts, componentConfig, componentChunk, transformOptions, wiredClientFetch, firstDataSourceInfo, firstDataSourceId, dataSource, dsIdPrefix, dsType, existingFileName, existingTableName, _i, _a, key, parts, tableName, sanitizedDsName, sanitizedTableName, fileName, existingPropKeys, wrapContext, dataSource, fileName, generateDataSourceFetcherWithCore, fetcherCode, apiRouteCode, paginationPlugin;
|
|
806
841
|
return __generator(this, function (_b) {
|
|
807
842
|
uidl = structure.uidl, chunks = structure.chunks, options = structure.options, dependencies = structure.dependencies;
|
|
808
843
|
// Early return if no options or dataSources
|
|
@@ -844,6 +879,8 @@ var createNextComponentDataSourcePlugin = function () {
|
|
|
844
879
|
if (!options.extractedResources) {
|
|
845
880
|
return [2 /*return*/, structure];
|
|
846
881
|
}
|
|
882
|
+
transformOptions = (0, transformations_1.buildProductTransformOptions)(options);
|
|
883
|
+
wiredClientFetch = false;
|
|
847
884
|
firstDataSourceInfo = null;
|
|
848
885
|
teleport_shared_1.UIDLUtils.traverseNodes(uidl.node, function (node) {
|
|
849
886
|
// Data source nodes can be either:
|
|
@@ -886,8 +923,13 @@ var createNextComponentDataSourcePlugin = function () {
|
|
|
886
923
|
}
|
|
887
924
|
}
|
|
888
925
|
}
|
|
889
|
-
(0, utils_1.extractDataSourceIntoNextAPIFolder)(dataSourceNode, dataSources, componentChunk, options.extractedResources,
|
|
926
|
+
if ((0, utils_1.extractDataSourceIntoNextAPIFolder)(dataSourceNode, dataSources, componentChunk, options.extractedResources, transformOptions)) {
|
|
927
|
+
wiredClientFetch = true;
|
|
928
|
+
}
|
|
890
929
|
});
|
|
930
|
+
if (wiredClientFetch && transformOptions.localization) {
|
|
931
|
+
ensureRouterForClientFetches(componentChunk, dependencies);
|
|
932
|
+
}
|
|
891
933
|
// If no data source nodes were found but there are dataSources available,
|
|
892
934
|
// use the first available dataSource to create firstDataSourceInfo
|
|
893
935
|
// This handles the case where a component has element props with dataSourceData expressions
|
|
@@ -947,7 +989,7 @@ var createNextComponentDataSourcePlugin = function () {
|
|
|
947
989
|
if (dataSource && !options.extractedResources["utils/".concat(fileName)]) {
|
|
948
990
|
generateDataSourceFetcherWithCore = require('./data-source-fetchers').generateDataSourceFetcherWithCore;
|
|
949
991
|
try {
|
|
950
|
-
fetcherCode = generateDataSourceFetcherWithCore(dataSource, firstDataSourceInfo.tableName, false,
|
|
992
|
+
fetcherCode = generateDataSourceFetcherWithCore(dataSource, firstDataSourceInfo.tableName, false, transformOptions);
|
|
951
993
|
options.extractedResources["utils/".concat(fileName)] = {
|
|
952
994
|
fileName: fileName,
|
|
953
995
|
fileType: teleport_types_1.FileType.JS,
|
|
@@ -985,9 +1027,19 @@ __exportStar(require("./utils"), exports);
|
|
|
985
1027
|
__exportStar(require("./array-mapper-pagination"), exports);
|
|
986
1028
|
__exportStar(require("./pagination-plugin"), exports);
|
|
987
1029
|
__exportStar(require("./count-fetchers"), exports);
|
|
1030
|
+
__exportStar(require("./product-price-sort"), exports);
|
|
1031
|
+
__exportStar(require("./product-filter-fields"), exports);
|
|
988
1032
|
// The product transform's build-time options (category taxonomy + storefront
|
|
989
1033
|
// tax rate) — every package that emits a data-source fetcher has to derive
|
|
990
1034
|
// them the same way.
|
|
991
1035
|
var transformations_2 = require("./transformations");
|
|
992
1036
|
Object.defineProperty(exports, "buildProductTransformOptions", { enumerable: true, get: function () { return transformations_2.buildProductTransformOptions; } });
|
|
1037
|
+
// How a fetch says which language it is for, and when a project needs it to —
|
|
1038
|
+
// shared with every other package that emits a data-source fetch.
|
|
1039
|
+
var content_localization_1 = require("./content-localization");
|
|
1040
|
+
Object.defineProperty(exports, "isLocalizedProject", { enumerable: true, get: function () { return content_localization_1.isLocalizedProject; } });
|
|
1041
|
+
Object.defineProperty(exports, "resolveContentLocalization", { enumerable: true, get: function () { return content_localization_1.resolveContentLocalization; } });
|
|
1042
|
+
var request_locale_2 = require("./request-locale");
|
|
1043
|
+
Object.defineProperty(exports, "REQUEST_LOCALE_PARAM", { enumerable: true, get: function () { return request_locale_2.REQUEST_LOCALE_PARAM; } });
|
|
1044
|
+
Object.defineProperty(exports, "buildServerLocaleParam", { enumerable: true, get: function () { return request_locale_2.buildServerLocaleParam; } });
|
|
993
1045
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as types from '@babel/types';
|
|
2
|
+
export declare const extractItemsPath: (source: unknown, dataSourceIdentifier: string, dataSourceType: string) => string[] | undefined;
|
|
3
|
+
/**
|
|
4
|
+
* Push `<key>: '["templates"]'` onto a params object. Fetch calls send it as
|
|
5
|
+
* `itemsPath` (process the inner array, keep the wrapper the page reads back
|
|
6
|
+
* through); count calls send it as `collectionPath`, so the count handler
|
|
7
|
+
* measures the inner array instead of the wrapper.
|
|
8
|
+
*/
|
|
9
|
+
export declare const appendItemsPathParam: (paramsProps: types.ObjectProperty[], itemsPath: string[] | undefined, key: 'itemsPath' | 'collectionPath') => void;
|
|
10
|
+
//# sourceMappingURL=items-path.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"items-path.d.ts","sourceRoot":"","sources":["../../src/items-path.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAsBrC,eAAO,MAAM,gBAAgB,WACnB,OAAO,wBACO,MAAM,kBACZ,MAAM,KACrB,MAAM,EAAE,GAAG,SA4Bb,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,gBAClB,MAAM,cAAc,EAAE,aACxB,MAAM,EAAE,GAAG,SAAS,OAC1B,WAAW,GAAG,gBAAgB,KAClC,IAOF,CAAA"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.appendItemsPathParam = exports.extractItemsPath = void 0;
|
|
27
|
+
var types = __importStar(require("@babel/types"));
|
|
28
|
+
/**
|
|
29
|
+
* Where a paginated/searchable list's rows sit inside the payload its data
|
|
30
|
+
* source returns, read off the repeater's `source` expression.
|
|
31
|
+
*
|
|
32
|
+
* A REST API or JavaScript source may answer `{ templates: [...], total }`, and
|
|
33
|
+
* the editor binds the list to `All_Templates_data_data?.templates || []`. The
|
|
34
|
+
* generated fetcher only searches, filters, sorts and slices a payload that IS
|
|
35
|
+
* an array, so without this every row came back on every page (the canvas
|
|
36
|
+
* slices on the client and looked right) and the count measured the wrapper as
|
|
37
|
+
* 0 rows, disabling "Next".
|
|
38
|
+
*
|
|
39
|
+
* Returns undefined when the list is bound to the payload itself, or when the
|
|
40
|
+
* source is anything other than a plain property chain off the data source's
|
|
41
|
+
* render prop — an expression this cannot read is left exactly as before.
|
|
42
|
+
*/
|
|
43
|
+
var SEGMENT_RE = /^(?:\?\.([A-Za-z_$][\w$]*)|\.([A-Za-z_$][\w$]*)|(?:\?\.)?\[\s*(?:"([^"]*)"|'([^']*)')\s*\])/;
|
|
44
|
+
var PATH_AWARE_SOURCE_TYPES = new Set(['rest-api', 'javascript']);
|
|
45
|
+
var extractItemsPath = function (source, dataSourceIdentifier, dataSourceType) {
|
|
46
|
+
var _a, _b, _c;
|
|
47
|
+
if (typeof source !== 'string' || !dataSourceIdentifier) {
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
50
|
+
if (!PATH_AWARE_SOURCE_TYPES.has(dataSourceType)) {
|
|
51
|
+
return undefined;
|
|
52
|
+
}
|
|
53
|
+
var rest = source
|
|
54
|
+
.trim()
|
|
55
|
+
.replace(/\s*\|\|\s*\[\s*\]$/, '')
|
|
56
|
+
.trim();
|
|
57
|
+
if (!rest.startsWith(dataSourceIdentifier)) {
|
|
58
|
+
return undefined;
|
|
59
|
+
}
|
|
60
|
+
rest = rest.slice(dataSourceIdentifier.length);
|
|
61
|
+
var path = [];
|
|
62
|
+
while (rest.length > 0) {
|
|
63
|
+
var match = rest.match(SEGMENT_RE);
|
|
64
|
+
if (!match) {
|
|
65
|
+
return undefined;
|
|
66
|
+
}
|
|
67
|
+
path.push((_c = (_b = (_a = match[1]) !== null && _a !== void 0 ? _a : match[2]) !== null && _b !== void 0 ? _b : match[3]) !== null && _c !== void 0 ? _c : match[4]);
|
|
68
|
+
rest = rest.slice(match[0].length);
|
|
69
|
+
}
|
|
70
|
+
return path.length > 0 ? path : undefined;
|
|
71
|
+
};
|
|
72
|
+
exports.extractItemsPath = extractItemsPath;
|
|
73
|
+
/**
|
|
74
|
+
* Push `<key>: '["templates"]'` onto a params object. Fetch calls send it as
|
|
75
|
+
* `itemsPath` (process the inner array, keep the wrapper the page reads back
|
|
76
|
+
* through); count calls send it as `collectionPath`, so the count handler
|
|
77
|
+
* measures the inner array instead of the wrapper.
|
|
78
|
+
*/
|
|
79
|
+
var appendItemsPathParam = function (paramsProps, itemsPath, key) {
|
|
80
|
+
if (!itemsPath || itemsPath.length === 0) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
paramsProps.push(types.objectProperty(types.identifier(key), types.stringLiteral(JSON.stringify(itemsPath))));
|
|
84
|
+
};
|
|
85
|
+
exports.appendItemsPathParam = appendItemsPathParam;
|
|
86
|
+
//# sourceMappingURL=items-path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"items-path.js","sourceRoot":"","sources":["../../src/items-path.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAqC;AAErC;;;;;;;;;;;;;;GAcG;AACH,IAAM,UAAU,GACd,6FAA6F,CAAA;AAE/F,IAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAA;AAE5D,IAAM,gBAAgB,GAAG,UAC9B,MAAe,EACf,oBAA4B,EAC5B,cAAsB;;IAEtB,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,oBAAoB,EAAE;QACvD,OAAO,SAAS,CAAA;KACjB;IACD,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE;QAChD,OAAO,SAAS,CAAA;KACjB;IAED,IAAI,IAAI,GAAG,MAAM;SACd,IAAI,EAAE;SACN,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC;SACjC,IAAI,EAAE,CAAA;IACT,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE;QAC1C,OAAO,SAAS,CAAA;KACjB;IACD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAA;IAE9C,IAAM,IAAI,GAAa,EAAE,CAAA;IACzB,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;QACtB,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QACpC,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,SAAS,CAAA;SACjB;QACD,IAAI,CAAC,IAAI,CAAC,MAAA,MAAA,MAAA,KAAK,CAAC,CAAC,CAAC,mCAAI,KAAK,CAAC,CAAC,CAAC,mCAAI,KAAK,CAAC,CAAC,CAAC,mCAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QACvD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;KACnC;IAED,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;AAC3C,CAAC,CAAA;AAhCY,QAAA,gBAAgB,oBAgC5B;AAED;;;;;GAKG;AACI,IAAM,oBAAoB,GAAG,UAClC,WAAmC,EACnC,SAA+B,EAC/B,GAAmC;IAEnC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;QACxC,OAAM;KACP;IACD,WAAW,CAAC,IAAI,CACd,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAC5F,CAAA;AACH,CAAC,CAAA;AAXY,QAAA,oBAAoB,wBAWhC"}
|
|
@@ -64,13 +64,28 @@ export interface LoadingStateVars {
|
|
|
64
64
|
* stale rows back for the rest of the second request.
|
|
65
65
|
*/
|
|
66
66
|
inFlightRefVar: string;
|
|
67
|
+
/**
|
|
68
|
+
* Ref counting the requests STARTED, so a response can tell whether a newer
|
|
69
|
+
* request has overtaken it. `DataProvider` keeps whatever resolves last:
|
|
70
|
+
* two controls changed in quick succession (a "Clear all" emptying several
|
|
71
|
+
* filter states, one state write after another) start two requests, and
|
|
72
|
+
* when the older, slower one settles after the newer it painted the OLDER
|
|
73
|
+
* rows over the newer — a list showing two products for a URL that filters
|
|
74
|
+
* nothing. Each request notes its sequence number and, if overtaken, hands
|
|
75
|
+
* over the newest settled rows instead of its own.
|
|
76
|
+
*/
|
|
77
|
+
fetchSeqRefVar: string;
|
|
78
|
+
/** Ref holding the rows of the newest request that settled — what an overtaken one resolves with. */
|
|
79
|
+
latestDataRefVar: string;
|
|
67
80
|
}
|
|
68
81
|
export declare function getLoadingStateVars(index: number): LoadingStateVars;
|
|
69
82
|
/**
|
|
70
83
|
* `const ds_N_fetchesInFlight = useRef(0)`
|
|
84
|
+
* `const ds_N_fetchSeq = useRef(0)`
|
|
85
|
+
* `const ds_N_latestData = useRef(undefined)`
|
|
71
86
|
* `const [ds_N_isFetching, setDs_N_isFetching] = useState(false)`
|
|
72
87
|
*
|
|
73
|
-
*
|
|
88
|
+
* All are stable across renders (ref objects and a `useState` setter), which
|
|
74
89
|
* is what lets the wrapped `fetchData` keep its empty `useCallback` dependency
|
|
75
90
|
* array — a changing `fetchData` identity would retrigger the provider's fetch
|
|
76
91
|
* effect on every render.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loading-state.d.ts","sourceRoot":"","sources":["../../src/loading-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,wFAAwF;IACxF,aAAa,EAAE,MAAM,CAAA;IACrB,kCAAkC;IAClC,gBAAgB,EAAE,MAAM,CAAA;IACxB;;;;;;OAMG;IACH,cAAc,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"loading-state.d.ts","sourceRoot":"","sources":["../../src/loading-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,wFAAwF;IACxF,aAAa,EAAE,MAAM,CAAA;IACrB,kCAAkC;IAClC,gBAAgB,EAAE,MAAM,CAAA;IACxB;;;;;;OAMG;IACH,cAAc,EAAE,MAAM,CAAA;IACtB;;;;;;;;;OASG;IACH,cAAc,EAAE,MAAM,CAAA;IACtB,qGAAqG;IACrG,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAQnE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,gBAAgB,GAAG,KAAK,CAAC,SAAS,EAAE,CA8BvF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,+BAA+B,CAE7C,YAAY,EAAE,GAAG,EACjB,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAiCT"}
|
|
@@ -40,14 +40,18 @@ function getLoadingStateVars(index) {
|
|
|
40
40
|
isFetchingVar: "ds_".concat(index, "_isFetching"),
|
|
41
41
|
setIsFetchingVar: "setDs_".concat(index, "_isFetching"),
|
|
42
42
|
inFlightRefVar: "ds_".concat(index, "_fetchesInFlight"),
|
|
43
|
+
fetchSeqRefVar: "ds_".concat(index, "_fetchSeq"),
|
|
44
|
+
latestDataRefVar: "ds_".concat(index, "_latestData"),
|
|
43
45
|
};
|
|
44
46
|
}
|
|
45
47
|
exports.getLoadingStateVars = getLoadingStateVars;
|
|
46
48
|
/**
|
|
47
49
|
* `const ds_N_fetchesInFlight = useRef(0)`
|
|
50
|
+
* `const ds_N_fetchSeq = useRef(0)`
|
|
51
|
+
* `const ds_N_latestData = useRef(undefined)`
|
|
48
52
|
* `const [ds_N_isFetching, setDs_N_isFetching] = useState(false)`
|
|
49
53
|
*
|
|
50
|
-
*
|
|
54
|
+
* All are stable across renders (ref objects and a `useState` setter), which
|
|
51
55
|
* is what lets the wrapped `fetchData` keep its empty `useCallback` dependency
|
|
52
56
|
* array — a changing `fetchData` identity would retrigger the provider's fetch
|
|
53
57
|
* effect on every render.
|
|
@@ -57,6 +61,12 @@ function buildLoadingStateDeclarations(vars) {
|
|
|
57
61
|
types.variableDeclaration('const', [
|
|
58
62
|
types.variableDeclarator(types.identifier(vars.inFlightRefVar), types.callExpression(types.identifier('useRef'), [types.numericLiteral(0)])),
|
|
59
63
|
]),
|
|
64
|
+
types.variableDeclaration('const', [
|
|
65
|
+
types.variableDeclarator(types.identifier(vars.fetchSeqRefVar), types.callExpression(types.identifier('useRef'), [types.numericLiteral(0)])),
|
|
66
|
+
]),
|
|
67
|
+
types.variableDeclaration('const', [
|
|
68
|
+
types.variableDeclarator(types.identifier(vars.latestDataRefVar), types.callExpression(types.identifier('useRef'), [types.identifier('undefined')])),
|
|
69
|
+
]),
|
|
60
70
|
types.variableDeclaration('const', [
|
|
61
71
|
types.variableDeclarator(types.arrayPattern([
|
|
62
72
|
types.identifier(vars.isFetchingVar),
|
|
@@ -137,8 +147,39 @@ function injectTrackingIntoCachedBody(body, vars) {
|
|
|
137
147
|
}
|
|
138
148
|
var tracked = buildTrackedFetchBody(networkChain.statement.argument, vars);
|
|
139
149
|
(_a = body.body).splice.apply(_a, __spreadArray([networkChain.index, 1], tracked.body, false));
|
|
150
|
+
markCacheHitAsNewest(body, vars);
|
|
140
151
|
return true;
|
|
141
152
|
}
|
|
153
|
+
/**
|
|
154
|
+
* A cache hit answers synchronously with the rows of THIS request, so it is
|
|
155
|
+
* the newest settled result too: it advances the sequence and records its rows,
|
|
156
|
+
* or an older network request still in flight would resolve after it and paint
|
|
157
|
+
* over it. Adds the two statements at the head of the hit branch — before its
|
|
158
|
+
* `return Promise.resolve(__tqHit)` — and nothing else, so the flag the branch
|
|
159
|
+
* deliberately never raises stays untouched.
|
|
160
|
+
*/
|
|
161
|
+
function markCacheHitAsNewest(body, vars) {
|
|
162
|
+
var hit = body.body.find(function (statement) {
|
|
163
|
+
return statement.type === 'IfStatement' &&
|
|
164
|
+
statement.test.type === 'BinaryExpression' &&
|
|
165
|
+
statement.test.left.type === 'Identifier' &&
|
|
166
|
+
statement.test.left.name === CACHE_HIT_IDENTIFIER &&
|
|
167
|
+
statement.consequent.type === 'BlockStatement';
|
|
168
|
+
});
|
|
169
|
+
if (!hit || hit.consequent.type !== 'BlockStatement') {
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
hit.consequent.body.unshift(types.expressionStatement(types.updateExpression('++', refCurrent(vars.fetchSeqRefVar), true)), types.expressionStatement(types.assignmentExpression('=', refCurrent(vars.latestDataRefVar), types.identifier(CACHE_HIT_IDENTIFIER))));
|
|
173
|
+
}
|
|
174
|
+
/** The identifier the cache wiring binds a hit to — see `cache/ast.ts`. */
|
|
175
|
+
var CACHE_HIT_IDENTIFIER = '__tqHit';
|
|
176
|
+
/** The rows a tracked request resolved with, inside its own `then`. */
|
|
177
|
+
var TRACKED_ROWS_IDENTIFIER = '__tqRows';
|
|
178
|
+
/** This request's sequence number. */
|
|
179
|
+
var TRACKED_SEQ_IDENTIFIER = '__tqSeq';
|
|
180
|
+
function refCurrent(refVar) {
|
|
181
|
+
return types.memberExpression(types.identifier(refVar), types.identifier('current'));
|
|
182
|
+
}
|
|
142
183
|
// tslint:disable-next-line:no-any
|
|
143
184
|
function containsIdentifier(node, name) {
|
|
144
185
|
if (!node || typeof node !== 'object') {
|
|
@@ -202,9 +243,16 @@ function findMemoizedFetchDataArrow(attribute) {
|
|
|
202
243
|
* Turns `(params) => fetch(...).then(...)` into
|
|
203
244
|
*
|
|
204
245
|
* (params) => {
|
|
246
|
+
* const __tqSeq = ++ds_N_fetchSeq.current
|
|
205
247
|
* ds_N_fetchesInFlight.current += 1
|
|
206
248
|
* setDs_N_isFetching(true)
|
|
207
|
-
* return fetch(...).then(...).
|
|
249
|
+
* return fetch(...).then(...).then((__tqRows) => {
|
|
250
|
+
* if (__tqSeq !== ds_N_fetchSeq.current) {
|
|
251
|
+
* return ds_N_latestData.current !== undefined ? ds_N_latestData.current : __tqRows
|
|
252
|
+
* }
|
|
253
|
+
* ds_N_latestData.current = __tqRows
|
|
254
|
+
* return __tqRows
|
|
255
|
+
* }).finally(() => {
|
|
208
256
|
* ds_N_fetchesInFlight.current -= 1
|
|
209
257
|
* if (ds_N_fetchesInFlight.current <= 0) {
|
|
210
258
|
* ds_N_fetchesInFlight.current = 0
|
|
@@ -213,6 +261,12 @@ function findMemoizedFetchDataArrow(attribute) {
|
|
|
213
261
|
* })
|
|
214
262
|
* }
|
|
215
263
|
*
|
|
264
|
+
* The `then` is the stale guard (see `fetchSeqRefVar`): a request overtaken by
|
|
265
|
+
* a newer one resolves with the newest settled rows rather than its own, so
|
|
266
|
+
* the provider — which keeps whatever resolves LAST — never paints older rows
|
|
267
|
+
* over newer ones. An overtaken request whose successor has not settled yet
|
|
268
|
+
* resolves with its own rows; the successor then replaces them.
|
|
269
|
+
*
|
|
216
270
|
* `finally` (rather than a `then` pair) keeps the flag honest when the request
|
|
217
271
|
* rejects: the provider switches to its error status and the loading state must
|
|
218
272
|
* not stay on screen. The counter is clamped at 0 so a late settle from a
|
|
@@ -234,10 +288,22 @@ function buildTrackedFetchBody(fetchExpression, vars) {
|
|
|
234
288
|
])),
|
|
235
289
|
])),
|
|
236
290
|
]));
|
|
291
|
+
var latestData = refCurrent(vars.latestDataRefVar);
|
|
292
|
+
var staleGuard = types.arrowFunctionExpression([types.identifier(TRACKED_ROWS_IDENTIFIER)], types.blockStatement([
|
|
293
|
+
types.ifStatement(types.binaryExpression('!==', types.identifier(TRACKED_SEQ_IDENTIFIER), refCurrent(vars.fetchSeqRefVar)), types.blockStatement([
|
|
294
|
+
types.returnStatement(types.conditionalExpression(types.binaryExpression('!==', types.cloneNode(latestData, true), types.identifier('undefined')), types.cloneNode(latestData, true), types.identifier(TRACKED_ROWS_IDENTIFIER))),
|
|
295
|
+
])),
|
|
296
|
+
types.expressionStatement(types.assignmentExpression('=', types.cloneNode(latestData, true), types.identifier(TRACKED_ROWS_IDENTIFIER))),
|
|
297
|
+
types.returnStatement(types.identifier(TRACKED_ROWS_IDENTIFIER)),
|
|
298
|
+
]));
|
|
299
|
+
var guardedFetch = types.callExpression(types.memberExpression(fetchExpression, types.identifier('then')), [staleGuard]);
|
|
237
300
|
return types.blockStatement([
|
|
301
|
+
types.variableDeclaration('const', [
|
|
302
|
+
types.variableDeclarator(types.identifier(TRACKED_SEQ_IDENTIFIER), types.updateExpression('++', refCurrent(vars.fetchSeqRefVar), true)),
|
|
303
|
+
]),
|
|
238
304
|
types.expressionStatement(types.assignmentExpression('+=', types.cloneNode(inFlightCount, true), types.numericLiteral(1))),
|
|
239
305
|
types.expressionStatement(types.callExpression(types.identifier(vars.setIsFetchingVar), [types.booleanLiteral(true)])),
|
|
240
|
-
types.returnStatement(types.callExpression(types.memberExpression(
|
|
306
|
+
types.returnStatement(types.callExpression(types.memberExpression(guardedFetch, types.identifier('finally')), [
|
|
241
307
|
settleHandler,
|
|
242
308
|
])),
|
|
243
309
|
]);
|