@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.
Files changed (334) hide show
  1. package/__tests__/array-mapper-cache-wiring.test.ts +11 -0
  2. package/__tests__/array-overlap-sql.test.ts +53 -0
  3. package/__tests__/blog-post-page-enrichment.test.ts +214 -0
  4. package/__tests__/browser-row-policy.test.ts +503 -0
  5. package/__tests__/data-source-cache-wrapping.test.ts +18 -2
  6. package/__tests__/data-source-request-locale.test.ts +313 -0
  7. package/__tests__/ecommerce-product-options.test.ts +206 -0
  8. package/__tests__/ecommerce-product-pages.test.ts +82 -0
  9. package/__tests__/ecommerce-product-pre-options.golden.json +505 -0
  10. package/__tests__/ecommerce-product-storefront-contract.test.ts +293 -0
  11. package/__tests__/ecommerce-product-subscriptions.test.ts +121 -0
  12. package/__tests__/fetchers.test.ts +2 -2
  13. package/__tests__/gated-data-provider.test.ts +88 -0
  14. package/__tests__/items-path.test.ts +150 -0
  15. package/__tests__/localized-columns.test.ts +217 -0
  16. package/__tests__/numbered-pagination.test.ts +15 -0
  17. package/__tests__/product-filter-fields.ts +230 -0
  18. package/__tests__/product-filter-sql.fixture.json +7 -0
  19. package/__tests__/product-options-storefront.fixture.json +2510 -0
  20. package/__tests__/product-page-url-fixtures.json +25 -0
  21. package/__tests__/product-price-sort.ts +4 -2
  22. package/__tests__/raw-rows-mode.test.ts +111 -0
  23. package/__tests__/refetch-loading-state.test.ts +23 -0
  24. package/__tests__/rest-api-response-cache.test.ts +434 -0
  25. package/__tests__/search-clear-button.test.ts +122 -0
  26. package/__tests__/table-read-route-protected-tables.test.ts +493 -0
  27. package/dist/cjs/array-overlap-sql.d.ts +21 -0
  28. package/dist/cjs/array-overlap-sql.d.ts.map +1 -0
  29. package/dist/cjs/array-overlap-sql.js +25 -0
  30. package/dist/cjs/array-overlap-sql.js.map +1 -0
  31. package/dist/cjs/content-localization.d.ts +37 -0
  32. package/dist/cjs/content-localization.d.ts.map +1 -0
  33. package/dist/cjs/content-localization.js +29 -0
  34. package/dist/cjs/content-localization.js.map +1 -0
  35. package/dist/cjs/count-effect.d.ts +11 -1
  36. package/dist/cjs/count-effect.d.ts.map +1 -1
  37. package/dist/cjs/count-effect.js +30 -2
  38. package/dist/cjs/count-effect.js.map +1 -1
  39. package/dist/cjs/data-source-fetchers.d.ts.map +1 -1
  40. package/dist/cjs/data-source-fetchers.js +10 -4
  41. package/dist/cjs/data-source-fetchers.js.map +1 -1
  42. package/dist/cjs/fetchers/airtable.d.ts.map +1 -1
  43. package/dist/cjs/fetchers/airtable.js +1 -1
  44. package/dist/cjs/fetchers/airtable.js.map +1 -1
  45. package/dist/cjs/fetchers/clickhouse.d.ts.map +1 -1
  46. package/dist/cjs/fetchers/clickhouse.js +1 -1
  47. package/dist/cjs/fetchers/clickhouse.js.map +1 -1
  48. package/dist/cjs/fetchers/firestore.d.ts.map +1 -1
  49. package/dist/cjs/fetchers/firestore.js +1 -1
  50. package/dist/cjs/fetchers/firestore.js.map +1 -1
  51. package/dist/cjs/fetchers/javascript.d.ts.map +1 -1
  52. package/dist/cjs/fetchers/javascript.js +1 -1
  53. package/dist/cjs/fetchers/javascript.js.map +1 -1
  54. package/dist/cjs/fetchers/mariadb.d.ts.map +1 -1
  55. package/dist/cjs/fetchers/mariadb.js +1 -1
  56. package/dist/cjs/fetchers/mariadb.js.map +1 -1
  57. package/dist/cjs/fetchers/mongodb.d.ts.map +1 -1
  58. package/dist/cjs/fetchers/mongodb.js +1 -1
  59. package/dist/cjs/fetchers/mongodb.js.map +1 -1
  60. package/dist/cjs/fetchers/mysql.d.ts.map +1 -1
  61. package/dist/cjs/fetchers/mysql.js +1 -1
  62. package/dist/cjs/fetchers/mysql.js.map +1 -1
  63. package/dist/cjs/fetchers/postgresql.d.ts +1 -1
  64. package/dist/cjs/fetchers/postgresql.d.ts.map +1 -1
  65. package/dist/cjs/fetchers/postgresql.js +9 -4
  66. package/dist/cjs/fetchers/postgresql.js.map +1 -1
  67. package/dist/cjs/fetchers/raw-query.d.ts +8 -1
  68. package/dist/cjs/fetchers/raw-query.d.ts.map +1 -1
  69. package/dist/cjs/fetchers/raw-query.js +42 -4
  70. package/dist/cjs/fetchers/raw-query.js.map +1 -1
  71. package/dist/cjs/fetchers/redshift.d.ts.map +1 -1
  72. package/dist/cjs/fetchers/redshift.js +1 -1
  73. package/dist/cjs/fetchers/redshift.js.map +1 -1
  74. package/dist/cjs/fetchers/rest-api.d.ts.map +1 -1
  75. package/dist/cjs/fetchers/rest-api.js +7 -2
  76. package/dist/cjs/fetchers/rest-api.js.map +1 -1
  77. package/dist/cjs/fetchers/teleport.d.ts.map +1 -1
  78. package/dist/cjs/fetchers/teleport.js +16 -6
  79. package/dist/cjs/fetchers/teleport.js.map +1 -1
  80. package/dist/cjs/fetchers/turso.d.ts.map +1 -1
  81. package/dist/cjs/fetchers/turso.js +1 -1
  82. package/dist/cjs/fetchers/turso.js.map +1 -1
  83. package/dist/cjs/fetchers/utils/browser-row-policy.d.ts +43 -0
  84. package/dist/cjs/fetchers/utils/browser-row-policy.d.ts.map +1 -0
  85. package/dist/cjs/fetchers/utils/browser-row-policy.js +66 -0
  86. package/dist/cjs/fetchers/utils/browser-row-policy.js.map +1 -0
  87. package/dist/cjs/fetchers/utils/request-sql-guards.d.ts +8 -0
  88. package/dist/cjs/fetchers/utils/request-sql-guards.d.ts.map +1 -0
  89. package/dist/cjs/fetchers/utils/request-sql-guards.js +12 -0
  90. package/dist/cjs/fetchers/utils/request-sql-guards.js.map +1 -0
  91. package/dist/cjs/fetchers/utils/rest-api-response-cache.d.ts +40 -0
  92. package/dist/cjs/fetchers/utils/rest-api-response-cache.d.ts.map +1 -0
  93. package/dist/cjs/fetchers/utils/rest-api-response-cache.js +64 -0
  94. package/dist/cjs/fetchers/utils/rest-api-response-cache.js.map +1 -0
  95. package/dist/cjs/fetchers/utils/table-access-guard.d.ts +23 -0
  96. package/dist/cjs/fetchers/utils/table-access-guard.d.ts.map +1 -0
  97. package/dist/cjs/fetchers/utils/table-access-guard.js +34 -0
  98. package/dist/cjs/fetchers/utils/table-access-guard.js.map +1 -0
  99. package/dist/cjs/index.d.ts +5 -0
  100. package/dist/cjs/index.d.ts.map +1 -1
  101. package/dist/cjs/index.js +60 -8
  102. package/dist/cjs/index.js.map +1 -1
  103. package/dist/cjs/items-path.d.ts +10 -0
  104. package/dist/cjs/items-path.d.ts.map +1 -0
  105. package/dist/cjs/items-path.js +86 -0
  106. package/dist/cjs/items-path.js.map +1 -0
  107. package/dist/cjs/loading-state.d.ts +16 -1
  108. package/dist/cjs/loading-state.d.ts.map +1 -1
  109. package/dist/cjs/loading-state.js +69 -3
  110. package/dist/cjs/loading-state.js.map +1 -1
  111. package/dist/cjs/localized-columns.d.ts +56 -0
  112. package/dist/cjs/localized-columns.d.ts.map +1 -0
  113. package/dist/cjs/localized-columns.js +137 -0
  114. package/dist/cjs/localized-columns.js.map +1 -0
  115. package/dist/cjs/pagination-plugin.d.ts.map +1 -1
  116. package/dist/cjs/pagination-plugin.js +140 -50
  117. package/dist/cjs/pagination-plugin.js.map +1 -1
  118. package/dist/cjs/product-filter-fields.d.ts +87 -0
  119. package/dist/cjs/product-filter-fields.d.ts.map +1 -0
  120. package/dist/cjs/product-filter-fields.js +161 -0
  121. package/dist/cjs/product-filter-fields.js.map +1 -0
  122. package/dist/cjs/request-locale.d.ts +49 -0
  123. package/dist/cjs/request-locale.d.ts.map +1 -0
  124. package/dist/cjs/request-locale.js +130 -0
  125. package/dist/cjs/request-locale.js.map +1 -0
  126. package/dist/cjs/search-clear.d.ts +31 -0
  127. package/dist/cjs/search-clear.d.ts.map +1 -0
  128. package/dist/cjs/search-clear.js +103 -0
  129. package/dist/cjs/search-clear.js.map +1 -0
  130. package/dist/cjs/transformations/blog-adjacent-posts.d.ts +16 -0
  131. package/dist/cjs/transformations/blog-adjacent-posts.d.ts.map +1 -0
  132. package/dist/cjs/transformations/blog-adjacent-posts.js +25 -0
  133. package/dist/cjs/transformations/blog-adjacent-posts.js.map +1 -0
  134. package/dist/cjs/transformations/blog-comments.d.ts +30 -0
  135. package/dist/cjs/transformations/blog-comments.d.ts.map +1 -0
  136. package/dist/cjs/transformations/blog-comments.js +34 -0
  137. package/dist/cjs/transformations/blog-comments.js.map +1 -0
  138. package/dist/cjs/transformations/blog-post.d.ts +2 -0
  139. package/dist/cjs/transformations/blog-post.d.ts.map +1 -1
  140. package/dist/cjs/transformations/blog-post.js +4 -1
  141. package/dist/cjs/transformations/blog-post.js.map +1 -1
  142. package/dist/cjs/transformations/ecommerce-product.d.ts +9 -1
  143. package/dist/cjs/transformations/ecommerce-product.d.ts.map +1 -1
  144. package/dist/cjs/transformations/ecommerce-product.js +28 -1
  145. package/dist/cjs/transformations/ecommerce-product.js.map +1 -1
  146. package/dist/cjs/transformations/heading-anchors.d.ts +25 -0
  147. package/dist/cjs/transformations/heading-anchors.d.ts.map +1 -0
  148. package/dist/cjs/transformations/heading-anchors.js +29 -0
  149. package/dist/cjs/transformations/heading-anchors.js.map +1 -0
  150. package/dist/cjs/transformations/index.d.ts +61 -4
  151. package/dist/cjs/transformations/index.d.ts.map +1 -1
  152. package/dist/cjs/transformations/index.js +69 -19
  153. package/dist/cjs/transformations/index.js.map +1 -1
  154. package/dist/cjs/transformations/shared-utils.d.ts.map +1 -1
  155. package/dist/cjs/transformations/shared-utils.js +1 -1
  156. package/dist/cjs/transformations/shared-utils.js.map +1 -1
  157. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  158. package/dist/cjs/utils.d.ts +11 -1
  159. package/dist/cjs/utils.d.ts.map +1 -1
  160. package/dist/cjs/utils.js +60 -16
  161. package/dist/cjs/utils.js.map +1 -1
  162. package/dist/esm/array-overlap-sql.d.ts +21 -0
  163. package/dist/esm/array-overlap-sql.d.ts.map +1 -0
  164. package/dist/esm/array-overlap-sql.js +21 -0
  165. package/dist/esm/array-overlap-sql.js.map +1 -0
  166. package/dist/esm/content-localization.d.ts +37 -0
  167. package/dist/esm/content-localization.d.ts.map +1 -0
  168. package/dist/esm/content-localization.js +24 -0
  169. package/dist/esm/content-localization.js.map +1 -0
  170. package/dist/esm/count-effect.d.ts +11 -1
  171. package/dist/esm/count-effect.d.ts.map +1 -1
  172. package/dist/esm/count-effect.js +28 -1
  173. package/dist/esm/count-effect.js.map +1 -1
  174. package/dist/esm/data-source-fetchers.d.ts.map +1 -1
  175. package/dist/esm/data-source-fetchers.js +11 -5
  176. package/dist/esm/data-source-fetchers.js.map +1 -1
  177. package/dist/esm/fetchers/airtable.d.ts.map +1 -1
  178. package/dist/esm/fetchers/airtable.js +1 -1
  179. package/dist/esm/fetchers/airtable.js.map +1 -1
  180. package/dist/esm/fetchers/clickhouse.d.ts.map +1 -1
  181. package/dist/esm/fetchers/clickhouse.js +1 -1
  182. package/dist/esm/fetchers/clickhouse.js.map +1 -1
  183. package/dist/esm/fetchers/firestore.d.ts.map +1 -1
  184. package/dist/esm/fetchers/firestore.js +1 -1
  185. package/dist/esm/fetchers/firestore.js.map +1 -1
  186. package/dist/esm/fetchers/javascript.d.ts.map +1 -1
  187. package/dist/esm/fetchers/javascript.js +1 -1
  188. package/dist/esm/fetchers/javascript.js.map +1 -1
  189. package/dist/esm/fetchers/mariadb.d.ts.map +1 -1
  190. package/dist/esm/fetchers/mariadb.js +1 -1
  191. package/dist/esm/fetchers/mariadb.js.map +1 -1
  192. package/dist/esm/fetchers/mongodb.d.ts.map +1 -1
  193. package/dist/esm/fetchers/mongodb.js +1 -1
  194. package/dist/esm/fetchers/mongodb.js.map +1 -1
  195. package/dist/esm/fetchers/mysql.d.ts.map +1 -1
  196. package/dist/esm/fetchers/mysql.js +1 -1
  197. package/dist/esm/fetchers/mysql.js.map +1 -1
  198. package/dist/esm/fetchers/postgresql.d.ts +1 -1
  199. package/dist/esm/fetchers/postgresql.d.ts.map +1 -1
  200. package/dist/esm/fetchers/postgresql.js +9 -4
  201. package/dist/esm/fetchers/postgresql.js.map +1 -1
  202. package/dist/esm/fetchers/raw-query.d.ts +8 -1
  203. package/dist/esm/fetchers/raw-query.d.ts.map +1 -1
  204. package/dist/esm/fetchers/raw-query.js +42 -4
  205. package/dist/esm/fetchers/raw-query.js.map +1 -1
  206. package/dist/esm/fetchers/redshift.d.ts.map +1 -1
  207. package/dist/esm/fetchers/redshift.js +1 -1
  208. package/dist/esm/fetchers/redshift.js.map +1 -1
  209. package/dist/esm/fetchers/rest-api.d.ts.map +1 -1
  210. package/dist/esm/fetchers/rest-api.js +7 -2
  211. package/dist/esm/fetchers/rest-api.js.map +1 -1
  212. package/dist/esm/fetchers/teleport.d.ts.map +1 -1
  213. package/dist/esm/fetchers/teleport.js +16 -6
  214. package/dist/esm/fetchers/teleport.js.map +1 -1
  215. package/dist/esm/fetchers/turso.d.ts.map +1 -1
  216. package/dist/esm/fetchers/turso.js +1 -1
  217. package/dist/esm/fetchers/turso.js.map +1 -1
  218. package/dist/esm/fetchers/utils/browser-row-policy.d.ts +43 -0
  219. package/dist/esm/fetchers/utils/browser-row-policy.d.ts.map +1 -0
  220. package/dist/esm/fetchers/utils/browser-row-policy.js +60 -0
  221. package/dist/esm/fetchers/utils/browser-row-policy.js.map +1 -0
  222. package/dist/esm/fetchers/utils/request-sql-guards.d.ts +8 -0
  223. package/dist/esm/fetchers/utils/request-sql-guards.d.ts.map +1 -0
  224. package/dist/esm/fetchers/utils/request-sql-guards.js +8 -0
  225. package/dist/esm/fetchers/utils/request-sql-guards.js.map +1 -0
  226. package/dist/esm/fetchers/utils/rest-api-response-cache.d.ts +40 -0
  227. package/dist/esm/fetchers/utils/rest-api-response-cache.d.ts.map +1 -0
  228. package/dist/esm/fetchers/utils/rest-api-response-cache.js +59 -0
  229. package/dist/esm/fetchers/utils/rest-api-response-cache.js.map +1 -0
  230. package/dist/esm/fetchers/utils/table-access-guard.d.ts +23 -0
  231. package/dist/esm/fetchers/utils/table-access-guard.d.ts.map +1 -0
  232. package/dist/esm/fetchers/utils/table-access-guard.js +29 -0
  233. package/dist/esm/fetchers/utils/table-access-guard.js.map +1 -0
  234. package/dist/esm/index.d.ts +5 -0
  235. package/dist/esm/index.d.ts.map +1 -1
  236. package/dist/esm/index.js +55 -7
  237. package/dist/esm/index.js.map +1 -1
  238. package/dist/esm/items-path.d.ts +10 -0
  239. package/dist/esm/items-path.d.ts.map +1 -0
  240. package/dist/esm/items-path.js +58 -0
  241. package/dist/esm/items-path.js.map +1 -0
  242. package/dist/esm/loading-state.d.ts +16 -1
  243. package/dist/esm/loading-state.d.ts.map +1 -1
  244. package/dist/esm/loading-state.js +69 -3
  245. package/dist/esm/loading-state.js.map +1 -1
  246. package/dist/esm/localized-columns.d.ts +56 -0
  247. package/dist/esm/localized-columns.d.ts.map +1 -0
  248. package/dist/esm/localized-columns.js +132 -0
  249. package/dist/esm/localized-columns.js.map +1 -0
  250. package/dist/esm/pagination-plugin.d.ts.map +1 -1
  251. package/dist/esm/pagination-plugin.js +141 -51
  252. package/dist/esm/pagination-plugin.js.map +1 -1
  253. package/dist/esm/product-filter-fields.d.ts +87 -0
  254. package/dist/esm/product-filter-fields.d.ts.map +1 -0
  255. package/dist/esm/product-filter-fields.js +154 -0
  256. package/dist/esm/product-filter-fields.js.map +1 -0
  257. package/dist/esm/request-locale.d.ts +49 -0
  258. package/dist/esm/request-locale.d.ts.map +1 -0
  259. package/dist/esm/request-locale.js +98 -0
  260. package/dist/esm/request-locale.js.map +1 -0
  261. package/dist/esm/search-clear.d.ts +31 -0
  262. package/dist/esm/search-clear.d.ts.map +1 -0
  263. package/dist/esm/search-clear.js +74 -0
  264. package/dist/esm/search-clear.js.map +1 -0
  265. package/dist/esm/transformations/blog-adjacent-posts.d.ts +16 -0
  266. package/dist/esm/transformations/blog-adjacent-posts.d.ts.map +1 -0
  267. package/dist/esm/transformations/blog-adjacent-posts.js +21 -0
  268. package/dist/esm/transformations/blog-adjacent-posts.js.map +1 -0
  269. package/dist/esm/transformations/blog-comments.d.ts +30 -0
  270. package/dist/esm/transformations/blog-comments.d.ts.map +1 -0
  271. package/dist/esm/transformations/blog-comments.js +30 -0
  272. package/dist/esm/transformations/blog-comments.js.map +1 -0
  273. package/dist/esm/transformations/blog-post.d.ts +2 -0
  274. package/dist/esm/transformations/blog-post.d.ts.map +1 -1
  275. package/dist/esm/transformations/blog-post.js +4 -1
  276. package/dist/esm/transformations/blog-post.js.map +1 -1
  277. package/dist/esm/transformations/ecommerce-product.d.ts +9 -1
  278. package/dist/esm/transformations/ecommerce-product.d.ts.map +1 -1
  279. package/dist/esm/transformations/ecommerce-product.js +29 -2
  280. package/dist/esm/transformations/ecommerce-product.js.map +1 -1
  281. package/dist/esm/transformations/heading-anchors.d.ts +25 -0
  282. package/dist/esm/transformations/heading-anchors.d.ts.map +1 -0
  283. package/dist/esm/transformations/heading-anchors.js +25 -0
  284. package/dist/esm/transformations/heading-anchors.js.map +1 -0
  285. package/dist/esm/transformations/index.d.ts +61 -4
  286. package/dist/esm/transformations/index.d.ts.map +1 -1
  287. package/dist/esm/transformations/index.js +69 -19
  288. package/dist/esm/transformations/index.js.map +1 -1
  289. package/dist/esm/transformations/shared-utils.d.ts.map +1 -1
  290. package/dist/esm/transformations/shared-utils.js +1 -1
  291. package/dist/esm/transformations/shared-utils.js.map +1 -1
  292. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  293. package/dist/esm/utils.d.ts +11 -1
  294. package/dist/esm/utils.d.ts.map +1 -1
  295. package/dist/esm/utils.js +60 -16
  296. package/dist/esm/utils.js.map +1 -1
  297. package/package.json +5 -5
  298. package/src/array-overlap-sql.ts +41 -0
  299. package/src/content-localization.ts +53 -0
  300. package/src/count-effect.ts +53 -2
  301. package/src/data-source-fetchers.ts +41 -5
  302. package/src/fetchers/airtable.ts +4 -2
  303. package/src/fetchers/clickhouse.ts +4 -2
  304. package/src/fetchers/firestore.ts +4 -2
  305. package/src/fetchers/javascript.ts +9 -1
  306. package/src/fetchers/mariadb.ts +4 -2
  307. package/src/fetchers/mongodb.ts +4 -2
  308. package/src/fetchers/mysql.ts +4 -2
  309. package/src/fetchers/postgresql.ts +53 -12
  310. package/src/fetchers/raw-query.ts +60 -5
  311. package/src/fetchers/redshift.ts +4 -2
  312. package/src/fetchers/rest-api.ts +27 -5
  313. package/src/fetchers/teleport.ts +85 -22
  314. package/src/fetchers/turso.ts +4 -2
  315. package/src/fetchers/utils/browser-row-policy.ts +212 -0
  316. package/src/fetchers/utils/request-sql-guards.ts +25 -0
  317. package/src/fetchers/utils/rest-api-response-cache.ts +188 -0
  318. package/src/fetchers/utils/table-access-guard.ts +39 -0
  319. package/src/index.ts +79 -11
  320. package/src/items-path.ts +74 -0
  321. package/src/loading-state.ts +134 -3
  322. package/src/localized-columns.ts +146 -0
  323. package/src/pagination-plugin.ts +206 -60
  324. package/src/product-filter-fields.ts +173 -0
  325. package/src/request-locale.ts +113 -0
  326. package/src/search-clear.ts +102 -0
  327. package/src/transformations/blog-adjacent-posts.ts +74 -0
  328. package/src/transformations/blog-comments.ts +132 -0
  329. package/src/transformations/blog-post.ts +38 -5
  330. package/src/transformations/ecommerce-product.ts +568 -5
  331. package/src/transformations/heading-anchors.ts +85 -0
  332. package/src/transformations/index.ts +191 -23
  333. package/src/transformations/shared-utils.ts +6 -0
  334. package/src/utils.ts +109 -19
