@hexclave/shared 1.0.0

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 (1144) hide show
  1. package/LICENSE +7 -0
  2. package/dist/ai/image-limits.d.ts +24 -0
  3. package/dist/ai/image-limits.d.ts.map +1 -0
  4. package/dist/ai/image-limits.js +61 -0
  5. package/dist/ai/image-limits.js.map +1 -0
  6. package/dist/ai/unified-prompts/reminders.d.ts +5 -0
  7. package/dist/ai/unified-prompts/reminders.d.ts.map +1 -0
  8. package/dist/ai/unified-prompts/reminders.js +33 -0
  9. package/dist/ai/unified-prompts/reminders.js.map +1 -0
  10. package/dist/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.d.ts +11 -0
  11. package/dist/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.d.ts.map +1 -0
  12. package/dist/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.js +851 -0
  13. package/dist/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.js.map +1 -0
  14. package/dist/ai/unified-prompts/skill-site-prompt-parts/brain.d.ts +5 -0
  15. package/dist/ai/unified-prompts/skill-site-prompt-parts/brain.d.ts.map +1 -0
  16. package/dist/ai/unified-prompts/skill-site-prompt-parts/brain.js +12 -0
  17. package/dist/ai/unified-prompts/skill-site-prompt-parts/brain.js.map +1 -0
  18. package/dist/ai/unified-prompts/skill-site-prompt-parts/cli-help.d.ts +5 -0
  19. package/dist/ai/unified-prompts/skill-site-prompt-parts/cli-help.d.ts.map +1 -0
  20. package/dist/ai/unified-prompts/skill-site-prompt-parts/cli-help.js +12 -0
  21. package/dist/ai/unified-prompts/skill-site-prompt-parts/cli-help.js.map +1 -0
  22. package/dist/ai/unified-prompts/skill-site-prompt-parts/config-docs.d.ts +5 -0
  23. package/dist/ai/unified-prompts/skill-site-prompt-parts/config-docs.d.ts.map +1 -0
  24. package/dist/ai/unified-prompts/skill-site-prompt-parts/config-docs.js +12 -0
  25. package/dist/ai/unified-prompts/skill-site-prompt-parts/config-docs.js.map +1 -0
  26. package/dist/ai/unified-prompts/skill-site-prompt-parts/custom-components-instructions.d.ts +5 -0
  27. package/dist/ai/unified-prompts/skill-site-prompt-parts/custom-components-instructions.d.ts.map +1 -0
  28. package/dist/ai/unified-prompts/skill-site-prompt-parts/custom-components-instructions.js +12 -0
  29. package/dist/ai/unified-prompts/skill-site-prompt-parts/custom-components-instructions.js.map +1 -0
  30. package/dist/ai/unified-prompts/skill-site-prompt-parts/dashboard-instructions.d.ts +5 -0
  31. package/dist/ai/unified-prompts/skill-site-prompt-parts/dashboard-instructions.d.ts.map +1 -0
  32. package/dist/ai/unified-prompts/skill-site-prompt-parts/dashboard-instructions.js +12 -0
  33. package/dist/ai/unified-prompts/skill-site-prompt-parts/dashboard-instructions.js.map +1 -0
  34. package/dist/ai/unified-prompts/skill-site-prompt-parts/docs-index.d.ts +5 -0
  35. package/dist/ai/unified-prompts/skill-site-prompt-parts/docs-index.d.ts.map +1 -0
  36. package/dist/ai/unified-prompts/skill-site-prompt-parts/docs-index.js +64 -0
  37. package/dist/ai/unified-prompts/skill-site-prompt-parts/docs-index.js.map +1 -0
  38. package/dist/ai/unified-prompts/skill-site-prompt-parts/openapi-specs.d.ts +5 -0
  39. package/dist/ai/unified-prompts/skill-site-prompt-parts/openapi-specs.d.ts.map +1 -0
  40. package/dist/ai/unified-prompts/skill-site-prompt-parts/openapi-specs.js +12 -0
  41. package/dist/ai/unified-prompts/skill-site-prompt-parts/openapi-specs.js.map +1 -0
  42. package/dist/ai/unified-prompts/skill-site-prompt-parts/sdk-interface-source.d.ts +5 -0
  43. package/dist/ai/unified-prompts/skill-site-prompt-parts/sdk-interface-source.d.ts.map +1 -0
  44. package/dist/ai/unified-prompts/skill-site-prompt-parts/sdk-interface-source.js +12 -0
  45. package/dist/ai/unified-prompts/skill-site-prompt-parts/sdk-interface-source.js.map +1 -0
  46. package/dist/ai/unified-prompts/skill-site-prompt.d.ts +5 -0
  47. package/dist/ai/unified-prompts/skill-site-prompt.d.ts.map +1 -0
  48. package/dist/ai/unified-prompts/skill-site-prompt.js +75 -0
  49. package/dist/ai/unified-prompts/skill-site-prompt.js.map +1 -0
  50. package/dist/apps/apps-config.d.ts +168 -0
  51. package/dist/apps/apps-config.d.ts.map +1 -0
  52. package/dist/apps/apps-config.js +157 -0
  53. package/dist/apps/apps-config.js.map +1 -0
  54. package/dist/apps/apps-ui.d.ts +45 -0
  55. package/dist/apps/apps-ui.d.ts.map +1 -0
  56. package/dist/apps/apps-ui.js +109 -0
  57. package/dist/apps/apps-ui.js.map +1 -0
  58. package/dist/chunk-BE-pF4vm.js +34 -0
  59. package/dist/config/db-sync-mappings.d.ts +193 -0
  60. package/dist/config/db-sync-mappings.d.ts.map +1 -0
  61. package/dist/config/db-sync-mappings.js +2255 -0
  62. package/dist/config/db-sync-mappings.js.map +1 -0
  63. package/dist/config/format.d.ts +61 -0
  64. package/dist/config/format.d.ts.map +1 -0
  65. package/dist/config/format.js +337 -0
  66. package/dist/config/format.js.map +1 -0
  67. package/dist/config/migrate-catalogs-to-product-lines.d.ts +14 -0
  68. package/dist/config/migrate-catalogs-to-product-lines.d.ts.map +1 -0
  69. package/dist/config/migrate-catalogs-to-product-lines.js +379 -0
  70. package/dist/config/migrate-catalogs-to-product-lines.js.map +1 -0
  71. package/dist/config/schema-fuzzer.test.d.ts +1 -0
  72. package/dist/config/schema-fuzzer.test.js +401 -0
  73. package/dist/config/schema-fuzzer.test.js.map +1 -0
  74. package/dist/config/schema.d.ts +2315 -0
  75. package/dist/config/schema.d.ts.map +1 -0
  76. package/dist/config/schema.js +1085 -0
  77. package/dist/config/schema.js.map +1 -0
  78. package/dist/config-authoring.d.ts +12 -0
  79. package/dist/config-authoring.d.ts.map +1 -0
  80. package/dist/config-authoring.js +12 -0
  81. package/dist/config-authoring.js.map +1 -0
  82. package/dist/config-authoring.test.d.ts +1 -0
  83. package/dist/config-authoring.test.js +29 -0
  84. package/dist/config-authoring.test.js.map +1 -0
  85. package/dist/config-rendering.d.ts +17 -0
  86. package/dist/config-rendering.d.ts.map +1 -0
  87. package/dist/config-rendering.js +114 -0
  88. package/dist/config-rendering.js.map +1 -0
  89. package/dist/crud.d.ts +98 -0
  90. package/dist/crud.d.ts.map +1 -0
  91. package/dist/crud.js +129 -0
  92. package/dist/crud.js.map +1 -0
  93. package/dist/esm/ai/image-limits.d.ts +24 -0
  94. package/dist/esm/ai/image-limits.d.ts.map +1 -0
  95. package/dist/esm/ai/image-limits.js +53 -0
  96. package/dist/esm/ai/image-limits.js.map +1 -0
  97. package/dist/esm/ai/unified-prompts/reminders.d.ts +5 -0
  98. package/dist/esm/ai/unified-prompts/reminders.d.ts.map +1 -0
  99. package/dist/esm/ai/unified-prompts/reminders.js +31 -0
  100. package/dist/esm/ai/unified-prompts/reminders.js.map +1 -0
  101. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.d.ts +11 -0
  102. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.d.ts.map +1 -0
  103. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.js +843 -0
  104. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.js.map +1 -0
  105. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/brain.d.ts +5 -0
  106. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/brain.d.ts.map +1 -0
  107. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/brain.js +10 -0
  108. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/brain.js.map +1 -0
  109. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/cli-help.d.ts +5 -0
  110. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/cli-help.d.ts.map +1 -0
  111. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/cli-help.js +10 -0
  112. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/cli-help.js.map +1 -0
  113. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/config-docs.d.ts +5 -0
  114. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/config-docs.d.ts.map +1 -0
  115. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/config-docs.js +10 -0
  116. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/config-docs.js.map +1 -0
  117. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/custom-components-instructions.d.ts +5 -0
  118. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/custom-components-instructions.d.ts.map +1 -0
  119. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/custom-components-instructions.js +10 -0
  120. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/custom-components-instructions.js.map +1 -0
  121. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/dashboard-instructions.d.ts +5 -0
  122. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/dashboard-instructions.d.ts.map +1 -0
  123. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/dashboard-instructions.js +10 -0
  124. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/dashboard-instructions.js.map +1 -0
  125. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/docs-index.d.ts +5 -0
  126. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/docs-index.d.ts.map +1 -0
  127. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/docs-index.js +61 -0
  128. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/docs-index.js.map +1 -0
  129. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/openapi-specs.d.ts +5 -0
  130. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/openapi-specs.d.ts.map +1 -0
  131. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/openapi-specs.js +10 -0
  132. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/openapi-specs.js.map +1 -0
  133. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/sdk-interface-source.d.ts +5 -0
  134. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/sdk-interface-source.d.ts.map +1 -0
  135. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/sdk-interface-source.js +10 -0
  136. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/sdk-interface-source.js.map +1 -0
  137. package/dist/esm/ai/unified-prompts/skill-site-prompt.d.ts +5 -0
  138. package/dist/esm/ai/unified-prompts/skill-site-prompt.d.ts.map +1 -0
  139. package/dist/esm/ai/unified-prompts/skill-site-prompt.js +73 -0
  140. package/dist/esm/ai/unified-prompts/skill-site-prompt.js.map +1 -0
  141. package/dist/esm/apps/apps-config.d.ts +168 -0
  142. package/dist/esm/apps/apps-config.d.ts.map +1 -0
  143. package/dist/esm/apps/apps-config.js +154 -0
  144. package/dist/esm/apps/apps-config.js.map +1 -0
  145. package/dist/esm/apps/apps-ui.d.ts +45 -0
  146. package/dist/esm/apps/apps-ui.d.ts.map +1 -0
  147. package/dist/esm/apps/apps-ui.js +104 -0
  148. package/dist/esm/apps/apps-ui.js.map +1 -0
  149. package/dist/esm/config/db-sync-mappings.d.ts +193 -0
  150. package/dist/esm/config/db-sync-mappings.d.ts.map +1 -0
  151. package/dist/esm/config/db-sync-mappings.js +2253 -0
  152. package/dist/esm/config/db-sync-mappings.js.map +1 -0
  153. package/dist/esm/config/format.d.ts +61 -0
  154. package/dist/esm/config/format.d.ts.map +1 -0
  155. package/dist/esm/config/format.js +327 -0
  156. package/dist/esm/config/format.js.map +1 -0
  157. package/dist/esm/config/migrate-catalogs-to-product-lines.d.ts +14 -0
  158. package/dist/esm/config/migrate-catalogs-to-product-lines.d.ts.map +1 -0
  159. package/dist/esm/config/migrate-catalogs-to-product-lines.js +377 -0
  160. package/dist/esm/config/migrate-catalogs-to-product-lines.js.map +1 -0
  161. package/dist/esm/config/schema-fuzzer.test.d.ts +1 -0
  162. package/dist/esm/config/schema-fuzzer.test.js +401 -0
  163. package/dist/esm/config/schema-fuzzer.test.js.map +1 -0
  164. package/dist/esm/config/schema.d.ts +2315 -0
  165. package/dist/esm/config/schema.d.ts.map +1 -0
  166. package/dist/esm/config/schema.js +1065 -0
  167. package/dist/esm/config/schema.js.map +1 -0
  168. package/dist/esm/config-authoring.d.ts +12 -0
  169. package/dist/esm/config-authoring.d.ts.map +1 -0
  170. package/dist/esm/config-authoring.js +9 -0
  171. package/dist/esm/config-authoring.js.map +1 -0
  172. package/dist/esm/config-authoring.test.d.ts +1 -0
  173. package/dist/esm/config-authoring.test.js +29 -0
  174. package/dist/esm/config-authoring.test.js.map +1 -0
  175. package/dist/esm/config-rendering.d.ts +17 -0
  176. package/dist/esm/config-rendering.d.ts.map +1 -0
  177. package/dist/esm/config-rendering.js +108 -0
  178. package/dist/esm/config-rendering.js.map +1 -0
  179. package/dist/esm/crud.d.ts +98 -0
  180. package/dist/esm/crud.d.ts.map +1 -0
  181. package/dist/esm/crud.js +127 -0
  182. package/dist/esm/crud.js.map +1 -0
  183. package/dist/esm/global.d.ts +1 -0
  184. package/dist/esm/helpers/emails.d.ts +69 -0
  185. package/dist/esm/helpers/emails.d.ts.map +1 -0
  186. package/dist/esm/helpers/emails.js +243 -0
  187. package/dist/esm/helpers/emails.js.map +1 -0
  188. package/dist/esm/helpers/init-prompt.d.ts +5 -0
  189. package/dist/esm/helpers/init-prompt.d.ts.map +1 -0
  190. package/dist/esm/helpers/init-prompt.js +40 -0
  191. package/dist/esm/helpers/init-prompt.js.map +1 -0
  192. package/dist/esm/helpers/password.d.ts +7 -0
  193. package/dist/esm/helpers/password.d.ts.map +1 -0
  194. package/dist/esm/helpers/password.js +13 -0
  195. package/dist/esm/helpers/password.js.map +1 -0
  196. package/dist/esm/helpers/production-mode.d.ts +11 -0
  197. package/dist/esm/helpers/production-mode.d.ts.map +1 -0
  198. package/dist/esm/helpers/production-mode.js +46 -0
  199. package/dist/esm/helpers/production-mode.js.map +1 -0
  200. package/dist/esm/helpers/support-sla.d.ts +48 -0
  201. package/dist/esm/helpers/support-sla.d.ts.map +1 -0
  202. package/dist/esm/helpers/support-sla.js +65 -0
  203. package/dist/esm/helpers/support-sla.js.map +1 -0
  204. package/dist/esm/helpers/support-sla.test.d.ts +1 -0
  205. package/dist/esm/helpers/support-sla.test.js +102 -0
  206. package/dist/esm/helpers/support-sla.test.js.map +1 -0
  207. package/dist/esm/helpers/vault/client-side.d.ts +16 -0
  208. package/dist/esm/helpers/vault/client-side.d.ts.map +1 -0
  209. package/dist/esm/helpers/vault/client-side.js +69 -0
  210. package/dist/esm/helpers/vault/client-side.js.map +1 -0
  211. package/dist/esm/helpers/vault/server-side.d.ts +9 -0
  212. package/dist/esm/helpers/vault/server-side.d.ts.map +1 -0
  213. package/dist/esm/helpers/vault/server-side.js +123 -0
  214. package/dist/esm/helpers/vault/server-side.js.map +1 -0
  215. package/dist/esm/hooks/use-async-callback.d.ts +8 -0
  216. package/dist/esm/hooks/use-async-callback.d.ts.map +1 -0
  217. package/dist/esm/hooks/use-async-callback.js +38 -0
  218. package/dist/esm/hooks/use-async-callback.js.map +1 -0
  219. package/dist/esm/hooks/use-async-external-store.d.ts +9 -0
  220. package/dist/esm/hooks/use-async-external-store.d.ts.map +1 -0
  221. package/dist/esm/hooks/use-async-external-store.js +20 -0
  222. package/dist/esm/hooks/use-async-external-store.js.map +1 -0
  223. package/dist/esm/hooks/use-hash.d.ts +5 -0
  224. package/dist/esm/hooks/use-hash.d.ts.map +1 -0
  225. package/dist/esm/hooks/use-hash.js +15 -0
  226. package/dist/esm/hooks/use-hash.js.map +1 -0
  227. package/dist/esm/hooks/use-hover.d.ts +8 -0
  228. package/dist/esm/hooks/use-hover.d.ts.map +1 -0
  229. package/dist/esm/hooks/use-hover.js +59 -0
  230. package/dist/esm/hooks/use-hover.js.map +1 -0
  231. package/dist/esm/hooks/use-strict-memo.d.ts +10 -0
  232. package/dist/esm/hooks/use-strict-memo.d.ts.map +1 -0
  233. package/dist/esm/hooks/use-strict-memo.js +119 -0
  234. package/dist/esm/hooks/use-strict-memo.js.map +1 -0
  235. package/dist/esm/index.d.ts +5 -0
  236. package/dist/esm/index.js +6 -0
  237. package/dist/esm/interface/admin-interface.d.ts +308 -0
  238. package/dist/esm/interface/admin-interface.d.ts.map +1 -0
  239. package/dist/esm/interface/admin-interface.js +463 -0
  240. package/dist/esm/interface/admin-interface.js.map +1 -0
  241. package/dist/esm/interface/admin-metrics.d.ts +597 -0
  242. package/dist/esm/interface/admin-metrics.d.ts.map +1 -0
  243. package/dist/esm/interface/admin-metrics.js +134 -0
  244. package/dist/esm/interface/admin-metrics.js.map +1 -0
  245. package/dist/esm/interface/client-interface.d.ts +447 -0
  246. package/dist/esm/interface/client-interface.d.ts.map +1 -0
  247. package/dist/esm/interface/client-interface.js +1946 -0
  248. package/dist/esm/interface/client-interface.js.map +1 -0
  249. package/dist/esm/interface/client-interface.test.d.ts +1 -0
  250. package/dist/esm/interface/client-interface.test.js +559 -0
  251. package/dist/esm/interface/client-interface.test.js.map +1 -0
  252. package/dist/esm/interface/conversations.d.ts +314 -0
  253. package/dist/esm/interface/conversations.d.ts.map +1 -0
  254. package/dist/esm/interface/conversations.js +108 -0
  255. package/dist/esm/interface/conversations.js.map +1 -0
  256. package/dist/esm/interface/crud/analytics.d.ts +14 -0
  257. package/dist/esm/interface/crud/analytics.d.ts.map +1 -0
  258. package/dist/esm/interface/crud/analytics.js +1 -0
  259. package/dist/esm/interface/crud/connected-accounts.d.ts +69 -0
  260. package/dist/esm/interface/crud/connected-accounts.d.ts.map +1 -0
  261. package/dist/esm/interface/crud/connected-accounts.js +35 -0
  262. package/dist/esm/interface/crud/connected-accounts.js.map +1 -0
  263. package/dist/esm/interface/crud/contact-channels.d.ts +182 -0
  264. package/dist/esm/interface/crud/contact-channels.d.ts.map +1 -0
  265. package/dist/esm/interface/crud/contact-channels.js +68 -0
  266. package/dist/esm/interface/crud/contact-channels.js.map +1 -0
  267. package/dist/esm/interface/crud/current-user.d.ts +286 -0
  268. package/dist/esm/interface/crud/current-user.d.ts.map +1 -0
  269. package/dist/esm/interface/crud/current-user.js +69 -0
  270. package/dist/esm/interface/crud/current-user.js.map +1 -0
  271. package/dist/esm/interface/crud/email-outbox.d.ts +1466 -0
  272. package/dist/esm/interface/crud/email-outbox.d.ts.map +1 -0
  273. package/dist/esm/interface/crud/email-outbox.js +190 -0
  274. package/dist/esm/interface/crud/email-outbox.js.map +1 -0
  275. package/dist/esm/interface/crud/email-templates.d.ts +86 -0
  276. package/dist/esm/interface/crud/email-templates.d.ts.map +1 -0
  277. package/dist/esm/interface/crud/email-templates.js +46 -0
  278. package/dist/esm/interface/crud/email-templates.js.map +1 -0
  279. package/dist/esm/interface/crud/emails.d.ts +42 -0
  280. package/dist/esm/interface/crud/emails.d.ts.map +1 -0
  281. package/dist/esm/interface/crud/emails.js +19 -0
  282. package/dist/esm/interface/crud/emails.js.map +1 -0
  283. package/dist/esm/interface/crud/internal-api-keys.d.ts +141 -0
  284. package/dist/esm/interface/crud/internal-api-keys.d.ts.map +1 -0
  285. package/dist/esm/interface/crud/internal-api-keys.js +49 -0
  286. package/dist/esm/interface/crud/internal-api-keys.js.map +1 -0
  287. package/dist/esm/interface/crud/invoices.d.ts +43 -0
  288. package/dist/esm/interface/crud/invoices.d.ts.map +1 -0
  289. package/dist/esm/interface/crud/invoices.js +25 -0
  290. package/dist/esm/interface/crud/invoices.js.map +1 -0
  291. package/dist/esm/interface/crud/items.d.ts +31 -0
  292. package/dist/esm/interface/crud/items.d.ts.map +1 -0
  293. package/dist/esm/interface/crud/items.js +23 -0
  294. package/dist/esm/interface/crud/items.js.map +1 -0
  295. package/dist/esm/interface/crud/notification-preferences.d.ts +39 -0
  296. package/dist/esm/interface/crud/notification-preferences.d.ts.map +1 -0
  297. package/dist/esm/interface/crud/notification-preferences.js +31 -0
  298. package/dist/esm/interface/crud/notification-preferences.js.map +1 -0
  299. package/dist/esm/interface/crud/oauth-providers.d.ts +187 -0
  300. package/dist/esm/interface/crud/oauth-providers.d.ts.map +1 -0
  301. package/dist/esm/interface/crud/oauth-providers.js +75 -0
  302. package/dist/esm/interface/crud/oauth-providers.js.map +1 -0
  303. package/dist/esm/interface/crud/products.d.ts +182 -0
  304. package/dist/esm/interface/crud/products.d.ts.map +1 -0
  305. package/dist/esm/interface/crud/products.js +29 -0
  306. package/dist/esm/interface/crud/products.js.map +1 -0
  307. package/dist/esm/interface/crud/project-api-keys.d.ts +204 -0
  308. package/dist/esm/interface/crud/project-api-keys.d.ts.map +1 -0
  309. package/dist/esm/interface/crud/project-api-keys.js +72 -0
  310. package/dist/esm/interface/crud/project-api-keys.js.map +1 -0
  311. package/dist/esm/interface/crud/project-permissions.d.ts +162 -0
  312. package/dist/esm/interface/crud/project-permissions.d.ts.map +1 -0
  313. package/dist/esm/interface/crud/project-permissions.js +104 -0
  314. package/dist/esm/interface/crud/project-permissions.js.map +1 -0
  315. package/dist/esm/interface/crud/projects.d.ts +852 -0
  316. package/dist/esm/interface/crud/projects.d.ts.map +1 -0
  317. package/dist/esm/interface/crud/projects.js +193 -0
  318. package/dist/esm/interface/crud/projects.js.map +1 -0
  319. package/dist/esm/interface/crud/session-replays.d.ts +83 -0
  320. package/dist/esm/interface/crud/session-replays.d.ts.map +1 -0
  321. package/dist/esm/interface/crud/session-replays.js +1 -0
  322. package/dist/esm/interface/crud/sessions.d.ts +151 -0
  323. package/dist/esm/interface/crud/sessions.d.ts.map +1 -0
  324. package/dist/esm/interface/crud/sessions.js +56 -0
  325. package/dist/esm/interface/crud/sessions.js.map +1 -0
  326. package/dist/esm/interface/crud/sign-up-rules.d.ts +15 -0
  327. package/dist/esm/interface/crud/sign-up-rules.d.ts.map +1 -0
  328. package/dist/esm/interface/crud/sign-up-rules.js +1 -0
  329. package/dist/esm/interface/crud/svix-token.d.ts +32 -0
  330. package/dist/esm/interface/crud/svix-token.d.ts.map +1 -0
  331. package/dist/esm/interface/crud/svix-token.js +18 -0
  332. package/dist/esm/interface/crud/svix-token.js.map +1 -0
  333. package/dist/esm/interface/crud/team-invitation-details.d.ts +32 -0
  334. package/dist/esm/interface/crud/team-invitation-details.d.ts.map +1 -0
  335. package/dist/esm/interface/crud/team-invitation-details.js +21 -0
  336. package/dist/esm/interface/crud/team-invitation-details.js.map +1 -0
  337. package/dist/esm/interface/crud/team-invitation.d.ts +55 -0
  338. package/dist/esm/interface/crud/team-invitation.d.ts.map +1 -0
  339. package/dist/esm/interface/crud/team-invitation.js +37 -0
  340. package/dist/esm/interface/crud/team-invitation.js.map +1 -0
  341. package/dist/esm/interface/crud/team-member-profiles.d.ts +287 -0
  342. package/dist/esm/interface/crud/team-member-profiles.d.ts.map +1 -0
  343. package/dist/esm/interface/crud/team-member-profiles.js +58 -0
  344. package/dist/esm/interface/crud/team-member-profiles.js.map +1 -0
  345. package/dist/esm/interface/crud/team-memberships.d.ts +76 -0
  346. package/dist/esm/interface/crud/team-memberships.d.ts.map +1 -0
  347. package/dist/esm/interface/crud/team-memberships.js +54 -0
  348. package/dist/esm/interface/crud/team-memberships.js.map +1 -0
  349. package/dist/esm/interface/crud/team-permissions.d.ts +170 -0
  350. package/dist/esm/interface/crud/team-permissions.d.ts.map +1 -0
  351. package/dist/esm/interface/crud/team-permissions.js +105 -0
  352. package/dist/esm/interface/crud/team-permissions.js.map +1 -0
  353. package/dist/esm/interface/crud/teams.d.ts +300 -0
  354. package/dist/esm/interface/crud/teams.d.ts.map +1 -0
  355. package/dist/esm/interface/crud/teams.js +129 -0
  356. package/dist/esm/interface/crud/teams.js.map +1 -0
  357. package/dist/esm/interface/crud/transactions.d.ts +183 -0
  358. package/dist/esm/interface/crud/transactions.d.ts.map +1 -0
  359. package/dist/esm/interface/crud/transactions.js +85 -0
  360. package/dist/esm/interface/crud/transactions.js.map +1 -0
  361. package/dist/esm/interface/crud/users.d.ts +654 -0
  362. package/dist/esm/interface/crud/users.d.ts.map +1 -0
  363. package/dist/esm/interface/crud/users.js +181 -0
  364. package/dist/esm/interface/crud/users.js.map +1 -0
  365. package/dist/esm/interface/handler-urls.d.ts +51 -0
  366. package/dist/esm/interface/handler-urls.d.ts.map +1 -0
  367. package/dist/esm/interface/handler-urls.js +3 -0
  368. package/dist/esm/interface/page-component-versions.d.ts +25 -0
  369. package/dist/esm/interface/page-component-versions.d.ts.map +1 -0
  370. package/dist/esm/interface/page-component-versions.js +1661 -0
  371. package/dist/esm/interface/page-component-versions.js.map +1 -0
  372. package/dist/esm/interface/server-interface.d.ts +255 -0
  373. package/dist/esm/interface/server-interface.d.ts.map +1 -0
  374. package/dist/esm/interface/server-interface.js +459 -0
  375. package/dist/esm/interface/server-interface.js.map +1 -0
  376. package/dist/esm/interface/webhooks.d.ts +326 -0
  377. package/dist/esm/interface/webhooks.d.ts.map +1 -0
  378. package/dist/esm/interface/webhooks.js +22 -0
  379. package/dist/esm/interface/webhooks.js.map +1 -0
  380. package/dist/esm/known-errors.d.ts +575 -0
  381. package/dist/esm/known-errors.d.ts.map +1 -0
  382. package/dist/esm/known-errors.js +791 -0
  383. package/dist/esm/known-errors.js.map +1 -0
  384. package/dist/esm/local-emulator.d.ts +6 -0
  385. package/dist/esm/local-emulator.d.ts.map +1 -0
  386. package/dist/esm/local-emulator.js +7 -0
  387. package/dist/esm/local-emulator.js.map +1 -0
  388. package/dist/esm/payments/payment-methods.d.ts +64 -0
  389. package/dist/esm/payments/payment-methods.d.ts.map +1 -0
  390. package/dist/esm/payments/payment-methods.js +205 -0
  391. package/dist/esm/payments/payment-methods.js.map +1 -0
  392. package/dist/esm/payments/stripe-limits.d.ts +17 -0
  393. package/dist/esm/payments/stripe-limits.d.ts.map +1 -0
  394. package/dist/esm/payments/stripe-limits.js +17 -0
  395. package/dist/esm/payments/stripe-limits.js.map +1 -0
  396. package/dist/esm/plans.d.ts +72 -0
  397. package/dist/esm/plans.d.ts.map +1 -0
  398. package/dist/esm/plans.js +81 -0
  399. package/dist/esm/plans.js.map +1 -0
  400. package/dist/esm/schema-fields.d.ts +472 -0
  401. package/dist/esm/schema-fields.d.ts.map +1 -0
  402. package/dist/esm/schema-fields.js +1009 -0
  403. package/dist/esm/schema-fields.js.map +1 -0
  404. package/dist/esm/sessions.d.ts +165 -0
  405. package/dist/esm/sessions.d.ts.map +1 -0
  406. package/dist/esm/sessions.js +226 -0
  407. package/dist/esm/sessions.js.map +1 -0
  408. package/dist/esm/stack-config-file.d.ts +15 -0
  409. package/dist/esm/stack-config-file.d.ts.map +1 -0
  410. package/dist/esm/stack-config-file.js +76 -0
  411. package/dist/esm/stack-config-file.js.map +1 -0
  412. package/dist/esm/utils/api-keys.d.ts +26 -0
  413. package/dist/esm/utils/api-keys.d.ts.map +1 -0
  414. package/dist/esm/utils/api-keys.js +77 -0
  415. package/dist/esm/utils/api-keys.js.map +1 -0
  416. package/dist/esm/utils/arrays.d.ts +25 -0
  417. package/dist/esm/utils/arrays.d.ts.map +1 -0
  418. package/dist/esm/utils/arrays.js +552 -0
  419. package/dist/esm/utils/arrays.js.map +1 -0
  420. package/dist/esm/utils/auth-methods.d.ts +6 -0
  421. package/dist/esm/utils/auth-methods.d.ts.map +1 -0
  422. package/dist/esm/utils/auth-methods.js +11 -0
  423. package/dist/esm/utils/auth-methods.js.map +1 -0
  424. package/dist/esm/utils/base64.d.ts +6 -0
  425. package/dist/esm/utils/base64.d.ts.map +1 -0
  426. package/dist/esm/utils/base64.js +25 -0
  427. package/dist/esm/utils/base64.js.map +1 -0
  428. package/dist/esm/utils/booleans.d.ts +8 -0
  429. package/dist/esm/utils/booleans.d.ts.map +1 -0
  430. package/dist/esm/utils/booleans.js +35 -0
  431. package/dist/esm/utils/booleans.js.map +1 -0
  432. package/dist/esm/utils/browser-compat.d.ts +10 -0
  433. package/dist/esm/utils/browser-compat.d.ts.map +1 -0
  434. package/dist/esm/utils/browser-compat.js +21 -0
  435. package/dist/esm/utils/browser-compat.js.map +1 -0
  436. package/dist/esm/utils/bytes.d.ts +17 -0
  437. package/dist/esm/utils/bytes.d.ts.map +1 -0
  438. package/dist/esm/utils/bytes.js +290 -0
  439. package/dist/esm/utils/bytes.js.map +1 -0
  440. package/dist/esm/utils/caches.d.ts +102 -0
  441. package/dist/esm/utils/caches.d.ts.map +1 -0
  442. package/dist/esm/utils/caches.js +185 -0
  443. package/dist/esm/utils/caches.js.map +1 -0
  444. package/dist/esm/utils/cel-fields.d.ts +23 -0
  445. package/dist/esm/utils/cel-fields.d.ts.map +1 -0
  446. package/dist/esm/utils/cel-fields.js +99 -0
  447. package/dist/esm/utils/cel-fields.js.map +1 -0
  448. package/dist/esm/utils/compile-time.d.ts +10 -0
  449. package/dist/esm/utils/compile-time.d.ts.map +1 -0
  450. package/dist/esm/utils/compile-time.js +14 -0
  451. package/dist/esm/utils/compile-time.js.map +1 -0
  452. package/dist/esm/utils/country-codes.d.ts +11 -0
  453. package/dist/esm/utils/country-codes.d.ts.map +1 -0
  454. package/dist/esm/utils/country-codes.js +36 -0
  455. package/dist/esm/utils/country-codes.js.map +1 -0
  456. package/dist/esm/utils/crypto.d.ts +48 -0
  457. package/dist/esm/utils/crypto.d.ts.map +1 -0
  458. package/dist/esm/utils/crypto.js +208 -0
  459. package/dist/esm/utils/crypto.js.map +1 -0
  460. package/dist/esm/utils/currencies.d.ts +8 -0
  461. package/dist/esm/utils/currencies.d.ts.map +1 -0
  462. package/dist/esm/utils/currencies.js +50 -0
  463. package/dist/esm/utils/currencies.js.map +1 -0
  464. package/dist/esm/utils/currency-constants.d.ts +39 -0
  465. package/dist/esm/utils/currency-constants.d.ts.map +1 -0
  466. package/dist/esm/utils/currency-constants.js +42 -0
  467. package/dist/esm/utils/currency-constants.js.map +1 -0
  468. package/dist/esm/utils/dates.d.ts +23 -0
  469. package/dist/esm/utils/dates.d.ts.map +1 -0
  470. package/dist/esm/utils/dates.js +167 -0
  471. package/dist/esm/utils/dates.js.map +1 -0
  472. package/dist/esm/utils/dev-env-state-path.d.ts +6 -0
  473. package/dist/esm/utils/dev-env-state-path.d.ts.map +1 -0
  474. package/dist/esm/utils/dev-env-state-path.js +15 -0
  475. package/dist/esm/utils/dev-env-state-path.js.map +1 -0
  476. package/dist/esm/utils/dom.d.ts +5 -0
  477. package/dist/esm/utils/dom.d.ts.map +1 -0
  478. package/dist/esm/utils/dom.js +11 -0
  479. package/dist/esm/utils/dom.js.map +1 -0
  480. package/dist/esm/utils/env.d.ts +25 -0
  481. package/dist/esm/utils/env.d.ts.map +1 -0
  482. package/dist/esm/utils/env.js +78 -0
  483. package/dist/esm/utils/env.js.map +1 -0
  484. package/dist/esm/utils/errors.d.ts +231 -0
  485. package/dist/esm/utils/errors.d.ts.map +1 -0
  486. package/dist/esm/utils/errors.js +385 -0
  487. package/dist/esm/utils/errors.js.map +1 -0
  488. package/dist/esm/utils/esbuild.d.ts +16 -0
  489. package/dist/esm/utils/esbuild.d.ts.map +1 -0
  490. package/dist/esm/utils/esbuild.js +182 -0
  491. package/dist/esm/utils/esbuild.js.map +1 -0
  492. package/dist/esm/utils/featurebase.d.ts +30 -0
  493. package/dist/esm/utils/featurebase.d.ts.map +1 -0
  494. package/dist/esm/utils/featurebase.js +166 -0
  495. package/dist/esm/utils/featurebase.js.map +1 -0
  496. package/dist/esm/utils/fs.d.ts +9 -0
  497. package/dist/esm/utils/fs.d.ts.map +1 -0
  498. package/dist/esm/utils/fs.js +25 -0
  499. package/dist/esm/utils/fs.js.map +1 -0
  500. package/dist/esm/utils/functions.d.ts +6 -0
  501. package/dist/esm/utils/functions.d.ts.map +1 -0
  502. package/dist/esm/utils/functions.js +34 -0
  503. package/dist/esm/utils/functions.js.map +1 -0
  504. package/dist/esm/utils/geo.d.ts +24 -0
  505. package/dist/esm/utils/geo.d.ts.map +1 -0
  506. package/dist/esm/utils/geo.js +16 -0
  507. package/dist/esm/utils/geo.js.map +1 -0
  508. package/dist/esm/utils/globals.d.ts +13 -0
  509. package/dist/esm/utils/globals.d.ts.map +1 -0
  510. package/dist/esm/utils/globals.js +34 -0
  511. package/dist/esm/utils/globals.js.map +1 -0
  512. package/dist/esm/utils/hashes.d.ts +9 -0
  513. package/dist/esm/utils/hashes.d.ts.map +1 -0
  514. package/dist/esm/utils/hashes.js +40 -0
  515. package/dist/esm/utils/hashes.js.map +1 -0
  516. package/dist/esm/utils/html.d.ts +7 -0
  517. package/dist/esm/utils/html.d.ts.map +1 -0
  518. package/dist/esm/utils/html.js +33 -0
  519. package/dist/esm/utils/html.js.map +1 -0
  520. package/dist/esm/utils/http.d.ts +45 -0
  521. package/dist/esm/utils/http.d.ts.map +1 -0
  522. package/dist/esm/utils/http.js +75 -0
  523. package/dist/esm/utils/http.js.map +1 -0
  524. package/dist/esm/utils/ips.d.ts +8 -0
  525. package/dist/esm/utils/ips.d.ts.map +1 -0
  526. package/dist/esm/utils/ips.js +36 -0
  527. package/dist/esm/utils/ips.js.map +1 -0
  528. package/dist/esm/utils/json.d.ts +15 -0
  529. package/dist/esm/utils/json.d.ts.map +1 -0
  530. package/dist/esm/utils/json.js +178 -0
  531. package/dist/esm/utils/json.js.map +1 -0
  532. package/dist/esm/utils/jsx-editable-transpiler.d.ts +68 -0
  533. package/dist/esm/utils/jsx-editable-transpiler.d.ts.map +1 -0
  534. package/dist/esm/utils/jsx-editable-transpiler.js +216 -0
  535. package/dist/esm/utils/jsx-editable-transpiler.js.map +1 -0
  536. package/dist/esm/utils/jsx-editable-transpiler.test.d.ts +1 -0
  537. package/dist/esm/utils/jsx-editable-transpiler.test.js +122 -0
  538. package/dist/esm/utils/jsx-editable-transpiler.test.js.map +1 -0
  539. package/dist/esm/utils/jwt.d.ts +79 -0
  540. package/dist/esm/utils/jwt.d.ts.map +1 -0
  541. package/dist/esm/utils/jwt.js +102 -0
  542. package/dist/esm/utils/jwt.js.map +1 -0
  543. package/dist/esm/utils/locks.d.ts +17 -0
  544. package/dist/esm/utils/locks.d.ts.map +1 -0
  545. package/dist/esm/utils/locks.js +54 -0
  546. package/dist/esm/utils/locks.js.map +1 -0
  547. package/dist/esm/utils/maps.d.ts +61 -0
  548. package/dist/esm/utils/maps.d.ts.map +1 -0
  549. package/dist/esm/utils/maps.js +297 -0
  550. package/dist/esm/utils/maps.js.map +1 -0
  551. package/dist/esm/utils/math.d.ts +8 -0
  552. package/dist/esm/utils/math.d.ts.map +1 -0
  553. package/dist/esm/utils/math.js +21 -0
  554. package/dist/esm/utils/math.js.map +1 -0
  555. package/dist/esm/utils/monkey-patch.d.ts +7 -0
  556. package/dist/esm/utils/monkey-patch.d.ts.map +1 -0
  557. package/dist/esm/utils/monkey-patch.js +21 -0
  558. package/dist/esm/utils/monkey-patch.js.map +1 -0
  559. package/dist/esm/utils/node-http.d.ts +17 -0
  560. package/dist/esm/utils/node-http.d.ts.map +1 -0
  561. package/dist/esm/utils/node-http.js +38 -0
  562. package/dist/esm/utils/node-http.js.map +1 -0
  563. package/dist/esm/utils/numbers.d.ts +7 -0
  564. package/dist/esm/utils/numbers.d.ts.map +1 -0
  565. package/dist/esm/utils/numbers.js +75 -0
  566. package/dist/esm/utils/numbers.js.map +1 -0
  567. package/dist/esm/utils/oauth.d.ts +11 -0
  568. package/dist/esm/utils/oauth.d.ts.map +1 -0
  569. package/dist/esm/utils/oauth.js +27 -0
  570. package/dist/esm/utils/oauth.js.map +1 -0
  571. package/dist/esm/utils/objects.d.ts +59 -0
  572. package/dist/esm/utils/objects.d.ts.map +1 -0
  573. package/dist/esm/utils/objects.js +818 -0
  574. package/dist/esm/utils/objects.js.map +1 -0
  575. package/dist/esm/utils/paginated-lists.d.ts +442 -0
  576. package/dist/esm/utils/paginated-lists.d.ts.map +1 -0
  577. package/dist/esm/utils/paginated-lists.js +411 -0
  578. package/dist/esm/utils/paginated-lists.js.map +1 -0
  579. package/dist/esm/utils/paginated-lists.test.d.ts +1 -0
  580. package/dist/esm/utils/paginated-lists.test.js +1304 -0
  581. package/dist/esm/utils/paginated-lists.test.js.map +1 -0
  582. package/dist/esm/utils/passkey.d.ts +2 -0
  583. package/dist/esm/utils/passkey.js +1 -0
  584. package/dist/esm/utils/promises.d.ts +80 -0
  585. package/dist/esm/utils/promises.d.ts.map +1 -0
  586. package/dist/esm/utils/promises.js +333 -0
  587. package/dist/esm/utils/promises.js.map +1 -0
  588. package/dist/esm/utils/proxies.d.ts +13 -0
  589. package/dist/esm/utils/proxies.d.ts.map +1 -0
  590. package/dist/esm/utils/proxies.js +197 -0
  591. package/dist/esm/utils/proxies.js.map +1 -0
  592. package/dist/esm/utils/react.d.ts +61 -0
  593. package/dist/esm/utils/react.d.ts.map +1 -0
  594. package/dist/esm/utils/react.js +229 -0
  595. package/dist/esm/utils/react.js.map +1 -0
  596. package/dist/esm/utils/redirect-urls.d.ts +30 -0
  597. package/dist/esm/utils/redirect-urls.d.ts.map +1 -0
  598. package/dist/esm/utils/redirect-urls.js +215 -0
  599. package/dist/esm/utils/redirect-urls.js.map +1 -0
  600. package/dist/esm/utils/regex.d.ts +5 -0
  601. package/dist/esm/utils/regex.d.ts.map +1 -0
  602. package/dist/esm/utils/regex.js +13 -0
  603. package/dist/esm/utils/regex.js.map +1 -0
  604. package/dist/esm/utils/results.d.ts +70 -0
  605. package/dist/esm/utils/results.d.ts.map +1 -0
  606. package/dist/esm/utils/results.js +339 -0
  607. package/dist/esm/utils/results.js.map +1 -0
  608. package/dist/esm/utils/sentry.d.ts +13 -0
  609. package/dist/esm/utils/sentry.d.ts.map +1 -0
  610. package/dist/esm/utils/sentry.js +14 -0
  611. package/dist/esm/utils/sentry.js.map +1 -0
  612. package/dist/esm/utils/stores.d.ts +104 -0
  613. package/dist/esm/utils/stores.d.ts.map +1 -0
  614. package/dist/esm/utils/stores.js +175 -0
  615. package/dist/esm/utils/stores.js.map +1 -0
  616. package/dist/esm/utils/strings.d.ts +76 -0
  617. package/dist/esm/utils/strings.d.ts.map +1 -0
  618. package/dist/esm/utils/strings.js +530 -0
  619. package/dist/esm/utils/strings.js.map +1 -0
  620. package/dist/esm/utils/strings.nicify.test.d.ts +1 -0
  621. package/dist/esm/utils/strings.nicify.test.js +243 -0
  622. package/dist/esm/utils/strings.nicify.test.js.map +1 -0
  623. package/dist/esm/utils/telemetry.d.ts +15 -0
  624. package/dist/esm/utils/telemetry.d.ts.map +1 -0
  625. package/dist/esm/utils/telemetry.js +31 -0
  626. package/dist/esm/utils/telemetry.js.map +1 -0
  627. package/dist/esm/utils/turnstile-browser.d.ts +32 -0
  628. package/dist/esm/utils/turnstile-browser.d.ts.map +1 -0
  629. package/dist/esm/utils/turnstile-browser.js +61 -0
  630. package/dist/esm/utils/turnstile-browser.js.map +1 -0
  631. package/dist/esm/utils/turnstile-flow.d.ts +29 -0
  632. package/dist/esm/utils/turnstile-flow.d.ts.map +1 -0
  633. package/dist/esm/utils/turnstile-flow.js +219 -0
  634. package/dist/esm/utils/turnstile-flow.js.map +1 -0
  635. package/dist/esm/utils/turnstile-flow.test.d.ts +1 -0
  636. package/dist/esm/utils/turnstile-flow.test.js +75 -0
  637. package/dist/esm/utils/turnstile-flow.test.js.map +1 -0
  638. package/dist/esm/utils/turnstile.d.ts +17 -0
  639. package/dist/esm/utils/turnstile.d.ts.map +1 -0
  640. package/dist/esm/utils/turnstile.js +25 -0
  641. package/dist/esm/utils/turnstile.js.map +1 -0
  642. package/dist/esm/utils/typed-arrays.d.ts +14 -0
  643. package/dist/esm/utils/typed-arrays.d.ts.map +1 -0
  644. package/dist/esm/utils/typed-arrays.js +20 -0
  645. package/dist/esm/utils/typed-arrays.js.map +1 -0
  646. package/dist/esm/utils/types.d.ts +77 -0
  647. package/dist/esm/utils/types.d.ts.map +1 -0
  648. package/dist/esm/utils/types.js +55 -0
  649. package/dist/esm/utils/types.js.map +1 -0
  650. package/dist/esm/utils/unicode.d.ts +5 -0
  651. package/dist/esm/utils/unicode.d.ts.map +1 -0
  652. package/dist/esm/utils/unicode.js +24 -0
  653. package/dist/esm/utils/unicode.js.map +1 -0
  654. package/dist/esm/utils/urls.d.ts +28 -0
  655. package/dist/esm/utils/urls.d.ts.map +1 -0
  656. package/dist/esm/utils/urls.js +259 -0
  657. package/dist/esm/utils/urls.js.map +1 -0
  658. package/dist/esm/utils/uuids.d.ts +6 -0
  659. package/dist/esm/utils/uuids.d.ts.map +1 -0
  660. package/dist/esm/utils/uuids.js +36 -0
  661. package/dist/esm/utils/uuids.js.map +1 -0
  662. package/dist/global.d.d.ts +0 -0
  663. package/dist/global.d.ts +1 -0
  664. package/dist/helpers/emails.d.ts +69 -0
  665. package/dist/helpers/emails.d.ts.map +1 -0
  666. package/dist/helpers/emails.js +252 -0
  667. package/dist/helpers/emails.js.map +1 -0
  668. package/dist/helpers/init-prompt.d.ts +5 -0
  669. package/dist/helpers/init-prompt.d.ts.map +1 -0
  670. package/dist/helpers/init-prompt.js +42 -0
  671. package/dist/helpers/init-prompt.js.map +1 -0
  672. package/dist/helpers/password.d.ts +6 -0
  673. package/dist/helpers/password.d.ts.map +1 -0
  674. package/dist/helpers/password.js +15 -0
  675. package/dist/helpers/password.js.map +1 -0
  676. package/dist/helpers/production-mode.d.ts +11 -0
  677. package/dist/helpers/production-mode.d.ts.map +1 -0
  678. package/dist/helpers/production-mode.js +48 -0
  679. package/dist/helpers/production-mode.js.map +1 -0
  680. package/dist/helpers/support-sla.d.ts +48 -0
  681. package/dist/helpers/support-sla.d.ts.map +1 -0
  682. package/dist/helpers/support-sla.js +72 -0
  683. package/dist/helpers/support-sla.js.map +1 -0
  684. package/dist/helpers/support-sla.test.d.ts +1 -0
  685. package/dist/helpers/support-sla.test.js +102 -0
  686. package/dist/helpers/support-sla.test.js.map +1 -0
  687. package/dist/helpers/vault/client-side.d.ts +16 -0
  688. package/dist/helpers/vault/client-side.d.ts.map +1 -0
  689. package/dist/helpers/vault/client-side.js +73 -0
  690. package/dist/helpers/vault/client-side.js.map +1 -0
  691. package/dist/helpers/vault/server-side.d.ts +9 -0
  692. package/dist/helpers/vault/server-side.d.ts.map +1 -0
  693. package/dist/helpers/vault/server-side.js +126 -0
  694. package/dist/helpers/vault/server-side.js.map +1 -0
  695. package/dist/hooks/use-async-callback.d.ts +8 -0
  696. package/dist/hooks/use-async-callback.d.ts.map +1 -0
  697. package/dist/hooks/use-async-callback.js +42 -0
  698. package/dist/hooks/use-async-callback.js.map +1 -0
  699. package/dist/hooks/use-async-external-store.d.ts +9 -0
  700. package/dist/hooks/use-async-external-store.d.ts.map +1 -0
  701. package/dist/hooks/use-async-external-store.js +22 -0
  702. package/dist/hooks/use-async-external-store.js.map +1 -0
  703. package/dist/hooks/use-hash.d.ts +5 -0
  704. package/dist/hooks/use-hash.d.ts.map +1 -0
  705. package/dist/hooks/use-hash.js +17 -0
  706. package/dist/hooks/use-hash.js.map +1 -0
  707. package/dist/hooks/use-hover.d.ts +8 -0
  708. package/dist/hooks/use-hover.d.ts.map +1 -0
  709. package/dist/hooks/use-hover.js +61 -0
  710. package/dist/hooks/use-hover.js.map +1 -0
  711. package/dist/hooks/use-strict-memo.d.ts +10 -0
  712. package/dist/hooks/use-strict-memo.d.ts.map +1 -0
  713. package/dist/hooks/use-strict-memo.js +121 -0
  714. package/dist/hooks/use-strict-memo.js.map +1 -0
  715. package/dist/index-D9ysacya.d.ts +153 -0
  716. package/dist/index-D9ysacya.d.ts.map +1 -0
  717. package/dist/index.d.ts +5 -0
  718. package/dist/index.js +37 -0
  719. package/dist/interface/admin-interface.d.ts +308 -0
  720. package/dist/interface/admin-interface.d.ts.map +1 -0
  721. package/dist/interface/admin-interface.js +465 -0
  722. package/dist/interface/admin-interface.js.map +1 -0
  723. package/dist/interface/admin-metrics.d.ts +597 -0
  724. package/dist/interface/admin-metrics.d.ts.map +1 -0
  725. package/dist/interface/admin-metrics.js +153 -0
  726. package/dist/interface/admin-metrics.js.map +1 -0
  727. package/dist/interface/client-interface.d.ts +447 -0
  728. package/dist/interface/client-interface.d.ts.map +1 -0
  729. package/dist/interface/client-interface.js +1948 -0
  730. package/dist/interface/client-interface.js.map +1 -0
  731. package/dist/interface/client-interface.test.d.ts +1 -0
  732. package/dist/interface/client-interface.test.js +559 -0
  733. package/dist/interface/client-interface.test.js.map +1 -0
  734. package/dist/interface/conversations.d.ts +314 -0
  735. package/dist/interface/conversations.d.ts.map +1 -0
  736. package/dist/interface/conversations.js +121 -0
  737. package/dist/interface/conversations.js.map +1 -0
  738. package/dist/interface/crud/analytics.d.ts +14 -0
  739. package/dist/interface/crud/analytics.d.ts.map +1 -0
  740. package/dist/interface/crud/analytics.js +0 -0
  741. package/dist/interface/crud/connected-accounts.d.ts +68 -0
  742. package/dist/interface/crud/connected-accounts.d.ts.map +1 -0
  743. package/dist/interface/crud/connected-accounts.js +41 -0
  744. package/dist/interface/crud/connected-accounts.js.map +1 -0
  745. package/dist/interface/crud/contact-channels.d.ts +181 -0
  746. package/dist/interface/crud/contact-channels.d.ts.map +1 -0
  747. package/dist/interface/crud/contact-channels.js +76 -0
  748. package/dist/interface/crud/contact-channels.js.map +1 -0
  749. package/dist/interface/crud/current-user.d.ts +285 -0
  750. package/dist/interface/crud/current-user.d.ts.map +1 -0
  751. package/dist/interface/crud/current-user.js +71 -0
  752. package/dist/interface/crud/current-user.js.map +1 -0
  753. package/dist/interface/crud/email-outbox.d.ts +1465 -0
  754. package/dist/interface/crud/email-outbox.d.ts.map +1 -0
  755. package/dist/interface/crud/email-outbox.js +195 -0
  756. package/dist/interface/crud/email-outbox.js.map +1 -0
  757. package/dist/interface/crud/email-templates.d.ts +85 -0
  758. package/dist/interface/crud/email-templates.d.ts.map +1 -0
  759. package/dist/interface/crud/email-templates.js +53 -0
  760. package/dist/interface/crud/email-templates.js.map +1 -0
  761. package/dist/interface/crud/emails.d.ts +41 -0
  762. package/dist/interface/crud/emails.d.ts.map +1 -0
  763. package/dist/interface/crud/emails.js +23 -0
  764. package/dist/interface/crud/emails.js.map +1 -0
  765. package/dist/interface/crud/internal-api-keys.d.ts +140 -0
  766. package/dist/interface/crud/internal-api-keys.d.ts.map +1 -0
  767. package/dist/interface/crud/internal-api-keys.js +56 -0
  768. package/dist/interface/crud/internal-api-keys.js.map +1 -0
  769. package/dist/interface/crud/invoices.d.ts +43 -0
  770. package/dist/interface/crud/invoices.d.ts.map +1 -0
  771. package/dist/interface/crud/invoices.js +28 -0
  772. package/dist/interface/crud/invoices.js.map +1 -0
  773. package/dist/interface/crud/items.d.ts +30 -0
  774. package/dist/interface/crud/items.d.ts.map +1 -0
  775. package/dist/interface/crud/items.js +25 -0
  776. package/dist/interface/crud/items.js.map +1 -0
  777. package/dist/interface/crud/notification-preferences.d.ts +38 -0
  778. package/dist/interface/crud/notification-preferences.d.ts.map +1 -0
  779. package/dist/interface/crud/notification-preferences.js +33 -0
  780. package/dist/interface/crud/notification-preferences.js.map +1 -0
  781. package/dist/interface/crud/oauth-providers.d.ts +186 -0
  782. package/dist/interface/crud/oauth-providers.d.ts.map +1 -0
  783. package/dist/interface/crud/oauth-providers.js +83 -0
  784. package/dist/interface/crud/oauth-providers.js.map +1 -0
  785. package/dist/interface/crud/products.d.ts +182 -0
  786. package/dist/interface/crud/products.d.ts.map +1 -0
  787. package/dist/interface/crud/products.js +32 -0
  788. package/dist/interface/crud/products.js.map +1 -0
  789. package/dist/interface/crud/project-api-keys.d.ts +203 -0
  790. package/dist/interface/crud/project-api-keys.d.ts.map +1 -0
  791. package/dist/interface/crud/project-api-keys.js +79 -0
  792. package/dist/interface/crud/project-api-keys.js.map +1 -0
  793. package/dist/interface/crud/project-permissions.d.ts +161 -0
  794. package/dist/interface/crud/project-permissions.d.ts.map +1 -0
  795. package/dist/interface/crud/project-permissions.js +116 -0
  796. package/dist/interface/crud/project-permissions.js.map +1 -0
  797. package/dist/interface/crud/projects.d.ts +851 -0
  798. package/dist/interface/crud/projects.d.ts.map +1 -0
  799. package/dist/interface/crud/projects.js +204 -0
  800. package/dist/interface/crud/projects.js.map +1 -0
  801. package/dist/interface/crud/session-replays.d.ts +83 -0
  802. package/dist/interface/crud/session-replays.d.ts.map +1 -0
  803. package/dist/interface/crud/session-replays.js +0 -0
  804. package/dist/interface/crud/sessions.d.ts +150 -0
  805. package/dist/interface/crud/sessions.d.ts.map +1 -0
  806. package/dist/interface/crud/sessions.js +62 -0
  807. package/dist/interface/crud/sessions.js.map +1 -0
  808. package/dist/interface/crud/sign-up-rules.d.ts +15 -0
  809. package/dist/interface/crud/sign-up-rules.d.ts.map +1 -0
  810. package/dist/interface/crud/sign-up-rules.js +0 -0
  811. package/dist/interface/crud/svix-token.d.ts +31 -0
  812. package/dist/interface/crud/svix-token.d.ts.map +1 -0
  813. package/dist/interface/crud/svix-token.js +22 -0
  814. package/dist/interface/crud/svix-token.js.map +1 -0
  815. package/dist/interface/crud/team-invitation-details.d.ts +31 -0
  816. package/dist/interface/crud/team-invitation-details.d.ts.map +1 -0
  817. package/dist/interface/crud/team-invitation-details.js +24 -0
  818. package/dist/interface/crud/team-invitation-details.js.map +1 -0
  819. package/dist/interface/crud/team-invitation.d.ts +54 -0
  820. package/dist/interface/crud/team-invitation.d.ts.map +1 -0
  821. package/dist/interface/crud/team-invitation.js +40 -0
  822. package/dist/interface/crud/team-invitation.js.map +1 -0
  823. package/dist/interface/crud/team-member-profiles.d.ts +286 -0
  824. package/dist/interface/crud/team-member-profiles.d.ts.map +1 -0
  825. package/dist/interface/crud/team-member-profiles.js +63 -0
  826. package/dist/interface/crud/team-member-profiles.js.map +1 -0
  827. package/dist/interface/crud/team-memberships.d.ts +75 -0
  828. package/dist/interface/crud/team-memberships.d.ts.map +1 -0
  829. package/dist/interface/crud/team-memberships.js +61 -0
  830. package/dist/interface/crud/team-memberships.js.map +1 -0
  831. package/dist/interface/crud/team-permissions.d.ts +169 -0
  832. package/dist/interface/crud/team-permissions.d.ts.map +1 -0
  833. package/dist/interface/crud/team-permissions.js +117 -0
  834. package/dist/interface/crud/team-permissions.js.map +1 -0
  835. package/dist/interface/crud/teams.d.ts +299 -0
  836. package/dist/interface/crud/teams.d.ts.map +1 -0
  837. package/dist/interface/crud/teams.js +142 -0
  838. package/dist/interface/crud/teams.js.map +1 -0
  839. package/dist/interface/crud/transactions.d.ts +183 -0
  840. package/dist/interface/crud/transactions.d.ts.map +1 -0
  841. package/dist/interface/crud/transactions.js +89 -0
  842. package/dist/interface/crud/transactions.js.map +1 -0
  843. package/dist/interface/crud/users.d.ts +653 -0
  844. package/dist/interface/crud/users.d.ts.map +1 -0
  845. package/dist/interface/crud/users.js +193 -0
  846. package/dist/interface/crud/users.js.map +1 -0
  847. package/dist/interface/handler-urls.d.ts +51 -0
  848. package/dist/interface/handler-urls.d.ts.map +1 -0
  849. package/dist/interface/handler-urls.js +16 -0
  850. package/dist/interface/page-component-versions.d.ts +25 -0
  851. package/dist/interface/page-component-versions.d.ts.map +1 -0
  852. package/dist/interface/page-component-versions.js +1664 -0
  853. package/dist/interface/page-component-versions.js.map +1 -0
  854. package/dist/interface/server-interface.d.ts +255 -0
  855. package/dist/interface/server-interface.d.ts.map +1 -0
  856. package/dist/interface/server-interface.js +461 -0
  857. package/dist/interface/server-interface.js.map +1 -0
  858. package/dist/interface/webhooks.d.ts +326 -0
  859. package/dist/interface/webhooks.d.ts.map +1 -0
  860. package/dist/interface/webhooks.js +24 -0
  861. package/dist/interface/webhooks.js.map +1 -0
  862. package/dist/known-errors.d.ts +575 -0
  863. package/dist/known-errors.d.ts.map +1 -0
  864. package/dist/known-errors.js +794 -0
  865. package/dist/known-errors.js.map +1 -0
  866. package/dist/local-emulator.d.ts +6 -0
  867. package/dist/local-emulator.d.ts.map +1 -0
  868. package/dist/local-emulator.js +10 -0
  869. package/dist/local-emulator.js.map +1 -0
  870. package/dist/payments/payment-methods.d.ts +64 -0
  871. package/dist/payments/payment-methods.d.ts.map +1 -0
  872. package/dist/payments/payment-methods.js +216 -0
  873. package/dist/payments/payment-methods.js.map +1 -0
  874. package/dist/payments/stripe-limits.d.ts +17 -0
  875. package/dist/payments/stripe-limits.d.ts.map +1 -0
  876. package/dist/payments/stripe-limits.js +20 -0
  877. package/dist/payments/stripe-limits.js.map +1 -0
  878. package/dist/plans.d.ts +72 -0
  879. package/dist/plans.d.ts.map +1 -0
  880. package/dist/plans.js +88 -0
  881. package/dist/plans.js.map +1 -0
  882. package/dist/schema-fields.d.ts +472 -0
  883. package/dist/schema-fields.d.ts.map +1 -0
  884. package/dist/schema-fields.js +1188 -0
  885. package/dist/schema-fields.js.map +1 -0
  886. package/dist/sessions.d.ts +165 -0
  887. package/dist/sessions.d.ts.map +1 -0
  888. package/dist/sessions.js +231 -0
  889. package/dist/sessions.js.map +1 -0
  890. package/dist/stack-config-file.d.ts +15 -0
  891. package/dist/stack-config-file.d.ts.map +1 -0
  892. package/dist/stack-config-file.js +82 -0
  893. package/dist/stack-config-file.js.map +1 -0
  894. package/dist/utils/api-keys.d.ts +26 -0
  895. package/dist/utils/api-keys.d.ts.map +1 -0
  896. package/dist/utils/api-keys.js +82 -0
  897. package/dist/utils/api-keys.js.map +1 -0
  898. package/dist/utils/arrays.d.ts +25 -0
  899. package/dist/utils/arrays.d.ts.map +1 -0
  900. package/dist/utils/arrays.js +569 -0
  901. package/dist/utils/arrays.js.map +1 -0
  902. package/dist/utils/auth-methods.d.ts +6 -0
  903. package/dist/utils/auth-methods.d.ts.map +1 -0
  904. package/dist/utils/auth-methods.js +13 -0
  905. package/dist/utils/auth-methods.js.map +1 -0
  906. package/dist/utils/base64.d.ts +6 -0
  907. package/dist/utils/base64.d.ts.map +1 -0
  908. package/dist/utils/base64.js +28 -0
  909. package/dist/utils/base64.js.map +1 -0
  910. package/dist/utils/booleans.d.ts +8 -0
  911. package/dist/utils/booleans.d.ts.map +1 -0
  912. package/dist/utils/booleans.js +38 -0
  913. package/dist/utils/booleans.js.map +1 -0
  914. package/dist/utils/browser-compat.d.ts +10 -0
  915. package/dist/utils/browser-compat.d.ts.map +1 -0
  916. package/dist/utils/browser-compat.js +23 -0
  917. package/dist/utils/browser-compat.js.map +1 -0
  918. package/dist/utils/bytes.d.ts +17 -0
  919. package/dist/utils/bytes.d.ts.map +1 -0
  920. package/dist/utils/bytes.js +304 -0
  921. package/dist/utils/bytes.js.map +1 -0
  922. package/dist/utils/caches.d.ts +102 -0
  923. package/dist/utils/caches.d.ts.map +1 -0
  924. package/dist/utils/caches.js +188 -0
  925. package/dist/utils/caches.js.map +1 -0
  926. package/dist/utils/cel-fields.d.ts +23 -0
  927. package/dist/utils/cel-fields.d.ts.map +1 -0
  928. package/dist/utils/cel-fields.js +108 -0
  929. package/dist/utils/cel-fields.js.map +1 -0
  930. package/dist/utils/compile-time.d.ts +10 -0
  931. package/dist/utils/compile-time.d.ts.map +1 -0
  932. package/dist/utils/compile-time.js +16 -0
  933. package/dist/utils/compile-time.js.map +1 -0
  934. package/dist/utils/country-codes.d.ts +11 -0
  935. package/dist/utils/country-codes.d.ts.map +1 -0
  936. package/dist/utils/country-codes.js +40 -0
  937. package/dist/utils/country-codes.js.map +1 -0
  938. package/dist/utils/crypto.d.ts +48 -0
  939. package/dist/utils/crypto.d.ts.map +1 -0
  940. package/dist/utils/crypto.js +215 -0
  941. package/dist/utils/crypto.js.map +1 -0
  942. package/dist/utils/currencies.d.ts +8 -0
  943. package/dist/utils/currencies.d.ts.map +1 -0
  944. package/dist/utils/currencies.js +52 -0
  945. package/dist/utils/currencies.js.map +1 -0
  946. package/dist/utils/currency-constants.d.ts +39 -0
  947. package/dist/utils/currency-constants.d.ts.map +1 -0
  948. package/dist/utils/currency-constants.js +44 -0
  949. package/dist/utils/currency-constants.js.map +1 -0
  950. package/dist/utils/dates.d.ts +23 -0
  951. package/dist/utils/dates.d.ts.map +1 -0
  952. package/dist/utils/dates.js +176 -0
  953. package/dist/utils/dates.js.map +1 -0
  954. package/dist/utils/dev-env-state-path.d.ts +6 -0
  955. package/dist/utils/dev-env-state-path.d.ts.map +1 -0
  956. package/dist/utils/dev-env-state-path.js +18 -0
  957. package/dist/utils/dev-env-state-path.js.map +1 -0
  958. package/dist/utils/dom.d.ts +5 -0
  959. package/dist/utils/dom.d.ts.map +1 -0
  960. package/dist/utils/dom.js +13 -0
  961. package/dist/utils/dom.js.map +1 -0
  962. package/dist/utils/env.d.ts +25 -0
  963. package/dist/utils/env.d.ts.map +1 -0
  964. package/dist/utils/env.js +85 -0
  965. package/dist/utils/env.js.map +1 -0
  966. package/dist/utils/errors.d.ts +231 -0
  967. package/dist/utils/errors.d.ts.map +1 -0
  968. package/dist/utils/errors.js +393 -0
  969. package/dist/utils/errors.js.map +1 -0
  970. package/dist/utils/esbuild.d.ts +16 -0
  971. package/dist/utils/esbuild.d.ts.map +1 -0
  972. package/dist/utils/esbuild.js +186 -0
  973. package/dist/utils/esbuild.js.map +1 -0
  974. package/dist/utils/featurebase.d.ts +30 -0
  975. package/dist/utils/featurebase.d.ts.map +1 -0
  976. package/dist/utils/featurebase.js +168 -0
  977. package/dist/utils/featurebase.js.map +1 -0
  978. package/dist/utils/fs.d.ts +9 -0
  979. package/dist/utils/fs.d.ts.map +1 -0
  980. package/dist/utils/fs.js +31 -0
  981. package/dist/utils/fs.js.map +1 -0
  982. package/dist/utils/functions.d.ts +6 -0
  983. package/dist/utils/functions.d.ts.map +1 -0
  984. package/dist/utils/functions.js +37 -0
  985. package/dist/utils/functions.js.map +1 -0
  986. package/dist/utils/geo.d.ts +24 -0
  987. package/dist/utils/geo.d.ts.map +1 -0
  988. package/dist/utils/geo.js +18 -0
  989. package/dist/utils/geo.js.map +1 -0
  990. package/dist/utils/globals.d.ts +13 -0
  991. package/dist/utils/globals.d.ts.map +1 -0
  992. package/dist/utils/globals.js +40 -0
  993. package/dist/utils/globals.js.map +1 -0
  994. package/dist/utils/hashes.d.ts +9 -0
  995. package/dist/utils/hashes.d.ts.map +1 -0
  996. package/dist/utils/hashes.js +47 -0
  997. package/dist/utils/hashes.js.map +1 -0
  998. package/dist/utils/html.d.ts +7 -0
  999. package/dist/utils/html.d.ts.map +1 -0
  1000. package/dist/utils/html.js +37 -0
  1001. package/dist/utils/html.js.map +1 -0
  1002. package/dist/utils/http.d.ts +45 -0
  1003. package/dist/utils/http.d.ts.map +1 -0
  1004. package/dist/utils/http.js +79 -0
  1005. package/dist/utils/http.js.map +1 -0
  1006. package/dist/utils/ips.d.ts +8 -0
  1007. package/dist/utils/ips.d.ts.map +1 -0
  1008. package/dist/utils/ips.js +40 -0
  1009. package/dist/utils/ips.js.map +1 -0
  1010. package/dist/utils/json.d.ts +15 -0
  1011. package/dist/utils/json.d.ts.map +1 -0
  1012. package/dist/utils/json.js +182 -0
  1013. package/dist/utils/json.js.map +1 -0
  1014. package/dist/utils/jsx-editable-transpiler.d.ts +68 -0
  1015. package/dist/utils/jsx-editable-transpiler.d.ts.map +1 -0
  1016. package/dist/utils/jsx-editable-transpiler.js +223 -0
  1017. package/dist/utils/jsx-editable-transpiler.js.map +1 -0
  1018. package/dist/utils/jsx-editable-transpiler.test.d.ts +1 -0
  1019. package/dist/utils/jsx-editable-transpiler.test.js +122 -0
  1020. package/dist/utils/jsx-editable-transpiler.test.js.map +1 -0
  1021. package/dist/utils/jwt.d.ts +79 -0
  1022. package/dist/utils/jwt.d.ts.map +1 -0
  1023. package/dist/utils/jwt.js +112 -0
  1024. package/dist/utils/jwt.js.map +1 -0
  1025. package/dist/utils/locks.d.ts +17 -0
  1026. package/dist/utils/locks.d.ts.map +1 -0
  1027. package/dist/utils/locks.js +56 -0
  1028. package/dist/utils/locks.js.map +1 -0
  1029. package/dist/utils/maps.d.ts +61 -0
  1030. package/dist/utils/maps.d.ts.map +1 -0
  1031. package/dist/utils/maps.js +302 -0
  1032. package/dist/utils/maps.js.map +1 -0
  1033. package/dist/utils/math.d.ts +8 -0
  1034. package/dist/utils/math.d.ts.map +1 -0
  1035. package/dist/utils/math.js +23 -0
  1036. package/dist/utils/math.js.map +1 -0
  1037. package/dist/utils/monkey-patch.d.ts +7 -0
  1038. package/dist/utils/monkey-patch.d.ts.map +1 -0
  1039. package/dist/utils/monkey-patch.js +25 -0
  1040. package/dist/utils/monkey-patch.js.map +1 -0
  1041. package/dist/utils/node-http.d.ts +17 -0
  1042. package/dist/utils/node-http.d.ts.map +1 -0
  1043. package/dist/utils/node-http.js +40 -0
  1044. package/dist/utils/node-http.js.map +1 -0
  1045. package/dist/utils/numbers.d.ts +7 -0
  1046. package/dist/utils/numbers.d.ts.map +1 -0
  1047. package/dist/utils/numbers.js +79 -0
  1048. package/dist/utils/numbers.js.map +1 -0
  1049. package/dist/utils/oauth.d.ts +11 -0
  1050. package/dist/utils/oauth.d.ts.map +1 -0
  1051. package/dist/utils/oauth.js +32 -0
  1052. package/dist/utils/oauth.js.map +1 -0
  1053. package/dist/utils/objects.d.ts +59 -0
  1054. package/dist/utils/objects.d.ts.map +1 -0
  1055. package/dist/utils/objects.js +846 -0
  1056. package/dist/utils/objects.js.map +1 -0
  1057. package/dist/utils/paginated-lists.d.ts +442 -0
  1058. package/dist/utils/paginated-lists.d.ts.map +1 -0
  1059. package/dist/utils/paginated-lists.js +414 -0
  1060. package/dist/utils/paginated-lists.js.map +1 -0
  1061. package/dist/utils/paginated-lists.test.d.ts +1 -0
  1062. package/dist/utils/paginated-lists.test.js +1304 -0
  1063. package/dist/utils/paginated-lists.test.js.map +1 -0
  1064. package/dist/utils/passkey.d.ts +2 -0
  1065. package/dist/utils/passkey.js +0 -0
  1066. package/dist/utils/promises.d.ts +80 -0
  1067. package/dist/utils/promises.d.ts.map +1 -0
  1068. package/dist/utils/promises.js +349 -0
  1069. package/dist/utils/promises.js.map +1 -0
  1070. package/dist/utils/proxies.d.ts +13 -0
  1071. package/dist/utils/proxies.d.ts.map +1 -0
  1072. package/dist/utils/proxies.js +201 -0
  1073. package/dist/utils/proxies.js.map +1 -0
  1074. package/dist/utils/react.d.ts +61 -0
  1075. package/dist/utils/react.d.ts.map +1 -0
  1076. package/dist/utils/react.js +243 -0
  1077. package/dist/utils/react.js.map +1 -0
  1078. package/dist/utils/redirect-urls.d.ts +30 -0
  1079. package/dist/utils/redirect-urls.d.ts.map +1 -0
  1080. package/dist/utils/redirect-urls.js +222 -0
  1081. package/dist/utils/redirect-urls.js.map +1 -0
  1082. package/dist/utils/regex.d.ts +5 -0
  1083. package/dist/utils/regex.d.ts.map +1 -0
  1084. package/dist/utils/regex.js +15 -0
  1085. package/dist/utils/regex.js.map +1 -0
  1086. package/dist/utils/results.d.ts +70 -0
  1087. package/dist/utils/results.d.ts.map +1 -0
  1088. package/dist/utils/results.js +342 -0
  1089. package/dist/utils/results.js.map +1 -0
  1090. package/dist/utils/sentry.d.ts +13 -0
  1091. package/dist/utils/sentry.d.ts.map +1 -0
  1092. package/dist/utils/sentry.js +16 -0
  1093. package/dist/utils/sentry.js.map +1 -0
  1094. package/dist/utils/stores.d.ts +104 -0
  1095. package/dist/utils/stores.d.ts.map +1 -0
  1096. package/dist/utils/stores.js +179 -0
  1097. package/dist/utils/stores.js.map +1 -0
  1098. package/dist/utils/strings.d.ts +76 -0
  1099. package/dist/utils/strings.d.ts.map +1 -0
  1100. package/dist/utils/strings.js +549 -0
  1101. package/dist/utils/strings.js.map +1 -0
  1102. package/dist/utils/strings.nicify.test.d.ts +1 -0
  1103. package/dist/utils/strings.nicify.test.js +243 -0
  1104. package/dist/utils/strings.nicify.test.js.map +1 -0
  1105. package/dist/utils/telemetry.d.ts +15 -0
  1106. package/dist/utils/telemetry.d.ts.map +1 -0
  1107. package/dist/utils/telemetry.js +35 -0
  1108. package/dist/utils/telemetry.js.map +1 -0
  1109. package/dist/utils/turnstile-browser.d.ts +32 -0
  1110. package/dist/utils/turnstile-browser.d.ts.map +1 -0
  1111. package/dist/utils/turnstile-browser.js +65 -0
  1112. package/dist/utils/turnstile-browser.js.map +1 -0
  1113. package/dist/utils/turnstile-flow.d.ts +29 -0
  1114. package/dist/utils/turnstile-flow.d.ts.map +1 -0
  1115. package/dist/utils/turnstile-flow.js +225 -0
  1116. package/dist/utils/turnstile-flow.js.map +1 -0
  1117. package/dist/utils/turnstile-flow.test.d.ts +1 -0
  1118. package/dist/utils/turnstile-flow.test.js +75 -0
  1119. package/dist/utils/turnstile-flow.test.js.map +1 -0
  1120. package/dist/utils/turnstile.d.ts +17 -0
  1121. package/dist/utils/turnstile.d.ts.map +1 -0
  1122. package/dist/utils/turnstile.js +31 -0
  1123. package/dist/utils/turnstile.js.map +1 -0
  1124. package/dist/utils/typed-arrays.d.ts +14 -0
  1125. package/dist/utils/typed-arrays.d.ts.map +1 -0
  1126. package/dist/utils/typed-arrays.js +22 -0
  1127. package/dist/utils/typed-arrays.js.map +1 -0
  1128. package/dist/utils/types.d.ts +77 -0
  1129. package/dist/utils/types.d.ts.map +1 -0
  1130. package/dist/utils/types.js +59 -0
  1131. package/dist/utils/types.js.map +1 -0
  1132. package/dist/utils/unicode.d.ts +5 -0
  1133. package/dist/utils/unicode.d.ts.map +1 -0
  1134. package/dist/utils/unicode.js +26 -0
  1135. package/dist/utils/unicode.js.map +1 -0
  1136. package/dist/utils/urls.d.ts +28 -0
  1137. package/dist/utils/urls.d.ts.map +1 -0
  1138. package/dist/utils/urls.js +274 -0
  1139. package/dist/utils/urls.js.map +1 -0
  1140. package/dist/utils/uuids.d.ts +6 -0
  1141. package/dist/utils/uuids.d.ts.map +1 -0
  1142. package/dist/utils/uuids.js +39 -0
  1143. package/dist/utils/uuids.js.map +1 -0
  1144. package/package.json +99 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"objects.js","names":[],"sources":["../../src/utils/objects.tsx"],"sourcesContent":["import { HexclaveAssertionError } from \"./errors\";\nimport { identity } from \"./functions\";\nimport { stringCompare } from \"./strings\";\nimport { typeAssertIs } from \"./types\";\n\nexport function isNotNull<T>(value: T): value is NonNullable<T> {\n return value !== null && value !== undefined;\n}\nimport.meta.vitest?.test(\"isNotNull\", ({ expect }) => {\n expect(isNotNull(null)).toBe(false);\n expect(isNotNull(undefined)).toBe(false);\n expect(isNotNull(0)).toBe(true);\n expect(isNotNull(\"\")).toBe(true);\n expect(isNotNull(false)).toBe(true);\n expect(isNotNull({})).toBe(true);\n expect(isNotNull([])).toBe(true);\n});\n\nexport type DeepPartial<T> = T extends object ? (T extends any[] ? { [P in keyof T]: DeepPartial<T[P]> } : { [P in keyof T]?: DeepPartial<T[P]> }) : T;\nexport type DeepRequired<T> = T extends object ? { [P in keyof T]-?: DeepRequired<T[P]> } : T;\nexport type DeepRequiredOrUndefined<T> = T extends object ? { [P in keyof { [K in keyof T]-?: K}]: DeepRequiredOrUndefined<T[P]> } : T;\n\n\n/**\n * Assumes both objects are primitives, arrays, or non-function plain objects, and compares them deeply.\n *\n * Note that since they are assumed to be plain objects, this function does not compare prototypes.\n */\nexport function deepPlainEquals<T>(obj1: T, obj2: unknown, options: { ignoreUndefinedValues?: boolean } = {}): obj2 is T {\n if (typeof obj1 !== typeof obj2) return false;\n if (obj1 === obj2) return true;\n\n switch (typeof obj1) {\n case 'object': {\n if (!obj1 || !obj2) return false;\n\n if (Array.isArray(obj1) || Array.isArray(obj2)) {\n if (!Array.isArray(obj1) || !Array.isArray(obj2)) return false;\n if (obj1.length !== obj2.length) return false;\n return obj1.every((v, i) => deepPlainEquals(v, obj2[i], options));\n }\n\n const entries1 = Object.entries(obj1).filter(([k, v]) => !options.ignoreUndefinedValues || v !== undefined);\n const entries2 = Object.entries(obj2).filter(([k, v]) => !options.ignoreUndefinedValues || v !== undefined);\n if (entries1.length !== entries2.length) return false;\n return entries1.every(([k, v1]) => {\n const e2 = entries2.find(([k2]) => k === k2);\n if (!e2) return false;\n return deepPlainEquals(v1, e2[1], options);\n });\n }\n case 'undefined':\n case 'string':\n case 'number':\n case 'boolean':\n case 'bigint':\n case 'symbol':\n case 'function':{\n return false;\n }\n default: {\n throw new Error(\"Unexpected typeof \" + typeof obj1);\n }\n }\n}\nimport.meta.vitest?.test(\"deepPlainEquals\", ({ expect }) => {\n // Simple values\n expect(deepPlainEquals(1, 1)).toBe(true);\n expect(deepPlainEquals(\"test\", \"test\")).toBe(true);\n expect(deepPlainEquals(1, 2)).toBe(false);\n expect(deepPlainEquals(\"test\", \"other\")).toBe(false);\n\n // Arrays\n expect(deepPlainEquals([1, 2, 3], [1, 2, 3])).toBe(true);\n expect(deepPlainEquals([1, 2, 3], [1, 2, 4])).toBe(false);\n expect(deepPlainEquals([1, 2, 3], [1, 2])).toBe(false);\n\n // Objects\n expect(deepPlainEquals({ a: 1, b: 2 }, { a: 1, b: 2 })).toBe(true);\n expect(deepPlainEquals({ a: 1, b: 2 }, { a: 1, b: 3 })).toBe(false);\n expect(deepPlainEquals({ a: 1, b: 2 }, { a: 1 })).toBe(false);\n\n // Nested structures\n expect(deepPlainEquals({ a: 1, b: [1, 2, { c: 3 }] }, { a: 1, b: [1, 2, { c: 3 }] })).toBe(true);\n expect(deepPlainEquals({ a: 1, b: [1, 2, { c: 3 }] }, { a: 1, b: [1, 2, { c: 4 }] })).toBe(false);\n\n // With options\n expect(deepPlainEquals({ a: 1, b: undefined }, { a: 1 }, { ignoreUndefinedValues: true })).toBe(true);\n expect(deepPlainEquals({ a: 1, b: undefined }, { a: 1 })).toBe(false);\n});\n\nexport function isCloneable<T>(obj: T): obj is Exclude<T, symbol | Function> {\n return typeof obj !== 'symbol' && typeof obj !== 'function';\n}\n\nexport function shallowClone<T extends object>(obj: T): T {\n if (!isCloneable(obj)) throw new HexclaveAssertionError(\"shallowClone does not support symbols or functions\", { obj });\n\n if (Array.isArray(obj)) return obj.map(identity) as T;\n return { ...obj };\n}\nimport.meta.vitest?.test(\"shallowClone\", ({ expect }) => {\n expect(shallowClone({ a: 1, b: 2 })).toEqual({ a: 1, b: 2 });\n expect(shallowClone([1, 2, 3])).toEqual([1, 2, 3]);\n expect(() => shallowClone(() => {})).toThrow();\n});\n\nexport function deepPlainClone<T>(obj: T): T {\n if (typeof obj === 'function') throw new HexclaveAssertionError(\"deepPlainClone does not support functions\");\n if (typeof obj === 'symbol') throw new HexclaveAssertionError(\"deepPlainClone does not support symbols\");\n if (typeof obj !== 'object' || !obj) return obj;\n if (Array.isArray(obj)) return obj.map(deepPlainClone) as any;\n return Object.fromEntries(Object.entries(obj).map(([k, v]) => [k, deepPlainClone(v)])) as any;\n}\nimport.meta.vitest?.test(\"deepPlainClone\", ({ expect }) => {\n // Primitive values\n expect(deepPlainClone(1)).toBe(1);\n expect(deepPlainClone(\"test\")).toBe(\"test\");\n expect(deepPlainClone(null)).toBe(null);\n expect(deepPlainClone(undefined)).toBe(undefined);\n\n // Arrays\n const arr = [1, 2, 3];\n const clonedArr = deepPlainClone(arr);\n expect(clonedArr).toEqual(arr);\n expect(clonedArr).not.toBe(arr); // Different reference\n\n // Objects\n const obj = { a: 1, b: 2 };\n const clonedObj = deepPlainClone(obj);\n expect(clonedObj).toEqual(obj);\n expect(clonedObj).not.toBe(obj); // Different reference\n\n // Nested structures\n const nested = { a: 1, b: [1, 2, { c: 3 }] };\n const clonedNested = deepPlainClone(nested);\n expect(clonedNested).toEqual(nested);\n expect(clonedNested).not.toBe(nested); // Different reference\n expect(clonedNested.b).not.toBe(nested.b); // Different reference for nested array\n expect(clonedNested.b[2]).not.toBe(nested.b[2]); // Different reference for nested object\n\n // Error cases\n expect(() => deepPlainClone(() => {})).toThrow();\n expect(() => deepPlainClone(Symbol())).toThrow();\n});\n\nexport type DeepMerge<T, U> = U extends any ? DeepMergeNonDistributive<T, U> : never; // distributive conditional type https://www.typescriptlang.org/docs/handbook/2/conditional-types.html#distributive-conditional-types\ntype DeepMergeNonDistributive<T, U> = Omit<T, keyof U> & Omit<U, keyof T> & DeepMergeInner<Pick<T, keyof U & keyof T>, Pick<U, keyof U & keyof T>>;\ntype DeepMergeInner<T, U> = {\n [K in { [Ki in keyof U]-?: Ki }[keyof U]]: // we use this weird construct instead of just `keyof U` because TypeScript automatically removes the `undefined` key when using `-?` as a modifier; this is a workaround to make TypeScript not recognize the -? and for us to get the `undefined` key back\n undefined extends U[K]\n ? K extends keyof T\n ? T[K] extends object\n ? Exclude<U[K], undefined> extends object\n ? DeepMerge<T[K], Exclude<U[K], undefined>>\n : T[K] | Exclude<U[K], undefined>\n : T[K] | Exclude<U[K], undefined>\n : Exclude<U[K], undefined>\n : K extends keyof T\n ? T[K] extends object\n ? U[K] extends object\n ? DeepMerge<T[K], U[K]>\n : U[K]\n : U[K]\n : U[K];\n};\nexport function deepMerge<T extends {}, U extends {}>(baseObj: T, mergeObj: U): DeepMerge<T, U> {\n if ([baseObj, mergeObj, ...Object.values(baseObj), ...Object.values(mergeObj)].some(o => !isCloneable(o))) throw new HexclaveAssertionError(\"deepMerge does not support functions or symbols\", { baseObj, mergeObj });\n\n const res: any = shallowClone(baseObj);\n for (const [key, mergeValue] of Object.entries(mergeObj)) {\n if (has(res, key as any)) {\n const baseValue = get(res, key as any);\n if (isObjectLike(baseValue) && isObjectLike(mergeValue)) {\n set(res, key, deepMerge(baseValue, mergeValue));\n continue;\n }\n }\n set(res, key, mergeValue);\n }\n return res as any;\n}\nimport.meta.vitest?.test(\"deepMerge\", ({ expect }) => {\n // Test merging flat objects\n expect(deepMerge({ a: 1 }, { b: 2 })).toEqual({ a: 1, b: 2 });\n expect(deepMerge({ a: 1 }, { a: 2 })).toEqual({ a: 2 });\n expect(deepMerge({ a: 1, b: 2 }, { b: 3, c: 4 })).toEqual({ a: 1, b: 3, c: 4 });\n\n // Test with nested objects\n expect(deepMerge(\n { a: { x: 1, y: 2 }, b: 3 },\n { a: { y: 3, z: 4 }, c: 5 }\n )).toEqual({ a: { x: 1, y: 3, z: 4 }, b: 3, c: 5 });\n\n // Test with arrays\n expect(deepMerge(\n { a: [1, 2], b: 3 },\n { a: [3, 4], c: 5 }\n )).toEqual({ a: [3, 4], b: 3, c: 5 });\n\n // Test with null values\n expect(deepMerge(\n { a: { x: 1 }, b: null },\n { a: { y: 2 }, b: { z: 3 } }\n )).toEqual({ a: { x: 1, y: 2 }, b: { z: 3 } });\n\n // Test with undefined values\n expect(deepMerge(\n { a: 1, b: undefined },\n { b: 2, c: 3 }\n )).toEqual({ a: 1, b: 2, c: 3 });\n\n // Test deeply nested structures\n expect(deepMerge(\n {\n a: {\n x: { deep: 1 },\n y: [1, 2]\n },\n b: 2\n },\n {\n a: {\n x: { deeper: 3 },\n y: [3, 4]\n },\n c: 3\n }\n )).toEqual({\n a: {\n x: { deep: 1, deeper: 3 },\n y: [3, 4]\n },\n b: 2,\n c: 3\n });\n\n // Test with empty objects\n expect(deepMerge({}, { a: 1 })).toEqual({ a: 1 });\n expect(deepMerge({ a: 1 }, {})).toEqual({ a: 1 });\n expect(deepMerge({}, {})).toEqual({});\n\n // Test that original objects are not modified\n const base = { a: { x: 1 }, b: 2 };\n const merge = { a: { y: 2 }, c: 3 };\n const baseClone = deepPlainClone(base);\n const mergeClone = deepPlainClone(merge);\n\n const result = deepMerge(base, merge);\n expect(base).toEqual(baseClone);\n expect(merge).toEqual(mergeClone);\n expect(result).toEqual({ a: { x: 1, y: 2 }, b: 2, c: 3 });\n\n // Test error cases\n expect(() => deepMerge({ a: () => {} }, { b: 2 })).toThrow();\n expect(() => deepMerge({ a: 1 }, { b: () => {} })).toThrow();\n expect(() => deepMerge({ a: Symbol() }, { b: 2 })).toThrow();\n expect(() => deepMerge({ a: 1 }, { b: Symbol() })).toThrow();\n});\n\nexport type DeepOmit<T, U> = T extends object ? { [K in keyof T]: K extends keyof U ? (T[K] extends U[K] ? undefined : T[K]) : T[K] } : (T extends U ? undefined : T);\n\nexport function typedEntries<T extends {}>(obj: T): [Exclude<keyof T, number>, T[keyof T]][] {\n return Object.entries(obj) as any;\n}\nimport.meta.vitest?.test(\"typedEntries\", ({ expect }) => {\n expect(typedEntries({})).toEqual([]);\n expect(typedEntries({ a: 1, b: 2 })).toEqual([[\"a\", 1], [\"b\", 2]]);\n expect(typedEntries({ a: \"hello\", b: true, c: null })).toEqual([[\"a\", \"hello\"], [\"b\", true], [\"c\", null]]);\n\n // Test with object containing methods\n const objWithMethod = { a: 1, b: () => \"test\" };\n const entries = typedEntries(objWithMethod);\n expect(entries.length).toBe(2);\n expect(entries[0][0]).toBe(\"a\");\n expect(entries[0][1]).toBe(1);\n expect(entries[1][0]).toBe(\"b\");\n expect(typeof entries[1][1]).toBe(\"function\");\n});\n\nexport function typedFromEntries<K extends PropertyKey, V>(entries: (readonly [K, V])[]): Record<K, V> {\n return Object.fromEntries(entries) as any;\n}\nimport.meta.vitest?.test(\"typedFromEntries\", ({ expect }) => {\n expect(typedFromEntries([])).toEqual({});\n expect(typedFromEntries([[\"a\", 1], [\"b\", 2]])).toEqual({ a: 1, b: 2 });\n\n // Test with mixed types (using type assertion)\n const mixedEntries = [[\"a\", \"hello\"], [\"b\", true], [\"c\", null]] as [string, string | boolean | null][];\n const mixedObj = typedFromEntries(mixedEntries);\n expect(mixedObj).toEqual({ a: \"hello\", b: true, c: null });\n\n // Test with function values\n const fn = () => \"test\";\n type MixedValue = number | (() => string);\n const fnEntries: [string, MixedValue][] = [[\"a\", 1], [\"b\", fn]];\n const obj = typedFromEntries(fnEntries);\n expect(obj.a).toBe(1);\n expect(typeof obj.b).toBe(\"function\");\n // Type assertion needed for the function call\n expect((obj.b as () => string)()).toBe(\"test\");\n});\n\nexport function typedKeys<T extends {}>(obj: T): (Exclude<keyof T, number>)[] {\n return Object.keys(obj) as any;\n}\nimport.meta.vitest?.test(\"typedKeys\", ({ expect }) => {\n expect(typedKeys({})).toEqual([]);\n expect(typedKeys({ a: 1, b: 2 })).toEqual([\"a\", \"b\"]);\n expect(typedKeys({ a: \"hello\", b: true, c: null })).toEqual([\"a\", \"b\", \"c\"]);\n\n // Test with object containing methods\n const objWithMethod = { a: 1, b: () => \"test\" };\n expect(typedKeys(objWithMethod)).toEqual([\"a\", \"b\"]);\n});\n\nexport function typedValues<T extends {}>(obj: T): T[keyof T][] {\n return Object.values(obj) as any;\n}\nimport.meta.vitest?.test(\"typedValues\", ({ expect }) => {\n expect(typedValues({})).toEqual([]);\n expect(typedValues({ a: 1, b: 2 })).toEqual([1, 2]);\n\n // Test with mixed types\n type MixedObj = { a: string, b: boolean, c: null };\n const mixedObj: MixedObj = { a: \"hello\", b: true, c: null };\n expect(typedValues(mixedObj)).toEqual([\"hello\", true, null]);\n\n // Test with object containing methods\n type ObjWithFn = { a: number, b: () => string };\n const fn = () => \"test\";\n const objWithMethod: ObjWithFn = { a: 1, b: fn };\n const values = typedValues(objWithMethod);\n expect(values.length).toBe(2);\n expect(values[0]).toBe(1);\n expect(typeof values[1]).toBe(\"function\");\n // Need to cast to the correct type\n const fnValue = values[1] as () => string;\n expect(fnValue()).toBe(\"test\");\n});\n\nexport function typedAssign<T extends {}, U extends {}>(target: T, source: U): T & U {\n return Object.assign(target, source);\n}\nimport.meta.vitest?.test(\"typedAssign\", ({ expect }) => {\n // Test with empty objects\n const emptyTarget = {};\n const emptyResult = typedAssign(emptyTarget, { a: 1 });\n expect(emptyResult).toEqual({ a: 1 });\n expect(emptyResult).toBe(emptyTarget); // Same reference\n\n // Test with non-empty target\n const target = { a: 1, b: 2 };\n const result = typedAssign(target, { c: 3, d: 4 });\n expect(result).toEqual({ a: 1, b: 2, c: 3, d: 4 });\n expect(result).toBe(target); // Same reference\n\n // Test with overlapping properties\n const targetWithOverlap = { a: 1, b: 2 };\n const resultWithOverlap = typedAssign(targetWithOverlap, { b: 3, c: 4 });\n expect(resultWithOverlap).toEqual({ a: 1, b: 3, c: 4 });\n expect(resultWithOverlap).toBe(targetWithOverlap); // Same reference\n});\n\nexport type FilterUndefined<T> =\n & { [k in keyof T as (undefined extends T[k] ? (T[k] extends undefined | void ? never : k) : never)]+?: T[k] & ({} | null) }\n & { [k in keyof T as (undefined extends T[k] ? never : k)]: T[k] & ({} | null) }\n\n/**\n * Returns a new object with all undefined values removed. Useful when spreading optional parameters on an object, as\n * TypeScript's `Partial<XYZ>` type allows `undefined` values.\n */\nexport function filterUndefined<T extends object>(obj: T): FilterUndefined<T> {\n return Object.fromEntries(Object.entries(obj).filter(([, v]) => v !== undefined)) as any;\n}\nimport.meta.vitest?.test(\"filterUndefined\", ({ expect }) => {\n expect(filterUndefined({})).toEqual({});\n expect(filterUndefined({ a: 1, b: 2 })).toEqual({ a: 1, b: 2 });\n expect(filterUndefined({ a: 1, b: undefined })).toEqual({ a: 1 });\n expect(filterUndefined({ a: undefined, b: undefined })).toEqual({});\n expect(filterUndefined({ a: null, b: undefined })).toEqual({ a: null });\n expect(filterUndefined({ a: 0, b: \"\", c: false, d: undefined })).toEqual({ a: 0, b: \"\", c: false });\n});\n\nexport type FilterUndefinedOrNull<T> = FilterUndefined<{ [k in keyof T]: null extends T[k] ? NonNullable<T[k]> | undefined : T[k] }>;\n\n/**\n * Returns a new object with all undefined and null values removed. Useful when spreading optional parameters on an object, as\n * TypeScript's `Partial<XYZ>` type allows `undefined` values.\n */\nexport function filterUndefinedOrNull<T extends object>(obj: T): FilterUndefinedOrNull<T> {\n return Object.fromEntries(Object.entries(obj).filter(([, v]) => v !== undefined && v !== null)) as any;\n}\nimport.meta.vitest?.test(\"filterUndefinedOrNull\", ({ expect }) => {\n expect(filterUndefinedOrNull({})).toEqual({});\n expect(filterUndefinedOrNull({ a: 1, b: 2 })).toEqual({ a: 1, b: 2 });\n});\n\nexport type DeepFilterUndefined<T> = T extends object ? FilterUndefined<{ [K in keyof T]: DeepFilterUndefined<T[K]> }> : T;\ntypeAssertIs<DeepFilterUndefined<{ a: { b: { c?: undefined, d?: 123 } } }>, { a: { b: { d?: 123 } } }>()();\n\nexport function deepFilterUndefined<T extends object>(obj: T): DeepFilterUndefined<T> {\n return Object.fromEntries(Object.entries(obj).filter(([, v]) => v !== undefined).map(([k, v]) => [k, isObjectLike(v) ? deepFilterUndefined(v) : v])) as any;\n}\nimport.meta.vitest?.test(\"deepFilterUndefined\", ({ expect }) => {\n expect(deepFilterUndefined({ a: 1, b: undefined })).toEqual({ a: 1 });\n});\n\nexport function pick<T extends {}, K extends keyof T>(obj: T, keys: K[]): Pick<T, K> {\n return Object.fromEntries(Object.entries(obj).filter(([k]) => keys.includes(k as K))) as any;\n}\nimport.meta.vitest?.test(\"pick\", ({ expect }) => {\n const obj = { a: 1, b: 2, c: 3, d: 4 };\n expect(pick(obj, [\"a\", \"c\"])).toEqual({ a: 1, c: 3 });\n expect(pick(obj, [])).toEqual({});\n expect(pick(obj, [\"a\", \"e\" as keyof typeof obj])).toEqual({ a: 1 });\n // Use type assertion for empty object to avoid TypeScript error\n expect(pick({} as Record<string, unknown>, [\"a\"])).toEqual({});\n});\n\nexport function omit<T extends {}, K extends keyof T>(obj: T, keys: K[]): Omit<T, K> {\n if (!Array.isArray(keys)) throw new HexclaveAssertionError(\"omit: keys must be an array\", { obj, keys });\n return Object.fromEntries(Object.entries(obj).filter(([k]) => !keys.includes(k as K))) as any;\n}\nimport.meta.vitest?.test(\"omit\", ({ expect }) => {\n const obj = { a: 1, b: 2, c: 3, d: 4 };\n expect(omit(obj, [\"a\", \"c\"])).toEqual({ b: 2, d: 4 });\n expect(omit(obj, [])).toEqual(obj);\n expect(omit(obj, [\"a\", \"e\" as keyof typeof obj])).toEqual({ b: 2, c: 3, d: 4 });\n // Use type assertion for empty object to avoid TypeScript error\n expect(omit({} as Record<string, unknown>, [\"a\"])).toEqual({});\n});\n\nexport function split<T extends {}, K extends keyof T>(obj: T, keys: K[]): [Pick<T, K>, Omit<T, K>] {\n return [pick(obj, keys), omit(obj, keys)];\n}\nimport.meta.vitest?.test(\"split\", ({ expect }) => {\n const obj = { a: 1, b: 2, c: 3, d: 4 };\n expect(split(obj, [\"a\", \"c\"])).toEqual([{ a: 1, c: 3 }, { b: 2, d: 4 }]);\n expect(split(obj, [])).toEqual([{}, obj]);\n expect(split(obj, [\"a\", \"e\" as keyof typeof obj])).toEqual([{ a: 1 }, { b: 2, c: 3, d: 4 }]);\n // Use type assertion for empty object to avoid TypeScript error\n expect(split({} as Record<string, unknown>, [\"a\"])).toEqual([{}, {}]);\n});\n\nexport function mapValues<T extends object, U>(obj: T, fn: (value: T extends (infer E)[] ? E : T[keyof T], key: keyof T) => U): Record<keyof T, U> {\n if (Array.isArray(obj)) {\n return obj.map((v, i) => fn(v, i as keyof T)) as any;\n }\n return Object.fromEntries(Object.entries(obj).map(([k, v]) => [k, fn(v, k as keyof T)])) as any;\n}\nimport.meta.vitest?.test(\"mapValues\", ({ expect }) => {\n expect(mapValues({ a: 1, b: 2 }, v => v * 2)).toEqual({ a: 2, b: 4 });\n expect(mapValues([1, 2, 3], v => v * 2)).toEqual([2, 4, 6]);\n});\n\nexport function sortKeys<T extends object>(obj: T): T {\n if (Array.isArray(obj)) {\n return [...obj] as any;\n }\n return Object.fromEntries(Object.entries(obj).sort(([a], [b]) => stringCompare(a, b))) as any;\n}\nimport.meta.vitest?.test(\"sortKeys\", ({ expect }) => {\n const obj = {\n \"1\": 0,\n \"10\": 1,\n b: 2,\n \"2\": 3,\n a: 4,\n \"-3.33\": 5,\n \"-4\": 6,\n \"-3\": 7,\n abc: 8,\n \"a-b\": 9,\n ab: 10,\n ac: 11,\n aa: 12,\n aab: 13,\n };\n expect(Object.entries(sortKeys(obj))).toEqual([\n [\"1\", 0],\n [\"2\", 3],\n [\"10\", 1],\n [\"-3\", 7],\n [\"-3.33\", 5],\n [\"-4\", 6],\n [\"a\", 4],\n [\"a-b\", 9],\n [\"aa\", 12],\n [\"aab\", 13],\n [\"ab\", 10],\n [\"abc\", 8],\n [\"ac\", 11],\n [\"b\", 2],\n ]);\n});\n\nexport function deepSortKeys<T extends object>(obj: T): T {\n return sortKeys(mapValues(obj, v => isObjectLike(v) ? deepSortKeys(v) : v)) as any;\n}\nimport.meta.vitest?.test(\"deepSortKeys\", ({ expect }) => {\n const obj = {\n h: { i: { k: 9, j: 8 }, l: 10 },\n b: { d: 3, c: 2 },\n a: 1,\n e: [4, 5, { g: 7, f: 6 }],\n };\n const sorted = deepSortKeys(obj);\n expect(Object.entries(sorted)).toEqual([\n [\"a\", 1],\n [\"b\", { c: 2, d: 3 }],\n [\"e\", [4, 5, { f: 6, g: 7 }]],\n [\"h\", { i: { j: 8, k: 9 }, l: 10 }],\n ]);\n expect(Object.entries(sorted.b)).toEqual([\n [\"c\", 2],\n [\"d\", 3],\n ]);\n expect(Object.entries(sorted.e[2])).toEqual([\n [\"f\", 6],\n [\"g\", 7],\n ]);\n expect(Object.entries(sorted.h)).toEqual([\n [\"i\", { j: 8, k: 9 }],\n [\"l\", 10],\n ]);\n expect(Object.entries(sorted.h.i)).toEqual([\n [\"j\", 8],\n [\"k\", 9],\n ]);\n});\n\nexport function set<T extends object, K extends PropertyKey = keyof T>(obj: T, key: K, value: T[K & keyof T]) {\n if (!isObjectLike(obj)) throw new HexclaveAssertionError(`set: obj is not an object (found: ${(obj as any) === null ? \"null\" : typeof obj})`, { obj, key, value });\n Object.defineProperty(obj, key, { value, writable: true, configurable: true, enumerable: true });\n}\n\nexport function get<T extends object, K extends PropertyKey = keyof T>(obj: T, key: K): T[K & keyof T] {\n if ((obj as any) == null) throw new HexclaveAssertionError(\"get: obj is null or undefined\", { obj, key });\n const descriptor = Object.getOwnPropertyDescriptor(obj, key);\n if (!descriptor) throw new HexclaveAssertionError(`get: key ${String(key)} does not exist`, { obj, key });\n return descriptor.value;\n}\n\nexport function getOrUndefined<T extends object, K extends PropertyKey = keyof T>(obj: T, key: K): T[K & keyof T] | undefined {\n if ((obj as any) == null) throw new HexclaveAssertionError(\"getOrUndefined: obj is null or undefined\", { obj, key });\n return has(obj, key) ? get(obj, key) : undefined;\n}\n\nexport function has<T extends object, K extends PropertyKey = keyof T>(obj: T, key: K): obj is T & { [k in K & keyof T]: unknown } {\n if ((obj as any) == null) throw new HexclaveAssertionError(\"has: obj is null or undefined\", { obj, key });\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n\nimport.meta.vitest?.test(\"has\", ({ expect }) => {\n const obj = { a: 1, b: undefined, c: null };\n expect(has(obj, \"a\")).toBe(true);\n expect(has(obj, \"b\")).toBe(true);\n expect(has(obj, \"c\")).toBe(true);\n expect(has(obj, \"d\" as keyof typeof obj)).toBe(false);\n});\n\n\nexport function hasAndNotUndefined<T extends object, K extends keyof T>(obj: T, key: K): obj is T & { [k in K]: Exclude<T[K], undefined> } {\n return has(obj, key) && get(obj, key) !== undefined;\n}\n\nexport function deleteKey<T extends object, K extends keyof T>(obj: T, key: K) {\n if (has(obj, key)) {\n Reflect.deleteProperty(obj, key);\n } else {\n throw new HexclaveAssertionError(`deleteKey: key ${String(key)} does not exist`, { obj, key });\n }\n}\n\n/**\n * Returns true iff the value is an object or a function, but not null.\n */\nexport function isObjectLike(value: unknown): value is object | Function {\n return (typeof value === 'object' || typeof value === 'function') && value !== null;\n}\n"],"mappings":"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"}
