@hexclave/shared 1.0.41 → 1.0.43

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 (1067) hide show
  1. package/dist/admin-interface-Bv8rBJo-.d.ts +379 -0
  2. package/dist/admin-interface-Bv8rBJo-.d.ts.map +1 -0
  3. package/dist/admin-metrics-DyW8_G82.d.ts +807 -0
  4. package/dist/admin-metrics-DyW8_G82.d.ts.map +1 -0
  5. package/dist/ai/image-limits.d.ts.map +1 -1
  6. package/dist/ai/image-limits.js +6 -7
  7. package/dist/ai/image-limits.js.map +1 -1
  8. package/dist/ai/llms/llms.d.ts.map +1 -1
  9. package/dist/ai/llms/llms.js +2 -4
  10. package/dist/ai/llms/llms.js.map +1 -1
  11. package/dist/ai/unified-prompts/reminders.js +2 -4
  12. package/dist/ai/unified-prompts/reminders.js.map +1 -1
  13. package/dist/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.d.ts.map +1 -1
  14. package/dist/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.js +2 -5
  15. package/dist/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.js.map +1 -1
  16. package/dist/ai/unified-prompts/skill-site-prompt-parts/brain.js +3 -6
  17. package/dist/ai/unified-prompts/skill-site-prompt-parts/brain.js.map +1 -1
  18. package/dist/ai/unified-prompts/skill-site-prompt-parts/cli-help.js +3 -6
  19. package/dist/ai/unified-prompts/skill-site-prompt-parts/cli-help.js.map +1 -1
  20. package/dist/ai/unified-prompts/skill-site-prompt-parts/config-docs.js +3 -6
  21. package/dist/ai/unified-prompts/skill-site-prompt-parts/config-docs.js.map +1 -1
  22. package/dist/ai/unified-prompts/skill-site-prompt-parts/custom-components-instructions.js +3 -6
  23. package/dist/ai/unified-prompts/skill-site-prompt-parts/custom-components-instructions.js.map +1 -1
  24. package/dist/ai/unified-prompts/skill-site-prompt-parts/dashboard-instructions.js +3 -6
  25. package/dist/ai/unified-prompts/skill-site-prompt-parts/dashboard-instructions.js.map +1 -1
  26. package/dist/ai/unified-prompts/skill-site-prompt-parts/docs-index.d.ts.map +1 -1
  27. package/dist/ai/unified-prompts/skill-site-prompt-parts/docs-index.js +5 -6
  28. package/dist/ai/unified-prompts/skill-site-prompt-parts/docs-index.js.map +1 -1
  29. package/dist/ai/unified-prompts/skill-site-prompt-parts/docs-json.generated.js +1 -2
  30. package/dist/ai/unified-prompts/skill-site-prompt-parts/docs-json.generated.js.map +1 -1
  31. package/dist/ai/unified-prompts/skill-site-prompt-parts/openapi-specs.js +3 -6
  32. package/dist/ai/unified-prompts/skill-site-prompt-parts/openapi-specs.js.map +1 -1
  33. package/dist/ai/unified-prompts/skill-site-prompt-parts/sdk-interface-source.js +3 -6
  34. package/dist/ai/unified-prompts/skill-site-prompt-parts/sdk-interface-source.js.map +1 -1
  35. package/dist/ai/unified-prompts/skill-site-prompt.d.ts.map +1 -1
  36. package/dist/ai/unified-prompts/skill-site-prompt.js +2 -4
  37. package/dist/ai/unified-prompts/skill-site-prompt.js.map +1 -1
  38. package/dist/analytics-IjkAsefy.d.ts +14 -0
  39. package/dist/analytics-IjkAsefy.d.ts.map +1 -0
  40. package/dist/apps/apps-config.d.ts.map +1 -1
  41. package/dist/apps/apps-config.js +2 -3
  42. package/dist/apps/apps-config.js.map +1 -1
  43. package/dist/apps/apps-ui.d.ts +1 -2
  44. package/dist/apps/apps-ui.d.ts.map +1 -1
  45. package/dist/apps/apps-ui.js +4 -5
  46. package/dist/apps/apps-ui.js.map +1 -1
  47. package/dist/client-interface-CGrvUtX0.d.ts +447 -0
  48. package/dist/client-interface-CGrvUtX0.d.ts.map +1 -0
  49. package/dist/config/db-sync-mappings.js +2 -3
  50. package/dist/config/db-sync-mappings.js.map +1 -1
  51. package/dist/config/format.d.ts +2 -61
  52. package/dist/config/format.js +2 -192
  53. package/dist/config/format.js.map +1 -1
  54. package/dist/config/migrate-catalogs-to-product-lines.d.ts.map +1 -1
  55. package/dist/config/migrate-catalogs-to-product-lines.js +2 -196
  56. package/dist/config/migrate-catalogs-to-product-lines.js.map +1 -1
  57. package/dist/config/schema-fuzzer.test.js +18 -172
  58. package/dist/config/schema-fuzzer.test.js.map +1 -1
  59. package/dist/config/schema.d.ts +2 -2328
  60. package/dist/config/schema.js +6 -351
  61. package/dist/config/schema.js.map +1 -1
  62. package/dist/config-authoring.d.ts +1 -1
  63. package/dist/config-authoring.d.ts.map +1 -1
  64. package/dist/config-authoring.js +2 -3
  65. package/dist/config-authoring.js.map +1 -1
  66. package/dist/config-authoring.test.js +1 -3
  67. package/dist/config-authoring.test.js.map +1 -1
  68. package/dist/config-eval.d.ts.map +1 -1
  69. package/dist/config-eval.js +4 -46
  70. package/dist/config-eval.js.map +1 -1
  71. package/dist/config-rendering.d.ts.map +1 -1
  72. package/dist/config-rendering.js +2 -48
  73. package/dist/config-rendering.js.map +1 -1
  74. package/dist/connected-accounts-D5CKe50A.d.ts +67 -0
  75. package/dist/connected-accounts-D5CKe50A.d.ts.map +1 -0
  76. package/dist/contact-channels-DW8yQxlc.d.ts +180 -0
  77. package/dist/contact-channels-DW8yQxlc.d.ts.map +1 -0
  78. package/dist/country-codes-CRWDroBE.d.ts +11 -0
  79. package/dist/country-codes-CRWDroBE.d.ts.map +1 -0
  80. package/dist/crud-CqmEW9s6.d.ts +98 -0
  81. package/dist/crud-CqmEW9s6.d.ts.map +1 -0
  82. package/dist/crud.d.ts +2 -98
  83. package/dist/crud.js +3 -71
  84. package/dist/crud.js.map +1 -1
  85. package/dist/currency-constants-Cq_q8twn.d.ts +45 -0
  86. package/dist/currency-constants-Cq_q8twn.d.ts.map +1 -0
  87. package/dist/current-user-Dvf8Ttjo.d.ts +284 -0
  88. package/dist/current-user-Dvf8Ttjo.d.ts.map +1 -0
  89. package/dist/dates-B6ne9iOR.d.ts +23 -0
  90. package/dist/dates-B6ne9iOR.d.ts.map +1 -0
  91. package/dist/email-outbox-BVqBaXpn.d.ts +1464 -0
  92. package/dist/{interface/crud/email-outbox.d.ts.map → email-outbox-BVqBaXpn.d.ts.map} +1 -1
  93. package/dist/emails-Ba4yEaCS.d.ts +40 -0
  94. package/dist/emails-Ba4yEaCS.d.ts.map +1 -0
  95. package/dist/errors-Cl-RUyed.d.ts +238 -0
  96. package/dist/errors-Cl-RUyed.d.ts.map +1 -0
  97. package/dist/esm/ai/image-limits.d.ts.map +1 -1
  98. package/dist/esm/ai/image-limits.js +5 -5
  99. package/dist/esm/ai/image-limits.js.map +1 -1
  100. package/dist/esm/ai/llms/llms.d.ts +1 -1
  101. package/dist/esm/ai/llms/llms.d.ts.map +1 -1
  102. package/dist/esm/ai/llms/llms.js +1 -2
  103. package/dist/esm/ai/llms/llms.js.map +1 -1
  104. package/dist/esm/ai/unified-prompts/reminders.js +1 -2
  105. package/dist/esm/ai/unified-prompts/reminders.js.map +1 -1
  106. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.d.ts.map +1 -1
  107. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.js +25 -28
  108. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.js.map +1 -1
  109. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/brain.js +1 -2
  110. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/brain.js.map +1 -1
  111. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/cli-help.js +1 -2
  112. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/cli-help.js.map +1 -1
  113. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/config-docs.js +1 -2
  114. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/config-docs.js.map +1 -1
  115. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/custom-components-instructions.js +1 -2
  116. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/custom-components-instructions.js.map +1 -1
  117. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/dashboard-instructions.js +1 -2
  118. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/dashboard-instructions.js.map +1 -1
  119. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/docs-index.d.ts.map +1 -1
  120. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/docs-index.js +2 -3
  121. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/docs-index.js.map +1 -1
  122. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/docs-json.generated.js +1 -1
  123. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/docs-json.generated.js.map +1 -1
  124. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/openapi-specs.js +1 -2
  125. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/openapi-specs.js.map +1 -1
  126. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/sdk-interface-source.js +1 -2
  127. package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/sdk-interface-source.js.map +1 -1
  128. package/dist/esm/ai/unified-prompts/skill-site-prompt.d.ts.map +1 -1
  129. package/dist/esm/ai/unified-prompts/skill-site-prompt.js +1 -2
  130. package/dist/esm/ai/unified-prompts/skill-site-prompt.js.map +1 -1
  131. package/dist/esm/apps/apps-config.d.ts.map +1 -1
  132. package/dist/esm/apps/apps-config.js +1 -1
  133. package/dist/esm/apps/apps-config.js.map +1 -1
  134. package/dist/esm/apps/apps-ui.d.ts +2 -3
  135. package/dist/esm/apps/apps-ui.d.ts.map +1 -1
  136. package/dist/esm/apps/apps-ui.js +2 -3
  137. package/dist/esm/apps/apps-ui.js.map +1 -1
  138. package/dist/esm/config/db-sync-mappings.js +1 -1
  139. package/dist/esm/config/db-sync-mappings.js.map +1 -1
  140. package/dist/esm/config/format.d.ts +1 -1
  141. package/dist/esm/config/format.d.ts.map +1 -1
  142. package/dist/esm/config/format.js +1 -190
  143. package/dist/esm/config/format.js.map +1 -1
  144. package/dist/esm/config/migrate-catalogs-to-product-lines.d.ts.map +1 -1
  145. package/dist/esm/config/migrate-catalogs-to-product-lines.js +1 -194
  146. package/dist/esm/config/migrate-catalogs-to-product-lines.js.map +1 -1
  147. package/dist/esm/config/schema-fuzzer.test.js +20 -173
  148. package/dist/esm/config/schema-fuzzer.test.js.map +1 -1
  149. package/dist/esm/config/schema.d.ts +249 -250
  150. package/dist/esm/config/schema.d.ts.map +1 -1
  151. package/dist/esm/config/schema.js +2 -347
  152. package/dist/esm/config/schema.js.map +1 -1
  153. package/dist/esm/config-authoring.d.ts +1 -1
  154. package/dist/esm/config-authoring.d.ts.map +1 -1
  155. package/dist/esm/config-authoring.js +1 -1
  156. package/dist/esm/config-authoring.js.map +1 -1
  157. package/dist/esm/config-authoring.test.js +2 -3
  158. package/dist/esm/config-authoring.test.js.map +1 -1
  159. package/dist/esm/config-eval.d.ts +1 -1
  160. package/dist/esm/config-eval.d.ts.map +1 -1
  161. package/dist/esm/config-eval.js +1 -43
  162. package/dist/esm/config-eval.js.map +1 -1
  163. package/dist/esm/config-rendering.d.ts.map +1 -1
  164. package/dist/esm/config-rendering.js +1 -46
  165. package/dist/esm/config-rendering.js.map +1 -1
  166. package/dist/esm/crud.d.ts +1 -1
  167. package/dist/esm/crud.d.ts.map +1 -1
  168. package/dist/esm/crud.js +2 -69
  169. package/dist/esm/crud.js.map +1 -1
  170. package/dist/esm/helpers/emails.js +1 -2
  171. package/dist/esm/helpers/emails.js.map +1 -1
  172. package/dist/esm/helpers/init-prompt.d.ts.map +1 -1
  173. package/dist/esm/helpers/init-prompt.js +1 -2
  174. package/dist/esm/helpers/init-prompt.js.map +1 -1
  175. package/dist/esm/helpers/password.d.ts +1 -1
  176. package/dist/esm/helpers/password.d.ts.map +1 -1
  177. package/dist/esm/helpers/password.js +1 -2
  178. package/dist/esm/helpers/password.js.map +1 -1
  179. package/dist/esm/helpers/production-mode.d.ts +1 -1
  180. package/dist/esm/helpers/production-mode.d.ts.map +1 -1
  181. package/dist/esm/helpers/production-mode.js +1 -2
  182. package/dist/esm/helpers/production-mode.js.map +1 -1
  183. package/dist/esm/helpers/support-sla.d.ts.map +1 -1
  184. package/dist/esm/helpers/support-sla.js +1 -1
  185. package/dist/esm/helpers/support-sla.js.map +1 -1
  186. package/dist/esm/helpers/support-sla.test.js +2 -3
  187. package/dist/esm/helpers/support-sla.test.js.map +1 -1
  188. package/dist/esm/helpers/vault/client-side.d.ts.map +1 -1
  189. package/dist/esm/helpers/vault/client-side.js +1 -20
  190. package/dist/esm/helpers/vault/client-side.js.map +1 -1
  191. package/dist/esm/helpers/vault/server-side.js +1 -2
  192. package/dist/esm/helpers/vault/server-side.js.map +1 -1
  193. package/dist/esm/hooks/use-async-callback.d.ts.map +1 -1
  194. package/dist/esm/hooks/use-async-callback.js +1 -2
  195. package/dist/esm/hooks/use-async-callback.js.map +1 -1
  196. package/dist/esm/hooks/use-async-external-store.d.ts +1 -1
  197. package/dist/esm/hooks/use-async-external-store.d.ts.map +1 -1
  198. package/dist/esm/hooks/use-async-external-store.js +1 -2
  199. package/dist/esm/hooks/use-async-external-store.js.map +1 -1
  200. package/dist/esm/hooks/use-hash.js +1 -2
  201. package/dist/esm/hooks/use-hash.js.map +1 -1
  202. package/dist/esm/hooks/use-hover.d.ts.map +1 -1
  203. package/dist/esm/hooks/use-hover.js +1 -2
  204. package/dist/esm/hooks/use-hover.js.map +1 -1
  205. package/dist/esm/hooks/use-strict-memo.d.ts.map +1 -1
  206. package/dist/esm/hooks/use-strict-memo.js +1 -70
  207. package/dist/esm/hooks/use-strict-memo.js.map +1 -1
  208. package/dist/esm/index.d.ts +4 -4
  209. package/dist/esm/index.js +1 -2
  210. package/dist/esm/interface/admin-interface.d.ts +19 -19
  211. package/dist/esm/interface/admin-interface.d.ts.map +1 -1
  212. package/dist/esm/interface/admin-interface.js +1 -2
  213. package/dist/esm/interface/admin-interface.js.map +1 -1
  214. package/dist/esm/interface/admin-metrics.d.ts +11 -11
  215. package/dist/esm/interface/admin-metrics.d.ts.map +1 -1
  216. package/dist/esm/interface/admin-metrics.js +1 -2
  217. package/dist/esm/interface/admin-metrics.js.map +1 -1
  218. package/dist/esm/interface/client-interface.d.ts +22 -22
  219. package/dist/esm/interface/client-interface.d.ts.map +1 -1
  220. package/dist/esm/interface/client-interface.js +31 -15
  221. package/dist/esm/interface/client-interface.js.map +1 -1
  222. package/dist/esm/interface/client-interface.test.js +84 -13
  223. package/dist/esm/interface/client-interface.test.js.map +1 -1
  224. package/dist/esm/interface/conversations.d.ts +33 -33
  225. package/dist/esm/interface/conversations.d.ts.map +1 -1
  226. package/dist/esm/interface/conversations.js +1 -2
  227. package/dist/esm/interface/conversations.js.map +1 -1
  228. package/dist/esm/interface/crud/analytics.d.ts.map +1 -1
  229. package/dist/esm/interface/crud/analytics.js +1 -1
  230. package/dist/esm/interface/crud/connected-accounts.d.ts +15 -17
  231. package/dist/esm/interface/crud/connected-accounts.d.ts.map +1 -1
  232. package/dist/esm/interface/crud/connected-accounts.js +1 -2
  233. package/dist/esm/interface/crud/connected-accounts.js.map +1 -1
  234. package/dist/esm/interface/crud/contact-channels.d.ts +24 -26
  235. package/dist/esm/interface/crud/contact-channels.d.ts.map +1 -1
  236. package/dist/esm/interface/crud/contact-channels.js +1 -2
  237. package/dist/esm/interface/crud/contact-channels.js.map +1 -1
  238. package/dist/esm/interface/crud/current-user.d.ts +20 -22
  239. package/dist/esm/interface/crud/current-user.d.ts.map +1 -1
  240. package/dist/esm/interface/crud/current-user.js +25 -29
  241. package/dist/esm/interface/crud/current-user.js.map +1 -1
  242. package/dist/esm/interface/crud/email-outbox.d.ts +32 -34
  243. package/dist/esm/interface/crud/email-outbox.d.ts.map +1 -1
  244. package/dist/esm/interface/crud/email-outbox.js +1 -2
  245. package/dist/esm/interface/crud/email-outbox.js.map +1 -1
  246. package/dist/esm/interface/crud/email-templates.d.ts +16 -18
  247. package/dist/esm/interface/crud/email-templates.d.ts.map +1 -1
  248. package/dist/esm/interface/crud/email-templates.js +1 -2
  249. package/dist/esm/interface/crud/email-templates.js.map +1 -1
  250. package/dist/esm/interface/crud/emails.d.ts +6 -8
  251. package/dist/esm/interface/crud/emails.d.ts.map +1 -1
  252. package/dist/esm/interface/crud/emails.js +1 -2
  253. package/dist/esm/interface/crud/emails.js.map +1 -1
  254. package/dist/esm/interface/crud/internal-api-keys.d.ts +16 -18
  255. package/dist/esm/interface/crud/internal-api-keys.d.ts.map +1 -1
  256. package/dist/esm/interface/crud/internal-api-keys.js +1 -2
  257. package/dist/esm/interface/crud/internal-api-keys.js.map +1 -1
  258. package/dist/esm/interface/crud/invoices.d.ts +2 -2
  259. package/dist/esm/interface/crud/invoices.d.ts.map +1 -1
  260. package/dist/esm/interface/crud/invoices.js +1 -2
  261. package/dist/esm/interface/crud/invoices.js.map +1 -1
  262. package/dist/esm/interface/crud/items.d.ts +6 -8
  263. package/dist/esm/interface/crud/items.d.ts.map +1 -1
  264. package/dist/esm/interface/crud/items.js +12 -16
  265. package/dist/esm/interface/crud/items.js.map +1 -1
  266. package/dist/esm/interface/crud/notification-preferences.d.ts +6 -8
  267. package/dist/esm/interface/crud/notification-preferences.d.ts.map +1 -1
  268. package/dist/esm/interface/crud/notification-preferences.js +8 -12
  269. package/dist/esm/interface/crud/notification-preferences.js.map +1 -1
  270. package/dist/esm/interface/crud/oauth-providers.d.ts +24 -26
  271. package/dist/esm/interface/crud/oauth-providers.d.ts.map +1 -1
  272. package/dist/esm/interface/crud/oauth-providers.js +1 -2
  273. package/dist/esm/interface/crud/oauth-providers.js.map +1 -1
  274. package/dist/esm/interface/crud/products.d.ts +21 -22
  275. package/dist/esm/interface/crud/products.d.ts.map +1 -1
  276. package/dist/esm/interface/crud/products.js +3 -2
  277. package/dist/esm/interface/crud/products.js.map +1 -1
  278. package/dist/esm/interface/crud/project-api-keys.d.ts +5 -6
  279. package/dist/esm/interface/crud/project-api-keys.d.ts.map +1 -1
  280. package/dist/esm/interface/crud/project-api-keys.js +1 -2
  281. package/dist/esm/interface/crud/project-api-keys.js.map +1 -1
  282. package/dist/esm/interface/crud/project-permissions.d.ts +29 -31
  283. package/dist/esm/interface/crud/project-permissions.d.ts.map +1 -1
  284. package/dist/esm/interface/crud/project-permissions.js +1 -2
  285. package/dist/esm/interface/crud/project-permissions.js.map +1 -1
  286. package/dist/esm/interface/crud/projects.d.ts +71 -73
  287. package/dist/esm/interface/crud/projects.d.ts.map +1 -1
  288. package/dist/esm/interface/crud/projects.js +3 -2
  289. package/dist/esm/interface/crud/projects.js.map +1 -1
  290. package/dist/esm/interface/crud/session-replays.d.ts.map +1 -1
  291. package/dist/esm/interface/crud/session-replays.js +1 -1
  292. package/dist/esm/interface/crud/sessions.d.ts +15 -17
  293. package/dist/esm/interface/crud/sessions.d.ts.map +1 -1
  294. package/dist/esm/interface/crud/sessions.js +1 -2
  295. package/dist/esm/interface/crud/sessions.js.map +1 -1
  296. package/dist/esm/interface/crud/sign-up-rules.d.ts.map +1 -1
  297. package/dist/esm/interface/crud/sign-up-rules.js +1 -1
  298. package/dist/esm/interface/crud/svix-token.d.ts +8 -10
  299. package/dist/esm/interface/crud/svix-token.d.ts.map +1 -1
  300. package/dist/esm/interface/crud/svix-token.js +1 -2
  301. package/dist/esm/interface/crud/svix-token.js.map +1 -1
  302. package/dist/esm/interface/crud/team-invitation-details.d.ts +6 -8
  303. package/dist/esm/interface/crud/team-invitation-details.d.ts.map +1 -1
  304. package/dist/esm/interface/crud/team-invitation-details.js +1 -2
  305. package/dist/esm/interface/crud/team-invitation-details.js.map +1 -1
  306. package/dist/esm/interface/crud/team-invitation.d.ts +7 -9
  307. package/dist/esm/interface/crud/team-invitation.d.ts.map +1 -1
  308. package/dist/esm/interface/crud/team-invitation.js +1 -2
  309. package/dist/esm/interface/crud/team-invitation.js.map +1 -1
  310. package/dist/esm/interface/crud/team-member-profiles.d.ts +26 -28
  311. package/dist/esm/interface/crud/team-member-profiles.d.ts.map +1 -1
  312. package/dist/esm/interface/crud/team-member-profiles.js +1 -2
  313. package/dist/esm/interface/crud/team-member-profiles.js.map +1 -1
  314. package/dist/esm/interface/crud/team-memberships.d.ts +14 -16
  315. package/dist/esm/interface/crud/team-memberships.d.ts.map +1 -1
  316. package/dist/esm/interface/crud/team-memberships.js +1 -2
  317. package/dist/esm/interface/crud/team-memberships.js.map +1 -1
  318. package/dist/esm/interface/crud/team-permissions.d.ts +29 -31
  319. package/dist/esm/interface/crud/team-permissions.d.ts.map +1 -1
  320. package/dist/esm/interface/crud/team-permissions.js +1 -2
  321. package/dist/esm/interface/crud/team-permissions.js.map +1 -1
  322. package/dist/esm/interface/crud/teams.d.ts +36 -38
  323. package/dist/esm/interface/crud/teams.d.ts.map +1 -1
  324. package/dist/esm/interface/crud/teams.js +2 -4
  325. package/dist/esm/interface/crud/teams.js.map +1 -1
  326. package/dist/esm/interface/crud/transactions.d.ts +14 -16
  327. package/dist/esm/interface/crud/transactions.d.ts.map +1 -1
  328. package/dist/esm/interface/crud/transactions.js +7 -13
  329. package/dist/esm/interface/crud/transactions.js.map +1 -1
  330. package/dist/esm/interface/crud/users.d.ts +11 -12
  331. package/dist/esm/interface/crud/users.d.ts.map +1 -1
  332. package/dist/esm/interface/crud/users.js +9 -5
  333. package/dist/esm/interface/crud/users.js.map +1 -1
  334. package/dist/esm/interface/handler-urls.d.ts +1 -1
  335. package/dist/esm/interface/handler-urls.d.ts.map +1 -1
  336. package/dist/esm/interface/handler-urls.js +1 -2
  337. package/dist/esm/interface/page-component-versions.d.ts +1 -1
  338. package/dist/esm/interface/page-component-versions.d.ts.map +1 -1
  339. package/dist/esm/interface/page-component-versions.js +1 -2
  340. package/dist/esm/interface/page-component-versions.js.map +1 -1
  341. package/dist/esm/interface/plan-usage.d.ts +1 -1
  342. package/dist/esm/interface/plan-usage.d.ts.map +1 -1
  343. package/dist/esm/interface/plan-usage.js +1 -2
  344. package/dist/esm/interface/plan-usage.js.map +1 -1
  345. package/dist/esm/interface/server-interface.d.ts +19 -19
  346. package/dist/esm/interface/server-interface.d.ts.map +1 -1
  347. package/dist/esm/interface/server-interface.js +1 -2
  348. package/dist/esm/interface/server-interface.js.map +1 -1
  349. package/dist/esm/interface/webhooks.d.ts +2 -2
  350. package/dist/esm/interface/webhooks.d.ts.map +1 -1
  351. package/dist/esm/interface/webhooks.js +1 -2
  352. package/dist/esm/interface/webhooks.js.map +1 -1
  353. package/dist/esm/known-errors.d.ts +2 -2
  354. package/dist/esm/known-errors.d.ts.map +1 -1
  355. package/dist/esm/known-errors.js +10 -21
  356. package/dist/esm/known-errors.js.map +1 -1
  357. package/dist/esm/payments/payment-methods.d.ts.map +1 -1
  358. package/dist/esm/payments/payment-methods.js +1 -1
  359. package/dist/esm/payments/payment-methods.js.map +1 -1
  360. package/dist/esm/payments/stripe-limits.d.ts.map +1 -1
  361. package/dist/esm/payments/stripe-limits.js +1 -1
  362. package/dist/esm/payments/stripe-limits.js.map +1 -1
  363. package/dist/esm/plans.d.ts.map +1 -1
  364. package/dist/esm/plans.js +1 -1
  365. package/dist/esm/plans.js.map +1 -1
  366. package/dist/esm/schema-fields.d.ts +14 -14
  367. package/dist/esm/schema-fields.d.ts.map +1 -1
  368. package/dist/esm/schema-fields.js +3 -64
  369. package/dist/esm/schema-fields.js.map +1 -1
  370. package/dist/esm/sessions.d.ts +6 -6
  371. package/dist/esm/sessions.d.ts.map +1 -1
  372. package/dist/esm/sessions.js +1 -2
  373. package/dist/esm/sessions.js.map +1 -1
  374. package/dist/esm/sessions.test.js +2 -3
  375. package/dist/esm/sessions.test.js.map +1 -1
  376. package/dist/esm/utils/analytics-clickmap-overlay.d.ts.map +1 -1
  377. package/dist/esm/utils/analytics-clickmap-overlay.js +1 -1
  378. package/dist/esm/utils/api-keys.d.ts.map +1 -1
  379. package/dist/esm/utils/api-keys.js +1 -2
  380. package/dist/esm/utils/api-keys.js.map +1 -1
  381. package/dist/esm/utils/arrays.d.ts.map +1 -1
  382. package/dist/esm/utils/arrays.js +1 -470
  383. package/dist/esm/utils/arrays.js.map +1 -1
  384. package/dist/esm/utils/auth-methods.d.ts.map +1 -1
  385. package/dist/esm/utils/auth-methods.js +1 -1
  386. package/dist/esm/utils/auth-methods.js.map +1 -1
  387. package/dist/esm/utils/base64.d.ts.map +1 -1
  388. package/dist/esm/utils/base64.js +1 -10
  389. package/dist/esm/utils/base64.js.map +1 -1
  390. package/dist/esm/utils/booleans.d.ts.map +1 -1
  391. package/dist/esm/utils/booleans.js +1 -25
  392. package/dist/esm/utils/booleans.js.map +1 -1
  393. package/dist/esm/utils/browser-compat.d.ts.map +1 -1
  394. package/dist/esm/utils/browser-compat.js +1 -1
  395. package/dist/esm/utils/browser-compat.js.map +1 -1
  396. package/dist/esm/utils/bytes.d.ts.map +1 -1
  397. package/dist/esm/utils/bytes.js +3 -198
  398. package/dist/esm/utils/bytes.js.map +1 -1
  399. package/dist/esm/utils/caches.d.ts +1 -1
  400. package/dist/esm/utils/caches.d.ts.map +1 -1
  401. package/dist/esm/utils/caches.js +1 -27
  402. package/dist/esm/utils/caches.js.map +1 -1
  403. package/dist/esm/utils/cel-fields.d.ts.map +1 -1
  404. package/dist/esm/utils/cel-fields.js +1 -2
  405. package/dist/esm/utils/cel-fields.js.map +1 -1
  406. package/dist/esm/utils/cloud-hosts.d.ts.map +1 -1
  407. package/dist/esm/utils/cloud-hosts.js +1 -27
  408. package/dist/esm/utils/cloud-hosts.js.map +1 -1
  409. package/dist/esm/utils/compile-time.d.ts.map +1 -1
  410. package/dist/esm/utils/compile-time.js +1 -1
  411. package/dist/esm/utils/compile-time.js.map +1 -1
  412. package/dist/esm/utils/country-codes.d.ts.map +1 -1
  413. package/dist/esm/utils/country-codes.js +1 -16
  414. package/dist/esm/utils/country-codes.js.map +1 -1
  415. package/dist/esm/utils/crypto.d.ts.map +1 -1
  416. package/dist/esm/utils/crypto.js +3 -113
  417. package/dist/esm/utils/crypto.js.map +1 -1
  418. package/dist/esm/utils/currencies.d.ts +1 -1
  419. package/dist/esm/utils/currencies.d.ts.map +1 -1
  420. package/dist/esm/utils/currencies.js +2 -37
  421. package/dist/esm/utils/currencies.js.map +1 -1
  422. package/dist/esm/utils/currency-constants.d.ts.map +1 -1
  423. package/dist/esm/utils/currency-constants.js +1 -1
  424. package/dist/esm/utils/currency-constants.js.map +1 -1
  425. package/dist/esm/utils/dates.d.ts.map +1 -1
  426. package/dist/esm/utils/dates.js +1 -44
  427. package/dist/esm/utils/dates.js.map +1 -1
  428. package/dist/esm/utils/dev-env-state-path.d.ts.map +1 -1
  429. package/dist/esm/utils/dev-env-state-path.js +1 -2
  430. package/dist/esm/utils/dev-env-state-path.js.map +1 -1
  431. package/dist/esm/utils/dev-tool.d.ts.map +1 -1
  432. package/dist/esm/utils/dev-tool.js +1 -1
  433. package/dist/esm/utils/dom.d.ts.map +1 -1
  434. package/dist/esm/utils/dom.js +1 -1
  435. package/dist/esm/utils/dom.js.map +1 -1
  436. package/dist/esm/utils/elements-chain.d.ts.map +1 -1
  437. package/dist/esm/utils/elements-chain.js +5 -50
  438. package/dist/esm/utils/elements-chain.js.map +1 -1
  439. package/dist/esm/utils/env.d.ts.map +1 -1
  440. package/dist/esm/utils/env.js +1 -2
  441. package/dist/esm/utils/env.js.map +1 -1
  442. package/dist/esm/utils/env.test.js +2 -3
  443. package/dist/esm/utils/env.test.js.map +1 -1
  444. package/dist/esm/utils/errors.d.ts +1 -1
  445. package/dist/esm/utils/errors.d.ts.map +1 -1
  446. package/dist/esm/utils/errors.js +1 -2
  447. package/dist/esm/utils/errors.js.map +1 -1
  448. package/dist/esm/utils/esbuild.d.ts +1 -1
  449. package/dist/esm/utils/esbuild.d.ts.map +1 -1
  450. package/dist/esm/utils/esbuild.js +2 -3
  451. package/dist/esm/utils/esbuild.js.map +1 -1
  452. package/dist/esm/utils/featurebase.d.ts.map +1 -1
  453. package/dist/esm/utils/featurebase.js +1 -2
  454. package/dist/esm/utils/featurebase.js.map +1 -1
  455. package/dist/esm/utils/fs.d.ts.map +1 -1
  456. package/dist/esm/utils/fs.js +1 -2
  457. package/dist/esm/utils/fs.js.map +1 -1
  458. package/dist/esm/utils/functions.d.ts.map +1 -1
  459. package/dist/esm/utils/functions.js +1 -24
  460. package/dist/esm/utils/functions.js.map +1 -1
  461. package/dist/esm/utils/geo.d.ts.map +1 -1
  462. package/dist/esm/utils/geo.js +1 -2
  463. package/dist/esm/utils/geo.js.map +1 -1
  464. package/dist/esm/utils/globals.d.ts.map +1 -1
  465. package/dist/esm/utils/globals.js +1 -1
  466. package/dist/esm/utils/globals.js.map +1 -1
  467. package/dist/esm/utils/hashes.d.ts.map +1 -1
  468. package/dist/esm/utils/hashes.js +1 -2
  469. package/dist/esm/utils/hashes.js.map +1 -1
  470. package/dist/esm/utils/html.d.ts.map +1 -1
  471. package/dist/esm/utils/html.js +1 -19
  472. package/dist/esm/utils/html.js.map +1 -1
  473. package/dist/esm/utils/http.d.ts.map +1 -1
  474. package/dist/esm/utils/http.js +1 -19
  475. package/dist/esm/utils/http.js.map +1 -1
  476. package/dist/esm/utils/ips.d.ts.map +1 -1
  477. package/dist/esm/utils/ips.js +1 -25
  478. package/dist/esm/utils/ips.js.map +1 -1
  479. package/dist/esm/utils/json.d.ts +1 -1
  480. package/dist/esm/utils/json.d.ts.map +1 -1
  481. package/dist/esm/utils/json.js +1 -155
  482. package/dist/esm/utils/json.js.map +1 -1
  483. package/dist/esm/utils/jsx-editable-transpiler.d.ts.map +1 -1
  484. package/dist/esm/utils/jsx-editable-transpiler.js +1 -2
  485. package/dist/esm/utils/jsx-editable-transpiler.js.map +1 -1
  486. package/dist/esm/utils/jsx-editable-transpiler.test.js +2 -3
  487. package/dist/esm/utils/jsx-editable-transpiler.test.js.map +1 -1
  488. package/dist/esm/utils/jwt.d.ts.map +1 -1
  489. package/dist/esm/utils/jwt.js +1 -2
  490. package/dist/esm/utils/jwt.js.map +1 -1
  491. package/dist/esm/utils/locks.d.ts.map +1 -1
  492. package/dist/esm/utils/locks.js +1 -2
  493. package/dist/esm/utils/locks.js.map +1 -1
  494. package/dist/esm/utils/maps.d.ts.map +1 -1
  495. package/dist/esm/utils/maps.js +1 -111
  496. package/dist/esm/utils/maps.js.map +1 -1
  497. package/dist/esm/utils/math.d.ts.map +1 -1
  498. package/dist/esm/utils/math.js +1 -11
  499. package/dist/esm/utils/math.js.map +1 -1
  500. package/dist/esm/utils/monkey-patch.d.ts.map +1 -1
  501. package/dist/esm/utils/monkey-patch.js +2 -3
  502. package/dist/esm/utils/monkey-patch.js.map +1 -1
  503. package/dist/esm/utils/node-http.js +1 -2
  504. package/dist/esm/utils/node-http.js.map +1 -1
  505. package/dist/esm/utils/numbers.d.ts.map +1 -1
  506. package/dist/esm/utils/numbers.js +1 -45
  507. package/dist/esm/utils/numbers.js.map +1 -1
  508. package/dist/esm/utils/oauth.d.ts.map +1 -1
  509. package/dist/esm/utils/oauth.js +1 -1
  510. package/dist/esm/utils/oauth.js.map +1 -1
  511. package/dist/esm/utils/objects.d.ts.map +1 -1
  512. package/dist/esm/utils/objects.js +1 -622
  513. package/dist/esm/utils/objects.js.map +1 -1
  514. package/dist/esm/utils/paginated-lists.d.ts.map +1 -1
  515. package/dist/esm/utils/paginated-lists.js +1 -2
  516. package/dist/esm/utils/paginated-lists.js.map +1 -1
  517. package/dist/esm/utils/paginated-lists.test.js +2 -3
  518. package/dist/esm/utils/paginated-lists.test.js.map +1 -1
  519. package/dist/esm/utils/passkey.d.ts +1 -1
  520. package/dist/esm/utils/passkey.js +1 -1
  521. package/dist/esm/utils/promises.d.ts +1 -1
  522. package/dist/esm/utils/promises.d.ts.map +1 -1
  523. package/dist/esm/utils/promises.js +1 -160
  524. package/dist/esm/utils/promises.js.map +1 -1
  525. package/dist/esm/utils/proxies.d.ts.map +1 -1
  526. package/dist/esm/utils/proxies.js +1 -37
  527. package/dist/esm/utils/proxies.js.map +1 -1
  528. package/dist/esm/utils/react.d.ts.map +1 -1
  529. package/dist/esm/utils/react.js +1 -41
  530. package/dist/esm/utils/react.js.map +1 -1
  531. package/dist/esm/utils/redirect-urls.d.ts.map +1 -1
  532. package/dist/esm/utils/redirect-urls.js +2 -92
  533. package/dist/esm/utils/redirect-urls.js.map +1 -1
  534. package/dist/esm/utils/regex.js +1 -1
  535. package/dist/esm/utils/regex.js.map +1 -1
  536. package/dist/esm/utils/results.d.ts.map +1 -1
  537. package/dist/esm/utils/results.js +1 -213
  538. package/dist/esm/utils/results.js.map +1 -1
  539. package/dist/esm/utils/sentry.js +1 -1
  540. package/dist/esm/utils/sentry.js.map +1 -1
  541. package/dist/esm/utils/stores.d.ts +3 -3
  542. package/dist/esm/utils/stores.d.ts.map +1 -1
  543. package/dist/esm/utils/stores.js +1 -2
  544. package/dist/esm/utils/stores.js.map +1 -1
  545. package/dist/esm/utils/strings.d.ts.map +1 -1
  546. package/dist/esm/utils/strings.js +1 -251
  547. package/dist/esm/utils/strings.js.map +1 -1
  548. package/dist/esm/utils/strings.nicify.test.js +2 -3
  549. package/dist/esm/utils/strings.nicify.test.js.map +1 -1
  550. package/dist/esm/utils/telemetry.d.ts.map +1 -1
  551. package/dist/esm/utils/telemetry.js +1 -2
  552. package/dist/esm/utils/telemetry.js.map +1 -1
  553. package/dist/esm/utils/turnstile-browser.d.ts +1 -1
  554. package/dist/esm/utils/turnstile-browser.d.ts.map +1 -1
  555. package/dist/esm/utils/turnstile-browser.js +1 -2
  556. package/dist/esm/utils/turnstile-browser.js.map +1 -1
  557. package/dist/esm/utils/turnstile-flow.d.ts +1 -1
  558. package/dist/esm/utils/turnstile-flow.d.ts.map +1 -1
  559. package/dist/esm/utils/turnstile-flow.js +1 -2
  560. package/dist/esm/utils/turnstile-flow.js.map +1 -1
  561. package/dist/esm/utils/turnstile-flow.test.js +2 -3
  562. package/dist/esm/utils/turnstile-flow.test.js.map +1 -1
  563. package/dist/esm/utils/turnstile.d.ts.map +1 -1
  564. package/dist/esm/utils/turnstile.js +1 -1
  565. package/dist/esm/utils/turnstile.js.map +1 -1
  566. package/dist/esm/utils/typed-arrays.js +1 -2
  567. package/dist/esm/utils/typed-arrays.js.map +1 -1
  568. package/dist/esm/utils/types.d.ts +1 -1
  569. package/dist/esm/utils/types.d.ts.map +1 -1
  570. package/dist/esm/utils/types.js +1 -1
  571. package/dist/esm/utils/types.js.map +1 -1
  572. package/dist/esm/utils/unicode.d.ts.map +1 -1
  573. package/dist/esm/utils/unicode.js +1 -13
  574. package/dist/esm/utils/unicode.js.map +1 -1
  575. package/dist/esm/utils/urls.d.ts.map +1 -1
  576. package/dist/esm/utils/urls.js +1 -151
  577. package/dist/esm/utils/urls.js.map +1 -1
  578. package/dist/esm/utils/uuids.d.ts.map +1 -1
  579. package/dist/esm/utils/uuids.js +2 -26
  580. package/dist/esm/utils/uuids.js.map +1 -1
  581. package/dist/format-4JG1MGv5.d.ts +61 -0
  582. package/dist/format-4JG1MGv5.d.ts.map +1 -0
  583. package/dist/handler-urls-BHt3v8Ai.d.ts +70 -0
  584. package/dist/handler-urls-BHt3v8Ai.d.ts.map +1 -0
  585. package/dist/helpers/emails.js +2 -4
  586. package/dist/helpers/emails.js.map +1 -1
  587. package/dist/helpers/init-prompt.d.ts.map +1 -1
  588. package/dist/helpers/init-prompt.js +2 -4
  589. package/dist/helpers/init-prompt.js.map +1 -1
  590. package/dist/helpers/password.d.ts +1 -1
  591. package/dist/helpers/password.d.ts.map +1 -1
  592. package/dist/helpers/password.js +2 -4
  593. package/dist/helpers/password.js.map +1 -1
  594. package/dist/helpers/production-mode.d.ts +1 -1
  595. package/dist/helpers/production-mode.d.ts.map +1 -1
  596. package/dist/helpers/production-mode.js +2 -4
  597. package/dist/helpers/production-mode.js.map +1 -1
  598. package/dist/helpers/support-sla.d.ts.map +1 -1
  599. package/dist/helpers/support-sla.js +2 -3
  600. package/dist/helpers/support-sla.js.map +1 -1
  601. package/dist/helpers/support-sla.test.js +1 -3
  602. package/dist/helpers/support-sla.test.js.map +1 -1
  603. package/dist/helpers/vault/client-side.d.ts.map +1 -1
  604. package/dist/helpers/vault/client-side.js +2 -22
  605. package/dist/helpers/vault/client-side.js.map +1 -1
  606. package/dist/helpers/vault/server-side.js +2 -4
  607. package/dist/helpers/vault/server-side.js.map +1 -1
  608. package/dist/hooks/use-async-callback.d.ts.map +1 -1
  609. package/dist/hooks/use-async-callback.js +4 -5
  610. package/dist/hooks/use-async-callback.js.map +1 -1
  611. package/dist/hooks/use-async-external-store.d.ts +1 -1
  612. package/dist/hooks/use-async-external-store.d.ts.map +1 -1
  613. package/dist/hooks/use-async-external-store.js +2 -4
  614. package/dist/hooks/use-async-external-store.js.map +1 -1
  615. package/dist/hooks/use-hash.js +2 -4
  616. package/dist/hooks/use-hash.js.map +1 -1
  617. package/dist/hooks/use-hover.d.ts.map +1 -1
  618. package/dist/hooks/use-hover.js +2 -4
  619. package/dist/hooks/use-hover.js.map +1 -1
  620. package/dist/hooks/use-strict-memo.d.ts.map +1 -1
  621. package/dist/hooks/use-strict-memo.js +2 -72
  622. package/dist/hooks/use-strict-memo.js.map +1 -1
  623. package/dist/index.d.ts +4 -4
  624. package/dist/index.js +27 -29
  625. package/dist/interface/admin-interface.d.ts +3 -379
  626. package/dist/interface/admin-interface.js +2 -4
  627. package/dist/interface/admin-interface.js.map +1 -1
  628. package/dist/interface/admin-metrics.d.ts +2 -807
  629. package/dist/interface/admin-metrics.js +2 -4
  630. package/dist/interface/admin-metrics.js.map +1 -1
  631. package/dist/interface/client-interface.d.ts +2 -447
  632. package/dist/interface/client-interface.js +32 -17
  633. package/dist/interface/client-interface.js.map +1 -1
  634. package/dist/interface/client-interface.test.js +83 -13
  635. package/dist/interface/client-interface.test.js.map +1 -1
  636. package/dist/interface/conversations.d.ts +33 -33
  637. package/dist/interface/conversations.d.ts.map +1 -1
  638. package/dist/interface/conversations.js +2 -4
  639. package/dist/interface/conversations.js.map +1 -1
  640. package/dist/interface/crud/analytics.d.ts +2 -14
  641. package/dist/interface/crud/connected-accounts.d.ts +2 -68
  642. package/dist/interface/crud/connected-accounts.js +2 -4
  643. package/dist/interface/crud/connected-accounts.js.map +1 -1
  644. package/dist/interface/crud/contact-channels.d.ts +2 -181
  645. package/dist/interface/crud/contact-channels.js +2 -4
  646. package/dist/interface/crud/contact-channels.js.map +1 -1
  647. package/dist/interface/crud/current-user.d.ts +2 -285
  648. package/dist/interface/crud/current-user.js +2 -4
  649. package/dist/interface/crud/current-user.js.map +1 -1
  650. package/dist/interface/crud/email-outbox.d.ts +2 -1465
  651. package/dist/interface/crud/email-outbox.js +4 -5
  652. package/dist/interface/crud/email-outbox.js.map +1 -1
  653. package/dist/interface/crud/email-templates.d.ts +15 -16
  654. package/dist/interface/crud/email-templates.d.ts.map +1 -1
  655. package/dist/interface/crud/email-templates.js +2 -4
  656. package/dist/interface/crud/email-templates.js.map +1 -1
  657. package/dist/interface/crud/emails.d.ts +2 -41
  658. package/dist/interface/crud/emails.js +4 -5
  659. package/dist/interface/crud/emails.js.map +1 -1
  660. package/dist/interface/crud/internal-api-keys.d.ts +2 -140
  661. package/dist/interface/crud/internal-api-keys.js +2 -4
  662. package/dist/interface/crud/internal-api-keys.js.map +1 -1
  663. package/dist/interface/crud/invoices.d.ts +2 -43
  664. package/dist/interface/crud/invoices.js +2 -4
  665. package/dist/interface/crud/invoices.js.map +1 -1
  666. package/dist/interface/crud/items.d.ts +2 -30
  667. package/dist/interface/crud/items.js +2 -4
  668. package/dist/interface/crud/items.js.map +1 -1
  669. package/dist/interface/crud/notification-preferences.d.ts +2 -38
  670. package/dist/interface/crud/notification-preferences.js +2 -4
  671. package/dist/interface/crud/notification-preferences.js.map +1 -1
  672. package/dist/interface/crud/oauth-providers.d.ts +2 -186
  673. package/dist/interface/crud/oauth-providers.js +2 -4
  674. package/dist/interface/crud/oauth-providers.js.map +1 -1
  675. package/dist/interface/crud/products.d.ts +2 -182
  676. package/dist/interface/crud/products.js +4 -4
  677. package/dist/interface/crud/products.js.map +1 -1
  678. package/dist/interface/crud/project-api-keys.d.ts +2 -203
  679. package/dist/interface/crud/project-api-keys.js +2 -4
  680. package/dist/interface/crud/project-api-keys.js.map +1 -1
  681. package/dist/interface/crud/project-permissions.d.ts +2 -161
  682. package/dist/interface/crud/project-permissions.js +4 -5
  683. package/dist/interface/crud/project-permissions.js.map +1 -1
  684. package/dist/interface/crud/projects.d.ts +2 -901
  685. package/dist/interface/crud/projects.js +6 -5
  686. package/dist/interface/crud/projects.js.map +1 -1
  687. package/dist/interface/crud/session-replays.d.ts +2 -83
  688. package/dist/interface/crud/sessions.d.ts +2 -150
  689. package/dist/interface/crud/sessions.js +2 -4
  690. package/dist/interface/crud/sessions.js.map +1 -1
  691. package/dist/interface/crud/sign-up-rules.d.ts.map +1 -1
  692. package/dist/interface/crud/svix-token.d.ts +2 -31
  693. package/dist/interface/crud/svix-token.js +2 -4
  694. package/dist/interface/crud/svix-token.js.map +1 -1
  695. package/dist/interface/crud/team-invitation-details.d.ts +5 -6
  696. package/dist/interface/crud/team-invitation-details.d.ts.map +1 -1
  697. package/dist/interface/crud/team-invitation-details.js +4 -5
  698. package/dist/interface/crud/team-invitation-details.js.map +1 -1
  699. package/dist/interface/crud/team-invitation.d.ts +2 -54
  700. package/dist/interface/crud/team-invitation.js +4 -5
  701. package/dist/interface/crud/team-invitation.js.map +1 -1
  702. package/dist/interface/crud/team-member-profiles.d.ts +2 -286
  703. package/dist/interface/crud/team-member-profiles.js +4 -5
  704. package/dist/interface/crud/team-member-profiles.js.map +1 -1
  705. package/dist/interface/crud/team-memberships.d.ts +2 -75
  706. package/dist/interface/crud/team-memberships.js +2 -4
  707. package/dist/interface/crud/team-memberships.js.map +1 -1
  708. package/dist/interface/crud/team-permissions.d.ts +2 -169
  709. package/dist/interface/crud/team-permissions.js +4 -5
  710. package/dist/interface/crud/team-permissions.js.map +1 -1
  711. package/dist/interface/crud/teams.d.ts +2 -299
  712. package/dist/interface/crud/teams.js +5 -7
  713. package/dist/interface/crud/teams.js.map +1 -1
  714. package/dist/interface/crud/transactions.d.ts +2 -183
  715. package/dist/interface/crud/transactions.js +2 -4
  716. package/dist/interface/crud/transactions.js.map +1 -1
  717. package/dist/interface/crud/users.d.ts +2 -653
  718. package/dist/interface/crud/users.js +12 -8
  719. package/dist/interface/crud/users.js.map +1 -1
  720. package/dist/interface/handler-urls.d.ts +2 -51
  721. package/dist/interface/handler-urls.js +12 -14
  722. package/dist/interface/page-component-versions.d.ts +2 -25
  723. package/dist/interface/page-component-versions.js +2 -4
  724. package/dist/interface/page-component-versions.js.map +1 -1
  725. package/dist/interface/plan-usage.d.ts +2 -57
  726. package/dist/interface/plan-usage.js +2 -4
  727. package/dist/interface/plan-usage.js.map +1 -1
  728. package/dist/interface/server-interface.d.ts +2 -257
  729. package/dist/interface/server-interface.js +2 -4
  730. package/dist/interface/server-interface.js.map +1 -1
  731. package/dist/interface/webhooks.d.ts +2 -326
  732. package/dist/interface/webhooks.js +2 -4
  733. package/dist/interface/webhooks.js.map +1 -1
  734. package/dist/internal-api-keys-D8IYDodH.d.ts +139 -0
  735. package/dist/internal-api-keys-D8IYDodH.d.ts.map +1 -0
  736. package/dist/invoices-U65KzAZX.d.ts +43 -0
  737. package/dist/invoices-U65KzAZX.d.ts.map +1 -0
  738. package/dist/items-DlLSlVUD.d.ts +29 -0
  739. package/dist/items-DlLSlVUD.d.ts.map +1 -0
  740. package/dist/json-a1QIXu5z.d.ts +15 -0
  741. package/dist/json-a1QIXu5z.d.ts.map +1 -0
  742. package/dist/known-errors-Bm4a61wL.d.ts +575 -0
  743. package/dist/known-errors-Bm4a61wL.d.ts.map +1 -0
  744. package/dist/known-errors.d.ts +2 -575
  745. package/dist/known-errors.js +11 -23
  746. package/dist/known-errors.js.map +1 -1
  747. package/dist/notification-preferences-Bmzr_EOY.d.ts +37 -0
  748. package/dist/notification-preferences-Bmzr_EOY.d.ts.map +1 -0
  749. package/dist/oauth-providers-BMkKSSlA.d.ts +185 -0
  750. package/dist/oauth-providers-BMkKSSlA.d.ts.map +1 -0
  751. package/dist/objects-DkCkeBWE.d.ts +59 -0
  752. package/dist/objects-DkCkeBWE.d.ts.map +1 -0
  753. package/dist/passkey-CKg87UH-.d.ts +2 -0
  754. package/dist/payments/payment-methods.d.ts.map +1 -1
  755. package/dist/payments/payment-methods.js +2 -3
  756. package/dist/payments/payment-methods.js.map +1 -1
  757. package/dist/payments/stripe-limits.d.ts.map +1 -1
  758. package/dist/payments/stripe-limits.js +2 -3
  759. package/dist/payments/stripe-limits.js.map +1 -1
  760. package/dist/plan-usage-DfDoj5K4.d.ts +57 -0
  761. package/dist/plan-usage-DfDoj5K4.d.ts.map +1 -0
  762. package/dist/plans.d.ts.map +1 -1
  763. package/dist/plans.js +2 -3
  764. package/dist/plans.js.map +1 -1
  765. package/dist/products-Bs74ld-v.d.ts +182 -0
  766. package/dist/products-Bs74ld-v.d.ts.map +1 -0
  767. package/dist/project-api-keys--7V5X_UW.d.ts +203 -0
  768. package/dist/project-api-keys--7V5X_UW.d.ts.map +1 -0
  769. package/dist/project-permissions-kdi675F-.d.ts +160 -0
  770. package/dist/project-permissions-kdi675F-.d.ts.map +1 -0
  771. package/dist/projects-CgFGB3nO.d.ts +900 -0
  772. package/dist/projects-CgFGB3nO.d.ts.map +1 -0
  773. package/dist/results-DP3BzoL6.d.ts +70 -0
  774. package/dist/results-DP3BzoL6.d.ts.map +1 -0
  775. package/dist/{chunk-BE-pF4vm.js → rolldown-runtime-D6vf50IK.js} +12 -18
  776. package/dist/schema-01nWxmb4.d.ts +2328 -0
  777. package/dist/schema-01nWxmb4.d.ts.map +1 -0
  778. package/dist/schema-fields-DqGQ4kF7.d.ts +517 -0
  779. package/dist/schema-fields-DqGQ4kF7.d.ts.map +1 -0
  780. package/dist/schema-fields.d.ts +3 -518
  781. package/dist/schema-fields.js +21 -82
  782. package/dist/schema-fields.js.map +1 -1
  783. package/dist/server-interface-BUPG1kor.d.ts +257 -0
  784. package/dist/server-interface-BUPG1kor.d.ts.map +1 -0
  785. package/dist/session-replays-CXqhDpZq.d.ts +83 -0
  786. package/dist/session-replays-CXqhDpZq.d.ts.map +1 -0
  787. package/dist/sessions-B7Ko2Ldr.d.ts +149 -0
  788. package/dist/sessions-B7Ko2Ldr.d.ts.map +1 -0
  789. package/dist/sessions-d8qtvBUB.d.ts +175 -0
  790. package/dist/sessions-d8qtvBUB.d.ts.map +1 -0
  791. package/dist/sessions.d.ts +2 -175
  792. package/dist/sessions.js +4 -5
  793. package/dist/sessions.js.map +1 -1
  794. package/dist/sessions.test.js +1 -3
  795. package/dist/sessions.test.js.map +1 -1
  796. package/dist/strings-DWgkUybS.d.ts +76 -0
  797. package/dist/strings-DWgkUybS.d.ts.map +1 -0
  798. package/dist/svix-token-BsMrLGvy.d.ts +30 -0
  799. package/dist/svix-token-BsMrLGvy.d.ts.map +1 -0
  800. package/dist/team-invitation-Cyqt9oWw.d.ts +53 -0
  801. package/dist/team-invitation-Cyqt9oWw.d.ts.map +1 -0
  802. package/dist/team-member-profiles-uTluO8XI.d.ts +285 -0
  803. package/dist/team-member-profiles-uTluO8XI.d.ts.map +1 -0
  804. package/dist/team-memberships-DZHk2A5b.d.ts +74 -0
  805. package/dist/team-memberships-DZHk2A5b.d.ts.map +1 -0
  806. package/dist/team-permissions-DqOpaOWh.d.ts +168 -0
  807. package/dist/team-permissions-DqOpaOWh.d.ts.map +1 -0
  808. package/dist/teams-CQMcBnjM.d.ts +298 -0
  809. package/dist/teams-CQMcBnjM.d.ts.map +1 -0
  810. package/dist/transactions-DhnbvGH5.d.ts +182 -0
  811. package/dist/transactions-DhnbvGH5.d.ts.map +1 -0
  812. package/dist/types-DfTcxNtM.d.ts +77 -0
  813. package/dist/types-DfTcxNtM.d.ts.map +1 -0
  814. package/dist/users-CmBBuF00.d.ts +653 -0
  815. package/dist/users-CmBBuF00.d.ts.map +1 -0
  816. package/dist/utils/analytics-clickmap-overlay.d.ts.map +1 -1
  817. package/dist/utils/analytics-clickmap-overlay.js +2 -3
  818. package/dist/utils/analytics-clickmap-overlay.js.map +1 -1
  819. package/dist/utils/api-keys.d.ts.map +1 -1
  820. package/dist/utils/api-keys.js +4 -5
  821. package/dist/utils/api-keys.js.map +1 -1
  822. package/dist/utils/arrays.d.ts.map +1 -1
  823. package/dist/utils/arrays.js +2 -472
  824. package/dist/utils/arrays.js.map +1 -1
  825. package/dist/utils/auth-methods.d.ts.map +1 -1
  826. package/dist/utils/auth-methods.js +2 -3
  827. package/dist/utils/auth-methods.js.map +1 -1
  828. package/dist/utils/base64.d.ts.map +1 -1
  829. package/dist/utils/base64.js +2 -12
  830. package/dist/utils/base64.js.map +1 -1
  831. package/dist/utils/booleans.d.ts.map +1 -1
  832. package/dist/utils/booleans.js +2 -27
  833. package/dist/utils/booleans.js.map +1 -1
  834. package/dist/utils/browser-compat.d.ts.map +1 -1
  835. package/dist/utils/browser-compat.js +2 -3
  836. package/dist/utils/browser-compat.js.map +1 -1
  837. package/dist/utils/bytes.d.ts.map +1 -1
  838. package/dist/utils/bytes.js +4 -200
  839. package/dist/utils/bytes.js.map +1 -1
  840. package/dist/utils/caches.d.ts.map +1 -1
  841. package/dist/utils/caches.js +2 -29
  842. package/dist/utils/caches.js.map +1 -1
  843. package/dist/utils/cel-fields.d.ts.map +1 -1
  844. package/dist/utils/cel-fields.js +2 -4
  845. package/dist/utils/cel-fields.js.map +1 -1
  846. package/dist/utils/cloud-hosts.d.ts.map +1 -1
  847. package/dist/utils/cloud-hosts.js +2 -29
  848. package/dist/utils/cloud-hosts.js.map +1 -1
  849. package/dist/utils/compile-time.d.ts.map +1 -1
  850. package/dist/utils/compile-time.js +2 -3
  851. package/dist/utils/compile-time.js.map +1 -1
  852. package/dist/utils/country-codes.d.ts +2 -11
  853. package/dist/utils/country-codes.js +2 -18
  854. package/dist/utils/country-codes.js.map +1 -1
  855. package/dist/utils/crypto.d.ts.map +1 -1
  856. package/dist/utils/crypto.js +4 -115
  857. package/dist/utils/crypto.js.map +1 -1
  858. package/dist/utils/currencies.d.ts +1 -1
  859. package/dist/utils/currencies.d.ts.map +1 -1
  860. package/dist/utils/currencies.js +3 -39
  861. package/dist/utils/currencies.js.map +1 -1
  862. package/dist/utils/currency-constants.d.ts +2 -45
  863. package/dist/utils/currency-constants.js +2 -3
  864. package/dist/utils/currency-constants.js.map +1 -1
  865. package/dist/utils/dates.d.ts +2 -23
  866. package/dist/utils/dates.js +2 -46
  867. package/dist/utils/dates.js.map +1 -1
  868. package/dist/utils/dev-env-state-path.d.ts.map +1 -1
  869. package/dist/utils/dev-env-state-path.js +2 -4
  870. package/dist/utils/dev-env-state-path.js.map +1 -1
  871. package/dist/utils/dev-tool.d.ts.map +1 -1
  872. package/dist/utils/dev-tool.js +2 -3
  873. package/dist/utils/dev-tool.js.map +1 -1
  874. package/dist/utils/dom.d.ts.map +1 -1
  875. package/dist/utils/dom.js +2 -3
  876. package/dist/utils/dom.js.map +1 -1
  877. package/dist/utils/elements-chain.d.ts.map +1 -1
  878. package/dist/utils/elements-chain.js +6 -52
  879. package/dist/utils/elements-chain.js.map +1 -1
  880. package/dist/utils/env.d.ts.map +1 -1
  881. package/dist/utils/env.js +2 -4
  882. package/dist/utils/env.js.map +1 -1
  883. package/dist/utils/env.test.js +1 -3
  884. package/dist/utils/env.test.js.map +1 -1
  885. package/dist/utils/errors.d.ts +2 -238
  886. package/dist/utils/errors.js +2 -4
  887. package/dist/utils/errors.js.map +1 -1
  888. package/dist/utils/esbuild.d.ts +1 -1
  889. package/dist/utils/esbuild.d.ts.map +1 -1
  890. package/dist/utils/esbuild.js +5 -6
  891. package/dist/utils/esbuild.js.map +1 -1
  892. package/dist/utils/featurebase.d.ts.map +1 -1
  893. package/dist/utils/featurebase.js +2 -4
  894. package/dist/utils/featurebase.js.map +1 -1
  895. package/dist/utils/fs.d.ts.map +1 -1
  896. package/dist/utils/fs.js +5 -6
  897. package/dist/utils/fs.js.map +1 -1
  898. package/dist/utils/functions.d.ts.map +1 -1
  899. package/dist/utils/functions.js +2 -26
  900. package/dist/utils/functions.js.map +1 -1
  901. package/dist/utils/geo.d.ts.map +1 -1
  902. package/dist/utils/geo.js +2 -4
  903. package/dist/utils/geo.js.map +1 -1
  904. package/dist/utils/globals.d.ts.map +1 -1
  905. package/dist/utils/globals.js +2 -3
  906. package/dist/utils/globals.js.map +1 -1
  907. package/dist/utils/hashes.d.ts.map +1 -1
  908. package/dist/utils/hashes.js +4 -5
  909. package/dist/utils/hashes.js.map +1 -1
  910. package/dist/utils/html.d.ts.map +1 -1
  911. package/dist/utils/html.js +2 -21
  912. package/dist/utils/html.js.map +1 -1
  913. package/dist/utils/http.d.ts.map +1 -1
  914. package/dist/utils/http.js +2 -21
  915. package/dist/utils/http.js.map +1 -1
  916. package/dist/utils/ips.d.ts.map +1 -1
  917. package/dist/utils/ips.js +4 -28
  918. package/dist/utils/ips.js.map +1 -1
  919. package/dist/utils/json.d.ts +2 -15
  920. package/dist/utils/json.js +2 -157
  921. package/dist/utils/json.js.map +1 -1
  922. package/dist/utils/jsx-editable-transpiler.d.ts.map +1 -1
  923. package/dist/utils/jsx-editable-transpiler.js +7 -8
  924. package/dist/utils/jsx-editable-transpiler.js.map +1 -1
  925. package/dist/utils/jsx-editable-transpiler.test.js +1 -3
  926. package/dist/utils/jsx-editable-transpiler.test.js.map +1 -1
  927. package/dist/utils/jwt.d.ts.map +1 -1
  928. package/dist/utils/jwt.js +6 -7
  929. package/dist/utils/jwt.js.map +1 -1
  930. package/dist/utils/locks.d.ts.map +1 -1
  931. package/dist/utils/locks.js +2 -4
  932. package/dist/utils/locks.js.map +1 -1
  933. package/dist/utils/maps.d.ts.map +1 -1
  934. package/dist/utils/maps.js +2 -113
  935. package/dist/utils/maps.js.map +1 -1
  936. package/dist/utils/math.d.ts.map +1 -1
  937. package/dist/utils/math.js +2 -13
  938. package/dist/utils/math.js.map +1 -1
  939. package/dist/utils/monkey-patch.d.ts.map +1 -1
  940. package/dist/utils/monkey-patch.js +3 -5
  941. package/dist/utils/monkey-patch.js.map +1 -1
  942. package/dist/utils/node-http.js +2 -4
  943. package/dist/utils/node-http.js.map +1 -1
  944. package/dist/utils/numbers.d.ts.map +1 -1
  945. package/dist/utils/numbers.js +2 -47
  946. package/dist/utils/numbers.js.map +1 -1
  947. package/dist/utils/oauth.d.ts.map +1 -1
  948. package/dist/utils/oauth.js +2 -3
  949. package/dist/utils/oauth.js.map +1 -1
  950. package/dist/utils/objects.d.ts +2 -59
  951. package/dist/utils/objects.js +2 -624
  952. package/dist/utils/objects.js.map +1 -1
  953. package/dist/utils/paginated-lists.d.ts.map +1 -1
  954. package/dist/utils/paginated-lists.js +2 -4
  955. package/dist/utils/paginated-lists.js.map +1 -1
  956. package/dist/utils/paginated-lists.test.js +1 -3
  957. package/dist/utils/paginated-lists.test.js.map +1 -1
  958. package/dist/utils/passkey.d.ts +2 -2
  959. package/dist/utils/promises.d.ts +1 -1
  960. package/dist/utils/promises.d.ts.map +1 -1
  961. package/dist/utils/promises.js +2 -162
  962. package/dist/utils/promises.js.map +1 -1
  963. package/dist/utils/proxies.d.ts.map +1 -1
  964. package/dist/utils/proxies.js +2 -39
  965. package/dist/utils/proxies.js.map +1 -1
  966. package/dist/utils/react.d.ts.map +1 -1
  967. package/dist/utils/react.js +4 -44
  968. package/dist/utils/react.js.map +1 -1
  969. package/dist/utils/redirect-urls.d.ts.map +1 -1
  970. package/dist/utils/redirect-urls.js +3 -94
  971. package/dist/utils/redirect-urls.js.map +1 -1
  972. package/dist/utils/regex.js +2 -3
  973. package/dist/utils/regex.js.map +1 -1
  974. package/dist/utils/results.d.ts +2 -70
  975. package/dist/utils/results.js +2 -215
  976. package/dist/utils/results.js.map +1 -1
  977. package/dist/utils/sentry.js +2 -3
  978. package/dist/utils/sentry.js.map +1 -1
  979. package/dist/utils/stores.d.ts +1 -1
  980. package/dist/utils/stores.d.ts.map +1 -1
  981. package/dist/utils/stores.js +2 -4
  982. package/dist/utils/stores.js.map +1 -1
  983. package/dist/utils/strings.d.ts +2 -76
  984. package/dist/utils/strings.js +2 -253
  985. package/dist/utils/strings.js.map +1 -1
  986. package/dist/utils/strings.nicify.test.js +1 -3
  987. package/dist/utils/strings.nicify.test.js.map +1 -1
  988. package/dist/utils/telemetry.d.ts.map +1 -1
  989. package/dist/utils/telemetry.js +2 -4
  990. package/dist/utils/telemetry.js.map +1 -1
  991. package/dist/utils/turnstile-browser.d.ts.map +1 -1
  992. package/dist/utils/turnstile-browser.js +2 -4
  993. package/dist/utils/turnstile-browser.js.map +1 -1
  994. package/dist/utils/turnstile-flow.d.ts.map +1 -1
  995. package/dist/utils/turnstile-flow.js +2 -4
  996. package/dist/utils/turnstile-flow.js.map +1 -1
  997. package/dist/utils/turnstile-flow.test.js +1 -3
  998. package/dist/utils/turnstile-flow.test.js.map +1 -1
  999. package/dist/utils/turnstile.d.ts.map +1 -1
  1000. package/dist/utils/turnstile.js +2 -3
  1001. package/dist/utils/turnstile.js.map +1 -1
  1002. package/dist/utils/typed-arrays.js +2 -4
  1003. package/dist/utils/typed-arrays.js.map +1 -1
  1004. package/dist/utils/types.d.ts +2 -77
  1005. package/dist/utils/types.js +2 -3
  1006. package/dist/utils/types.js.map +1 -1
  1007. package/dist/utils/unicode.d.ts.map +1 -1
  1008. package/dist/utils/unicode.js +2 -15
  1009. package/dist/utils/unicode.js.map +1 -1
  1010. package/dist/utils/urls.d.ts.map +1 -1
  1011. package/dist/utils/urls.js +2 -153
  1012. package/dist/utils/urls.js.map +1 -1
  1013. package/dist/utils/uuids.d.ts.map +1 -1
  1014. package/dist/utils/uuids.js +3 -28
  1015. package/dist/utils/uuids.js.map +1 -1
  1016. package/dist/webhooks-ByXrdSOx.d.ts +326 -0
  1017. package/dist/webhooks-ByXrdSOx.d.ts.map +1 -0
  1018. package/package.json +2 -8
  1019. package/src/interface/client-interface.test.ts +77 -12
  1020. package/src/interface/client-interface.ts +9 -9
  1021. package/dist/config/format.d.ts.map +0 -1
  1022. package/dist/config/schema.d.ts.map +0 -1
  1023. package/dist/crud.d.ts.map +0 -1
  1024. package/dist/interface/admin-interface.d.ts.map +0 -1
  1025. package/dist/interface/admin-metrics.d.ts.map +0 -1
  1026. package/dist/interface/client-interface.d.ts.map +0 -1
  1027. package/dist/interface/crud/analytics.d.ts.map +0 -1
  1028. package/dist/interface/crud/connected-accounts.d.ts.map +0 -1
  1029. package/dist/interface/crud/contact-channels.d.ts.map +0 -1
  1030. package/dist/interface/crud/current-user.d.ts.map +0 -1
  1031. package/dist/interface/crud/emails.d.ts.map +0 -1
  1032. package/dist/interface/crud/internal-api-keys.d.ts.map +0 -1
  1033. package/dist/interface/crud/invoices.d.ts.map +0 -1
  1034. package/dist/interface/crud/items.d.ts.map +0 -1
  1035. package/dist/interface/crud/notification-preferences.d.ts.map +0 -1
  1036. package/dist/interface/crud/oauth-providers.d.ts.map +0 -1
  1037. package/dist/interface/crud/products.d.ts.map +0 -1
  1038. package/dist/interface/crud/project-api-keys.d.ts.map +0 -1
  1039. package/dist/interface/crud/project-permissions.d.ts.map +0 -1
  1040. package/dist/interface/crud/projects.d.ts.map +0 -1
  1041. package/dist/interface/crud/session-replays.d.ts.map +0 -1
  1042. package/dist/interface/crud/sessions.d.ts.map +0 -1
  1043. package/dist/interface/crud/svix-token.d.ts.map +0 -1
  1044. package/dist/interface/crud/team-invitation.d.ts.map +0 -1
  1045. package/dist/interface/crud/team-member-profiles.d.ts.map +0 -1
  1046. package/dist/interface/crud/team-memberships.d.ts.map +0 -1
  1047. package/dist/interface/crud/team-permissions.d.ts.map +0 -1
  1048. package/dist/interface/crud/teams.d.ts.map +0 -1
  1049. package/dist/interface/crud/transactions.d.ts.map +0 -1
  1050. package/dist/interface/crud/users.d.ts.map +0 -1
  1051. package/dist/interface/handler-urls.d.ts.map +0 -1
  1052. package/dist/interface/page-component-versions.d.ts.map +0 -1
  1053. package/dist/interface/plan-usage.d.ts.map +0 -1
  1054. package/dist/interface/server-interface.d.ts.map +0 -1
  1055. package/dist/interface/webhooks.d.ts.map +0 -1
  1056. package/dist/known-errors.d.ts.map +0 -1
  1057. package/dist/schema-fields.d.ts.map +0 -1
  1058. package/dist/sessions.d.ts.map +0 -1
  1059. package/dist/utils/country-codes.d.ts.map +0 -1
  1060. package/dist/utils/currency-constants.d.ts.map +0 -1
  1061. package/dist/utils/dates.d.ts.map +0 -1
  1062. package/dist/utils/errors.d.ts.map +0 -1
  1063. package/dist/utils/json.d.ts.map +0 -1
  1064. package/dist/utils/objects.d.ts.map +0 -1
  1065. package/dist/utils/results.d.ts.map +0 -1
  1066. package/dist/utils/strings.d.ts.map +0 -1
  1067. package/dist/utils/types.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"paginated-lists.test.js","names":["ArrayPaginatedList","PaginatedList"],"sources":["../../src/utils/paginated-lists.test.ts"],"sourcesContent":["import { describe, expect, it } from \"vitest\";\nimport { ArrayPaginatedList, PaginatedList } from \"./paginated-lists\";\nimport { stringCompare } from \"./strings\";\n\ntype NumberFilter = (item: number) => boolean;\ntype NumberOrderBy = (a: number, b: number) => number;\n\n// Helper to extract just the items from a paginated result\nconst items = <T>(result: { items: { item: T }[] }) => result.items.map(i => i.item);\n\ndescribe(\"ArrayPaginatedList\", () => {\n describe(\"basic forward pagination (next)\", () => {\n it(\"should return all items when limit is greater than array length\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3]);\n const result = await list.next({\n after: list.getFirstCursor(),\n limit: 10,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([1, 2, 3]);\n expect(result.isFirst).toBe(true);\n expect(result.isLast).toBe(true);\n });\n\n it(\"should return exact limit when more items exist\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3, 4, 5]);\n const result = await list.next({\n after: list.getFirstCursor(),\n limit: 3,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([1, 2, 3]);\n expect(result.isFirst).toBe(true);\n expect(result.isLast).toBe(false);\n });\n\n it(\"should continue from cursor correctly\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3, 4, 5]);\n const first = await list.next({\n after: list.getFirstCursor(),\n limit: 2,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(first)).toEqual([1, 2]);\n expect(first.cursor).toBe(\"before-2\");\n\n const second = await list.next({\n after: first.cursor,\n limit: 2,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(second)).toEqual([3, 4]);\n expect(second.isFirst).toBe(false);\n expect(second.isLast).toBe(false);\n });\n\n it(\"should handle empty array\", async () => {\n const list = new ArrayPaginatedList<number>([]);\n const result = await list.next({\n after: list.getFirstCursor(),\n limit: 10,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([]);\n expect(result.isFirst).toBe(true);\n expect(result.isLast).toBe(true);\n });\n\n it(\"should handle limit of 0\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3]);\n const result = await list.next({\n after: list.getFirstCursor(),\n limit: 0,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([]);\n });\n });\n\n describe(\"backward pagination (prev)\", () => {\n it(\"should return items before cursor\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3, 4, 5]);\n const result = await list.prev({\n before: list.getLastCursor(),\n limit: 2,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([4, 5]);\n expect(result.isFirst).toBe(false);\n expect(result.isLast).toBe(true);\n });\n\n it(\"should paginate backwards correctly\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3, 4, 5]);\n\n const last = await list.prev({\n before: list.getLastCursor(),\n limit: 2,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n expect(items(last)).toEqual([4, 5]);\n\n const middle = await list.prev({\n before: last.cursor,\n limit: 2,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n expect(items(middle)).toEqual([2, 3]);\n\n const first = await list.prev({\n before: middle.cursor,\n limit: 2,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n expect(items(first)).toEqual([1]);\n expect(first.isFirst).toBe(true);\n });\n });\n\n describe(\"cursor semantics (prevCursor and nextCursor)\", () => {\n it(\"should have prevCursor before the item and nextCursor after\", async () => {\n const list = new ArrayPaginatedList([10, 20, 30]);\n const result = await list.next({\n after: list.getFirstCursor(),\n limit: 3,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n // First item: prevCursor should be \"before-0\", nextCursor should be \"before-1\"\n expect(result.items[0].prevCursor).toBe(\"before-0\");\n expect(result.items[0].nextCursor).toBe(\"before-1\");\n\n // Second item\n expect(result.items[1].prevCursor).toBe(\"before-1\");\n expect(result.items[1].nextCursor).toBe(\"before-2\");\n\n // Third item\n expect(result.items[2].prevCursor).toBe(\"before-2\");\n expect(result.items[2].nextCursor).toBe(\"before-3\");\n });\n\n it(\"should allow using nextCursor to continue forward pagination\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3, 4, 5]);\n\n const first = await list.next({\n after: list.getFirstCursor(),\n limit: 2,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n // Use the nextCursor of the last item to continue\n const continueFrom = first.items[first.items.length - 1].nextCursor;\n const second = await list.next({\n after: continueFrom,\n limit: 2,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(second)).toEqual([3, 4]);\n });\n\n it(\"should allow using prevCursor to go back\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3, 4, 5]);\n\n // Get items 3,4,5 first\n const middle = await list.next({\n after: \"before-2\",\n limit: 3,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(middle)).toEqual([3, 4, 5]);\n expect(middle.items[0].prevCursor).toBe(\"before-2\");\n\n // Use prevCursor of first item to go back\n const goBack = await list.prev({\n before: middle.items[0].prevCursor,\n limit: 2,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(goBack)).toEqual([1, 2]);\n });\n });\n\n describe(\"filtering\", () => {\n it(\"should filter items correctly\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3, 4, 5, 6]);\n const result = await list.next({\n after: list.getFirstCursor(),\n limit: 10,\n filter: (n) => n % 2 === 0, // only even numbers\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([2, 4, 6]);\n });\n\n it(\"should respect limit with filtering\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);\n const result = await list.next({\n after: list.getFirstCursor(),\n limit: 2,\n filter: (n) => n % 2 === 0,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([2, 4]);\n });\n\n it(\"should handle filter that matches nothing\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3]);\n const result = await list.next({\n after: list.getFirstCursor(),\n limit: 10,\n filter: () => false,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([]);\n });\n });\n\n describe(\"ordering\", () => {\n it(\"should sort items in ascending order\", async () => {\n const list = new ArrayPaginatedList([5, 2, 8, 1, 9]);\n const result = await list.next({\n after: list.getFirstCursor(),\n limit: 10,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([1, 2, 5, 8, 9]);\n });\n\n it(\"should sort items in descending order\", async () => {\n const list = new ArrayPaginatedList([5, 2, 8, 1, 9]);\n const result = await list.next({\n after: list.getFirstCursor(),\n limit: 10,\n filter: () => true,\n orderBy: (a, b) => b - a,\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([9, 8, 5, 2, 1]);\n });\n\n it(\"should sort objects by property\", async () => {\n const list = new ArrayPaginatedList([\n { name: \"Charlie\", age: 30 },\n { name: \"Alice\", age: 25 },\n { name: \"Bob\", age: 35 },\n ]);\n\n const byName = await list.next({\n after: list.getFirstCursor(),\n limit: 10,\n filter: () => true,\n orderBy: (a, b) => stringCompare(a.name, b.name),\n limitPrecision: \"exact\",\n });\n\n expect(items(byName).map(p => p.name)).toEqual([\"Alice\", \"Bob\", \"Charlie\"]);\n\n const byAge = await list.next({\n after: list.getFirstCursor(),\n limit: 10,\n filter: () => true,\n orderBy: (a, b) => a.age - b.age,\n limitPrecision: \"exact\",\n });\n\n expect(items(byAge).map(p => p.name)).toEqual([\"Alice\", \"Charlie\", \"Bob\"]);\n });\n });\n\n describe(\"limitPrecision\", () => {\n it(\"exact should return exactly the limit\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3, 4, 5]);\n const result = await list.next({\n after: list.getFirstCursor(),\n limit: 3,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(result.items.length).toBe(3);\n });\n\n // Note: ArrayPaginatedList always returns exact results since it has all data in memory\n // These tests verify the contract is respected\n it(\"at-least should return at least the limit (or all if less available)\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3, 4, 5]);\n const result = await list.next({\n after: list.getFirstCursor(),\n limit: 3,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"at-least\",\n });\n\n expect(result.items.length).toBeGreaterThanOrEqual(3);\n });\n\n it(\"at-most should return at most the limit\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3, 4, 5]);\n const result = await list.next({\n after: list.getFirstCursor(),\n limit: 3,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"at-most\",\n });\n\n expect(result.items.length).toBeLessThanOrEqual(3);\n });\n\n it(\"approximate should allow flexibility in either direction\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3, 4, 5]);\n const result = await list.next({\n after: list.getFirstCursor(),\n limit: 3,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"approximate\",\n });\n\n // With 'approximate', the implementation can return more or fewer items\n // than requested. We just verify it returns some items and makes progress.\n expect(result.items.length).toBeGreaterThan(0);\n // Should still return valid items\n expect(items(result).every(n => typeof n === \"number\")).toBe(true);\n });\n\n it(\"approximate should still make progress when limit > 0\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);\n const allItems: number[] = [];\n\n let cursor = list.getFirstCursor();\n let iterations = 0;\n const maxIterations = 20; // Safety limit to prevent infinite loops\n\n while (iterations < maxIterations) {\n const result = await list.next({\n after: cursor,\n limit: 2,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"approximate\",\n });\n\n if (result.items.length === 0) break;\n\n allItems.push(...items(result));\n // Cursor must change to ensure progress\n expect(result.cursor).not.toBe(cursor);\n cursor = result.cursor;\n iterations++;\n\n if (result.isLast) break;\n }\n\n // Should eventually get all items\n expect(allItems.length).toBeGreaterThan(0);\n });\n });\n\n describe(\"getFirstCursor and getLastCursor\", () => {\n it(\"should return correct cursor format\", () => {\n const list = new ArrayPaginatedList([1, 2, 3]);\n expect(list.getFirstCursor()).toBe(\"before-0\");\n expect(list.getLastCursor()).toBe(\"before-3\");\n });\n\n it(\"should work for empty array\", () => {\n const list = new ArrayPaginatedList([]);\n expect(list.getFirstCursor()).toBe(\"before-0\");\n expect(list.getLastCursor()).toBe(\"before-0\");\n });\n });\n\n describe(\"compare\", () => {\n it(\"should compare items using the orderBy function\", () => {\n const list = new ArrayPaginatedList([1, 2, 3]);\n const orderBy = (a: number, b: number) => a - b;\n\n expect(list.compare(orderBy, 1, 2)).toBeLessThan(0);\n expect(list.compare(orderBy, 2, 1)).toBeGreaterThan(0);\n expect(list.compare(orderBy, 1, 1)).toBe(0);\n });\n });\n});\n\ndescribe(\"PaginatedList.empty\", () => {\n it(\"should return empty results\", async () => {\n const list = PaginatedList.empty();\n const result = await list.next({\n after: list.getFirstCursor(),\n limit: 10,\n filter: {},\n orderBy: {},\n limitPrecision: \"exact\",\n });\n\n expect(result.items).toEqual([]);\n expect(result.isFirst).toBe(true);\n expect(result.isLast).toBe(true);\n });\n\n it(\"should have first cursor\", () => {\n const list = PaginatedList.empty();\n expect(list.getFirstCursor()).toBe(\"first\");\n expect(list.getLastCursor()).toBe(\"last\");\n });\n});\n\ndescribe(\"PaginatedList.map\", () => {\n it(\"should transform items\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3]);\n const doubled = list.map<number, NumberFilter, NumberOrderBy>({\n itemMapper: (n) => n * 2,\n oldItemFromNewItem: (n) => n / 2,\n oldFilterFromNewFilter: (f) => f,\n oldOrderByFromNewOrderBy: (o) => o,\n });\n\n const result = await doubled.next({\n after: doubled.getFirstCursor(),\n limit: 10,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([2, 4, 6]);\n });\n\n it(\"should preserve cursor semantics\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3]);\n const doubled = list.map<number, NumberFilter, NumberOrderBy>({\n itemMapper: (n) => n * 2,\n oldItemFromNewItem: (n) => n / 2,\n oldFilterFromNewFilter: (f) => f,\n oldOrderByFromNewOrderBy: (o) => o,\n });\n\n const first = await doubled.next({\n after: doubled.getFirstCursor(),\n limit: 1,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(first)).toEqual([2]);\n\n const second = await doubled.next({\n after: first.cursor,\n limit: 1,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(second)).toEqual([4]);\n });\n});\n\ndescribe(\"PaginatedList.filter\", () => {\n it(\"should filter items\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3, 4, 5, 6]);\n const evens = list.filter({\n filter: (n) => n % 2 === 0,\n oldFilterFromNewFilter: () => () => true,\n estimateItemsToFetch: ({ limit }) => limit * 2,\n });\n\n const result = await evens.next({\n after: evens.getFirstCursor(),\n limit: 10,\n filter: undefined,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([2, 4, 6]);\n });\n});\n\ndescribe(\"PaginatedList.addFilter\", () => {\n it(\"should add additional filter constraint\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);\n\n // First filter: only even\n const evens = list.filter({\n filter: (n) => n % 2 === 0,\n oldFilterFromNewFilter: () => () => true,\n estimateItemsToFetch: ({ limit }) => limit * 2,\n });\n\n // Add filter: only > 5\n const evenAndGreaterThan5 = evens.addFilter({\n filter: (n) => n > 5,\n estimateItemsToFetch: ({ limit }) => limit * 2,\n });\n\n const result = await evenAndGreaterThan5.next({\n after: evenAndGreaterThan5.getFirstCursor(),\n limit: 10,\n filter: undefined,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([6, 8, 10]);\n });\n});\n\ndescribe(\"PaginatedList.flatMap\", () => {\n it(\"should expand items\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3]);\n const expanded = list.flatMap<number, `before-${number}`, NumberFilter, NumberOrderBy>({\n itemMapper: (entry) => [\n { item: entry.item, prevCursor: entry.prevCursor, nextCursor: entry.nextCursor },\n { item: entry.item + 0.5, prevCursor: entry.prevCursor, nextCursor: entry.nextCursor },\n ],\n compare: (_, a, b) => a - b,\n newCursorFromOldCursor: (c) => c,\n oldCursorFromNewCursor: (c) => c,\n oldFilterFromNewFilter: (f) => f,\n oldOrderByFromNewOrderBy: (o) => o,\n estimateItemsToFetch: ({ limit }) => limit,\n });\n\n const result = await expanded.next({\n after: expanded.getFirstCursor(),\n limit: 10,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([1, 1.5, 2, 2.5, 3, 3.5]);\n });\n\n it(\"should filter out items (return empty array)\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3, 4, 5]);\n const evensOnly = list.flatMap<number, `before-${number}`, NumberFilter, NumberOrderBy>({\n itemMapper: (entry) => entry.item % 2 === 0\n ? [{ item: entry.item, prevCursor: entry.prevCursor, nextCursor: entry.nextCursor }]\n : [],\n compare: (_, a, b) => a - b,\n newCursorFromOldCursor: (c) => c,\n oldCursorFromNewCursor: (c) => c,\n oldFilterFromNewFilter: (f) => f,\n oldOrderByFromNewOrderBy: (o) => o,\n estimateItemsToFetch: ({ limit }) => limit * 2,\n });\n\n const result = await evensOnly.next({\n after: evensOnly.getFirstCursor(),\n limit: 10,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([2, 4]);\n });\n});\n\ndescribe(\"PaginatedList.merge\", () => {\n it(\"should merge two lists\", async () => {\n const list1 = new ArrayPaginatedList([1, 3, 5]);\n const list2 = new ArrayPaginatedList([2, 4, 6]);\n\n const merged = PaginatedList.merge(list1, list2);\n\n const result = await merged.next({\n after: merged.getFirstCursor(),\n limit: 10,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([1, 2, 3, 4, 5, 6]);\n });\n\n it(\"should merge three lists\", async () => {\n const list1 = new ArrayPaginatedList([1, 4, 7]);\n const list2 = new ArrayPaginatedList([2, 5, 8]);\n const list3 = new ArrayPaginatedList([3, 6, 9]);\n\n const merged = PaginatedList.merge(list1, list2, list3);\n\n const result = await merged.next({\n after: merged.getFirstCursor(),\n limit: 10,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([1, 2, 3, 4, 5, 6, 7, 8, 9]);\n });\n\n it(\"should handle empty lists in merge\", async () => {\n const list1 = new ArrayPaginatedList([1, 2, 3]);\n const list2 = new ArrayPaginatedList<number>([]);\n\n const merged = PaginatedList.merge(list1, list2);\n\n const result = await merged.next({\n after: merged.getFirstCursor(),\n limit: 10,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([1, 2, 3]);\n });\n\n it(\"should paginate through merged list\", async () => {\n const list1 = new ArrayPaginatedList([1, 3, 5, 7, 9]);\n const list2 = new ArrayPaginatedList([2, 4, 6, 8, 10]);\n\n const merged = PaginatedList.merge(list1, list2);\n\n const first = await merged.next({\n after: merged.getFirstCursor(),\n limit: 4,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(first)).toEqual([1, 2, 3, 4]);\n\n const second = await merged.next({\n after: first.cursor,\n limit: 4,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(second)).toEqual([5, 6, 7, 8]);\n });\n\n it(\"should have JSON-encoded cursor\", () => {\n const list1 = new ArrayPaginatedList([1, 2]);\n const list2 = new ArrayPaginatedList([3, 4]);\n\n const merged = PaginatedList.merge(list1, list2);\n const cursor = merged.getFirstCursor();\n\n expect(() => JSON.parse(cursor)).not.toThrow();\n expect(JSON.parse(cursor)).toEqual([\"before-0\", \"before-0\"]);\n });\n\n it(\"should paginate backward through merged list correctly\", async () => {\n const list1 = new ArrayPaginatedList([1, 3, 5]);\n const list2 = new ArrayPaginatedList([2, 4, 6]);\n\n const merged = PaginatedList.merge(list1, list2);\n\n // Get last 3 items going backward\n const last = await merged.prev({\n before: merged.getLastCursor(),\n limit: 3,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(last)).toEqual([4, 5, 6]);\n expect(last.isLast).toBe(true);\n expect(last.isFirst).toBe(false);\n\n // Continue backward to get previous 3 items\n const middle = await merged.prev({\n before: last.cursor,\n limit: 3,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(middle)).toEqual([1, 2, 3]);\n expect(middle.isFirst).toBe(true);\n });\n\n it(\"should paginate backward through entire merged list\", async () => {\n const list1 = new ArrayPaginatedList([1, 3, 5, 7, 9]);\n const list2 = new ArrayPaginatedList([2, 4, 6, 8, 10]);\n\n const merged = PaginatedList.merge(list1, list2);\n const allItems: number[] = [];\n\n let cursor = merged.getLastCursor();\n let isFirst = false;\n\n while (!isFirst) {\n const result = await merged.prev({\n before: cursor,\n limit: 3,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n allItems.unshift(...items(result));\n cursor = result.cursor;\n isFirst = result.isFirst;\n }\n\n expect(allItems).toEqual([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);\n });\n\n it(\"should have consistent forward and backward pagination results\", async () => {\n const list1 = new ArrayPaginatedList([1, 4, 7]);\n const list2 = new ArrayPaginatedList([2, 5, 8]);\n const list3 = new ArrayPaginatedList([3, 6, 9]);\n\n const merged = PaginatedList.merge(list1, list2, list3);\n\n // Collect all items going forward\n const forwardItems: number[] = [];\n let forwardCursor = merged.getFirstCursor();\n let isLast = false;\n\n while (!isLast) {\n const result = await merged.next({\n after: forwardCursor,\n limit: 2,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n forwardItems.push(...items(result));\n forwardCursor = result.cursor;\n isLast = result.isLast;\n }\n\n // Collect all items going backward\n const backwardItems: number[] = [];\n let backwardCursor = merged.getLastCursor();\n let isFirst = false;\n\n while (!isFirst) {\n const result = await merged.prev({\n before: backwardCursor,\n limit: 2,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n backwardItems.unshift(...items(result));\n backwardCursor = result.cursor;\n isFirst = result.isFirst;\n }\n\n // Both directions should yield the same final result\n expect(forwardItems).toEqual([1, 2, 3, 4, 5, 6, 7, 8, 9]);\n expect(backwardItems).toEqual([1, 2, 3, 4, 5, 6, 7, 8, 9]);\n });\n});\n\ndescribe(\"edge cases\", () => {\n it(\"should handle single item\", async () => {\n const list = new ArrayPaginatedList([42]);\n const result = await list.next({\n after: list.getFirstCursor(),\n limit: 10,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([42]);\n expect(result.isFirst).toBe(true);\n expect(result.isLast).toBe(true);\n });\n\n it(\"should handle duplicate values\", async () => {\n const list = new ArrayPaginatedList([1, 1, 2, 2, 3, 3]);\n const result = await list.next({\n after: list.getFirstCursor(),\n limit: 10,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([1, 1, 2, 2, 3, 3]);\n });\n\n it(\"should handle negative numbers\", async () => {\n const list = new ArrayPaginatedList([-3, -1, 0, 1, 3]);\n const result = await list.next({\n after: list.getFirstCursor(),\n limit: 10,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([-3, -1, 0, 1, 3]);\n });\n\n it(\"should handle string items\", async () => {\n const list = new ArrayPaginatedList([\"banana\", \"apple\", \"cherry\"]);\n const result = await list.next({\n after: list.getFirstCursor(),\n limit: 10,\n filter: () => true,\n orderBy: (a, b) => stringCompare(a, b),\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([\"apple\", \"banana\", \"cherry\"]);\n });\n\n it(\"should handle object items\", async () => {\n const list = new ArrayPaginatedList([\n { id: 1, value: \"a\" },\n { id: 2, value: \"b\" },\n ]);\n const result = await list.next({\n after: list.getFirstCursor(),\n limit: 10,\n filter: () => true,\n orderBy: (a, b) => a.id - b.id,\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([\n { id: 1, value: \"a\" },\n { id: 2, value: \"b\" },\n ]);\n });\n});\n\ndescribe(\"complete pagination walkthrough\", () => {\n it(\"should paginate forward through entire list\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);\n const allItems: number[] = [];\n\n let cursor = list.getFirstCursor();\n let isLast = false;\n\n while (!isLast) {\n const result = await list.next({\n after: cursor,\n limit: 3,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n allItems.push(...items(result));\n cursor = result.cursor;\n isLast = result.isLast;\n }\n\n expect(allItems).toEqual([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);\n });\n\n it(\"should paginate backward through entire list\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);\n const allItems: number[] = [];\n\n let cursor = list.getLastCursor();\n let isFirst = false;\n\n while (!isFirst) {\n const result = await list.prev({\n before: cursor,\n limit: 3,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n allItems.unshift(...items(result));\n cursor = result.cursor;\n isFirst = result.isFirst;\n }\n\n expect(allItems).toEqual([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);\n });\n});\n\ndescribe(\"unsorted array pagination\", () => {\n it(\"should correctly paginate through an unsorted array with sorting\", async () => {\n const list = new ArrayPaginatedList([3, 1, 2]);\n\n const first = await list.next({\n after: list.getFirstCursor(),\n limit: 2,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(first)).toEqual([1, 2]);\n\n const second = await list.next({\n after: first.cursor,\n limit: 2,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(second)).toEqual([3]);\n });\n\n it(\"should maintain sorted order across pagination boundaries\", async () => {\n const list = new ArrayPaginatedList([5, 4, 3, 2, 1]);\n const allItems: number[] = [];\n\n let cursor = list.getFirstCursor();\n let isLast = false;\n\n while (!isLast) {\n const result = await list.next({\n after: cursor,\n limit: 2,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n allItems.push(...items(result));\n cursor = result.cursor;\n isLast = result.isLast;\n }\n\n expect(allItems).toEqual([1, 2, 3, 4, 5]);\n });\n\n it(\"should handle random order array correctly\", async () => {\n const list = new ArrayPaginatedList([7, 2, 9, 1, 5, 8, 3, 6, 4]);\n\n const allItems: number[] = [];\n let cursor = list.getFirstCursor();\n let isLast = false;\n\n while (!isLast) {\n const result = await list.next({\n after: cursor,\n limit: 3,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n allItems.push(...items(result));\n cursor = result.cursor;\n isLast = result.isLast;\n }\n\n expect(allItems).toEqual([1, 2, 3, 4, 5, 6, 7, 8, 9]);\n });\n\n it(\"should have consistent cursor semantics with sorted data\", async () => {\n const list = new ArrayPaginatedList([3, 1, 2]);\n\n const first = await list.next({\n after: list.getFirstCursor(),\n limit: 1,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(first)).toEqual([1]);\n\n const second = await list.next({\n after: first.cursor,\n limit: 1,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(second)).toEqual([2]);\n });\n});\n\n"],"mappings":"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"}