@@ -0,0 +1,59 @@
1
+ import { DataCache } from '@teleporthq/teleport-shared';
2
+ /** A year: past that, the window only ever ends with the next deployment. */
3
+ var MAX_TTL_SECONDS = 31536000;
4
+ /**
5
+ * Bounds for the one store every REST API data source in a server process
6
+ * shares. Entries are raw JSON text, so the character budget is close to the
7
+ * memory the cache holds.
8
+ */
9
+ var MAX_ENTRIES = 100;
10
+ var MAX_CHARS = 33554432;
11
+ /**
12
+ * How long a request may wait on an upstream call another request started.
13
+ * An older call is treated as stuck and a new one is made, so one hung socket
14
+ * cannot hold every later visitor.
15
+ */
16
+ var IN_FLIGHT_JOIN_MS = 10000;
17
+ /**
18
+ * The window, in whole seconds, a REST API data source caches its upstream
19
+ * response for — or `undefined` when caching is off, which keeps the emitted
20
+ * fetcher exactly what it was before this option existed.
21
+ */
22
+ export var resolveRESTAPICacheTTLSeconds = function (cache) {
23
+ if (!cache || typeof cache !== 'object' || cache.enabled !== true) {
24
+ return undefined;
25
+ }
26
+ var ttlSeconds = cache.ttlSeconds;
27
+ var seconds = typeof ttlSeconds === 'number' && Number.isFinite(ttlSeconds) && ttlSeconds > 0
28
+ ? Math.max(1, Math.floor(ttlSeconds))
29
+ : DataCache.DEFAULT_CACHE_TTL_SECONDS;
30
+ return Math.min(seconds, MAX_TTL_SECONDS);
31
+ };
32
+ /**
33
+ * Runtime helpers of a cached REST API fetcher.
34
+ *
35
+ * The cache sits under the handler, around the upstream `fetch` only: every
36
+ * caller — the API route, `getStaticProps` through `fetchData`, the count
37
+ * route, the global-state route — asks the same URL, and search, filters, sort
38
+ * and paging are applied to the cached payload afterwards. One upstream call
39
+ * per window therefore serves every page, filter and visitor.
40
+ *
41
+ * - The store lives on `globalThis`, so every data-source module in the
42
+ * process (each API route is its own bundle) shares it. On a serverless host
43
+ * that is one store per warm instance; the `s-maxage` header below is what
44
+ * carries the window to the CDN in front of all of them.
45
+ * - Entries are keyed by the whole upstream request (method, URL, headers,
46
+ * body) and hold the response TEXT: every reader parses its own copy, so a
47
+ * handler that sorts in place can never reorder another request's rows.
48
+ * - Freshness is judged by the READER's window, so two data sources calling
49
+ * the same URL with different windows each get what they asked for.
50
+ * - Only a 2xx JSON response is kept. Errors, non-JSON bodies and network
51
+ * failures reach the caller as before and are retried by the next request.
52
+ *
53
+ * Emitted inside a template literal: no backticks or template placeholders in
54
+ * here, not even in comments.
55
+ */
56
+ export var generateRESTAPIResponseCacheCode = function (ttlSeconds) {
57
+ return "const REST_API_CACHE_TTL_MS = ".concat(ttlSeconds * 1000, "\nconst REST_API_CACHE_MAX_ENTRIES = ").concat(MAX_ENTRIES, "\nconst REST_API_CACHE_MAX_CHARS = ").concat(MAX_CHARS, "\nconst REST_API_IN_FLIGHT_JOIN_MS = ").concat(IN_FLIGHT_JOIN_MS, "\n\n// One store per server process, shared by every REST API data source module.\nif (!globalThis.__tqRestApiCache) {\n globalThis.__tqRestApiCache = { entries: new Map(), inFlight: new Map(), chars: 0 }\n}\nconst restApiCache = globalThis.__tqRestApiCache\n\nfunction restApiCacheKey(url, options) {\n return JSON.stringify([options.method, url, options.headers, options.body === undefined ? null : options.body])\n}\n\nfunction forgetRestApiResponse(key) {\n const entry = restApiCache.entries.get(key)\n if (entry) {\n restApiCache.entries.delete(key)\n restApiCache.chars -= entry.bodyText.length\n }\n}\n\nfunction rememberRestApiResponse(key, entry) {\n forgetRestApiResponse(key)\n if (entry.bodyText.length > REST_API_CACHE_MAX_CHARS) {\n return\n }\n restApiCache.entries.set(key, entry)\n restApiCache.chars += entry.bodyText.length\n // A Map iterates in insertion order and every hit re-inserts its entry, so\n // the first key is always the least recently used one.\n while (\n restApiCache.entries.size > REST_API_CACHE_MAX_ENTRIES ||\n restApiCache.chars > REST_API_CACHE_MAX_CHARS\n ) {\n forgetRestApiResponse(restApiCache.entries.keys().next().value)\n }\n}\n\nasync function requestRestApi(url, options) {\n const response = await fetch(url, options)\n if (!response.ok) {\n return { ok: false, status: response.status, statusText: response.statusText }\n }\n const bodyText = await response.text()\n // Parsed once here so a body that is not JSON fails this request, as\n // response.json() would, instead of being cached and failing every request\n // until the window ends.\n JSON.parse(bodyText)\n return {\n ok: true,\n status: response.status,\n statusText: response.statusText,\n bodyText,\n fetchedAt: Date.now(),\n }\n}\n\nfunction fetchRestApiWithCache(url, options) {\n const key = restApiCacheKey(url, options)\n const now = Date.now()\n\n const cached = restApiCache.entries.get(key)\n if (cached && now >= cached.fetchedAt && now - cached.fetchedAt < REST_API_CACHE_TTL_MS) {\n restApiCache.entries.delete(key)\n restApiCache.entries.set(key, cached)\n return Promise.resolve(cached)\n }\n\n // Concurrent misses share one upstream call instead of each making their own.\n const pending = restApiCache.inFlight.get(key)\n if (pending && now - pending.startedAt < REST_API_IN_FLIGHT_JOIN_MS) {\n return pending.promise\n }\n\n const flight = { startedAt: now, promise: null }\n const release = () => {\n if (restApiCache.inFlight.get(key) === flight) {\n restApiCache.inFlight.delete(key)\n }\n }\n flight.promise = requestRestApi(url, options).then(\n (result) => {\n release()\n if (result.ok) {\n rememberRestApiResponse(key, result)\n }\n return result\n },\n (error) => {\n release()\n throw error\n }\n )\n restApiCache.inFlight.set(key, flight)\n return flight.promise\n}\n\n// Lets the CDN answer this exact URL until the upstream response it was built\n// from expires, so neither layer serves it longer than the window. Only a real\n// GET response gets the header: fetchData, fetchCount and tqWithCache call the\n// handler with a bare { status, json } object.\nfunction applyRestApiCacheHeaders(req, res, fetchedAt) {\n if (!req || req.method !== 'GET' || !res || typeof res.setHeader !== 'function') {\n return\n }\n const remainingSeconds = Math.floor((fetchedAt + REST_API_CACHE_TTL_MS - Date.now()) / 1000)\n if (remainingSeconds > 0) {\n res.setHeader('Cache-Control', 'public, max-age=0, s-maxage=' + remainingSeconds)\n }\n}");
58
+ };
59
+ //# sourceMappingURL=rest-api-response-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rest-api-response-cache.js","sourceRoot":"","sources":["../../../../src/fetchers/utils/rest-api-response-cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAWvD,6EAA6E;AAC7E,IAAM,eAAe,GAAG,QAAU,CAAA;AAElC;;;;GAIG;AACH,IAAM,WAAW,GAAG,GAAG,CAAA;AACvB,IAAM,SAAS,GAAG,QAAU,CAAA;AAE5B;;;;GAIG;AACH,IAAM,iBAAiB,GAAG,KAAM,CAAA;AAEhC;;;;GAIG;AACH,MAAM,CAAC,IAAM,6BAA6B,GAAG,UAC3C,KAAqC;IAErC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,EAAE;QACjE,OAAO,SAAS,CAAA;KACjB;IAEO,IAAA,UAAU,GAAK,KAAK,WAAV,CAAU;IAC5B,IAAM,OAAO,GACX,OAAO,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC;QAC7E,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACrC,CAAC,CAAC,SAAS,CAAC,yBAAyB,CAAA;IAEzC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,eAAe,CAAC,CAAA;AAC3C,CAAC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,IAAM,gCAAgC,GAAG,UAAC,UAAkB;IACjE,OAAO,wCAAiC,UAAU,GAAG,IAAI,kDACtB,WAAW,gDACb,SAAS,kDACP,iBAAiB,yjHA4GpD,CAAA;AACF,CAAC,CAAA"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * The money-table guard for a generated per-table read route
3
+ * (`/api/teleport-<table>-<source>` and its `-count` twin).
4
+ *
5
+ * Every table a page binds gets such a route, and the route serves the whole
6
+ * table — plus any single SELECT through `?rawQuery=` — to whoever asks. For a
7
+ * catalogue that is the product; for gift cards and voucher codes it is theft.
8
+ * The guard refuses a protected table (see `TableAccess.PROTECTED_TABLES`)
9
+ * unless the caller is a server segment presenting the app secret or a
10
+ * signed-in member of a trusted role — the generated admin, whose list pages
11
+ * are the one browser reader these tables have. It is followed by the
12
+ * browser row policy (see `browser-row-policy.ts`): unpublished rows and
13
+ * private columns of the public tables, and the admin-only tables.
14
+ */
15
+ /** Declares the session resolver and the `__ta*` guard once per module. */
16
+ export declare const generateTableAccessPreamble: (trustedReaderRoles: ReadonlyArray<string>) => string;
17
+ /**
18
+ * The early return at the top of a handler, before the client connects:
19
+ * `tableName` is the module's table, `rawQueryExpr` the request's raw statement
20
+ * (or `null` where the handler accepts none).
21
+ */
22
+ export declare const generateReadGuardCall: (tableName: string, rawQueryExpr: string | null) => string;
23
+ //# sourceMappingURL=table-access-guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-access-guard.d.ts","sourceRoot":"","sources":["../../../../src/fetchers/utils/table-access-guard.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;GAaG;AAEH,2EAA2E;AAC3E,eAAO,MAAM,2BAA2B,uBAAwB,cAAc,MAAM,CAAC,KAAG,MAIvF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,cAAe,MAAM,gBAAgB,MAAM,GAAG,IAAI,KAAG,MAQtF,CAAA"}
@@ -0,0 +1,29 @@
1
+ import { SessionCookieResolver, TableAccess } from '@teleporthq/teleport-shared';
2
+ import { generateBrowserRowAccessCall, generateBrowserRowPolicyCode } from './browser-row-policy';
3
+ /**
4
+ * The money-table guard for a generated per-table read route
5
+ * (`/api/teleport-<table>-<source>` and its `-count` twin).
6
+ *
7
+ * Every table a page binds gets such a route, and the route serves the whole
8
+ * table — plus any single SELECT through `?rawQuery=` — to whoever asks. For a
9
+ * catalogue that is the product; for gift cards and voucher codes it is theft.
10
+ * The guard refuses a protected table (see `TableAccess.PROTECTED_TABLES`)
11
+ * unless the caller is a server segment presenting the app secret or a
12
+ * signed-in member of a trusted role — the generated admin, whose list pages
13
+ * are the one browser reader these tables have. It is followed by the
14
+ * browser row policy (see `browser-row-policy.ts`): unpublished rows and
15
+ * private columns of the public tables, and the admin-only tables.
16
+ */
17
+ /** Declares the session resolver and the `__ta*` guard once per module. */
18
+ export var generateTableAccessPreamble = function (trustedReaderRoles) {
19
+ return "".concat(SessionCookieResolver.generateCommonJsSessionTokenResolverCode(), "\n").concat(TableAccess.generateTableAccessHelperCode({ trustedReaderRoles: trustedReaderRoles }), "\n").concat(generateBrowserRowPolicyCode());
20
+ };
21
+ /**
22
+ * The early return at the top of a handler, before the client connects:
23
+ * `tableName` is the module's table, `rawQueryExpr` the request's raw statement
24
+ * (or `null` where the handler accepts none).
25
+ */
26
+ export var generateReadGuardCall = function (tableName, rawQueryExpr) {
27
+ return " const __access = await __taGuardRead(req, ".concat(JSON.stringify(tableName), ", ").concat(rawQueryExpr || 'null', ")\n if (__access) {\n return res.status(__access.status).json({ success: false, error: __access.message, timestamp: Date.now() })\n }\n").concat(generateBrowserRowAccessCall(tableName, rawQueryExpr));
28
+ };
29
+ //# sourceMappingURL=table-access-guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-access-guard.js","sourceRoot":"","sources":["../../../../src/fetchers/utils/table-access-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAChF,OAAO,EAAE,4BAA4B,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAA;AAEjG;;;;;;;;;;;;;GAaG;AAEH,2EAA2E;AAC3E,MAAM,CAAC,IAAM,2BAA2B,GAAG,UAAC,kBAAyC;IACnF,OAAO,UAAG,qBAAqB,CAAC,wCAAwC,EAAE,eAC1E,WAAW,CAAC,6BAA6B,CAAC,EAAE,kBAAkB,oBAAA,EAAE,CAAC,eACjE,4BAA4B,EAAE,CAAE,CAAA;AAClC,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,IAAM,qBAAqB,GAAG,UAAC,SAAiB,EAAE,YAA2B;IAClF,OAAO,sDAA+C,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,eAC7E,YAAY,IAAI,MAAM,yJAKxB,4BAA4B,CAAC,SAAS,EAAE,YAAY,CAAC,CAAE,CAAA;AACzD,CAAC,CAAA"}
@@ -6,6 +6,11 @@ export * from './utils';
6
6
  export * from './array-mapper-pagination';