@@ -0,0 +1,442 @@
1
+ //#region src/utils/paginated-lists.d.ts
2
+ type QueryOptions<Type extends 'next' | 'prev', Cursor, Filter, OrderBy> = {
3
+ filter: Filter;
4
+ orderBy: OrderBy;
5
+ limit: number;
6
+ /**
7
+ * Whether the limit should be treated as an exact value, or an approximate value.
8
+ *
9
+ * If set to 'exact', less items will only be returned if the list item is the first or last item.
10
+ *
11
+ * If set to 'at-least' or 'approximate', the implementation may decide to return more items than the limit requested if doing so comes at no (or negligible) extra cost.
12
+ *
13
+ * If set to 'at-most' or 'approximate', the implementation may decide to return less items than the limit requested if requesting more items would come at a non-negligible extra cost. In this case, if limit > 0, the implementation must still make progress towards the end of the list and the returned cursor must be different from the one passed in.
14
+ *
15
+ * Defaults to 'exact'.
16
+ */
17
+ limitPrecision: 'exact' | 'at-least' | 'at-most' | 'approximate';
18
+ } & ([Type] extends [never] ? unknown : [Type] extends ['next'] ? {
19
+ after: Cursor;
20
+ } : [Type] extends ['prev'] ? {
21
+ before: Cursor;
22
+ } : {
23
+ cursor: Cursor;
24
+ });
25
+ type ImplQueryOptions<Type extends 'next' | 'prev', Cursor, Filter, OrderBy> = QueryOptions<Type, Cursor, Filter, OrderBy> & {
26
+ limitPrecision: 'approximate';
27
+ };
28
+ type QueryResult<Item, Cursor> = {
29
+ items: {
30
+ item: Item;
31
+ prevCursor: Cursor;
32
+ nextCursor: Cursor;
33
+ }[];
34
+ isFirst: boolean;
35
+ isLast: boolean;
36
+ cursor: Cursor;
37
+ };
38
+ type ImplQueryResult<Item, Cursor> = {
39
+ items: {
40
+ item: Item;
41
+ prevCursor: Cursor;
42
+ nextCursor: Cursor;
43
+ }[];
44
+ isFirst: boolean;
45
+ isLast: boolean;
46
+ cursor: Cursor;
47
+ };
48
+ /**
49
+ * Abstract base class for cursor-based pagination over any ordered data source.
50
+ *
51
+ * Subclasses implement `_nextOrPrev` to fetch items in one direction. This class handles
52
+ * limit enforcement, sorting validation, and provides `map`, `filter`, `flatMap`, and `merge` utilities.
53
+ *
54
+ * @template Item - The type of items in the list
55
+ * @template Cursor - A string-based cursor type for position tracking. Cursors are always between two items in the list. Note that cursors may not be stable if the filter or orderBy changes.
56
+ * @template Filter - Query filter type
57
+ * @template OrderBy - Sort order specification type
58
+ *
59
+ * @example
60
+ * ```ts
61
+ * // Basic usage: paginate through users
62
+ * const users = new MyUserList();
63
+ * const first10 = await users.next({ after: users.getFirstCursor(), limit: 10, filter: {}, orderBy: 'name', limitPrecision: 'exact' });
64
+ * // first10 = { items: [...], isFirst: true, isLast: false, cursor: "cursor-after-item-10" }
65
+ *
66
+ * const next10 = await users.next({ after: first10.cursor, limit: 10, filter: {}, orderBy: 'name', limitPrecision: 'exact' });
67
+ * // Continues from where we left off
68
+ * ```
69
+ */
70
+ declare abstract class PaginatedList<Item, Cursor extends string, Filter extends unknown, OrderBy extends unknown> {
71
+ protected abstract _getFirstCursor(): Cursor;
72
+ protected abstract _getLastCursor(): Cursor;
73
+ protected abstract _compare(orderBy: OrderBy, a: Item, b: Item): number;
74
+ protected abstract _nextOrPrev(type: 'next' | 'prev', options: ImplQueryOptions<'next' | 'prev', Cursor, Filter, OrderBy>): Promise<ImplQueryResult<Item, Cursor>>;
75
+ /** Returns the cursor pointing to the start of the list (before any items). */
76
+ getFirstCursor(): Cursor;
77
+ /** Returns the cursor pointing to the end of the list (after all items). */
78
+ getLastCursor(): Cursor;
79
+ /** Compares two items according to the given orderBy. Returns negative if a < b, 0 if equal, positive if a > b. */
80
+ compare(orderBy: OrderBy, a: Item, b: Item): number;
81
+ /**
82
+ * Fetches items moving forward ('next') or backward ('prev') from the given cursor.
83
+ *
84
+ * Respects `limitPrecision`: 'exact' guarantees the exact limit, 'at-least'/'at-most'/'approximate'
85
+ * allow flexibility for performance. Returns items, boundary flags, and a new cursor.
86
+ *
87
+ * @example
88
+ * ```ts
89
+ * // Get 5 items after the start
90
+ * const result = await list.nextOrPrev('next', { cursor: list.getFirstCursor(), limit: 5, filter: {}, orderBy: 'asc', limitPrecision: 'exact' });
91
+ * // result.items.length === 5 (or less if list has fewer items)
92
+ * // result.isFirst === true (started at first cursor)
93
+ * // result.isLast === true if we got all remaining items
94
+ *
95
+ * // Continue from where we left off
96
+ * const more = await list.nextOrPrev('next', { cursor: result.cursor, limit: 5, ... });
97
+ * ```
98
+ */
99
+ nextOrPrev(type: 'next' | 'prev', options: QueryOptions<'next' | 'prev', Cursor, Filter, OrderBy>): Promise<QueryResult<Item, Cursor>>;
100
+ /** Fetches items after the given cursor (forward pagination). */
101
+ next({
102
+ after,
103
+ ...rest
104
+ }: QueryOptions<'next', Cursor, Filter, OrderBy>): Promise<QueryResult<Item, Cursor>>;
105
+ /** Fetches items before the given cursor (backward pagination). */
106
+ prev({
107
+ before,
108
+ ...rest
109
+ }: QueryOptions<'prev', Cursor, Filter, OrderBy>): Promise<QueryResult<Item, Cursor>>;
110
+ /**
111
+ * Transforms this list by mapping each item to zero or more new items.
112
+ *
113
+ * Note that the sort order must be preserved after the operation; the flat-mapped list will not be sorted automatically.
114
+ *
115
+ * @param itemMapper - Maps each item (with its cursor) to an array of new items
116
+ * @param compare - Comparison function for the new item type
117
+ * @param newCursorFromOldCursor/oldCursorFromNewCursor - Cursor conversion functions
118
+ * @param estimateItemsToFetch - Estimates how many source items to fetch for a given limit
119
+ *
120
+ * @example
121
+ * ```ts
122
+ * // Expand orders into line items (1 order -> N line items)
123
+ * const lineItems = ordersList.flatMap({
124
+ * itemMapper: ({ item: order }) => order.lineItems.map((li, i) => ({ item: li, prevCursor: `${order.id}-${i}`, nextCursor: `${order.id}-${i + 1}` })),
125
+ * compare: (_, a, b) => a.createdAt - b.createdAt,
126
+ * estimateItemsToFetch: ({ limit }) => Math.ceil(limit / 3), // avg 3 items per order
127
+ * // ... cursor converters
128
+ * });
129
+ * ```
130
+ */
131
+ flatMap<Item2, Cursor2 extends string, Filter2 extends unknown, OrderBy2 extends unknown>(options: {
132
+ itemMapper: (itemEntry: {
133
+ item: Item;
134
+ prevCursor: Cursor;
135
+ nextCursor: Cursor;
136
+ }, filter: Filter2, orderBy: OrderBy2) => {
137
+ item: Item2;
138
+ prevCursor: Cursor2;
139
+ nextCursor: Cursor2;
140
+ }[];
141
+ compare: (orderBy: OrderBy2, a: Item2, b: Item2) => number;
142
+ newCursorFromOldCursor: (cursor: Cursor) => Cursor2;
143
+ oldCursorFromNewCursor: (cursor: Cursor2) => Cursor;
144
+ oldFilterFromNewFilter: (filter: Filter2) => Filter;
145
+ oldOrderByFromNewOrderBy: (orderBy: OrderBy2) => OrderBy;
146
+ estimateItemsToFetch: (options: {
147
+ filter: Filter2;
148
+ orderBy: OrderBy2;
149
+ limit: number;
150
+ }) => number;
151
+ }): PaginatedList<Item2, Cursor2, Filter2, OrderBy2>;
152
+ /**
153
+ * Transforms each item in the list. Requires a reverse mapper for comparison delegation.
154
+ *
155
+ * @param itemMapper - Transforms each item
156
+ * @param oldItemFromNewItem - Reverse-maps new items back to old items (for comparison)
157
+ *
158
+ * @example
159
+ * ```ts
160
+ * // Convert User objects to UserDTO
161
+ * const userDtos = usersList.map({
162
+ * itemMapper: (user) => ({ id: user.id, displayName: user.name }),
163
+ * oldItemFromNewItem: (dto) => fullUsers.get(dto.id)!, // for comparison
164
+ * oldFilterFromNewFilter: (f) => f,
165
+ * oldOrderByFromNewOrderBy: (o) => o,
166
+ * });
167
+ * ```
168
+ */
169
+ map<Item2, Filter2 extends unknown, OrderBy2 extends unknown>(options: {
170
+ itemMapper: (item: Item) => Item2;
171
+ oldItemFromNewItem: (item: Item2) => Item;
172
+ oldFilterFromNewFilter: (filter: Filter2) => Filter;
173
+ oldOrderByFromNewOrderBy: (orderBy: OrderBy2) => OrderBy;
174
+ }): PaginatedList<Item2, Cursor, Filter2, OrderBy2>;
175
+ /**
176
+ * Filters items in the list. Requires an estimate function since filtering may reduce output.
177
+ *
178
+ * @param filter - Predicate to include/exclude items
179
+ * @param estimateItemsToFetch - Estimates how many source items to fetch (accounts for filter selectivity)
180
+ *
181
+ * @example
182
+ * ```ts
183
+ * // Filter to only active users
184
+ * const activeUsers = usersList.filter({
185
+ * filter: (user, filterOpts) => user.isActive && user.role === filterOpts.role,
186
+ * oldFilterFromNewFilter: (f) => ({}), // original list has no filter
187
+ * estimateItemsToFetch: ({ limit }) => limit * 2, // expect ~50% active
188
+ * });
189
+ * ```
190
+ */
191
+ filter<Filter2 extends unknown>(options: {
192
+ filter: (item: Item, filter: Filter2) => boolean;
193
+ oldFilterFromNewFilter: (filter: Filter2) => Filter;
194
+ estimateItemsToFetch: (options: {
195
+ filter: Filter2;
196
+ orderBy: OrderBy;
197
+ limit: number;
198
+ }) => number;
199
+ }): PaginatedList<Item, Cursor, Filter2, OrderBy>;
200
+ /**
201
+ * Adds an additional filter constraint while preserving the original filter type.
202
+ * Shorthand for `filter()` that intersects Filter with AddedFilter.
203
+ *
204
+ * @example
205
+ * ```ts
206
+ * // Add a "verified" filter on top of existing filters
207
+ * const verifiedUsers = usersList.addFilter({
208
+ * filter: (user, f) => user.emailVerified,
209
+ * estimateItemsToFetch: ({ limit }) => limit * 2, // ~50% are verified
210
+ * });
211
+ * // verifiedUsers filter type is Filter
212
+ * ```
213
+ */
214
+ addFilter<AddedFilter extends unknown>(options: {
215
+ filter: (item: Item, filter: Filter & AddedFilter) => boolean;
216
+ estimateItemsToFetch: (options: {
217
+ filter: Filter & AddedFilter;
218
+ orderBy: OrderBy;
219
+ limit: number;
220
+ }) => number;
221
+ }): PaginatedList<Item, Cursor, Filter & AddedFilter, OrderBy>;
222
+ /**
223
+ * Merges multiple paginated lists into one, interleaving items by sort order.
224
+ * All lists must use the same compare function.
225
+ *
226
+ * The merged cursor is a JSON-encoded array of individual list cursors.
227
+ *
228
+ * @example
229
+ * ```ts
230
+ * // Merge users from multiple sources into a unified feed
231
+ * const allUsers = PaginatedList.merge(internalUsers, externalUsers, partnerUsers);
232
+ * const page = await allUsers.next({ after: allUsers.getFirstCursor(), limit: 20, ... });
233
+ * // page.items contains interleaved items from all sources, sorted by orderBy
234
+ * ```
235
+ */
236
+ static merge<Item, Filter extends unknown, OrderBy extends unknown>(...lists: PaginatedList<Item, any, Filter, OrderBy>[]): PaginatedList<Item, string, Filter, OrderBy>;
237
+ /**
238
+ * Returns an empty paginated list that always returns no items.
239
+ *
240
+ * @example
241
+ * ```ts
242
+ * const empty = PaginatedList.empty();
243
+ * const result = await empty.next({ after: empty.getFirstCursor(), limit: 10, ... });
244
+ * // result = { items: [], isFirst: true, isLast: true, cursor: "first" }
245
+ * ```
246
+ */
247
+ static empty(): {
248
+ _getFirstCursor(): "first";
249
+ _getLastCursor(): "last";
250
+ _compare(orderBy: any, a: any, b: any): number;
251
+ _nextOrPrev(type: "next" | "prev", options: ImplQueryOptions<"next" | "prev", string, any, any>): Promise<{
252
+ items: never[];
253
+ isFirst: boolean;
254
+ isLast: boolean;
255
+ cursor: "first";
256
+ }>; /** Returns the cursor pointing to the start of the list (before any items). */
257
+ getFirstCursor(): "first" | "last"; /** Returns the cursor pointing to the end of the list (after all items). */
258
+ getLastCursor(): "first" | "last"; /** Compares two items according to the given orderBy. Returns negative if a < b, 0 if equal, positive if a > b. */
259
+ compare(orderBy: any, a: never, b: never): number;
260
+ /**
261
+ * Fetches items moving forward ('next') or backward ('prev') from the given cursor.
262
+ *
263
+ * Respects `limitPrecision`: 'exact' guarantees the exact limit, 'at-least'/'at-most'/'approximate'
264
+ * allow flexibility for performance. Returns items, boundary flags, and a new cursor.
265
+ *
266
+ * @example
267
+ * ```ts
268
+ * // Get 5 items after the start
269
+ * const result = await list.nextOrPrev('next', { cursor: list.getFirstCursor(), limit: 5, filter: {}, orderBy: 'asc', limitPrecision: 'exact' });
270
+ * // result.items.length === 5 (or less if list has fewer items)
271
+ * // result.isFirst === true (started at first cursor)
272
+ * // result.isLast === true if we got all remaining items
273
+ *
274
+ * // Continue from where we left off
275
+ * const more = await list.nextOrPrev('next', { cursor: result.cursor, limit: 5, ... });
276
+ * ```
277
+ */
278
+ nextOrPrev(type: "next" | "prev", options: QueryOptions<"next" | "prev", "first" | "last", any, any>): Promise<QueryResult<never, "first" | "last">>; /** Fetches items after the given cursor (forward pagination). */
279
+ next({
280
+ after,
281
+ ...rest
282
+ }: QueryOptions<"next", "first" | "last", any, any>): Promise<QueryResult<never, "first" | "last">>; /** Fetches items before the given cursor (backward pagination). */
283
+ prev({
284
+ before,
285
+ ...rest
286
+ }: QueryOptions<"prev", "first" | "last", any, any>): Promise<QueryResult<never, "first" | "last">>;
287
+ /**
288
+ * Transforms this list by mapping each item to zero or more new items.
289
+ *
290
+ * Note that the sort order must be preserved after the operation; the flat-mapped list will not be sorted automatically.
291
+ *
292
+ * @param itemMapper - Maps each item (with its cursor) to an array of new items
293
+ * @param compare - Comparison function for the new item type
294
+ * @param newCursorFromOldCursor/oldCursorFromNewCursor - Cursor conversion functions
295
+ * @param estimateItemsToFetch - Estimates how many source items to fetch for a given limit
296
+ *
297
+ * @example
298
+ * ```ts
299
+ * // Expand orders into line items (1 order -> N line items)
300
+ * const lineItems = ordersList.flatMap({
301
+ * itemMapper: ({ item: order }) => order.lineItems.map((li, i) => ({ item: li, prevCursor: `${order.id}-${i}`, nextCursor: `${order.id}-${i + 1}` })),
302
+ * compare: (_, a, b) => a.createdAt - b.createdAt,
303
+ * estimateItemsToFetch: ({ limit }) => Math.ceil(limit / 3), // avg 3 items per order
304
+ * // ... cursor converters
305
+ * });
306
+ * ```
307
+ */
308
+ flatMap<Item2, Cursor2 extends string, Filter2 extends unknown, OrderBy2 extends unknown>(options: {
309
+ itemMapper: (itemEntry: {
310
+ item: never;
311
+ prevCursor: "first" | "last";
312
+ nextCursor: "first" | "last";
313
+ }, filter: Filter2, orderBy: OrderBy2) => {
314
+ item: Item2;
315
+ prevCursor: Cursor2;
316
+ nextCursor: Cursor2;
317
+ }[];
318
+ compare: (orderBy: OrderBy2, a: Item2, b: Item2) => number;
319
+ newCursorFromOldCursor: (cursor: "first" | "last") => Cursor2;
320
+ oldCursorFromNewCursor: (cursor: Cursor2) => "first" | "last";
321
+ oldFilterFromNewFilter: (filter: Filter2) => any;
322
+ oldOrderByFromNewOrderBy: (orderBy: OrderBy2) => any;
323
+ estimateItemsToFetch: (options: {
324
+ filter: Filter2;
325
+ orderBy: OrderBy2;
326
+ limit: number;
327
+ }) => number;
328
+ }): PaginatedList<Item2, Cursor2, Filter2, OrderBy2>;
329
+ /**
330
+ * Transforms each item in the list. Requires a reverse mapper for comparison delegation.
331
+ *
332
+ * @param itemMapper - Transforms each item
333
+ * @param oldItemFromNewItem - Reverse-maps new items back to old items (for comparison)
334
+ *
335
+ * @example
336
+ * ```ts
337
+ * // Convert User objects to UserDTO
338
+ * const userDtos = usersList.map({
339
+ * itemMapper: (user) => ({ id: user.id, displayName: user.name }),
340
+ * oldItemFromNewItem: (dto) => fullUsers.get(dto.id)!, // for comparison
341
+ * oldFilterFromNewFilter: (f) => f,
342
+ * oldOrderByFromNewOrderBy: (o) => o,
343
+ * });
344
+ * ```
345
+ */
346
+ map<Item2, Filter2 extends unknown, OrderBy2 extends unknown>(options: {
347
+ itemMapper: (item: never) => Item2;
348
+ oldItemFromNewItem: (item: Item2) => never;
349
+ oldFilterFromNewFilter: (filter: Filter2) => any;
350
+ oldOrderByFromNewOrderBy: (orderBy: OrderBy2) => any;
351
+ }): PaginatedList<Item2, "first" | "last", Filter2, OrderBy2>;
352
+ /**
353
+ * Filters items in the list. Requires an estimate function since filtering may reduce output.
354
+ *
355
+ * @param filter - Predicate to include/exclude items
356
+ * @param estimateItemsToFetch - Estimates how many source items to fetch (accounts for filter selectivity)
357
+ *
358
+ * @example
359
+ * ```ts
360
+ * // Filter to only active users
361
+ * const activeUsers = usersList.filter({
362
+ * filter: (user, filterOpts) => user.isActive && user.role === filterOpts.role,
363
+ * oldFilterFromNewFilter: (f) => ({}), // original list has no filter
364
+ * estimateItemsToFetch: ({ limit }) => limit * 2, // expect ~50% active
365
+ * });
366
+ * ```
367
+ */
368
+ filter<Filter2 extends unknown>(options: {
369
+ filter: (item: never, filter: Filter2) => boolean;
370
+ oldFilterFromNewFilter: (filter: Filter2) => any;
371
+ estimateItemsToFetch: (options: {
372
+ filter: Filter2;
373
+ orderBy: any;
374
+ limit: number;
375
+ }) => number;
376
+ }): PaginatedList<never, "first" | "last", Filter2, any>;
377
+ /**
378
+ * Adds an additional filter constraint while preserving the original filter type.
379
+ * Shorthand for `filter()` that intersects Filter with AddedFilter.
380
+ *
381
+ * @example
382
+ * ```ts
383
+ * // Add a "verified" filter on top of existing filters
384
+ * const verifiedUsers = usersList.addFilter({
385
+ * filter: (user, f) => user.emailVerified,
386
+ * estimateItemsToFetch: ({ limit }) => limit * 2, // ~50% are verified
387
+ * });
388
+ * // verifiedUsers filter type is Filter
389
+ * ```
390
+ */
391
+ addFilter<AddedFilter extends unknown>(options: {
392
+ filter: (item: never, filter: any) => boolean;
393
+ estimateItemsToFetch: (options: {
394
+ filter: any;
395
+ orderBy: any;
396
+ limit: number;
397
+ }) => number;
398
+ }): PaginatedList<never, "first" | "last", any, any>;
399
+ };
400
+ }
401
+ /**
402
+ * A simple in-memory paginated list backed by an array.
403
+ *
404
+ * Filter is a predicate function, OrderBy is a comparator function.
405
+ * Cursors are in the format "before-{index}" representing the position before that index.
406
+ *
407
+ * Note: This implementation re-filters and re-sorts the entire array on each query,
408
+ * so it's only suitable for small datasets.
409
+ *
410
+ * @example
411
+ * ```ts
412
+ * const numbers = new ArrayPaginatedList([5, 2, 8, 1, 9, 3]);
413
+ * const page = await numbers.next({
414
+ * after: "before-0",
415
+ * limit: 3,
416
+ * filter: (n) => n > 2,
417
+ * orderBy: (a, b) => a - b,
418
+ * limitPrecision: 'exact',
419
+ * });
420
+ * // page.items = [{ item: 3, prevCursor: "before-0", nextCursor: "before-1" }, { item: 5, prevCursor: "before-1", nextCursor: "before-2" }, ...]
421
+ * ```
422
+ */
423
+ declare class ArrayPaginatedList<Item> extends PaginatedList<Item, `before-${number}`, (item: Item) => boolean, (a: Item, b: Item) => number> {
424
+ private readonly array;
425
+ constructor(array: Item[]);
426
+ _getFirstCursor(): "before-0";
427
+ _getLastCursor(): `before-${number}`;
428
+ _compare(orderBy: (a: Item, b: Item) => number, a: Item, b: Item): number;
429
+ _nextOrPrev(type: 'next' | 'prev', options: ImplQueryOptions<'next' | 'prev', `before-${number}`, (item: Item) => boolean, (a: Item, b: Item) => number>): Promise<{
430
+ items: {
431
+ item: Item;
432
+ prevCursor: `before-${number}`;
433
+ nextCursor: `before-${number}`;
434
+ }[];
435
+ isFirst: boolean;
436
+ isLast: boolean;
437
+ cursor: `before-${number}`;
438
+ }>;
439
+ }
440
+ //#endregion
441
+ export { ArrayPaginatedList, PaginatedList };
442
+ //# sourceMappingURL=paginated-lists.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paginated-lists.d.ts","names":[],"sources":["../../src/utils/paginated-lists.tsx"],"mappings":"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"}