1
+ {"version":3,"file":"paginated-lists.test.js","names":["ArrayPaginatedList","PaginatedList"],"sources":["../../src/utils/paginated-lists.test.ts"],"sourcesContent":["import { describe, expect, it } from \"vitest\";\nimport { ArrayPaginatedList, PaginatedList } from \"./paginated-lists\";\nimport { stringCompare } from \"./strings\";\n\ntype NumberFilter = (item: number) => boolean;\ntype NumberOrderBy = (a: number, b: number) => number;\n\n// Helper to extract just the items from a paginated result\nconst items = <T>(result: { items: { item: T }[] }) => result.items.map(i => i.item);\n\ndescribe(\"ArrayPaginatedList\", () => {\n describe(\"basic forward pagination (next)\", () => {\n it(\"should return all items when limit is greater than array length\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3]);\n const result = await list.next({\n after: list.getFirstCursor(),\n limit: 10,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([1, 2, 3]);\n expect(result.isFirst).toBe(true);\n expect(result.isLast).toBe(true);\n });\n\n it(\"should return exact limit when more items exist\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3, 4, 5]);\n const result = await list.next({\n after: list.getFirstCursor(),\n limit: 3,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([1, 2, 3]);\n expect(result.isFirst).toBe(true);\n expect(result.isLast).toBe(false);\n });\n\n it(\"should continue from cursor correctly\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3, 4, 5]);\n const first = await list.next({\n after: list.getFirstCursor(),\n limit: 2,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(first)).toEqual([1, 2]);\n expect(first.cursor).toBe(\"before-2\");\n\n const second = await list.next({\n after: first.cursor,\n limit: 2,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(second)).toEqual([3, 4]);\n expect(second.isFirst).toBe(false);\n expect(second.isLast).toBe(false);\n });\n\n it(\"should handle empty array\", async () => {\n const list = new ArrayPaginatedList<number>([]);\n const result = await list.next({\n after: list.getFirstCursor(),\n limit: 10,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([]);\n expect(result.isFirst).toBe(true);\n expect(result.isLast).toBe(true);\n });\n\n it(\"should handle limit of 0\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3]);\n const result = await list.next({\n after: list.getFirstCursor(),\n limit: 0,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([]);\n });\n });\n\n describe(\"backward pagination (prev)\", () => {\n it(\"should return items before cursor\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3, 4, 5]);\n const result = await list.prev({\n before: list.getLastCursor(),\n limit: 2,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([4, 5]);\n expect(result.isFirst).toBe(false);\n expect(result.isLast).toBe(true);\n });\n\n it(\"should paginate backwards correctly\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3, 4, 5]);\n\n const last = await list.prev({\n before: list.getLastCursor(),\n limit: 2,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n expect(items(last)).toEqual([4, 5]);\n\n const middle = await list.prev({\n before: last.cursor,\n limit: 2,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n expect(items(middle)).toEqual([2, 3]);\n\n const first = await list.prev({\n before: middle.cursor,\n limit: 2,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n expect(items(first)).toEqual([1]);\n expect(first.isFirst).toBe(true);\n });\n });\n\n describe(\"cursor semantics (prevCursor and nextCursor)\", () => {\n it(\"should have prevCursor before the item and nextCursor after\", async () => {\n const list = new ArrayPaginatedList([10, 20, 30]);\n const result = await list.next({\n after: list.getFirstCursor(),\n limit: 3,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n // First item: prevCursor should be \"before-0\", nextCursor should be \"before-1\"\n expect(result.items[0].prevCursor).toBe(\"before-0\");\n expect(result.items[0].nextCursor).toBe(\"before-1\");\n\n // Second item\n expect(result.items[1].prevCursor).toBe(\"before-1\");\n expect(result.items[1].nextCursor).toBe(\"before-2\");\n\n // Third item\n expect(result.items[2].prevCursor).toBe(\"before-2\");\n expect(result.items[2].nextCursor).toBe(\"before-3\");\n });\n\n it(\"should allow using nextCursor to continue forward pagination\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3, 4, 5]);\n\n const first = await list.next({\n after: list.getFirstCursor(),\n limit: 2,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n // Use the nextCursor of the last item to continue\n const continueFrom = first.items[first.items.length - 1].nextCursor;\n const second = await list.next({\n after: continueFrom,\n limit: 2,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(second)).toEqual([3, 4]);\n });\n\n it(\"should allow using prevCursor to go back\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3, 4, 5]);\n\n // Get items 3,4,5 first\n const middle = await list.next({\n after: \"before-2\",\n limit: 3,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(middle)).toEqual([3, 4, 5]);\n expect(middle.items[0].prevCursor).toBe(\"before-2\");\n\n // Use prevCursor of first item to go back\n const goBack = await list.prev({\n before: middle.items[0].prevCursor,\n limit: 2,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(goBack)).toEqual([1, 2]);\n });\n });\n\n describe(\"filtering\", () => {\n it(\"should filter items correctly\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3, 4, 5, 6]);\n const result = await list.next({\n after: list.getFirstCursor(),\n limit: 10,\n filter: (n) => n % 2 === 0, // only even numbers\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([2, 4, 6]);\n });\n\n it(\"should respect limit with filtering\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);\n const result = await list.next({\n after: list.getFirstCursor(),\n limit: 2,\n filter: (n) => n % 2 === 0,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([2, 4]);\n });\n\n it(\"should handle filter that matches nothing\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3]);\n const result = await list.next({\n after: list.getFirstCursor(),\n limit: 10,\n filter: () => false,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([]);\n });\n });\n\n describe(\"ordering\", () => {\n it(\"should sort items in ascending order\", async () => {\n const list = new ArrayPaginatedList([5, 2, 8, 1, 9]);\n const result = await list.next({\n after: list.getFirstCursor(),\n limit: 10,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([1, 2, 5, 8, 9]);\n });\n\n it(\"should sort items in descending order\", async () => {\n const list = new ArrayPaginatedList([5, 2, 8, 1, 9]);\n const result = await list.next({\n after: list.getFirstCursor(),\n limit: 10,\n filter: () => true,\n orderBy: (a, b) => b - a,\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([9, 8, 5, 2, 1]);\n });\n\n it(\"should sort objects by property\", async () => {\n const list = new ArrayPaginatedList([\n { name: \"Charlie\", age: 30 },\n { name: \"Alice\", age: 25 },\n { name: \"Bob\", age: 35 },\n ]);\n\n const byName = await list.next({\n after: list.getFirstCursor(),\n limit: 10,\n filter: () => true,\n orderBy: (a, b) => stringCompare(a.name, b.name),\n limitPrecision: \"exact\",\n });\n\n expect(items(byName).map(p => p.name)).toEqual([\"Alice\", \"Bob\", \"Charlie\"]);\n\n const byAge = await list.next({\n after: list.getFirstCursor(),\n limit: 10,\n filter: () => true,\n orderBy: (a, b) => a.age - b.age,\n limitPrecision: \"exact\",\n });\n\n expect(items(byAge).map(p => p.name)).toEqual([\"Alice\", \"Charlie\", \"Bob\"]);\n });\n });\n\n describe(\"limitPrecision\", () => {\n it(\"exact should return exactly the limit\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3, 4, 5]);\n const result = await list.next({\n after: list.getFirstCursor(),\n limit: 3,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(result.items.length).toBe(3);\n });\n\n // Note: ArrayPaginatedList always returns exact results since it has all data in memory\n // These tests verify the contract is respected\n it(\"at-least should return at least the limit (or all if less available)\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3, 4, 5]);\n const result = await list.next({\n after: list.getFirstCursor(),\n limit: 3,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"at-least\",\n });\n\n expect(result.items.length).toBeGreaterThanOrEqual(3);\n });\n\n it(\"at-most should return at most the limit\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3, 4, 5]);\n const result = await list.next({\n after: list.getFirstCursor(),\n limit: 3,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"at-most\",\n });\n\n expect(result.items.length).toBeLessThanOrEqual(3);\n });\n\n it(\"approximate should allow flexibility in either direction\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3, 4, 5]);\n const result = await list.next({\n after: list.getFirstCursor(),\n limit: 3,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"approximate\",\n });\n\n // With 'approximate', the implementation can return more or fewer items\n // than requested. We just verify it returns some items and makes progress.\n expect(result.items.length).toBeGreaterThan(0);\n // Should still return valid items\n expect(items(result).every(n => typeof n === \"number\")).toBe(true);\n });\n\n it(\"approximate should still make progress when limit > 0\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);\n const allItems: number[] = [];\n\n let cursor = list.getFirstCursor();\n let iterations = 0;\n const maxIterations = 20; // Safety limit to prevent infinite loops\n\n while (iterations < maxIterations) {\n const result = await list.next({\n after: cursor,\n limit: 2,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"approximate\",\n });\n\n if (result.items.length === 0) break;\n\n allItems.push(...items(result));\n // Cursor must change to ensure progress\n expect(result.cursor).not.toBe(cursor);\n cursor = result.cursor;\n iterations++;\n\n if (result.isLast) break;\n }\n\n // Should eventually get all items\n expect(allItems.length).toBeGreaterThan(0);\n });\n });\n\n describe(\"getFirstCursor and getLastCursor\", () => {\n it(\"should return correct cursor format\", () => {\n const list = new ArrayPaginatedList([1, 2, 3]);\n expect(list.getFirstCursor()).toBe(\"before-0\");\n expect(list.getLastCursor()).toBe(\"before-3\");\n });\n\n it(\"should work for empty array\", () => {\n const list = new ArrayPaginatedList([]);\n expect(list.getFirstCursor()).toBe(\"before-0\");\n expect(list.getLastCursor()).toBe(\"before-0\");\n });\n });\n\n describe(\"compare\", () => {\n it(\"should compare items using the orderBy function\", () => {\n const list = new ArrayPaginatedList([1, 2, 3]);\n const orderBy = (a: number, b: number) => a - b;\n\n expect(list.compare(orderBy, 1, 2)).toBeLessThan(0);\n expect(list.compare(orderBy, 2, 1)).toBeGreaterThan(0);\n expect(list.compare(orderBy, 1, 1)).toBe(0);\n });\n });\n});\n\ndescribe(\"PaginatedList.empty\", () => {\n it(\"should return empty results\", async () => {\n const list = PaginatedList.empty();\n const result = await list.next({\n after: list.getFirstCursor(),\n limit: 10,\n filter: {},\n orderBy: {},\n limitPrecision: \"exact\",\n });\n\n expect(result.items).toEqual([]);\n expect(result.isFirst).toBe(true);\n expect(result.isLast).toBe(true);\n });\n\n it(\"should have first cursor\", () => {\n const list = PaginatedList.empty();\n expect(list.getFirstCursor()).toBe(\"first\");\n expect(list.getLastCursor()).toBe(\"last\");\n });\n});\n\ndescribe(\"PaginatedList.map\", () => {\n it(\"should transform items\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3]);\n const doubled = list.map<number, NumberFilter, NumberOrderBy>({\n itemMapper: (n) => n * 2,\n oldItemFromNewItem: (n) => n / 2,\n oldFilterFromNewFilter: (f) => f,\n oldOrderByFromNewOrderBy: (o) => o,\n });\n\n const result = await doubled.next({\n after: doubled.getFirstCursor(),\n limit: 10,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([2, 4, 6]);\n });\n\n it(\"should preserve cursor semantics\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3]);\n const doubled = list.map<number, NumberFilter, NumberOrderBy>({\n itemMapper: (n) => n * 2,\n oldItemFromNewItem: (n) => n / 2,\n oldFilterFromNewFilter: (f) => f,\n oldOrderByFromNewOrderBy: (o) => o,\n });\n\n const first = await doubled.next({\n after: doubled.getFirstCursor(),\n limit: 1,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(first)).toEqual([2]);\n\n const second = await doubled.next({\n after: first.cursor,\n limit: 1,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(second)).toEqual([4]);\n });\n});\n\ndescribe(\"PaginatedList.filter\", () => {\n it(\"should filter items\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3, 4, 5, 6]);\n const evens = list.filter({\n filter: (n) => n % 2 === 0,\n oldFilterFromNewFilter: () => () => true,\n estimateItemsToFetch: ({ limit }) => limit * 2,\n });\n\n const result = await evens.next({\n after: evens.getFirstCursor(),\n limit: 10,\n filter: undefined,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([2, 4, 6]);\n });\n});\n\ndescribe(\"PaginatedList.addFilter\", () => {\n it(\"should add additional filter constraint\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);\n\n // First filter: only even\n const evens = list.filter({\n filter: (n) => n % 2 === 0,\n oldFilterFromNewFilter: () => () => true,\n estimateItemsToFetch: ({ limit }) => limit * 2,\n });\n\n // Add filter: only > 5\n const evenAndGreaterThan5 = evens.addFilter({\n filter: (n) => n > 5,\n estimateItemsToFetch: ({ limit }) => limit * 2,\n });\n\n const result = await evenAndGreaterThan5.next({\n after: evenAndGreaterThan5.getFirstCursor(),\n limit: 10,\n filter: undefined,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([6, 8, 10]);\n });\n});\n\ndescribe(\"PaginatedList.flatMap\", () => {\n it(\"should expand items\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3]);\n const expanded = list.flatMap<number, `before-${number}`, NumberFilter, NumberOrderBy>({\n itemMapper: (entry) => [\n { item: entry.item, prevCursor: entry.prevCursor, nextCursor: entry.nextCursor },\n { item: entry.item + 0.5, prevCursor: entry.prevCursor, nextCursor: entry.nextCursor },\n ],\n compare: (_, a, b) => a - b,\n newCursorFromOldCursor: (c) => c,\n oldCursorFromNewCursor: (c) => c,\n oldFilterFromNewFilter: (f) => f,\n oldOrderByFromNewOrderBy: (o) => o,\n estimateItemsToFetch: ({ limit }) => limit,\n });\n\n const result = await expanded.next({\n after: expanded.getFirstCursor(),\n limit: 10,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([1, 1.5, 2, 2.5, 3, 3.5]);\n });\n\n it(\"should filter out items (return empty array)\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3, 4, 5]);\n const evensOnly = list.flatMap<number, `before-${number}`, NumberFilter, NumberOrderBy>({\n itemMapper: (entry) => entry.item % 2 === 0\n ? [{ item: entry.item, prevCursor: entry.prevCursor, nextCursor: entry.nextCursor }]\n : [],\n compare: (_, a, b) => a - b,\n newCursorFromOldCursor: (c) => c,\n oldCursorFromNewCursor: (c) => c,\n oldFilterFromNewFilter: (f) => f,\n oldOrderByFromNewOrderBy: (o) => o,\n estimateItemsToFetch: ({ limit }) => limit * 2,\n });\n\n const result = await evensOnly.next({\n after: evensOnly.getFirstCursor(),\n limit: 10,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([2, 4]);\n });\n});\n\ndescribe(\"PaginatedList.merge\", () => {\n it(\"should merge two lists\", async () => {\n const list1 = new ArrayPaginatedList([1, 3, 5]);\n const list2 = new ArrayPaginatedList([2, 4, 6]);\n\n const merged = PaginatedList.merge(list1, list2);\n\n const result = await merged.next({\n after: merged.getFirstCursor(),\n limit: 10,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([1, 2, 3, 4, 5, 6]);\n });\n\n it(\"should merge three lists\", async () => {\n const list1 = new ArrayPaginatedList([1, 4, 7]);\n const list2 = new ArrayPaginatedList([2, 5, 8]);\n const list3 = new ArrayPaginatedList([3, 6, 9]);\n\n const merged = PaginatedList.merge(list1, list2, list3);\n\n const result = await merged.next({\n after: merged.getFirstCursor(),\n limit: 10,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([1, 2, 3, 4, 5, 6, 7, 8, 9]);\n });\n\n it(\"should handle empty lists in merge\", async () => {\n const list1 = new ArrayPaginatedList([1, 2, 3]);\n const list2 = new ArrayPaginatedList<number>([]);\n\n const merged = PaginatedList.merge(list1, list2);\n\n const result = await merged.next({\n after: merged.getFirstCursor(),\n limit: 10,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([1, 2, 3]);\n });\n\n it(\"should paginate through merged list\", async () => {\n const list1 = new ArrayPaginatedList([1, 3, 5, 7, 9]);\n const list2 = new ArrayPaginatedList([2, 4, 6, 8, 10]);\n\n const merged = PaginatedList.merge(list1, list2);\n\n const first = await merged.next({\n after: merged.getFirstCursor(),\n limit: 4,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(first)).toEqual([1, 2, 3, 4]);\n\n const second = await merged.next({\n after: first.cursor,\n limit: 4,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(second)).toEqual([5, 6, 7, 8]);\n });\n\n it(\"should have JSON-encoded cursor\", () => {\n const list1 = new ArrayPaginatedList([1, 2]);\n const list2 = new ArrayPaginatedList([3, 4]);\n\n const merged = PaginatedList.merge(list1, list2);\n const cursor = merged.getFirstCursor();\n\n expect(() => JSON.parse(cursor)).not.toThrow();\n expect(JSON.parse(cursor)).toEqual([\"before-0\", \"before-0\"]);\n });\n\n it(\"should paginate backward through merged list correctly\", async () => {\n const list1 = new ArrayPaginatedList([1, 3, 5]);\n const list2 = new ArrayPaginatedList([2, 4, 6]);\n\n const merged = PaginatedList.merge(list1, list2);\n\n // Get last 3 items going backward\n const last = await merged.prev({\n before: merged.getLastCursor(),\n limit: 3,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(last)).toEqual([4, 5, 6]);\n expect(last.isLast).toBe(true);\n expect(last.isFirst).toBe(false);\n\n // Continue backward to get previous 3 items\n const middle = await merged.prev({\n before: last.cursor,\n limit: 3,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(middle)).toEqual([1, 2, 3]);\n expect(middle.isFirst).toBe(true);\n });\n\n it(\"should paginate backward through entire merged list\", async () => {\n const list1 = new ArrayPaginatedList([1, 3, 5, 7, 9]);\n const list2 = new ArrayPaginatedList([2, 4, 6, 8, 10]);\n\n const merged = PaginatedList.merge(list1, list2);\n const allItems: number[] = [];\n\n let cursor = merged.getLastCursor();\n let isFirst = false;\n\n while (!isFirst) {\n const result = await merged.prev({\n before: cursor,\n limit: 3,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n allItems.unshift(...items(result));\n cursor = result.cursor;\n isFirst = result.isFirst;\n }\n\n expect(allItems).toEqual([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);\n });\n\n it(\"should have consistent forward and backward pagination results\", async () => {\n const list1 = new ArrayPaginatedList([1, 4, 7]);\n const list2 = new ArrayPaginatedList([2, 5, 8]);\n const list3 = new ArrayPaginatedList([3, 6, 9]);\n\n const merged = PaginatedList.merge(list1, list2, list3);\n\n // Collect all items going forward\n const forwardItems: number[] = [];\n let forwardCursor = merged.getFirstCursor();\n let isLast = false;\n\n while (!isLast) {\n const result = await merged.next({\n after: forwardCursor,\n limit: 2,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n forwardItems.push(...items(result));\n forwardCursor = result.cursor;\n isLast = result.isLast;\n }\n\n // Collect all items going backward\n const backwardItems: number[] = [];\n let backwardCursor = merged.getLastCursor();\n let isFirst = false;\n\n while (!isFirst) {\n const result = await merged.prev({\n before: backwardCursor,\n limit: 2,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n backwardItems.unshift(...items(result));\n backwardCursor = result.cursor;\n isFirst = result.isFirst;\n }\n\n // Both directions should yield the same final result\n expect(forwardItems).toEqual([1, 2, 3, 4, 5, 6, 7, 8, 9]);\n expect(backwardItems).toEqual([1, 2, 3, 4, 5, 6, 7, 8, 9]);\n });\n});\n\ndescribe(\"edge cases\", () => {\n it(\"should handle single item\", async () => {\n const list = new ArrayPaginatedList([42]);\n const result = await list.next({\n after: list.getFirstCursor(),\n limit: 10,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([42]);\n expect(result.isFirst).toBe(true);\n expect(result.isLast).toBe(true);\n });\n\n it(\"should handle duplicate values\", async () => {\n const list = new ArrayPaginatedList([1, 1, 2, 2, 3, 3]);\n const result = await list.next({\n after: list.getFirstCursor(),\n limit: 10,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([1, 1, 2, 2, 3, 3]);\n });\n\n it(\"should handle negative numbers\", async () => {\n const list = new ArrayPaginatedList([-3, -1, 0, 1, 3]);\n const result = await list.next({\n after: list.getFirstCursor(),\n limit: 10,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([-3, -1, 0, 1, 3]);\n });\n\n it(\"should handle string items\", async () => {\n const list = new ArrayPaginatedList([\"banana\", \"apple\", \"cherry\"]);\n const result = await list.next({\n after: list.getFirstCursor(),\n limit: 10,\n filter: () => true,\n orderBy: (a, b) => stringCompare(a, b),\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([\"apple\", \"banana\", \"cherry\"]);\n });\n\n it(\"should handle object items\", async () => {\n const list = new ArrayPaginatedList([\n { id: 1, value: \"a\" },\n { id: 2, value: \"b\" },\n ]);\n const result = await list.next({\n after: list.getFirstCursor(),\n limit: 10,\n filter: () => true,\n orderBy: (a, b) => a.id - b.id,\n limitPrecision: \"exact\",\n });\n\n expect(items(result)).toEqual([\n { id: 1, value: \"a\" },\n { id: 2, value: \"b\" },\n ]);\n });\n});\n\ndescribe(\"complete pagination walkthrough\", () => {\n it(\"should paginate forward through entire list\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);\n const allItems: number[] = [];\n\n let cursor = list.getFirstCursor();\n let isLast = false;\n\n while (!isLast) {\n const result = await list.next({\n after: cursor,\n limit: 3,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n allItems.push(...items(result));\n cursor = result.cursor;\n isLast = result.isLast;\n }\n\n expect(allItems).toEqual([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);\n });\n\n it(\"should paginate backward through entire list\", async () => {\n const list = new ArrayPaginatedList([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);\n const allItems: number[] = [];\n\n let cursor = list.getLastCursor();\n let isFirst = false;\n\n while (!isFirst) {\n const result = await list.prev({\n before: cursor,\n limit: 3,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n allItems.unshift(...items(result));\n cursor = result.cursor;\n isFirst = result.isFirst;\n }\n\n expect(allItems).toEqual([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);\n });\n});\n\ndescribe(\"unsorted array pagination\", () => {\n it(\"should correctly paginate through an unsorted array with sorting\", async () => {\n const list = new ArrayPaginatedList([3, 1, 2]);\n\n const first = await list.next({\n after: list.getFirstCursor(),\n limit: 2,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(first)).toEqual([1, 2]);\n\n const second = await list.next({\n after: first.cursor,\n limit: 2,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(second)).toEqual([3]);\n });\n\n it(\"should maintain sorted order across pagination boundaries\", async () => {\n const list = new ArrayPaginatedList([5, 4, 3, 2, 1]);\n const allItems: number[] = [];\n\n let cursor = list.getFirstCursor();\n let isLast = false;\n\n while (!isLast) {\n const result = await list.next({\n after: cursor,\n limit: 2,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n allItems.push(...items(result));\n cursor = result.cursor;\n isLast = result.isLast;\n }\n\n expect(allItems).toEqual([1, 2, 3, 4, 5]);\n });\n\n it(\"should handle random order array correctly\", async () => {\n const list = new ArrayPaginatedList([7, 2, 9, 1, 5, 8, 3, 6, 4]);\n\n const allItems: number[] = [];\n let cursor = list.getFirstCursor();\n let isLast = false;\n\n while (!isLast) {\n const result = await list.next({\n after: cursor,\n limit: 3,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n allItems.push(...items(result));\n cursor = result.cursor;\n isLast = result.isLast;\n }\n\n expect(allItems).toEqual([1, 2, 3, 4, 5, 6, 7, 8, 9]);\n });\n\n it(\"should have consistent cursor semantics with sorted data\", async () => {\n const list = new ArrayPaginatedList([3, 1, 2]);\n\n const first = await list.next({\n after: list.getFirstCursor(),\n limit: 1,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(first)).toEqual([1]);\n\n const second = await list.next({\n after: first.cursor,\n limit: 1,\n filter: () => true,\n orderBy: (a, b) => a - b,\n limitPrecision: \"exact\",\n });\n\n expect(items(second)).toEqual([2]);\n });\n});\n\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import { AuthenticationResponseJSON, AuthenticatorAttestationResponseJSON, PublicKeyCredentialCreationOptionsJSON, PublicKeyCredentialRequestOptionsJSON, RegistrationResponseJSON } from "@simplewebauthn/browser";
2
- export { type AuthenticationResponseJSON, type AuthenticatorAttestationResponseJSON, type PublicKeyCredentialCreationOptionsJSON, type PublicKeyCredentialRequestOptionsJSON, type RegistrationResponseJSON };
1
+ import { a as RegistrationResponseJSON, i as PublicKeyCredentialRequestOptionsJSON, n as AuthenticatorAttestationResponseJSON, r as PublicKeyCredentialCreationOptionsJSON, t as AuthenticationResponseJSON } from "../passkey-CKg87UH-.js";
2
+ export type { AuthenticationResponseJSON, AuthenticatorAttestationResponseJSON, PublicKeyCredentialCreationOptionsJSON, PublicKeyCredentialRequestOptionsJSON, RegistrationResponseJSON };
@@ -1,4 +1,4 @@
1
- import { Result } from "./results.js";
1
+ import { n as Result } from "../results-DP3BzoL6.js";
2
2
 
3
3
  //#region src/utils/promises.d.ts
4
4
  type ReactPromise<T> = Promise<T> & ({
@@ -1 +1 @@
1
- {"version":3,"file":"promises.d.ts","names":[],"sources":["../../src/utils/promises.tsx"],"mappings":";;;KAQY,YAAA,MAAkB,OAAA,CAAQ,CAAA;EAChC,MAAA;EAAoB,MAAA;AAAA;EACpB,MAAA;EAAqB,KAAA,EAAO,CAAA;AAAA;EAC5B,MAAA;AAAA;AAAA,KAGD,OAAA,OAAc,KAAA,EAAO,CAAA;AAAA,KACrB,MAAA,IAAU,MAAA;AAAA,iBACC,aAAA,GAAA,CAAiB,QAAA,GAAW,OAAA,EAAS,OAAA,CAAQ,CAAA,GAAI,MAAA,EAAQ,MAAA,YAAkB,YAAA,CAAa,CAAA;;;;;iBAwExF,QAAA,GAAA,CAAY,KAAA,EAAO,CAAA,GAAI,YAAA,CAAa,CAAA;;;;;iBA0CpC,QAAA,GAAA,CAAY,MAAA,YAAkB,YAAA,CAAa,CAAA;AAAA,iBA6C3C,YAAA,CAAA,GAAgB,YAAA;AAAA,iBAchB,OAAA,GAAA,CAAW,OAAA,EAAS,OAAA,CAAQ,CAAA,GAAI,OAAA;EAAW,oBAAA;AAAA,IAAwC,YAAA,CAAa,CAAA;;;;;AA/KrF;;iBAuNX,wBAAA,WAAmC,OAAA,MAAA,CAAc,OAAA,EAAS,CAAA;;;AArN1E;iBA0OgB,2BAAA,GAAA,CAA+B,OAAA,EAAS,OAAA,CAAQ,CAAA;AAAA,iBAW1C,IAAA,CAAK,EAAA,WAAU,OAAA;AAAA,iBAgCf,SAAA,CAAU,IAAA,EAAM,IAAA,GAAI,OAAA;AAAA,iBAsB1B,0BAAA,CAAA,GAA8B,IAAA,EAAM,UAAA,QAAkB,iBAAA;AAAA,iBAgCtD,iBAAA,CACd,aAAA,SAAsB,OAAA,0BAAiC,OAAA,wBACvD,OAAA;EACE,cAAA;EACA,OAAA,IAAW,KAAA,EAAO,KAAA;AAAA;AAAA,cAoChB,YAAA,SAAqB,KAAA;EAAA,SACG,EAAA;cAAA,EAAA;AAAA;AAAA,iBAMR,OAAA,GAAA,CAAW,aAAA,EAAe,OAAA,CAAQ,CAAA,WAAY,OAAA,CAAQ,CAAA,IAAK,EAAA,WAAa,OAAA,CAAQ,MAAA,CAAO,CAAA,EAAG,YAAA;AAAA,iBA0B1F,YAAA,GAAA,CAAgB,OAAA,EAAS,OAAA,CAAQ,CAAA,GAAI,EAAA,WAAa,OAAA,CAAQ,CAAA;;;;;;;AA5UhF;;;;iBAsWsB,kBAAA,MAAA,CACpB,KAAA,WAAgB,CAAA,IAChB,WAAA,UACA,EAAA,GAAK,IAAA,EAAM,CAAA,EAAG,KAAA,aAAkB,OAAA,CAAQ,CAAA,IACvC,OAAA,CAAQ,CAAA;AAAA,KAmDC,gBAAA;EA7ZuC;;;EAiajD,WAAA;EAja0B;;;EAsa1B,UAAA;EAtamD;AA0CrD;;EAiYE,UAAA;EAjYwD;;;EAsYxD,KAAA;EAtYyD;;;EA2YzD,UAAA;AAAA;AAAA,iBAGc,WAAA,GAAA,CACd,IAAA,QAAY,OAAA,CAAQ,CAAA,GACpB,OAAA,EAAS,gBAAA,SACF,OAAA,CAAQ,CAAA;AAAA,iBA0DD,SAAA,oBAAA,CAA8B,IAAA,MAAU,IAAA,EAAM,CAAA,KAAM,OAAA,CAAQ,CAAA,GAAI,OAAA,eAAsB,IAAA,EAAM,CAAA,KAAM,OAAA,CAAQ,CAAA"}
1
+ {"version":3,"file":"promises.d.ts","names":[],"sources":["../../src/utils/promises.tsx"],"mappings":";;;KAQY,YAAA,MAAkB,OAAA,CAAQ,CAAA;EAChC,MAAA;EAAoB,MAAA;AAAA;EACpB,MAAA;EAAqB,KAAA,EAAO,CAAA;AAAA;EAC5B,MAAA;AAAA;AAAA,KAGD,OAAA,OAAc,KAAA,EAAO,CAAC;AAAA,KACtB,MAAA,IAAU,MAAe;AAAA,iBACd,aAAA,IAAiB,QAAA,GAAW,OAAA,EAAS,OAAA,CAAQ,CAAA,GAAI,MAAA,EAAQ,MAAA,YAAkB,YAAA,CAAa,CAAA;;;;;iBAwExF,QAAA,IAAY,KAAA,EAAO,CAAA,GAAI,YAAA,CAAa,CAAA;;;;AA7ExC;iBAuHI,QAAA,IAAY,MAAA,YAAkB,YAAY,CAAC,CAAA;AAAA,iBA6C3C,YAAA,IAAgB,YAAY;AAAA,iBAc5B,OAAA,IAAW,OAAA,EAAS,OAAA,CAAQ,CAAA,GAAI,OAAA;EAAW,oBAAA;AAAA,IAAwC,YAAA,CAAa,CAAA;;;;AA/KrF;AAAA;;iBAuNX,wBAAA,WAAmC,OAAA,OAAc,OAAA,EAAS,CAAC;;AAtN7C;AAC9B;iBA0OgB,2BAAA,IAA+B,OAAA,EAAS,OAAO,CAAC,CAAA;AAAA,iBAW1C,IAAA,CAAK,EAAA,WAAU,OAAA;AAAA,iBAgCf,SAAA,CAAU,IAAA,EAAM,IAAA,GAAI,OAAA;AAAA,iBAsB1B,0BAAA,IAA8B,IAAA,EAAM,UAAU,QAAQ,iBAAA;AAAA,iBAgCtD,iBAAA,CACd,aAAA,SAAsB,OAAA,0BAAiC,OAAA,wBACvD,OAAA;EACE,cAAA;EACA,OAAA,IAAW,KAAA,EAAO,KAAA;AAAA;AAAA,cAoChB,YAAA,SAAqB,KAAK;EAAA,SACF,EAAA;cAAA,EAAA;AAAA;AAAA,iBAMR,OAAA,IAAW,aAAA,EAAe,OAAA,CAAQ,CAAA,WAAY,OAAA,CAAQ,CAAA,IAAK,EAAA,WAAa,OAAA,CAAQ,MAAA,CAAO,CAAA,EAAG,YAAA;AAAA,iBA0B1F,YAAA,IAAgB,OAAA,EAAS,OAAA,CAAQ,CAAA,GAAI,EAAA,WAAa,OAAA,CAAQ,CAAA;;;;;;AApZyB;AAwEzG;;;;iBAsWsB,kBAAA,OACpB,KAAA,WAAgB,CAAA,IAChB,WAAA,UACA,EAAA,GAAK,IAAA,EAAM,CAAA,EAAG,KAAA,aAAkB,OAAA,CAAQ,CAAA,IACvC,OAAA,CAAQ,CAAA;AAAA,KAmDC,gBAAA;EA7ZuC;;;EAiajD,WAAA;EAja0B;;;EAsa1B,UAAA;EAtamD;AA0CrD;;EAiYE,UAAA;EAjYwD;;;EAsYxD,KAAA;EAtYyD;;AAAC;EA2Y1D,UAAA;AAAA;AAAA,iBAGc,WAAA,IACd,IAAA,QAAY,OAAA,CAAQ,CAAA,GACpB,OAAA,EAAS,gBAAA,SACF,OAAA,CAAQ,CAAA;AAAA,iBA0DD,SAAA,qBAA8B,IAAA,MAAU,IAAA,EAAM,CAAA,KAAM,OAAA,CAAQ,CAAA,GAAI,OAAA,eAAsB,IAAA,EAAM,CAAA,KAAM,OAAA,CAAQ,CAAA"}
@@ -1,5 +1,4 @@
1
- Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
2
- const require_chunk = require('../chunk-BE-pF4vm.js');
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
2
  let ___index_js = require("../index.js");
4
3
  let __errors_js = require("./errors.js");
5
4
  let __env_js = require("./env.js");
@@ -7,7 +6,6 @@ let __maps_js = require("./maps.js");
7
6
  let __results_js = require("./results.js");
8
7
  let __telemetry_js = require("./telemetry.js");
9
8
  let __uuids_js = require("./uuids.js");
10
-
11
9
  //#region src/utils/promises.tsx
12
10
  function createPromise(callback) {
13
11
  let status = "pending";
@@ -35,36 +33,6 @@ function createPromise(callback) {
35
33
  ...status === "rejected" ? { reason: valueOrReason } : {}
36
34
  });
37
35
  }
38
- (void 0)?.test("createPromise", async ({ expect }) => {
39
- const resolvedPromise = createPromise((resolve) => {
40
- resolve(42);
41
- });
42
- expect(resolvedPromise.status).toBe("fulfilled");
43
- expect(resolvedPromise.value).toBe(42);
44
- expect(await resolvedPromise).toBe(42);
45
- const error = /* @__PURE__ */ new Error("Test error");
46
- const rejectedPromise = createPromise((_, reject) => {
47
- reject(error);
48
- });
49
- expect(rejectedPromise.status).toBe("rejected");
50
- expect(rejectedPromise.reason).toBe(error);
51
- await expect(rejectedPromise).rejects.toBe(error);
52
- const pendingPromise = createPromise(() => {});
53
- expect(pendingPromise.status).toBe("pending");
54
- expect(pendingPromise.value).toBeUndefined();
55
- expect(pendingPromise.reason).toBeUndefined();
56
- let resolveCount = 0;
57
- const multiResolvePromise = createPromise((resolve) => {
58
- resolve(1);
59
- resolveCount++;
60
- resolve(2);
61
- resolveCount++;
62
- });
63
- expect(resolveCount).toBe(2);
64
- expect(multiResolvePromise.status).toBe("fulfilled");
65
- expect(multiResolvePromise.value).toBe(1);
66
- expect(await multiResolvePromise).toBe(1);
67
- });
68
36
  let resolvedCache = null;
69
37
  /**
70
38
  * Like Promise.resolve(...), but also adds the status and value properties for use with React's `use` hook, and caches
@@ -80,19 +48,6 @@ function resolved(value) {
80
48
  resolvedCache.set([value], res);
81
49
  return res;
82
50
  }
83
- (void 0)?.test("resolved", async ({ expect }) => {
84
- const promise1 = resolved(42);
85
- expect(promise1.status).toBe("fulfilled");
86
- expect(promise1.value).toBe(42);
87
- expect(await promise1).toBe(42);
88
- const obj = { test: true };
89
- const promise2 = resolved(obj);
90
- expect(promise2.status).toBe("fulfilled");
91
- expect(promise2.value).toBe(obj);
92
- expect(await promise2).toBe(obj);
93
- expect(resolved(42)).toBe(promise1);
94
- expect(resolved(43)).not.toBe(promise1);
95
- });
96
51
  let rejectedCache = null;
97
52
  /**
98
53
  * Like Promise.reject(...), but also adds the status and value properties for use with React's `use` hook, and caches
@@ -110,28 +65,10 @@ function rejected(reason) {
110
65
  rejectedCache.set([reason], res);
111
66
  return res;
112
67
  }
113
- (void 0)?.test("rejected", ({ expect }) => {
114
- const error = /* @__PURE__ */ new Error("Test error");
115
- const promise1 = rejected(error);
116
- expect(promise1.status).toBe("rejected");
117
- expect(promise1.reason).toBe(error);
118
- const promise2 = rejected("error message");
119
- expect(promise2.status).toBe("rejected");
120
- expect(promise2.reason).toBe("error message");
121
- expect(rejected(error)).toBe(promise1);
122
- expect(rejected(/* @__PURE__ */ new Error("Different error"))).not.toBe(promise1);
123
- });
124
68
  const neverResolvePromise = pending(new Promise(() => {}));
125
69
  function neverResolve() {
126
70
  return neverResolvePromise;
127
71
  }
128
- (void 0)?.test("neverResolve", ({ expect }) => {
129
- const promise = neverResolve();
130
- expect(promise.status).toBe("pending");
131
- expect(promise.value).toBeUndefined();
132
- expect(promise.reason).toBeUndefined();
133
- expect(neverResolve()).toBe(promise);
134
- });
135
72
  function pending(promise, options = {}) {
136
73
  const res = promise.then((value) => {
137
74
  res.status = "fulfilled";
@@ -145,15 +82,6 @@ function pending(promise, options = {}) {
145
82
  res.status = "pending";
146
83
  return res;
147
84
  }
148
- (void 0)?.test("pending", async ({ expect }) => {
149
- const resolvePromise = Promise.resolve(42);
150
- const pendingPromise = pending(resolvePromise);
151
- expect(pendingPromise.status).toBe("pending");
152
- await resolvePromise;
153
- await new Promise((resolve) => setTimeout(resolve, 0));
154
- expect(pendingPromise.status).toBe("fulfilled");
155
- expect(pendingPromise.value).toBe(42);
156
- });
157
85
  /**
158
86
  * Should be used to wrap Promises that are not immediately awaited, so they don't throw an unhandled promise rejection
159
87
  * error.
@@ -163,15 +91,6 @@ function pending(promise, options = {}) {
163
91
  function ignoreUnhandledRejection(promise) {
164
92
  promise.catch(() => {});
165
93
  }
166
- (void 0)?.test("ignoreUnhandledRejection", async ({ expect }) => {
167
- const resolvePromise = Promise.resolve(42);
168
- ignoreUnhandledRejection(resolvePromise);
169
- expect(await resolvePromise).toBe(42);
170
- const error = /* @__PURE__ */ new Error("Test error");
171
- const rejectPromise = Promise.reject(error);
172
- ignoreUnhandledRejection(rejectPromise);
173
- await expect(rejectPromise).rejects.toBe(error);
174
- });
175
94
  /**
176
95
  * See concatStacktraces for more information.
177
96
  */
@@ -191,32 +110,9 @@ async function wait(ms) {
191
110
  return await new Promise((resolve) => setTimeout(resolve, ms));
192
111
  });
193
112
  }