7
7
  export * from './pagination-plugin';
8
8
  export * from './count-fetchers';
9
+ export * from './product-price-sort';
10
+ export * from './product-filter-fields';
9
11
  export { buildProductTransformOptions } from './transformations';
10
12
  export type { EcommerceProductTransformOptions, EntityTransformOptions } from './transformations';
13
+ export { isLocalizedProject, resolveContentLocalization } from './content-localization';
14
+ export type { ContentLocalization } from './content-localization';
15
+ export { REQUEST_LOCALE_PARAM, buildServerLocaleParam } from './request-locale';
11
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,sBAAsB,EAKvB,MAAM,4BAA4B,CAAA;AA+anC,eAAO,MAAM,+BAA+B,EAAE,sBAAsB,CAAC,EAAE,CA8etE,CAAA;AAiOD,eAAO,MAAM,mCAAmC,EAAE,sBAAsB,CAAC,EAAE,CA6O1E,CAAA;AAED,cAAc,wBAAwB,CAAA;AACtC,cAAc,SAAS,CAAA;AACvB,cAAc,2BAA2B,CAAA;AACzC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAIhC,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAA;AAChE,YAAY,EAAE,gCAAgC,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,sBAAsB,EAMvB,MAAM,4BAA4B,CAAA;AAmdnC,eAAO,MAAM,+BAA+B,EAAE,sBAAsB,CAAC,EAAE,CAyftE,CAAA;AAiOD,eAAO,MAAM,mCAAmC,EAAE,sBAAsB,CAAC,EAAE,CA0P1E,CAAA;AAED,cAAc,wBAAwB,CAAA;AACtC,cAAc,SAAS,CAAA;AACvB,cAAc,2BAA2B,CAAA;AACzC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,yBAAyB,CAAA;AAIvC,OAAO,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAA;AAChE,YAAY,EAAE,gCAAgC,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAA;AAGjG,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAA;AACvF,YAAY,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AACjE,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA"}
package/dist/esm/index.js CHANGED
@@ -40,10 +40,40 @@ import { extractDataSourceIntoNextAPIFolder, extractDataSourceIntoGetStaticProps
40
40
  import { createNextArrayMapperPaginationPlugin } from './pagination-plugin';
41
41
  import { buildProductTransformOptions } from './transformations';
42
42
  import { DATA_SOURCE_ISR_REVALIDATE_SECONDS } from './isr';
43
+ import { ensureRouterDeclaration } from './request-locale';
43
44
  import * as types from '@babel/types';
44
45
  // Prefix used to clearly differentiate wrapped data source expression props
45
46
  // from user-defined or standard renderPropIdentifier values
46
47
  var WRAPPED_DS_EXPR_PREFIX = '__dsExpr_';
48
+ /**
49
+ * The statements of the component function the `jsx-component` chunk declares
50
+ * (`const Page = (props) => { … }`), or `null` when the chunk holds another
51
+ * shape — a test may hand the plugin a bare element.
52
+ */
53
+ var findComponentBody = function (componentChunk) {
54
+ var _a;
55
+ var content = componentChunk.content;
56
+ if ((content === null || content === void 0 ? void 0 : content.type) !== 'VariableDeclaration') {
57
+ return null;
58
+ }
59
+ var init = (_a = content.declarations[0]) === null || _a === void 0 ? void 0 : _a.init;
60
+ if (((init === null || init === void 0 ? void 0 : init.type) !== 'ArrowFunctionExpression' && (init === null || init === void 0 ? void 0 : init.type) !== 'FunctionExpression') ||
61
+ init.body.type !== 'BlockStatement') {
62
+ return null;
63
+ }
64
+ return init.body.body;
65
+ };
66
+ /**
67
+ * A client-side fetch in a localized project reads `router.locale` (see
68
+ * `extractDataSourceIntoNextAPIFolder`), so the router has to be declared in
69
+ * the component that fetches.
70
+ */
71
+ var ensureRouterForClientFetches = function (componentChunk, dependencies) {
72
+ var body = findComponentBody(componentChunk);
73
+ if (body) {
74
+ ensureRouterDeclaration(body, dependencies);
75
+ }
76
+ };
47
77
  function containsDataSourceDataReference(astNode) {
48
78
  if (!astNode || typeof astNode !== 'object') {
49
79
  return false;
@@ -284,7 +314,7 @@ function extractPaginationConfigEarly(uidlNode, resources) {
284
314
  }
285
315
  export var createNextPagesDataSourcePlugin = function () {
286
316
  var nextPagesDataSourcePlugin = function (structure) { return __awaiter(void 0, void 0, void 0, function () {
287
- 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;
317
+ 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;
288
318
  var _d, _e;
289
319
  return __generator(this, function (_f) {
290
320
  uidl = structure.uidl, chunks = structure.chunks, options = structure.options, dependencies = structure.dependencies;
@@ -328,6 +358,8 @@ export var createNextPagesDataSourcePlugin = function () {
328
358
  opts.paginationConfig.limitMap.set(dataSourceId, limit);
329
359
  });
330
360
  getStaticPropsChunk = chunks.find(function (chunk) { return chunk.name === 'getStaticProps'; });
361
+ transformOptions = buildProductTransformOptions(options);
362
+ wiredClientFetch = false;
331
363
  firstDataSourceInfo = null;
332
364
  fetcherImportName = null;
333
365
  dataProviderPositionCounters = new Map();
@@ -419,7 +451,7 @@ export var createNextPagesDataSourcePlugin = function () {
419
451
  // When multiple nodes share the same dataSourceKey (same resource ID), the function is
420
452
  // idempotent for getStaticProps (skips duplicate fetches via existingInFetchMeta) but
421
453
  // still updates the next uninitialized DataProvider JSX node on each call.
422
- var result = extractDataSourceIntoGetStaticProps(dataSourceNode, dataSources, componentChunk, getStaticPropsChunk, chunks, options.extractedResources, dependencies, dynamicRouteAttr, (_c = uidl.outputOptions) === null || _c === void 0 ? void 0 : _c.folderPath, buildProductTransformOptions(options));
454
+ var result = extractDataSourceIntoGetStaticProps(dataSourceNode, dataSources, componentChunk, getStaticPropsChunk, chunks, options.extractedResources, dependencies, dynamicRouteAttr, (_c = uidl.outputOptions) === null || _c === void 0 ? void 0 : _c.folderPath, transformOptions);
423
455
  if (result.success && result.chunk) {
424
456
  getStaticPropsChunk = result.chunk;
425
457
  // Track the first data source info for wrapping dataSourceData expressions
@@ -441,10 +473,13 @@ export var createNextPagesDataSourcePlugin = function () {
441
473
  }
442
474
  }
443
475
  }
444
- else {
445
- extractDataSourceIntoNextAPIFolder(dataSourceNode, dataSources, componentChunk, options.extractedResources, buildProductTransformOptions(options));
476
+ else if (extractDataSourceIntoNextAPIFolder(dataSourceNode, dataSources, componentChunk, options.extractedResources, transformOptions)) {
477
+ wiredClientFetch = true;
446
478
  }
447
479
  });
480
+ if (wiredClientFetch && transformOptions.localization) {
481
+ ensureRouterForClientFetches(componentChunk, dependencies);
482
+ }
448
483
  // After processing all data source nodes, wrap any element props containing dataSourceData
449
484
  // expressions in a DataProvider
450
485
  if (firstDataSourceInfo && componentChunk.content) {
@@ -772,7 +807,7 @@ function stringifyComplexParamsInDataProviders(componentChunk) {
772
807
  }
773
808
  export var createNextComponentDataSourcePlugin = function () {
774
809
  var nextComponentDataSourcePlugin = function (structure) { return __awaiter(void 0, void 0, void 0, function () {
775
- 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;
810
+ 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;
776
811
  return __generator(this, function (_b) {
777
812
  uidl = structure.uidl, chunks = structure.chunks, options = structure.options, dependencies = structure.dependencies;
778
813
  // Early return if no options or dataSources
@@ -814,6 +849,8 @@ export var createNextComponentDataSourcePlugin = function () {
814
849
  if (!options.extractedResources) {
815
850
  return [2 /*return*/, structure];
816
851
  }
852
+ transformOptions = buildProductTransformOptions(options);
853
+ wiredClientFetch = false;
817
854
  firstDataSourceInfo = null;
818
855
  UIDLUtils.traverseNodes(uidl.node, function (node) {
819
856
  // Data source nodes can be either:
@@ -856,8 +893,13 @@ export var createNextComponentDataSourcePlugin = function () {
856
893
  }
857
894
  }
858
895
  }
859
- extractDataSourceIntoNextAPIFolder(dataSourceNode, dataSources, componentChunk, options.extractedResources, buildProductTransformOptions(options));
896
+ if (extractDataSourceIntoNextAPIFolder(dataSourceNode, dataSources, componentChunk, options.extractedResources, transformOptions)) {
897
+ wiredClientFetch = true;
898
+ }
860
899
  });
900
+ if (wiredClientFetch && transformOptions.localization) {
901
+ ensureRouterForClientFetches(componentChunk, dependencies);
902
+ }
861
903
  // If no data source nodes were found but there are dataSources available,
862
904
  // use the first available dataSource to create firstDataSourceInfo
863
905
  // This handles the case where a component has element props with dataSourceData expressions
@@ -917,7 +959,7 @@ export var createNextComponentDataSourcePlugin = function () {
917
959
  if (dataSource && !options.extractedResources["utils/".concat(fileName)]) {
918
960
  generateDataSourceFetcherWithCore = require('./data-source-fetchers').generateDataSourceFetcherWithCore;
919
961
  try {
920
- fetcherCode = generateDataSourceFetcherWithCore(dataSource, firstDataSourceInfo.tableName, false, buildProductTransformOptions(options));
962
+ fetcherCode = generateDataSourceFetcherWithCore(dataSource, firstDataSourceInfo.tableName, false, transformOptions);
921
963
  options.extractedResources["utils/".concat(fileName)] = {
922
964
  fileName: fileName,
923
965
  fileType: FileType.JS,
@@ -954,8 +996,14 @@ export * from './utils';
954
996
  export * from './array-mapper-pagination';
955
997
  export * from './pagination-plugin';
956
998
  export * from './count-fetchers';
999
+ export * from './product-price-sort';
1000
+ export * from './product-filter-fields';
957
1001
  // The product transform's build-time options (category taxonomy + storefront
958
1002
  // tax rate) — every package that emits a data-source fetcher has to derive
959
1003
  // them the same way.
960
1004
  export { buildProductTransformOptions } from './transformations';
1005
+ // How a fetch says which language it is for, and when a project needs it to —
1006
+ // shared with every other package that emits a data-source fetch.
1007
+ export { isLocalizedProject, resolveContentLocalization } from './content-localization';
1008
+ export { REQUEST_LOCALE_PARAM, buildServerLocaleParam } from './request-locale';
961
1009
  //# sourceMappingURL=index.js.map
@@ -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,58 @@
1
+ import * as types from '@babel/types';
2
+ /**
3
+ * Where a paginated/searchable list's rows sit inside the payload its data
4
+ * source returns, read off the repeater's `source` expression.
5
+ *
6
+ * A REST API or JavaScript source may answer `{ templates: [...], total }`, and
7
+ * the editor binds the list to `All_Templates_data_data?.templates || []`. The
8
+ * generated fetcher only searches, filters, sorts and slices a payload that IS
9
+ * an array, so without this every row came back on every page (the canvas
10
+ * slices on the client and looked right) and the count measured the wrapper as
11
+ * 0 rows, disabling "Next".
12
+ *
13
+ * Returns undefined when the list is bound to the payload itself, or when the
14
+ * source is anything other than a plain property chain off the data source's
15
+ * render prop — an expression this cannot read is left exactly as before.
16
+ */
17
+ var SEGMENT_RE = /^(?:\?\.([A-Za-z_$][\w$]*)|\.([A-Za-z_$][\w$]*)|(?:\?\.)?\[\s*(?:"([^"]*)"|'([^']*)')\s*\])/;
18
+ var PATH_AWARE_SOURCE_TYPES = new Set(['rest-api', 'javascript']);
19
+ export var extractItemsPath = function (source, dataSourceIdentifier, dataSourceType) {
20
+ var _a, _b, _c;
21
+ if (typeof source !== 'string' || !dataSourceIdentifier) {
22
+ return undefined;
23
+ }
24
+ if (!PATH_AWARE_SOURCE_TYPES.has(dataSourceType)) {
25
+ return undefined;
26
+ }
27
+ var rest = source
28
+ .trim()
29
+ .replace(/\s*\|\|\s*\[\s*\]$/, '')
30
+ .trim();
31
+ if (!rest.startsWith(dataSourceIdentifier)) {
32
+ return undefined;
33
+ }
34
+ rest = rest.slice(dataSourceIdentifier.length);
35
+ var path = [];
36
+ while (rest.length > 0) {
37
+ var match = rest.match(SEGMENT_RE);
38
+ if (!match) {
39
+ return undefined;
40
+ }
41
+ 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]);
42
+ rest = rest.slice(match[0].length);
43
+ }
44
+ return path.length > 0 ? path : undefined;
45
+ };
46
+ /**
47
+ * Push `<key>: '["templates"]'` onto a params object. Fetch calls send it as
48
+ * `itemsPath` (process the inner array, keep the wrapper the page reads back
49
+ * through); count calls send it as `collectionPath`, so the count handler
50
+ * measures the inner array instead of the wrapper.
51
+ */
52
+ export var appendItemsPathParam = function (paramsProps, itemsPath, key) {
53
+ if (!itemsPath || itemsPath.length === 0) {
54
+ return;
55
+ }
56
+ paramsProps.push(types.objectProperty(types.identifier(key), types.stringLiteral(JSON.stringify(itemsPath))));
57
+ };
58
+ //# sourceMappingURL=items-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"items-path.js","sourceRoot":"","sources":["../../src/items-path.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC;;;;;;;;;;;;;;GAcG;AACH,IAAM,UAAU,GACd,6FAA6F,CAAA;AAE/F,IAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAA;AAEnE,MAAM,CAAC,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;AAED;;;;;GAKG;AACH,MAAM,CAAC,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"}
@@ -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
- * Both are stable across renders (a ref object and a `useState` setter), which
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;CACvB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAMnE;AAED;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,gBAAgB,GAAG,KAAK,CAAC,SAAS,EAAE,CAkBvF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,+BAA+B,CAE7C,YAAY,EAAE,GAAG,EACjB,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAiCT"}
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"}