194
- (void 0)?.test("wait", async ({ expect }) => {
195
- const start = Date.now();
196
- await wait(10);
197
- expect(Date.now() - start).toBeGreaterThanOrEqual(5);
198
- await expect(wait(0)).resolves.toBeUndefined();
199
- await expect(wait(-10)).rejects.toThrow("wait() requires a non-negative integer");
200
- await expect(wait(NaN)).rejects.toThrow("wait() requires a non-negative integer");
201
- await expect(wait(Infinity)).rejects.toThrow("wait() requires a non-negative integer");
202
- await expect(wait(2 ** 31)).rejects.toThrow("The maximum timeout for wait()");
203
- });
204
113
  async function waitUntil(date) {
205
114
  return await wait(date.getTime() - Date.now());
206
115
  }
207
- (void 0)?.test("waitUntil", async ({ expect }) => {
208
- const futureDate = new Date(Date.now() + 10);
209
- const start = Date.now();
210
- await waitUntil(futureDate);
211
- expect(Date.now() - start).toBeGreaterThanOrEqual(5);
212
- try {
213
- await waitUntil(/* @__PURE__ */ new Date(Date.now() - 1e3));
214
- expect.fail("Should have thrown an error");
215
- } catch (error) {
216
- expect(error).toBeInstanceOf(__errors_js.HexclaveAssertionError);
217
- expect(error.message).toContain("wait() requires a non-negative integer");
218
- }
219
- });
220
116
  function runAsynchronouslyWithAlert(...args) {
221
117
  return runAsynchronously(args[0], {
222
118
  ...args[1],
@@ -228,12 +124,6 @@ function runAsynchronouslyWithAlert(...args) {
228
124
  }
229
125
  }, ...args.slice(2));
230
126
  }
231
- (void 0)?.test("runAsynchronouslyWithAlert", ({ expect }) => {
232
- const testFn = () => Promise.resolve("test");
233
- const testOptions = { noErrorLogging: true };
234
- expect(() => runAsynchronouslyWithAlert(testFn, testOptions)).not.toThrow();
235
- expect(typeof runAsynchronouslyWithAlert).toBe("function");
236
- });
237
127
  function runAsynchronously(promiseOrFunc, options = {}) {
238
128
  if (typeof promiseOrFunc === "function") promiseOrFunc = promiseOrFunc();
239
129
  if (promiseOrFunc) {
@@ -245,14 +135,6 @@ function runAsynchronously(promiseOrFunc, options = {}) {
245
135
  });
246
136
  }
247
137
  }
248
- (void 0)?.test("runAsynchronously", ({ expect }) => {
249
- const testFn = () => Promise.resolve("test");
250
- expect(() => runAsynchronously(testFn)).not.toThrow();
251
- expect(() => runAsynchronously(Promise.resolve("test"))).not.toThrow();
252
- expect(() => runAsynchronously(void 0)).not.toThrow();
253
- expect(() => runAsynchronously(testFn, { noErrorLogging: true })).not.toThrow();
254
- expect(() => runAsynchronously(testFn, { onError: () => {} })).not.toThrow();
255
- });
256
138
  var TimeoutError = class extends Error {
257
139
  constructor(ms) {
258
140
  super(`Timeout after ${ms}ms`);
@@ -264,26 +146,9 @@ async function timeout(promiseOrFunc, ms) {
264
146
  const promise = typeof promiseOrFunc === "function" ? promiseOrFunc() : promiseOrFunc;
265
147
  return await Promise.race([promise.then((value) => __results_js.Result.ok(value)), wait(ms).then(() => __results_js.Result.error(new TimeoutError(ms)))]);
266
148
  }
267
- (void 0)?.test("timeout", async ({ expect }) => {
268
- const fastResult = await timeout(Promise.resolve(42), 100);
269
- expect(fastResult.status).toBe("ok");
270
- if (fastResult.status === "ok") expect(fastResult.data).toBe(42);
271
- const slowResult = await timeout(new Promise((resolve) => setTimeout(() => resolve("too late"), 50)), 10);
272
- expect(slowResult.status).toBe("error");
273
- if (slowResult.status === "error") {
274
- expect(slowResult.error).toBeInstanceOf(TimeoutError);
275
- expect(slowResult.error.ms).toBe(10);
276
- }
277
- });
278
149
  async function timeoutThrow(promise, ms) {
279
150
  return __results_js.Result.orThrow(await timeout(promise, ms));
280
151
  }
281
- (void 0)?.test("timeoutThrow", async ({ expect }) => {
282
- expect(await timeoutThrow(Promise.resolve(42), 100)).toBe(42);
283
- const slowPromise = new Promise((resolve) => setTimeout(() => resolve("too late"), 50));
284
- await expect(timeoutThrow(slowPromise, 10)).rejects.toThrow("Timeout after 10ms");
285
- await expect(timeoutThrow(slowPromise, 10)).rejects.toBeInstanceOf(TimeoutError);
286
- });
287
152
  /**
288
153
  * Maps over `items` with `fn`, running at most `concurrency` invocations at a time.
289
154
  *
@@ -315,31 +180,6 @@ async function mapWithConcurrency(items, concurrency, fn) {
315
180
  await Promise.all(Array.from({ length: workerCount }, () => worker()));
316
181
  return results;
317
182
  }
318
- (void 0)?.test("mapWithConcurrency", async ({ expect }) => {
319
- expect(await mapWithConcurrency([
320
- 30,
321
- 10,
322
- 20
323
- ], 3, async (ms, index) => {
324
- await wait(ms);
325
- return `${index}:${ms}`;
326
- })).toEqual([
327
- "0:30",
328
- "1:10",
329
- "2:20"
330
- ]);
331
- let inFlight = 0;
332
- let maxInFlight = 0;
333
- await mapWithConcurrency(Array.from({ length: 10 }, (_, i) => i), 3, async () => {
334
- inFlight++;
335
- maxInFlight = Math.max(maxInFlight, inFlight);
336
- await wait(5);
337
- inFlight--;
338
- });
339
- expect(maxInFlight).toBe(3);
340
- expect(await mapWithConcurrency([], 4, async () => 1)).toEqual([]);
341
- await expect(mapWithConcurrency([1], 0, async (x) => x)).rejects.toThrow("positive integer concurrency");
342
- });
343
183
  function rateLimited(func, options) {
344
184
  let waitUntil = performance.now();
345
185
  let queue = [];
@@ -385,7 +225,6 @@ function throttled(func, delayMs) {
385
225
  return await nextAvailable;
386
226
  };
387
227
  }
388
-
389
228
  //#endregion
390
229
  exports.concatStacktracesIfRejected = concatStacktracesIfRejected;
391
230
  exports.createPromise = createPromise;
@@ -403,4 +242,5 @@ exports.timeout = timeout;
403
242
  exports.timeoutThrow = timeoutThrow;
404
243
  exports.wait = wait;
405
244
  exports.waitUntil = waitUntil;
245
+
406
246
  //# sourceMappingURL=promises.js.map