@hexclave/shared 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +7 -0
- package/dist/ai/image-limits.d.ts +24 -0
- package/dist/ai/image-limits.d.ts.map +1 -0
- package/dist/ai/image-limits.js +61 -0
- package/dist/ai/image-limits.js.map +1 -0
- package/dist/ai/unified-prompts/reminders.d.ts +5 -0
- package/dist/ai/unified-prompts/reminders.d.ts.map +1 -0
- package/dist/ai/unified-prompts/reminders.js +33 -0
- package/dist/ai/unified-prompts/reminders.js.map +1 -0
- package/dist/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.d.ts +11 -0
- package/dist/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.d.ts.map +1 -0
- package/dist/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.js +851 -0
- package/dist/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.js.map +1 -0
- package/dist/ai/unified-prompts/skill-site-prompt-parts/brain.d.ts +5 -0
- package/dist/ai/unified-prompts/skill-site-prompt-parts/brain.d.ts.map +1 -0
- package/dist/ai/unified-prompts/skill-site-prompt-parts/brain.js +12 -0
- package/dist/ai/unified-prompts/skill-site-prompt-parts/brain.js.map +1 -0
- package/dist/ai/unified-prompts/skill-site-prompt-parts/cli-help.d.ts +5 -0
- package/dist/ai/unified-prompts/skill-site-prompt-parts/cli-help.d.ts.map +1 -0
- package/dist/ai/unified-prompts/skill-site-prompt-parts/cli-help.js +12 -0
- package/dist/ai/unified-prompts/skill-site-prompt-parts/cli-help.js.map +1 -0
- package/dist/ai/unified-prompts/skill-site-prompt-parts/config-docs.d.ts +5 -0
- package/dist/ai/unified-prompts/skill-site-prompt-parts/config-docs.d.ts.map +1 -0
- package/dist/ai/unified-prompts/skill-site-prompt-parts/config-docs.js +12 -0
- package/dist/ai/unified-prompts/skill-site-prompt-parts/config-docs.js.map +1 -0
- package/dist/ai/unified-prompts/skill-site-prompt-parts/custom-components-instructions.d.ts +5 -0
- package/dist/ai/unified-prompts/skill-site-prompt-parts/custom-components-instructions.d.ts.map +1 -0
- package/dist/ai/unified-prompts/skill-site-prompt-parts/custom-components-instructions.js +12 -0
- package/dist/ai/unified-prompts/skill-site-prompt-parts/custom-components-instructions.js.map +1 -0
- package/dist/ai/unified-prompts/skill-site-prompt-parts/dashboard-instructions.d.ts +5 -0
- package/dist/ai/unified-prompts/skill-site-prompt-parts/dashboard-instructions.d.ts.map +1 -0
- package/dist/ai/unified-prompts/skill-site-prompt-parts/dashboard-instructions.js +12 -0
- package/dist/ai/unified-prompts/skill-site-prompt-parts/dashboard-instructions.js.map +1 -0
- package/dist/ai/unified-prompts/skill-site-prompt-parts/docs-index.d.ts +5 -0
- package/dist/ai/unified-prompts/skill-site-prompt-parts/docs-index.d.ts.map +1 -0
- package/dist/ai/unified-prompts/skill-site-prompt-parts/docs-index.js +64 -0
- package/dist/ai/unified-prompts/skill-site-prompt-parts/docs-index.js.map +1 -0
- package/dist/ai/unified-prompts/skill-site-prompt-parts/openapi-specs.d.ts +5 -0
- package/dist/ai/unified-prompts/skill-site-prompt-parts/openapi-specs.d.ts.map +1 -0
- package/dist/ai/unified-prompts/skill-site-prompt-parts/openapi-specs.js +12 -0
- package/dist/ai/unified-prompts/skill-site-prompt-parts/openapi-specs.js.map +1 -0
- package/dist/ai/unified-prompts/skill-site-prompt-parts/sdk-interface-source.d.ts +5 -0
- package/dist/ai/unified-prompts/skill-site-prompt-parts/sdk-interface-source.d.ts.map +1 -0
- package/dist/ai/unified-prompts/skill-site-prompt-parts/sdk-interface-source.js +12 -0
- package/dist/ai/unified-prompts/skill-site-prompt-parts/sdk-interface-source.js.map +1 -0
- package/dist/ai/unified-prompts/skill-site-prompt.d.ts +5 -0
- package/dist/ai/unified-prompts/skill-site-prompt.d.ts.map +1 -0
- package/dist/ai/unified-prompts/skill-site-prompt.js +75 -0
- package/dist/ai/unified-prompts/skill-site-prompt.js.map +1 -0
- package/dist/apps/apps-config.d.ts +168 -0
- package/dist/apps/apps-config.d.ts.map +1 -0
- package/dist/apps/apps-config.js +157 -0
- package/dist/apps/apps-config.js.map +1 -0
- package/dist/apps/apps-ui.d.ts +45 -0
- package/dist/apps/apps-ui.d.ts.map +1 -0
- package/dist/apps/apps-ui.js +109 -0
- package/dist/apps/apps-ui.js.map +1 -0
- package/dist/chunk-BE-pF4vm.js +34 -0
- package/dist/config/db-sync-mappings.d.ts +193 -0
- package/dist/config/db-sync-mappings.d.ts.map +1 -0
- package/dist/config/db-sync-mappings.js +2255 -0
- package/dist/config/db-sync-mappings.js.map +1 -0
- package/dist/config/format.d.ts +61 -0
- package/dist/config/format.d.ts.map +1 -0
- package/dist/config/format.js +337 -0
- package/dist/config/format.js.map +1 -0
- package/dist/config/migrate-catalogs-to-product-lines.d.ts +14 -0
- package/dist/config/migrate-catalogs-to-product-lines.d.ts.map +1 -0
- package/dist/config/migrate-catalogs-to-product-lines.js +379 -0
- package/dist/config/migrate-catalogs-to-product-lines.js.map +1 -0
- package/dist/config/schema-fuzzer.test.d.ts +1 -0
- package/dist/config/schema-fuzzer.test.js +401 -0
- package/dist/config/schema-fuzzer.test.js.map +1 -0
- package/dist/config/schema.d.ts +2315 -0
- package/dist/config/schema.d.ts.map +1 -0
- package/dist/config/schema.js +1085 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/config-authoring.d.ts +12 -0
- package/dist/config-authoring.d.ts.map +1 -0
- package/dist/config-authoring.js +12 -0
- package/dist/config-authoring.js.map +1 -0
- package/dist/config-authoring.test.d.ts +1 -0
- package/dist/config-authoring.test.js +29 -0
- package/dist/config-authoring.test.js.map +1 -0
- package/dist/config-rendering.d.ts +17 -0
- package/dist/config-rendering.d.ts.map +1 -0
- package/dist/config-rendering.js +114 -0
- package/dist/config-rendering.js.map +1 -0
- package/dist/crud.d.ts +98 -0
- package/dist/crud.d.ts.map +1 -0
- package/dist/crud.js +129 -0
- package/dist/crud.js.map +1 -0
- package/dist/esm/ai/image-limits.d.ts +24 -0
- package/dist/esm/ai/image-limits.d.ts.map +1 -0
- package/dist/esm/ai/image-limits.js +53 -0
- package/dist/esm/ai/image-limits.js.map +1 -0
- package/dist/esm/ai/unified-prompts/reminders.d.ts +5 -0
- package/dist/esm/ai/unified-prompts/reminders.d.ts.map +1 -0
- package/dist/esm/ai/unified-prompts/reminders.js +31 -0
- package/dist/esm/ai/unified-prompts/reminders.js.map +1 -0
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.d.ts +11 -0
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.d.ts.map +1 -0
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.js +843 -0
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.js.map +1 -0
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/brain.d.ts +5 -0
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/brain.d.ts.map +1 -0
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/brain.js +10 -0
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/brain.js.map +1 -0
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/cli-help.d.ts +5 -0
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/cli-help.d.ts.map +1 -0
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/cli-help.js +10 -0
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/cli-help.js.map +1 -0
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/config-docs.d.ts +5 -0
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/config-docs.d.ts.map +1 -0
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/config-docs.js +10 -0
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/config-docs.js.map +1 -0
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/custom-components-instructions.d.ts +5 -0
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/custom-components-instructions.d.ts.map +1 -0
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/custom-components-instructions.js +10 -0
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/custom-components-instructions.js.map +1 -0
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/dashboard-instructions.d.ts +5 -0
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/dashboard-instructions.d.ts.map +1 -0
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/dashboard-instructions.js +10 -0
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/dashboard-instructions.js.map +1 -0
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/docs-index.d.ts +5 -0
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/docs-index.d.ts.map +1 -0
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/docs-index.js +61 -0
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/docs-index.js.map +1 -0
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/openapi-specs.d.ts +5 -0
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/openapi-specs.d.ts.map +1 -0
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/openapi-specs.js +10 -0
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/openapi-specs.js.map +1 -0
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/sdk-interface-source.d.ts +5 -0
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/sdk-interface-source.d.ts.map +1 -0
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/sdk-interface-source.js +10 -0
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/sdk-interface-source.js.map +1 -0
- package/dist/esm/ai/unified-prompts/skill-site-prompt.d.ts +5 -0
- package/dist/esm/ai/unified-prompts/skill-site-prompt.d.ts.map +1 -0
- package/dist/esm/ai/unified-prompts/skill-site-prompt.js +73 -0
- package/dist/esm/ai/unified-prompts/skill-site-prompt.js.map +1 -0
- package/dist/esm/apps/apps-config.d.ts +168 -0
- package/dist/esm/apps/apps-config.d.ts.map +1 -0
- package/dist/esm/apps/apps-config.js +154 -0
- package/dist/esm/apps/apps-config.js.map +1 -0
- package/dist/esm/apps/apps-ui.d.ts +45 -0
- package/dist/esm/apps/apps-ui.d.ts.map +1 -0
- package/dist/esm/apps/apps-ui.js +104 -0
- package/dist/esm/apps/apps-ui.js.map +1 -0
- package/dist/esm/config/db-sync-mappings.d.ts +193 -0
- package/dist/esm/config/db-sync-mappings.d.ts.map +1 -0
- package/dist/esm/config/db-sync-mappings.js +2253 -0
- package/dist/esm/config/db-sync-mappings.js.map +1 -0
- package/dist/esm/config/format.d.ts +61 -0
- package/dist/esm/config/format.d.ts.map +1 -0
- package/dist/esm/config/format.js +327 -0
- package/dist/esm/config/format.js.map +1 -0
- package/dist/esm/config/migrate-catalogs-to-product-lines.d.ts +14 -0
- package/dist/esm/config/migrate-catalogs-to-product-lines.d.ts.map +1 -0
- package/dist/esm/config/migrate-catalogs-to-product-lines.js +377 -0
- package/dist/esm/config/migrate-catalogs-to-product-lines.js.map +1 -0
- package/dist/esm/config/schema-fuzzer.test.d.ts +1 -0
- package/dist/esm/config/schema-fuzzer.test.js +401 -0
- package/dist/esm/config/schema-fuzzer.test.js.map +1 -0
- package/dist/esm/config/schema.d.ts +2315 -0
- package/dist/esm/config/schema.d.ts.map +1 -0
- package/dist/esm/config/schema.js +1065 -0
- package/dist/esm/config/schema.js.map +1 -0
- package/dist/esm/config-authoring.d.ts +12 -0
- package/dist/esm/config-authoring.d.ts.map +1 -0
- package/dist/esm/config-authoring.js +9 -0
- package/dist/esm/config-authoring.js.map +1 -0
- package/dist/esm/config-authoring.test.d.ts +1 -0
- package/dist/esm/config-authoring.test.js +29 -0
- package/dist/esm/config-authoring.test.js.map +1 -0
- package/dist/esm/config-rendering.d.ts +17 -0
- package/dist/esm/config-rendering.d.ts.map +1 -0
- package/dist/esm/config-rendering.js +108 -0
- package/dist/esm/config-rendering.js.map +1 -0
- package/dist/esm/crud.d.ts +98 -0
- package/dist/esm/crud.d.ts.map +1 -0
- package/dist/esm/crud.js +127 -0
- package/dist/esm/crud.js.map +1 -0
- package/dist/esm/global.d.ts +1 -0
- package/dist/esm/helpers/emails.d.ts +69 -0
- package/dist/esm/helpers/emails.d.ts.map +1 -0
- package/dist/esm/helpers/emails.js +243 -0
- package/dist/esm/helpers/emails.js.map +1 -0
- package/dist/esm/helpers/init-prompt.d.ts +5 -0
- package/dist/esm/helpers/init-prompt.d.ts.map +1 -0
- package/dist/esm/helpers/init-prompt.js +40 -0
- package/dist/esm/helpers/init-prompt.js.map +1 -0
- package/dist/esm/helpers/password.d.ts +7 -0
- package/dist/esm/helpers/password.d.ts.map +1 -0
- package/dist/esm/helpers/password.js +13 -0
- package/dist/esm/helpers/password.js.map +1 -0
- package/dist/esm/helpers/production-mode.d.ts +11 -0
- package/dist/esm/helpers/production-mode.d.ts.map +1 -0
- package/dist/esm/helpers/production-mode.js +46 -0
- package/dist/esm/helpers/production-mode.js.map +1 -0
- package/dist/esm/helpers/support-sla.d.ts +48 -0
- package/dist/esm/helpers/support-sla.d.ts.map +1 -0
- package/dist/esm/helpers/support-sla.js +65 -0
- package/dist/esm/helpers/support-sla.js.map +1 -0
- package/dist/esm/helpers/support-sla.test.d.ts +1 -0
- package/dist/esm/helpers/support-sla.test.js +102 -0
- package/dist/esm/helpers/support-sla.test.js.map +1 -0
- package/dist/esm/helpers/vault/client-side.d.ts +16 -0
- package/dist/esm/helpers/vault/client-side.d.ts.map +1 -0
- package/dist/esm/helpers/vault/client-side.js +69 -0
- package/dist/esm/helpers/vault/client-side.js.map +1 -0
- package/dist/esm/helpers/vault/server-side.d.ts +9 -0
- package/dist/esm/helpers/vault/server-side.d.ts.map +1 -0
- package/dist/esm/helpers/vault/server-side.js +123 -0
- package/dist/esm/helpers/vault/server-side.js.map +1 -0
- package/dist/esm/hooks/use-async-callback.d.ts +8 -0
- package/dist/esm/hooks/use-async-callback.d.ts.map +1 -0
- package/dist/esm/hooks/use-async-callback.js +38 -0
- package/dist/esm/hooks/use-async-callback.js.map +1 -0
- package/dist/esm/hooks/use-async-external-store.d.ts +9 -0
- package/dist/esm/hooks/use-async-external-store.d.ts.map +1 -0
- package/dist/esm/hooks/use-async-external-store.js +20 -0
- package/dist/esm/hooks/use-async-external-store.js.map +1 -0
- package/dist/esm/hooks/use-hash.d.ts +5 -0
- package/dist/esm/hooks/use-hash.d.ts.map +1 -0
- package/dist/esm/hooks/use-hash.js +15 -0
- package/dist/esm/hooks/use-hash.js.map +1 -0
- package/dist/esm/hooks/use-hover.d.ts +8 -0
- package/dist/esm/hooks/use-hover.d.ts.map +1 -0
- package/dist/esm/hooks/use-hover.js +59 -0
- package/dist/esm/hooks/use-hover.js.map +1 -0
- package/dist/esm/hooks/use-strict-memo.d.ts +10 -0
- package/dist/esm/hooks/use-strict-memo.d.ts.map +1 -0
- package/dist/esm/hooks/use-strict-memo.js +119 -0
- package/dist/esm/hooks/use-strict-memo.js.map +1 -0
- package/dist/esm/index.d.ts +5 -0
- package/dist/esm/index.js +6 -0
- package/dist/esm/interface/admin-interface.d.ts +308 -0
- package/dist/esm/interface/admin-interface.d.ts.map +1 -0
- package/dist/esm/interface/admin-interface.js +463 -0
- package/dist/esm/interface/admin-interface.js.map +1 -0
- package/dist/esm/interface/admin-metrics.d.ts +597 -0
- package/dist/esm/interface/admin-metrics.d.ts.map +1 -0
- package/dist/esm/interface/admin-metrics.js +134 -0
- package/dist/esm/interface/admin-metrics.js.map +1 -0
- package/dist/esm/interface/client-interface.d.ts +447 -0
- package/dist/esm/interface/client-interface.d.ts.map +1 -0
- package/dist/esm/interface/client-interface.js +1946 -0
- package/dist/esm/interface/client-interface.js.map +1 -0
- package/dist/esm/interface/client-interface.test.d.ts +1 -0
- package/dist/esm/interface/client-interface.test.js +559 -0
- package/dist/esm/interface/client-interface.test.js.map +1 -0
- package/dist/esm/interface/conversations.d.ts +314 -0
- package/dist/esm/interface/conversations.d.ts.map +1 -0
- package/dist/esm/interface/conversations.js +108 -0
- package/dist/esm/interface/conversations.js.map +1 -0
- package/dist/esm/interface/crud/analytics.d.ts +14 -0
- package/dist/esm/interface/crud/analytics.d.ts.map +1 -0
- package/dist/esm/interface/crud/analytics.js +1 -0
- package/dist/esm/interface/crud/connected-accounts.d.ts +69 -0
- package/dist/esm/interface/crud/connected-accounts.d.ts.map +1 -0
- package/dist/esm/interface/crud/connected-accounts.js +35 -0
- package/dist/esm/interface/crud/connected-accounts.js.map +1 -0
- package/dist/esm/interface/crud/contact-channels.d.ts +182 -0
- package/dist/esm/interface/crud/contact-channels.d.ts.map +1 -0
- package/dist/esm/interface/crud/contact-channels.js +68 -0
- package/dist/esm/interface/crud/contact-channels.js.map +1 -0
- package/dist/esm/interface/crud/current-user.d.ts +286 -0
- package/dist/esm/interface/crud/current-user.d.ts.map +1 -0
- package/dist/esm/interface/crud/current-user.js +69 -0
- package/dist/esm/interface/crud/current-user.js.map +1 -0
- package/dist/esm/interface/crud/email-outbox.d.ts +1466 -0
- package/dist/esm/interface/crud/email-outbox.d.ts.map +1 -0
- package/dist/esm/interface/crud/email-outbox.js +190 -0
- package/dist/esm/interface/crud/email-outbox.js.map +1 -0
- package/dist/esm/interface/crud/email-templates.d.ts +86 -0
- package/dist/esm/interface/crud/email-templates.d.ts.map +1 -0
- package/dist/esm/interface/crud/email-templates.js +46 -0
- package/dist/esm/interface/crud/email-templates.js.map +1 -0
- package/dist/esm/interface/crud/emails.d.ts +42 -0
- package/dist/esm/interface/crud/emails.d.ts.map +1 -0
- package/dist/esm/interface/crud/emails.js +19 -0
- package/dist/esm/interface/crud/emails.js.map +1 -0
- package/dist/esm/interface/crud/internal-api-keys.d.ts +141 -0
- package/dist/esm/interface/crud/internal-api-keys.d.ts.map +1 -0
- package/dist/esm/interface/crud/internal-api-keys.js +49 -0
- package/dist/esm/interface/crud/internal-api-keys.js.map +1 -0
- package/dist/esm/interface/crud/invoices.d.ts +43 -0
- package/dist/esm/interface/crud/invoices.d.ts.map +1 -0
- package/dist/esm/interface/crud/invoices.js +25 -0
- package/dist/esm/interface/crud/invoices.js.map +1 -0
- package/dist/esm/interface/crud/items.d.ts +31 -0
- package/dist/esm/interface/crud/items.d.ts.map +1 -0
- package/dist/esm/interface/crud/items.js +23 -0
- package/dist/esm/interface/crud/items.js.map +1 -0
- package/dist/esm/interface/crud/notification-preferences.d.ts +39 -0
- package/dist/esm/interface/crud/notification-preferences.d.ts.map +1 -0
- package/dist/esm/interface/crud/notification-preferences.js +31 -0
- package/dist/esm/interface/crud/notification-preferences.js.map +1 -0
- package/dist/esm/interface/crud/oauth-providers.d.ts +187 -0
- package/dist/esm/interface/crud/oauth-providers.d.ts.map +1 -0
- package/dist/esm/interface/crud/oauth-providers.js +75 -0
- package/dist/esm/interface/crud/oauth-providers.js.map +1 -0
- package/dist/esm/interface/crud/products.d.ts +182 -0
- package/dist/esm/interface/crud/products.d.ts.map +1 -0
- package/dist/esm/interface/crud/products.js +29 -0
- package/dist/esm/interface/crud/products.js.map +1 -0
- package/dist/esm/interface/crud/project-api-keys.d.ts +204 -0
- package/dist/esm/interface/crud/project-api-keys.d.ts.map +1 -0
- package/dist/esm/interface/crud/project-api-keys.js +72 -0
- package/dist/esm/interface/crud/project-api-keys.js.map +1 -0
- package/dist/esm/interface/crud/project-permissions.d.ts +162 -0
- package/dist/esm/interface/crud/project-permissions.d.ts.map +1 -0
- package/dist/esm/interface/crud/project-permissions.js +104 -0
- package/dist/esm/interface/crud/project-permissions.js.map +1 -0
- package/dist/esm/interface/crud/projects.d.ts +852 -0
- package/dist/esm/interface/crud/projects.d.ts.map +1 -0
- package/dist/esm/interface/crud/projects.js +193 -0
- package/dist/esm/interface/crud/projects.js.map +1 -0
- package/dist/esm/interface/crud/session-replays.d.ts +83 -0
- package/dist/esm/interface/crud/session-replays.d.ts.map +1 -0
- package/dist/esm/interface/crud/session-replays.js +1 -0
- package/dist/esm/interface/crud/sessions.d.ts +151 -0
- package/dist/esm/interface/crud/sessions.d.ts.map +1 -0
- package/dist/esm/interface/crud/sessions.js +56 -0
- package/dist/esm/interface/crud/sessions.js.map +1 -0
- package/dist/esm/interface/crud/sign-up-rules.d.ts +15 -0
- package/dist/esm/interface/crud/sign-up-rules.d.ts.map +1 -0
- package/dist/esm/interface/crud/sign-up-rules.js +1 -0
- package/dist/esm/interface/crud/svix-token.d.ts +32 -0
- package/dist/esm/interface/crud/svix-token.d.ts.map +1 -0
- package/dist/esm/interface/crud/svix-token.js +18 -0
- package/dist/esm/interface/crud/svix-token.js.map +1 -0
- package/dist/esm/interface/crud/team-invitation-details.d.ts +32 -0
- package/dist/esm/interface/crud/team-invitation-details.d.ts.map +1 -0
- package/dist/esm/interface/crud/team-invitation-details.js +21 -0
- package/dist/esm/interface/crud/team-invitation-details.js.map +1 -0
- package/dist/esm/interface/crud/team-invitation.d.ts +55 -0
- package/dist/esm/interface/crud/team-invitation.d.ts.map +1 -0
- package/dist/esm/interface/crud/team-invitation.js +37 -0
- package/dist/esm/interface/crud/team-invitation.js.map +1 -0
- package/dist/esm/interface/crud/team-member-profiles.d.ts +287 -0
- package/dist/esm/interface/crud/team-member-profiles.d.ts.map +1 -0
- package/dist/esm/interface/crud/team-member-profiles.js +58 -0
- package/dist/esm/interface/crud/team-member-profiles.js.map +1 -0
- package/dist/esm/interface/crud/team-memberships.d.ts +76 -0
- package/dist/esm/interface/crud/team-memberships.d.ts.map +1 -0
- package/dist/esm/interface/crud/team-memberships.js +54 -0
- package/dist/esm/interface/crud/team-memberships.js.map +1 -0
- package/dist/esm/interface/crud/team-permissions.d.ts +170 -0
- package/dist/esm/interface/crud/team-permissions.d.ts.map +1 -0
- package/dist/esm/interface/crud/team-permissions.js +105 -0
- package/dist/esm/interface/crud/team-permissions.js.map +1 -0
- package/dist/esm/interface/crud/teams.d.ts +300 -0
- package/dist/esm/interface/crud/teams.d.ts.map +1 -0
- package/dist/esm/interface/crud/teams.js +129 -0
- package/dist/esm/interface/crud/teams.js.map +1 -0
- package/dist/esm/interface/crud/transactions.d.ts +183 -0
- package/dist/esm/interface/crud/transactions.d.ts.map +1 -0
- package/dist/esm/interface/crud/transactions.js +85 -0
- package/dist/esm/interface/crud/transactions.js.map +1 -0
- package/dist/esm/interface/crud/users.d.ts +654 -0
- package/dist/esm/interface/crud/users.d.ts.map +1 -0
- package/dist/esm/interface/crud/users.js +181 -0
- package/dist/esm/interface/crud/users.js.map +1 -0
- package/dist/esm/interface/handler-urls.d.ts +51 -0
- package/dist/esm/interface/handler-urls.d.ts.map +1 -0
- package/dist/esm/interface/handler-urls.js +3 -0
- package/dist/esm/interface/page-component-versions.d.ts +25 -0
- package/dist/esm/interface/page-component-versions.d.ts.map +1 -0
- package/dist/esm/interface/page-component-versions.js +1661 -0
- package/dist/esm/interface/page-component-versions.js.map +1 -0
- package/dist/esm/interface/server-interface.d.ts +255 -0
- package/dist/esm/interface/server-interface.d.ts.map +1 -0
- package/dist/esm/interface/server-interface.js +459 -0
- package/dist/esm/interface/server-interface.js.map +1 -0
- package/dist/esm/interface/webhooks.d.ts +326 -0
- package/dist/esm/interface/webhooks.d.ts.map +1 -0
- package/dist/esm/interface/webhooks.js +22 -0
- package/dist/esm/interface/webhooks.js.map +1 -0
- package/dist/esm/known-errors.d.ts +575 -0
- package/dist/esm/known-errors.d.ts.map +1 -0
- package/dist/esm/known-errors.js +791 -0
- package/dist/esm/known-errors.js.map +1 -0
- package/dist/esm/local-emulator.d.ts +6 -0
- package/dist/esm/local-emulator.d.ts.map +1 -0
- package/dist/esm/local-emulator.js +7 -0
- package/dist/esm/local-emulator.js.map +1 -0
- package/dist/esm/payments/payment-methods.d.ts +64 -0
- package/dist/esm/payments/payment-methods.d.ts.map +1 -0
- package/dist/esm/payments/payment-methods.js +205 -0
- package/dist/esm/payments/payment-methods.js.map +1 -0
- package/dist/esm/payments/stripe-limits.d.ts +17 -0
- package/dist/esm/payments/stripe-limits.d.ts.map +1 -0
- package/dist/esm/payments/stripe-limits.js +17 -0
- package/dist/esm/payments/stripe-limits.js.map +1 -0
- package/dist/esm/plans.d.ts +72 -0
- package/dist/esm/plans.d.ts.map +1 -0
- package/dist/esm/plans.js +81 -0
- package/dist/esm/plans.js.map +1 -0
- package/dist/esm/schema-fields.d.ts +472 -0
- package/dist/esm/schema-fields.d.ts.map +1 -0
- package/dist/esm/schema-fields.js +1009 -0
- package/dist/esm/schema-fields.js.map +1 -0
- package/dist/esm/sessions.d.ts +165 -0
- package/dist/esm/sessions.d.ts.map +1 -0
- package/dist/esm/sessions.js +226 -0
- package/dist/esm/sessions.js.map +1 -0
- package/dist/esm/stack-config-file.d.ts +15 -0
- package/dist/esm/stack-config-file.d.ts.map +1 -0
- package/dist/esm/stack-config-file.js +76 -0
- package/dist/esm/stack-config-file.js.map +1 -0
- package/dist/esm/utils/api-keys.d.ts +26 -0
- package/dist/esm/utils/api-keys.d.ts.map +1 -0
- package/dist/esm/utils/api-keys.js +77 -0
- package/dist/esm/utils/api-keys.js.map +1 -0
- package/dist/esm/utils/arrays.d.ts +25 -0
- package/dist/esm/utils/arrays.d.ts.map +1 -0
- package/dist/esm/utils/arrays.js +552 -0
- package/dist/esm/utils/arrays.js.map +1 -0
- package/dist/esm/utils/auth-methods.d.ts +6 -0
- package/dist/esm/utils/auth-methods.d.ts.map +1 -0
- package/dist/esm/utils/auth-methods.js +11 -0
- package/dist/esm/utils/auth-methods.js.map +1 -0
- package/dist/esm/utils/base64.d.ts +6 -0
- package/dist/esm/utils/base64.d.ts.map +1 -0
- package/dist/esm/utils/base64.js +25 -0
- package/dist/esm/utils/base64.js.map +1 -0
- package/dist/esm/utils/booleans.d.ts +8 -0
- package/dist/esm/utils/booleans.d.ts.map +1 -0
- package/dist/esm/utils/booleans.js +35 -0
- package/dist/esm/utils/booleans.js.map +1 -0
- package/dist/esm/utils/browser-compat.d.ts +10 -0
- package/dist/esm/utils/browser-compat.d.ts.map +1 -0
- package/dist/esm/utils/browser-compat.js +21 -0
- package/dist/esm/utils/browser-compat.js.map +1 -0
- package/dist/esm/utils/bytes.d.ts +17 -0
- package/dist/esm/utils/bytes.d.ts.map +1 -0
- package/dist/esm/utils/bytes.js +290 -0
- package/dist/esm/utils/bytes.js.map +1 -0
- package/dist/esm/utils/caches.d.ts +102 -0
- package/dist/esm/utils/caches.d.ts.map +1 -0
- package/dist/esm/utils/caches.js +185 -0
- package/dist/esm/utils/caches.js.map +1 -0
- package/dist/esm/utils/cel-fields.d.ts +23 -0
- package/dist/esm/utils/cel-fields.d.ts.map +1 -0
- package/dist/esm/utils/cel-fields.js +99 -0
- package/dist/esm/utils/cel-fields.js.map +1 -0
- package/dist/esm/utils/compile-time.d.ts +10 -0
- package/dist/esm/utils/compile-time.d.ts.map +1 -0
- package/dist/esm/utils/compile-time.js +14 -0
- package/dist/esm/utils/compile-time.js.map +1 -0
- package/dist/esm/utils/country-codes.d.ts +11 -0
- package/dist/esm/utils/country-codes.d.ts.map +1 -0
- package/dist/esm/utils/country-codes.js +36 -0
- package/dist/esm/utils/country-codes.js.map +1 -0
- package/dist/esm/utils/crypto.d.ts +48 -0
- package/dist/esm/utils/crypto.d.ts.map +1 -0
- package/dist/esm/utils/crypto.js +208 -0
- package/dist/esm/utils/crypto.js.map +1 -0
- package/dist/esm/utils/currencies.d.ts +8 -0
- package/dist/esm/utils/currencies.d.ts.map +1 -0
- package/dist/esm/utils/currencies.js +50 -0
- package/dist/esm/utils/currencies.js.map +1 -0
- package/dist/esm/utils/currency-constants.d.ts +39 -0
- package/dist/esm/utils/currency-constants.d.ts.map +1 -0
- package/dist/esm/utils/currency-constants.js +42 -0
- package/dist/esm/utils/currency-constants.js.map +1 -0
- package/dist/esm/utils/dates.d.ts +23 -0
- package/dist/esm/utils/dates.d.ts.map +1 -0
- package/dist/esm/utils/dates.js +167 -0
- package/dist/esm/utils/dates.js.map +1 -0
- package/dist/esm/utils/dev-env-state-path.d.ts +6 -0
- package/dist/esm/utils/dev-env-state-path.d.ts.map +1 -0
- package/dist/esm/utils/dev-env-state-path.js +15 -0
- package/dist/esm/utils/dev-env-state-path.js.map +1 -0
- package/dist/esm/utils/dom.d.ts +5 -0
- package/dist/esm/utils/dom.d.ts.map +1 -0
- package/dist/esm/utils/dom.js +11 -0
- package/dist/esm/utils/dom.js.map +1 -0
- package/dist/esm/utils/env.d.ts +25 -0
- package/dist/esm/utils/env.d.ts.map +1 -0
- package/dist/esm/utils/env.js +78 -0
- package/dist/esm/utils/env.js.map +1 -0
- package/dist/esm/utils/errors.d.ts +231 -0
- package/dist/esm/utils/errors.d.ts.map +1 -0
- package/dist/esm/utils/errors.js +385 -0
- package/dist/esm/utils/errors.js.map +1 -0
- package/dist/esm/utils/esbuild.d.ts +16 -0
- package/dist/esm/utils/esbuild.d.ts.map +1 -0
- package/dist/esm/utils/esbuild.js +182 -0
- package/dist/esm/utils/esbuild.js.map +1 -0
- package/dist/esm/utils/featurebase.d.ts +30 -0
- package/dist/esm/utils/featurebase.d.ts.map +1 -0
- package/dist/esm/utils/featurebase.js +166 -0
- package/dist/esm/utils/featurebase.js.map +1 -0
- package/dist/esm/utils/fs.d.ts +9 -0
- package/dist/esm/utils/fs.d.ts.map +1 -0
- package/dist/esm/utils/fs.js +25 -0
- package/dist/esm/utils/fs.js.map +1 -0
- package/dist/esm/utils/functions.d.ts +6 -0
- package/dist/esm/utils/functions.d.ts.map +1 -0
- package/dist/esm/utils/functions.js +34 -0
- package/dist/esm/utils/functions.js.map +1 -0
- package/dist/esm/utils/geo.d.ts +24 -0
- package/dist/esm/utils/geo.d.ts.map +1 -0
- package/dist/esm/utils/geo.js +16 -0
- package/dist/esm/utils/geo.js.map +1 -0
- package/dist/esm/utils/globals.d.ts +13 -0
- package/dist/esm/utils/globals.d.ts.map +1 -0
- package/dist/esm/utils/globals.js +34 -0
- package/dist/esm/utils/globals.js.map +1 -0
- package/dist/esm/utils/hashes.d.ts +9 -0
- package/dist/esm/utils/hashes.d.ts.map +1 -0
- package/dist/esm/utils/hashes.js +40 -0
- package/dist/esm/utils/hashes.js.map +1 -0
- package/dist/esm/utils/html.d.ts +7 -0
- package/dist/esm/utils/html.d.ts.map +1 -0
- package/dist/esm/utils/html.js +33 -0
- package/dist/esm/utils/html.js.map +1 -0
- package/dist/esm/utils/http.d.ts +45 -0
- package/dist/esm/utils/http.d.ts.map +1 -0
- package/dist/esm/utils/http.js +75 -0
- package/dist/esm/utils/http.js.map +1 -0
- package/dist/esm/utils/ips.d.ts +8 -0
- package/dist/esm/utils/ips.d.ts.map +1 -0
- package/dist/esm/utils/ips.js +36 -0
- package/dist/esm/utils/ips.js.map +1 -0
- package/dist/esm/utils/json.d.ts +15 -0
- package/dist/esm/utils/json.d.ts.map +1 -0
- package/dist/esm/utils/json.js +178 -0
- package/dist/esm/utils/json.js.map +1 -0
- package/dist/esm/utils/jsx-editable-transpiler.d.ts +68 -0
- package/dist/esm/utils/jsx-editable-transpiler.d.ts.map +1 -0
- package/dist/esm/utils/jsx-editable-transpiler.js +216 -0
- package/dist/esm/utils/jsx-editable-transpiler.js.map +1 -0
- package/dist/esm/utils/jsx-editable-transpiler.test.d.ts +1 -0
- package/dist/esm/utils/jsx-editable-transpiler.test.js +122 -0
- package/dist/esm/utils/jsx-editable-transpiler.test.js.map +1 -0
- package/dist/esm/utils/jwt.d.ts +79 -0
- package/dist/esm/utils/jwt.d.ts.map +1 -0
- package/dist/esm/utils/jwt.js +102 -0
- package/dist/esm/utils/jwt.js.map +1 -0
- package/dist/esm/utils/locks.d.ts +17 -0
- package/dist/esm/utils/locks.d.ts.map +1 -0
- package/dist/esm/utils/locks.js +54 -0
- package/dist/esm/utils/locks.js.map +1 -0
- package/dist/esm/utils/maps.d.ts +61 -0
- package/dist/esm/utils/maps.d.ts.map +1 -0
- package/dist/esm/utils/maps.js +297 -0
- package/dist/esm/utils/maps.js.map +1 -0
- package/dist/esm/utils/math.d.ts +8 -0
- package/dist/esm/utils/math.d.ts.map +1 -0
- package/dist/esm/utils/math.js +21 -0
- package/dist/esm/utils/math.js.map +1 -0
- package/dist/esm/utils/monkey-patch.d.ts +7 -0
- package/dist/esm/utils/monkey-patch.d.ts.map +1 -0
- package/dist/esm/utils/monkey-patch.js +21 -0
- package/dist/esm/utils/monkey-patch.js.map +1 -0
- package/dist/esm/utils/node-http.d.ts +17 -0
- package/dist/esm/utils/node-http.d.ts.map +1 -0
- package/dist/esm/utils/node-http.js +38 -0
- package/dist/esm/utils/node-http.js.map +1 -0
- package/dist/esm/utils/numbers.d.ts +7 -0
- package/dist/esm/utils/numbers.d.ts.map +1 -0
- package/dist/esm/utils/numbers.js +75 -0
- package/dist/esm/utils/numbers.js.map +1 -0
- package/dist/esm/utils/oauth.d.ts +11 -0
- package/dist/esm/utils/oauth.d.ts.map +1 -0
- package/dist/esm/utils/oauth.js +27 -0
- package/dist/esm/utils/oauth.js.map +1 -0
- package/dist/esm/utils/objects.d.ts +59 -0
- package/dist/esm/utils/objects.d.ts.map +1 -0
- package/dist/esm/utils/objects.js +818 -0
- package/dist/esm/utils/objects.js.map +1 -0
- package/dist/esm/utils/paginated-lists.d.ts +442 -0
- package/dist/esm/utils/paginated-lists.d.ts.map +1 -0
- package/dist/esm/utils/paginated-lists.js +411 -0
- package/dist/esm/utils/paginated-lists.js.map +1 -0
- package/dist/esm/utils/paginated-lists.test.d.ts +1 -0
- package/dist/esm/utils/paginated-lists.test.js +1304 -0
- package/dist/esm/utils/paginated-lists.test.js.map +1 -0
- package/dist/esm/utils/passkey.d.ts +2 -0
- package/dist/esm/utils/passkey.js +1 -0
- package/dist/esm/utils/promises.d.ts +80 -0
- package/dist/esm/utils/promises.d.ts.map +1 -0
- package/dist/esm/utils/promises.js +333 -0
- package/dist/esm/utils/promises.js.map +1 -0
- package/dist/esm/utils/proxies.d.ts +13 -0
- package/dist/esm/utils/proxies.d.ts.map +1 -0
- package/dist/esm/utils/proxies.js +197 -0
- package/dist/esm/utils/proxies.js.map +1 -0
- package/dist/esm/utils/react.d.ts +61 -0
- package/dist/esm/utils/react.d.ts.map +1 -0
- package/dist/esm/utils/react.js +229 -0
- package/dist/esm/utils/react.js.map +1 -0
- package/dist/esm/utils/redirect-urls.d.ts +30 -0
- package/dist/esm/utils/redirect-urls.d.ts.map +1 -0
- package/dist/esm/utils/redirect-urls.js +215 -0
- package/dist/esm/utils/redirect-urls.js.map +1 -0
- package/dist/esm/utils/regex.d.ts +5 -0
- package/dist/esm/utils/regex.d.ts.map +1 -0
- package/dist/esm/utils/regex.js +13 -0
- package/dist/esm/utils/regex.js.map +1 -0
- package/dist/esm/utils/results.d.ts +70 -0
- package/dist/esm/utils/results.d.ts.map +1 -0
- package/dist/esm/utils/results.js +339 -0
- package/dist/esm/utils/results.js.map +1 -0
- package/dist/esm/utils/sentry.d.ts +13 -0
- package/dist/esm/utils/sentry.d.ts.map +1 -0
- package/dist/esm/utils/sentry.js +14 -0
- package/dist/esm/utils/sentry.js.map +1 -0
- package/dist/esm/utils/stores.d.ts +104 -0
- package/dist/esm/utils/stores.d.ts.map +1 -0
- package/dist/esm/utils/stores.js +175 -0
- package/dist/esm/utils/stores.js.map +1 -0
- package/dist/esm/utils/strings.d.ts +76 -0
- package/dist/esm/utils/strings.d.ts.map +1 -0
- package/dist/esm/utils/strings.js +530 -0
- package/dist/esm/utils/strings.js.map +1 -0
- package/dist/esm/utils/strings.nicify.test.d.ts +1 -0
- package/dist/esm/utils/strings.nicify.test.js +243 -0
- package/dist/esm/utils/strings.nicify.test.js.map +1 -0
- package/dist/esm/utils/telemetry.d.ts +15 -0
- package/dist/esm/utils/telemetry.d.ts.map +1 -0
- package/dist/esm/utils/telemetry.js +31 -0
- package/dist/esm/utils/telemetry.js.map +1 -0
- package/dist/esm/utils/turnstile-browser.d.ts +32 -0
- package/dist/esm/utils/turnstile-browser.d.ts.map +1 -0
- package/dist/esm/utils/turnstile-browser.js +61 -0
- package/dist/esm/utils/turnstile-browser.js.map +1 -0
- package/dist/esm/utils/turnstile-flow.d.ts +29 -0
- package/dist/esm/utils/turnstile-flow.d.ts.map +1 -0
- package/dist/esm/utils/turnstile-flow.js +219 -0
- package/dist/esm/utils/turnstile-flow.js.map +1 -0
- package/dist/esm/utils/turnstile-flow.test.d.ts +1 -0
- package/dist/esm/utils/turnstile-flow.test.js +75 -0
- package/dist/esm/utils/turnstile-flow.test.js.map +1 -0
- package/dist/esm/utils/turnstile.d.ts +17 -0
- package/dist/esm/utils/turnstile.d.ts.map +1 -0
- package/dist/esm/utils/turnstile.js +25 -0
- package/dist/esm/utils/turnstile.js.map +1 -0
- package/dist/esm/utils/typed-arrays.d.ts +14 -0
- package/dist/esm/utils/typed-arrays.d.ts.map +1 -0
- package/dist/esm/utils/typed-arrays.js +20 -0
- package/dist/esm/utils/typed-arrays.js.map +1 -0
- package/dist/esm/utils/types.d.ts +77 -0
- package/dist/esm/utils/types.d.ts.map +1 -0
- package/dist/esm/utils/types.js +55 -0
- package/dist/esm/utils/types.js.map +1 -0
- package/dist/esm/utils/unicode.d.ts +5 -0
- package/dist/esm/utils/unicode.d.ts.map +1 -0
- package/dist/esm/utils/unicode.js +24 -0
- package/dist/esm/utils/unicode.js.map +1 -0
- package/dist/esm/utils/urls.d.ts +28 -0
- package/dist/esm/utils/urls.d.ts.map +1 -0
- package/dist/esm/utils/urls.js +259 -0
- package/dist/esm/utils/urls.js.map +1 -0
- package/dist/esm/utils/uuids.d.ts +6 -0
- package/dist/esm/utils/uuids.d.ts.map +1 -0
- package/dist/esm/utils/uuids.js +36 -0
- package/dist/esm/utils/uuids.js.map +1 -0
- package/dist/global.d.d.ts +0 -0
- package/dist/global.d.ts +1 -0
- package/dist/helpers/emails.d.ts +69 -0
- package/dist/helpers/emails.d.ts.map +1 -0
- package/dist/helpers/emails.js +252 -0
- package/dist/helpers/emails.js.map +1 -0
- package/dist/helpers/init-prompt.d.ts +5 -0
- package/dist/helpers/init-prompt.d.ts.map +1 -0
- package/dist/helpers/init-prompt.js +42 -0
- package/dist/helpers/init-prompt.js.map +1 -0
- package/dist/helpers/password.d.ts +6 -0
- package/dist/helpers/password.d.ts.map +1 -0
- package/dist/helpers/password.js +15 -0
- package/dist/helpers/password.js.map +1 -0
- package/dist/helpers/production-mode.d.ts +11 -0
- package/dist/helpers/production-mode.d.ts.map +1 -0
- package/dist/helpers/production-mode.js +48 -0
- package/dist/helpers/production-mode.js.map +1 -0
- package/dist/helpers/support-sla.d.ts +48 -0
- package/dist/helpers/support-sla.d.ts.map +1 -0
- package/dist/helpers/support-sla.js +72 -0
- package/dist/helpers/support-sla.js.map +1 -0
- package/dist/helpers/support-sla.test.d.ts +1 -0
- package/dist/helpers/support-sla.test.js +102 -0
- package/dist/helpers/support-sla.test.js.map +1 -0
- package/dist/helpers/vault/client-side.d.ts +16 -0
- package/dist/helpers/vault/client-side.d.ts.map +1 -0
- package/dist/helpers/vault/client-side.js +73 -0
- package/dist/helpers/vault/client-side.js.map +1 -0
- package/dist/helpers/vault/server-side.d.ts +9 -0
- package/dist/helpers/vault/server-side.d.ts.map +1 -0
- package/dist/helpers/vault/server-side.js +126 -0
- package/dist/helpers/vault/server-side.js.map +1 -0
- package/dist/hooks/use-async-callback.d.ts +8 -0
- package/dist/hooks/use-async-callback.d.ts.map +1 -0
- package/dist/hooks/use-async-callback.js +42 -0
- package/dist/hooks/use-async-callback.js.map +1 -0
- package/dist/hooks/use-async-external-store.d.ts +9 -0
- package/dist/hooks/use-async-external-store.d.ts.map +1 -0
- package/dist/hooks/use-async-external-store.js +22 -0
- package/dist/hooks/use-async-external-store.js.map +1 -0
- package/dist/hooks/use-hash.d.ts +5 -0
- package/dist/hooks/use-hash.d.ts.map +1 -0
- package/dist/hooks/use-hash.js +17 -0
- package/dist/hooks/use-hash.js.map +1 -0
- package/dist/hooks/use-hover.d.ts +8 -0
- package/dist/hooks/use-hover.d.ts.map +1 -0
- package/dist/hooks/use-hover.js +61 -0
- package/dist/hooks/use-hover.js.map +1 -0
- package/dist/hooks/use-strict-memo.d.ts +10 -0
- package/dist/hooks/use-strict-memo.d.ts.map +1 -0
- package/dist/hooks/use-strict-memo.js +121 -0
- package/dist/hooks/use-strict-memo.js.map +1 -0
- package/dist/index-D9ysacya.d.ts +153 -0
- package/dist/index-D9ysacya.d.ts.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +37 -0
- package/dist/interface/admin-interface.d.ts +308 -0
- package/dist/interface/admin-interface.d.ts.map +1 -0
- package/dist/interface/admin-interface.js +465 -0
- package/dist/interface/admin-interface.js.map +1 -0
- package/dist/interface/admin-metrics.d.ts +597 -0
- package/dist/interface/admin-metrics.d.ts.map +1 -0
- package/dist/interface/admin-metrics.js +153 -0
- package/dist/interface/admin-metrics.js.map +1 -0
- package/dist/interface/client-interface.d.ts +447 -0
- package/dist/interface/client-interface.d.ts.map +1 -0
- package/dist/interface/client-interface.js +1948 -0
- package/dist/interface/client-interface.js.map +1 -0
- package/dist/interface/client-interface.test.d.ts +1 -0
- package/dist/interface/client-interface.test.js +559 -0
- package/dist/interface/client-interface.test.js.map +1 -0
- package/dist/interface/conversations.d.ts +314 -0
- package/dist/interface/conversations.d.ts.map +1 -0
- package/dist/interface/conversations.js +121 -0
- package/dist/interface/conversations.js.map +1 -0
- package/dist/interface/crud/analytics.d.ts +14 -0
- package/dist/interface/crud/analytics.d.ts.map +1 -0
- package/dist/interface/crud/analytics.js +0 -0
- package/dist/interface/crud/connected-accounts.d.ts +68 -0
- package/dist/interface/crud/connected-accounts.d.ts.map +1 -0
- package/dist/interface/crud/connected-accounts.js +41 -0
- package/dist/interface/crud/connected-accounts.js.map +1 -0
- package/dist/interface/crud/contact-channels.d.ts +181 -0
- package/dist/interface/crud/contact-channels.d.ts.map +1 -0
- package/dist/interface/crud/contact-channels.js +76 -0
- package/dist/interface/crud/contact-channels.js.map +1 -0
- package/dist/interface/crud/current-user.d.ts +285 -0
- package/dist/interface/crud/current-user.d.ts.map +1 -0
- package/dist/interface/crud/current-user.js +71 -0
- package/dist/interface/crud/current-user.js.map +1 -0
- package/dist/interface/crud/email-outbox.d.ts +1465 -0
- package/dist/interface/crud/email-outbox.d.ts.map +1 -0
- package/dist/interface/crud/email-outbox.js +195 -0
- package/dist/interface/crud/email-outbox.js.map +1 -0
- package/dist/interface/crud/email-templates.d.ts +85 -0
- package/dist/interface/crud/email-templates.d.ts.map +1 -0
- package/dist/interface/crud/email-templates.js +53 -0
- package/dist/interface/crud/email-templates.js.map +1 -0
- package/dist/interface/crud/emails.d.ts +41 -0
- package/dist/interface/crud/emails.d.ts.map +1 -0
- package/dist/interface/crud/emails.js +23 -0
- package/dist/interface/crud/emails.js.map +1 -0
- package/dist/interface/crud/internal-api-keys.d.ts +140 -0
- package/dist/interface/crud/internal-api-keys.d.ts.map +1 -0
- package/dist/interface/crud/internal-api-keys.js +56 -0
- package/dist/interface/crud/internal-api-keys.js.map +1 -0
- package/dist/interface/crud/invoices.d.ts +43 -0
- package/dist/interface/crud/invoices.d.ts.map +1 -0
- package/dist/interface/crud/invoices.js +28 -0
- package/dist/interface/crud/invoices.js.map +1 -0
- package/dist/interface/crud/items.d.ts +30 -0
- package/dist/interface/crud/items.d.ts.map +1 -0
- package/dist/interface/crud/items.js +25 -0
- package/dist/interface/crud/items.js.map +1 -0
- package/dist/interface/crud/notification-preferences.d.ts +38 -0
- package/dist/interface/crud/notification-preferences.d.ts.map +1 -0
- package/dist/interface/crud/notification-preferences.js +33 -0
- package/dist/interface/crud/notification-preferences.js.map +1 -0
- package/dist/interface/crud/oauth-providers.d.ts +186 -0
- package/dist/interface/crud/oauth-providers.d.ts.map +1 -0
- package/dist/interface/crud/oauth-providers.js +83 -0
- package/dist/interface/crud/oauth-providers.js.map +1 -0
- package/dist/interface/crud/products.d.ts +182 -0
- package/dist/interface/crud/products.d.ts.map +1 -0
- package/dist/interface/crud/products.js +32 -0
- package/dist/interface/crud/products.js.map +1 -0
- package/dist/interface/crud/project-api-keys.d.ts +203 -0
- package/dist/interface/crud/project-api-keys.d.ts.map +1 -0
- package/dist/interface/crud/project-api-keys.js +79 -0
- package/dist/interface/crud/project-api-keys.js.map +1 -0
- package/dist/interface/crud/project-permissions.d.ts +161 -0
- package/dist/interface/crud/project-permissions.d.ts.map +1 -0
- package/dist/interface/crud/project-permissions.js +116 -0
- package/dist/interface/crud/project-permissions.js.map +1 -0
- package/dist/interface/crud/projects.d.ts +851 -0
- package/dist/interface/crud/projects.d.ts.map +1 -0
- package/dist/interface/crud/projects.js +204 -0
- package/dist/interface/crud/projects.js.map +1 -0
- package/dist/interface/crud/session-replays.d.ts +83 -0
- package/dist/interface/crud/session-replays.d.ts.map +1 -0
- package/dist/interface/crud/session-replays.js +0 -0
- package/dist/interface/crud/sessions.d.ts +150 -0
- package/dist/interface/crud/sessions.d.ts.map +1 -0
- package/dist/interface/crud/sessions.js +62 -0
- package/dist/interface/crud/sessions.js.map +1 -0
- package/dist/interface/crud/sign-up-rules.d.ts +15 -0
- package/dist/interface/crud/sign-up-rules.d.ts.map +1 -0
- package/dist/interface/crud/sign-up-rules.js +0 -0
- package/dist/interface/crud/svix-token.d.ts +31 -0
- package/dist/interface/crud/svix-token.d.ts.map +1 -0
- package/dist/interface/crud/svix-token.js +22 -0
- package/dist/interface/crud/svix-token.js.map +1 -0
- package/dist/interface/crud/team-invitation-details.d.ts +31 -0
- package/dist/interface/crud/team-invitation-details.d.ts.map +1 -0
- package/dist/interface/crud/team-invitation-details.js +24 -0
- package/dist/interface/crud/team-invitation-details.js.map +1 -0
- package/dist/interface/crud/team-invitation.d.ts +54 -0
- package/dist/interface/crud/team-invitation.d.ts.map +1 -0
- package/dist/interface/crud/team-invitation.js +40 -0
- package/dist/interface/crud/team-invitation.js.map +1 -0
- package/dist/interface/crud/team-member-profiles.d.ts +286 -0
- package/dist/interface/crud/team-member-profiles.d.ts.map +1 -0
- package/dist/interface/crud/team-member-profiles.js +63 -0
- package/dist/interface/crud/team-member-profiles.js.map +1 -0
- package/dist/interface/crud/team-memberships.d.ts +75 -0
- package/dist/interface/crud/team-memberships.d.ts.map +1 -0
- package/dist/interface/crud/team-memberships.js +61 -0
- package/dist/interface/crud/team-memberships.js.map +1 -0
- package/dist/interface/crud/team-permissions.d.ts +169 -0
- package/dist/interface/crud/team-permissions.d.ts.map +1 -0
- package/dist/interface/crud/team-permissions.js +117 -0
- package/dist/interface/crud/team-permissions.js.map +1 -0
- package/dist/interface/crud/teams.d.ts +299 -0
- package/dist/interface/crud/teams.d.ts.map +1 -0
- package/dist/interface/crud/teams.js +142 -0
- package/dist/interface/crud/teams.js.map +1 -0
- package/dist/interface/crud/transactions.d.ts +183 -0
- package/dist/interface/crud/transactions.d.ts.map +1 -0
- package/dist/interface/crud/transactions.js +89 -0
- package/dist/interface/crud/transactions.js.map +1 -0
- package/dist/interface/crud/users.d.ts +653 -0
- package/dist/interface/crud/users.d.ts.map +1 -0
- package/dist/interface/crud/users.js +193 -0
- package/dist/interface/crud/users.js.map +1 -0
- package/dist/interface/handler-urls.d.ts +51 -0
- package/dist/interface/handler-urls.d.ts.map +1 -0
- package/dist/interface/handler-urls.js +16 -0
- package/dist/interface/page-component-versions.d.ts +25 -0
- package/dist/interface/page-component-versions.d.ts.map +1 -0
- package/dist/interface/page-component-versions.js +1664 -0
- package/dist/interface/page-component-versions.js.map +1 -0
- package/dist/interface/server-interface.d.ts +255 -0
- package/dist/interface/server-interface.d.ts.map +1 -0
- package/dist/interface/server-interface.js +461 -0
- package/dist/interface/server-interface.js.map +1 -0
- package/dist/interface/webhooks.d.ts +326 -0
- package/dist/interface/webhooks.d.ts.map +1 -0
- package/dist/interface/webhooks.js +24 -0
- package/dist/interface/webhooks.js.map +1 -0
- package/dist/known-errors.d.ts +575 -0
- package/dist/known-errors.d.ts.map +1 -0
- package/dist/known-errors.js +794 -0
- package/dist/known-errors.js.map +1 -0
- package/dist/local-emulator.d.ts +6 -0
- package/dist/local-emulator.d.ts.map +1 -0
- package/dist/local-emulator.js +10 -0
- package/dist/local-emulator.js.map +1 -0
- package/dist/payments/payment-methods.d.ts +64 -0
- package/dist/payments/payment-methods.d.ts.map +1 -0
- package/dist/payments/payment-methods.js +216 -0
- package/dist/payments/payment-methods.js.map +1 -0
- package/dist/payments/stripe-limits.d.ts +17 -0
- package/dist/payments/stripe-limits.d.ts.map +1 -0
- package/dist/payments/stripe-limits.js +20 -0
- package/dist/payments/stripe-limits.js.map +1 -0
- package/dist/plans.d.ts +72 -0
- package/dist/plans.d.ts.map +1 -0
- package/dist/plans.js +88 -0
- package/dist/plans.js.map +1 -0
- package/dist/schema-fields.d.ts +472 -0
- package/dist/schema-fields.d.ts.map +1 -0
- package/dist/schema-fields.js +1188 -0
- package/dist/schema-fields.js.map +1 -0
- package/dist/sessions.d.ts +165 -0
- package/dist/sessions.d.ts.map +1 -0
- package/dist/sessions.js +231 -0
- package/dist/sessions.js.map +1 -0
- package/dist/stack-config-file.d.ts +15 -0
- package/dist/stack-config-file.d.ts.map +1 -0
- package/dist/stack-config-file.js +82 -0
- package/dist/stack-config-file.js.map +1 -0
- package/dist/utils/api-keys.d.ts +26 -0
- package/dist/utils/api-keys.d.ts.map +1 -0
- package/dist/utils/api-keys.js +82 -0
- package/dist/utils/api-keys.js.map +1 -0
- package/dist/utils/arrays.d.ts +25 -0
- package/dist/utils/arrays.d.ts.map +1 -0
- package/dist/utils/arrays.js +569 -0
- package/dist/utils/arrays.js.map +1 -0
- package/dist/utils/auth-methods.d.ts +6 -0
- package/dist/utils/auth-methods.d.ts.map +1 -0
- package/dist/utils/auth-methods.js +13 -0
- package/dist/utils/auth-methods.js.map +1 -0
- package/dist/utils/base64.d.ts +6 -0
- package/dist/utils/base64.d.ts.map +1 -0
- package/dist/utils/base64.js +28 -0
- package/dist/utils/base64.js.map +1 -0
- package/dist/utils/booleans.d.ts +8 -0
- package/dist/utils/booleans.d.ts.map +1 -0
- package/dist/utils/booleans.js +38 -0
- package/dist/utils/booleans.js.map +1 -0
- package/dist/utils/browser-compat.d.ts +10 -0
- package/dist/utils/browser-compat.d.ts.map +1 -0
- package/dist/utils/browser-compat.js +23 -0
- package/dist/utils/browser-compat.js.map +1 -0
- package/dist/utils/bytes.d.ts +17 -0
- package/dist/utils/bytes.d.ts.map +1 -0
- package/dist/utils/bytes.js +304 -0
- package/dist/utils/bytes.js.map +1 -0
- package/dist/utils/caches.d.ts +102 -0
- package/dist/utils/caches.d.ts.map +1 -0
- package/dist/utils/caches.js +188 -0
- package/dist/utils/caches.js.map +1 -0
- package/dist/utils/cel-fields.d.ts +23 -0
- package/dist/utils/cel-fields.d.ts.map +1 -0
- package/dist/utils/cel-fields.js +108 -0
- package/dist/utils/cel-fields.js.map +1 -0
- package/dist/utils/compile-time.d.ts +10 -0
- package/dist/utils/compile-time.d.ts.map +1 -0
- package/dist/utils/compile-time.js +16 -0
- package/dist/utils/compile-time.js.map +1 -0
- package/dist/utils/country-codes.d.ts +11 -0
- package/dist/utils/country-codes.d.ts.map +1 -0
- package/dist/utils/country-codes.js +40 -0
- package/dist/utils/country-codes.js.map +1 -0
- package/dist/utils/crypto.d.ts +48 -0
- package/dist/utils/crypto.d.ts.map +1 -0
- package/dist/utils/crypto.js +215 -0
- package/dist/utils/crypto.js.map +1 -0
- package/dist/utils/currencies.d.ts +8 -0
- package/dist/utils/currencies.d.ts.map +1 -0
- package/dist/utils/currencies.js +52 -0
- package/dist/utils/currencies.js.map +1 -0
- package/dist/utils/currency-constants.d.ts +39 -0
- package/dist/utils/currency-constants.d.ts.map +1 -0
- package/dist/utils/currency-constants.js +44 -0
- package/dist/utils/currency-constants.js.map +1 -0
- package/dist/utils/dates.d.ts +23 -0
- package/dist/utils/dates.d.ts.map +1 -0
- package/dist/utils/dates.js +176 -0
- package/dist/utils/dates.js.map +1 -0
- package/dist/utils/dev-env-state-path.d.ts +6 -0
- package/dist/utils/dev-env-state-path.d.ts.map +1 -0
- package/dist/utils/dev-env-state-path.js +18 -0
- package/dist/utils/dev-env-state-path.js.map +1 -0
- package/dist/utils/dom.d.ts +5 -0
- package/dist/utils/dom.d.ts.map +1 -0
- package/dist/utils/dom.js +13 -0
- package/dist/utils/dom.js.map +1 -0
- package/dist/utils/env.d.ts +25 -0
- package/dist/utils/env.d.ts.map +1 -0
- package/dist/utils/env.js +85 -0
- package/dist/utils/env.js.map +1 -0
- package/dist/utils/errors.d.ts +231 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +393 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/esbuild.d.ts +16 -0
- package/dist/utils/esbuild.d.ts.map +1 -0
- package/dist/utils/esbuild.js +186 -0
- package/dist/utils/esbuild.js.map +1 -0
- package/dist/utils/featurebase.d.ts +30 -0
- package/dist/utils/featurebase.d.ts.map +1 -0
- package/dist/utils/featurebase.js +168 -0
- package/dist/utils/featurebase.js.map +1 -0
- package/dist/utils/fs.d.ts +9 -0
- package/dist/utils/fs.d.ts.map +1 -0
- package/dist/utils/fs.js +31 -0
- package/dist/utils/fs.js.map +1 -0
- package/dist/utils/functions.d.ts +6 -0
- package/dist/utils/functions.d.ts.map +1 -0
- package/dist/utils/functions.js +37 -0
- package/dist/utils/functions.js.map +1 -0
- package/dist/utils/geo.d.ts +24 -0
- package/dist/utils/geo.d.ts.map +1 -0
- package/dist/utils/geo.js +18 -0
- package/dist/utils/geo.js.map +1 -0
- package/dist/utils/globals.d.ts +13 -0
- package/dist/utils/globals.d.ts.map +1 -0
- package/dist/utils/globals.js +40 -0
- package/dist/utils/globals.js.map +1 -0
- package/dist/utils/hashes.d.ts +9 -0
- package/dist/utils/hashes.d.ts.map +1 -0
- package/dist/utils/hashes.js +47 -0
- package/dist/utils/hashes.js.map +1 -0
- package/dist/utils/html.d.ts +7 -0
- package/dist/utils/html.d.ts.map +1 -0
- package/dist/utils/html.js +37 -0
- package/dist/utils/html.js.map +1 -0
- package/dist/utils/http.d.ts +45 -0
- package/dist/utils/http.d.ts.map +1 -0
- package/dist/utils/http.js +79 -0
- package/dist/utils/http.js.map +1 -0
- package/dist/utils/ips.d.ts +8 -0
- package/dist/utils/ips.d.ts.map +1 -0
- package/dist/utils/ips.js +40 -0
- package/dist/utils/ips.js.map +1 -0
- package/dist/utils/json.d.ts +15 -0
- package/dist/utils/json.d.ts.map +1 -0
- package/dist/utils/json.js +182 -0
- package/dist/utils/json.js.map +1 -0
- package/dist/utils/jsx-editable-transpiler.d.ts +68 -0
- package/dist/utils/jsx-editable-transpiler.d.ts.map +1 -0
- package/dist/utils/jsx-editable-transpiler.js +223 -0
- package/dist/utils/jsx-editable-transpiler.js.map +1 -0
- package/dist/utils/jsx-editable-transpiler.test.d.ts +1 -0
- package/dist/utils/jsx-editable-transpiler.test.js +122 -0
- package/dist/utils/jsx-editable-transpiler.test.js.map +1 -0
- package/dist/utils/jwt.d.ts +79 -0
- package/dist/utils/jwt.d.ts.map +1 -0
- package/dist/utils/jwt.js +112 -0
- package/dist/utils/jwt.js.map +1 -0
- package/dist/utils/locks.d.ts +17 -0
- package/dist/utils/locks.d.ts.map +1 -0
- package/dist/utils/locks.js +56 -0
- package/dist/utils/locks.js.map +1 -0
- package/dist/utils/maps.d.ts +61 -0
- package/dist/utils/maps.d.ts.map +1 -0
- package/dist/utils/maps.js +302 -0
- package/dist/utils/maps.js.map +1 -0
- package/dist/utils/math.d.ts +8 -0
- package/dist/utils/math.d.ts.map +1 -0
- package/dist/utils/math.js +23 -0
- package/dist/utils/math.js.map +1 -0
- package/dist/utils/monkey-patch.d.ts +7 -0
- package/dist/utils/monkey-patch.d.ts.map +1 -0
- package/dist/utils/monkey-patch.js +25 -0
- package/dist/utils/monkey-patch.js.map +1 -0
- package/dist/utils/node-http.d.ts +17 -0
- package/dist/utils/node-http.d.ts.map +1 -0
- package/dist/utils/node-http.js +40 -0
- package/dist/utils/node-http.js.map +1 -0
- package/dist/utils/numbers.d.ts +7 -0
- package/dist/utils/numbers.d.ts.map +1 -0
- package/dist/utils/numbers.js +79 -0
- package/dist/utils/numbers.js.map +1 -0
- package/dist/utils/oauth.d.ts +11 -0
- package/dist/utils/oauth.d.ts.map +1 -0
- package/dist/utils/oauth.js +32 -0
- package/dist/utils/oauth.js.map +1 -0
- package/dist/utils/objects.d.ts +59 -0
- package/dist/utils/objects.d.ts.map +1 -0
- package/dist/utils/objects.js +846 -0
- package/dist/utils/objects.js.map +1 -0
- package/dist/utils/paginated-lists.d.ts +442 -0
- package/dist/utils/paginated-lists.d.ts.map +1 -0
- package/dist/utils/paginated-lists.js +414 -0
- package/dist/utils/paginated-lists.js.map +1 -0
- package/dist/utils/paginated-lists.test.d.ts +1 -0
- package/dist/utils/paginated-lists.test.js +1304 -0
- package/dist/utils/paginated-lists.test.js.map +1 -0
- package/dist/utils/passkey.d.ts +2 -0
- package/dist/utils/passkey.js +0 -0
- package/dist/utils/promises.d.ts +80 -0
- package/dist/utils/promises.d.ts.map +1 -0
- package/dist/utils/promises.js +349 -0
- package/dist/utils/promises.js.map +1 -0
- package/dist/utils/proxies.d.ts +13 -0
- package/dist/utils/proxies.d.ts.map +1 -0
- package/dist/utils/proxies.js +201 -0
- package/dist/utils/proxies.js.map +1 -0
- package/dist/utils/react.d.ts +61 -0
- package/dist/utils/react.d.ts.map +1 -0
- package/dist/utils/react.js +243 -0
- package/dist/utils/react.js.map +1 -0
- package/dist/utils/redirect-urls.d.ts +30 -0
- package/dist/utils/redirect-urls.d.ts.map +1 -0
- package/dist/utils/redirect-urls.js +222 -0
- package/dist/utils/redirect-urls.js.map +1 -0
- package/dist/utils/regex.d.ts +5 -0
- package/dist/utils/regex.d.ts.map +1 -0
- package/dist/utils/regex.js +15 -0
- package/dist/utils/regex.js.map +1 -0
- package/dist/utils/results.d.ts +70 -0
- package/dist/utils/results.d.ts.map +1 -0
- package/dist/utils/results.js +342 -0
- package/dist/utils/results.js.map +1 -0
- package/dist/utils/sentry.d.ts +13 -0
- package/dist/utils/sentry.d.ts.map +1 -0
- package/dist/utils/sentry.js +16 -0
- package/dist/utils/sentry.js.map +1 -0
- package/dist/utils/stores.d.ts +104 -0
- package/dist/utils/stores.d.ts.map +1 -0
- package/dist/utils/stores.js +179 -0
- package/dist/utils/stores.js.map +1 -0
- package/dist/utils/strings.d.ts +76 -0
- package/dist/utils/strings.d.ts.map +1 -0
- package/dist/utils/strings.js +549 -0
- package/dist/utils/strings.js.map +1 -0
- package/dist/utils/strings.nicify.test.d.ts +1 -0
- package/dist/utils/strings.nicify.test.js +243 -0
- package/dist/utils/strings.nicify.test.js.map +1 -0
- package/dist/utils/telemetry.d.ts +15 -0
- package/dist/utils/telemetry.d.ts.map +1 -0
- package/dist/utils/telemetry.js +35 -0
- package/dist/utils/telemetry.js.map +1 -0
- package/dist/utils/turnstile-browser.d.ts +32 -0
- package/dist/utils/turnstile-browser.d.ts.map +1 -0
- package/dist/utils/turnstile-browser.js +65 -0
- package/dist/utils/turnstile-browser.js.map +1 -0
- package/dist/utils/turnstile-flow.d.ts +29 -0
- package/dist/utils/turnstile-flow.d.ts.map +1 -0
- package/dist/utils/turnstile-flow.js +225 -0
- package/dist/utils/turnstile-flow.js.map +1 -0
- package/dist/utils/turnstile-flow.test.d.ts +1 -0
- package/dist/utils/turnstile-flow.test.js +75 -0
- package/dist/utils/turnstile-flow.test.js.map +1 -0
- package/dist/utils/turnstile.d.ts +17 -0
- package/dist/utils/turnstile.d.ts.map +1 -0
- package/dist/utils/turnstile.js +31 -0
- package/dist/utils/turnstile.js.map +1 -0
- package/dist/utils/typed-arrays.d.ts +14 -0
- package/dist/utils/typed-arrays.d.ts.map +1 -0
- package/dist/utils/typed-arrays.js +22 -0
- package/dist/utils/typed-arrays.js.map +1 -0
- package/dist/utils/types.d.ts +77 -0
- package/dist/utils/types.d.ts.map +1 -0
- package/dist/utils/types.js +59 -0
- package/dist/utils/types.js.map +1 -0
- package/dist/utils/unicode.d.ts +5 -0
- package/dist/utils/unicode.d.ts.map +1 -0
- package/dist/utils/unicode.js +26 -0
- package/dist/utils/unicode.js.map +1 -0
- package/dist/utils/urls.d.ts +28 -0
- package/dist/utils/urls.d.ts.map +1 -0
- package/dist/utils/urls.js +274 -0
- package/dist/utils/urls.js.map +1 -0
- package/dist/utils/uuids.d.ts +6 -0
- package/dist/utils/uuids.d.ts.map +1 -0
- package/dist/utils/uuids.js +39 -0
- package/dist/utils/uuids.js.map +1 -0
- package/package.json +99 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
//#region src/utils/booleans.tsx
|
|
2
|
+
function isTruthy(value) {
|
|
3
|
+
return !!value;
|
|
4
|
+
}
|
|
5
|
+
(void 0)?.test("isTruthy", ({ expect }) => {
|
|
6
|
+
expect(isTruthy(true)).toBe(true);
|
|
7
|
+
expect(isTruthy(1)).toBe(true);
|
|
8
|
+
expect(isTruthy("hello")).toBe(true);
|
|
9
|
+
expect(isTruthy({})).toBe(true);
|
|
10
|
+
expect(isTruthy([])).toBe(true);
|
|
11
|
+
expect(isTruthy(false)).toBe(false);
|
|
12
|
+
expect(isTruthy(0)).toBe(false);
|
|
13
|
+
expect(isTruthy("")).toBe(false);
|
|
14
|
+
expect(isTruthy(null)).toBe(false);
|
|
15
|
+
expect(isTruthy(void 0)).toBe(false);
|
|
16
|
+
});
|
|
17
|
+
function isFalsy(value) {
|
|
18
|
+
return !value;
|
|
19
|
+
}
|
|
20
|
+
(void 0)?.test("isFalsy", ({ expect }) => {
|
|
21
|
+
expect(isFalsy(false)).toBe(true);
|
|
22
|
+
expect(isFalsy(0)).toBe(true);
|
|
23
|
+
expect(isFalsy("")).toBe(true);
|
|
24
|
+
expect(isFalsy(null)).toBe(true);
|
|
25
|
+
expect(isFalsy(void 0)).toBe(true);
|
|
26
|
+
expect(isFalsy(true)).toBe(false);
|
|
27
|
+
expect(isFalsy(1)).toBe(false);
|
|
28
|
+
expect(isFalsy("hello")).toBe(false);
|
|
29
|
+
expect(isFalsy({})).toBe(false);
|
|
30
|
+
expect(isFalsy([])).toBe(false);
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
//#endregion
|
|
34
|
+
export { isFalsy, isTruthy };
|
|
35
|
+
//# sourceMappingURL=booleans.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"booleans.js","names":[],"sources":["../../../src/utils/booleans.tsx"],"sourcesContent":["export type Truthy<T> = T extends null | undefined | 0 | \"\" | false ? false : true;\nexport type Falsy<T> = T extends null | undefined | 0 | \"\" | false ? true : false;\n\nexport function isTruthy<T>(value: T): value is T & Truthy<T> {\n return !!value;\n}\nimport.meta.vitest?.test(\"isTruthy\", ({ expect }) => {\n expect(isTruthy(true)).toBe(true);\n expect(isTruthy(1)).toBe(true);\n expect(isTruthy(\"hello\")).toBe(true);\n expect(isTruthy({})).toBe(true);\n expect(isTruthy([])).toBe(true);\n expect(isTruthy(false)).toBe(false);\n expect(isTruthy(0)).toBe(false);\n expect(isTruthy(\"\")).toBe(false);\n expect(isTruthy(null)).toBe(false);\n expect(isTruthy(undefined)).toBe(false);\n});\n\nexport function isFalsy<T>(value: T): value is T & Falsy<T> {\n return !value;\n}\nimport.meta.vitest?.test(\"isFalsy\", ({ expect }) => {\n expect(isFalsy(false)).toBe(true);\n expect(isFalsy(0)).toBe(true);\n expect(isFalsy(\"\")).toBe(true);\n expect(isFalsy(null)).toBe(true);\n expect(isFalsy(undefined)).toBe(true);\n expect(isFalsy(true)).toBe(false);\n expect(isFalsy(1)).toBe(false);\n expect(isFalsy(\"hello\")).toBe(false);\n expect(isFalsy({})).toBe(false);\n expect(isFalsy([])).toBe(false);\n});\n"],"mappings":";AAGA,SAAgB,SAAY,OAAkC;AAC5D,QAAO,CAAC,CAAC;;CAEX,SAAW,KAAC,aAAc,EAAA,aAAc;AACtC,QAAO,SAAS,KAAK,CAAC,CAAC,KAAK,KAAK;AACjC,QAAO,SAAS,EAAE,CAAC,CAAC,KAAK,KAAK;AAC9B,QAAO,SAAS,QAAQ,CAAC,CAAC,KAAK,KAAK;AACpC,QAAO,SAAS,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK;AAC/B,QAAO,SAAS,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK;AAC/B,QAAO,SAAS,MAAM,CAAC,CAAC,KAAK,MAAM;AACnC,QAAO,SAAS,EAAE,CAAC,CAAC,KAAK,MAAM;AAC/B,QAAO,SAAS,GAAG,CAAC,CAAC,KAAK,MAAM;AAChC,QAAO,SAAS,KAAK,CAAC,CAAC,KAAK,MAAM;AAClC,QAAO,SAAS,OAAU,CAAC,CAAC,KAAK,MAAM;EACvC;AAEF,SAAgB,QAAW,OAAiC;AAC1D,QAAO,CAAC;;CAEV,SAAW,KAAC,YAAc,EAAA,aAAa;AACrC,QAAO,QAAQ,MAAM,CAAC,CAAC,KAAK,KAAK;AACjC,QAAO,QAAQ,EAAE,CAAC,CAAC,KAAK,KAAK;AAC7B,QAAO,QAAQ,GAAG,CAAC,CAAC,KAAK,KAAK;AAC9B,QAAO,QAAQ,KAAK,CAAC,CAAC,KAAK,KAAK;AAChC,QAAO,QAAQ,OAAU,CAAC,CAAC,KAAK,KAAK;AACrC,QAAO,QAAQ,KAAK,CAAC,CAAC,KAAK,MAAM;AACjC,QAAO,QAAQ,EAAE,CAAC,CAAC,KAAK,MAAM;AAC9B,QAAO,QAAQ,QAAQ,CAAC,CAAC,KAAK,MAAM;AACpC,QAAO,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,MAAM;AAC/B,QAAO,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,MAAM;EAC/B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
//#region src/utils/browser-compat.d.ts
|
|
2
|
+
declare function getBrowserCompatibilityReport(): {
|
|
3
|
+
optionalChaining: string | boolean;
|
|
4
|
+
nullishCoalescing: string | boolean;
|
|
5
|
+
weakRef: string | boolean;
|
|
6
|
+
cryptoUuid: string | boolean;
|
|
7
|
+
};
|
|
8
|
+
//#endregion
|
|
9
|
+
export { getBrowserCompatibilityReport };
|
|
10
|
+
//# sourceMappingURL=browser-compat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-compat.d.ts","names":[],"sources":["../../../src/utils/browser-compat.tsx"],"mappings":";iBAAgB,6BAAA,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
//#region src/utils/browser-compat.tsx
|
|
2
|
+
function getBrowserCompatibilityReport() {
|
|
3
|
+
const test = (snippet) => {
|
|
4
|
+
try {
|
|
5
|
+
(0, eval)(snippet);
|
|
6
|
+
return true;
|
|
7
|
+
} catch (e) {
|
|
8
|
+
return `FAILED: ${e}`;
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
return {
|
|
12
|
+
optionalChaining: test("({})?.b?.c"),
|
|
13
|
+
nullishCoalescing: test("0 ?? 1"),
|
|
14
|
+
weakRef: test("new WeakRef({})"),
|
|
15
|
+
cryptoUuid: test("crypto.randomUUID()")
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
//#endregion
|
|
20
|
+
export { getBrowserCompatibilityReport };
|
|
21
|
+
//# sourceMappingURL=browser-compat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-compat.js","names":[],"sources":["../../../src/utils/browser-compat.tsx"],"sourcesContent":["export function getBrowserCompatibilityReport() {\n const test = (snippet: string) => {\n try {\n (0, eval)(snippet);\n return true;\n } catch (e) {\n return `FAILED: ${e}`;\n }\n };\n\n return {\n optionalChaining: test(\"({})?.b?.c\"),\n nullishCoalescing: test(\"0 ?? 1\"),\n weakRef: test(\"new WeakRef({})\"),\n cryptoUuid: test(\"crypto.randomUUID()\"),\n };\n}\n"],"mappings":";AAAA,SAAgB,gCAAgC;CAC9C,MAAM,QAAQ,YAAoB;AAChC,MAAI;AACF,IAAC,GAAG,MAAM,QAAQ;AAClB,UAAO;WACA,GAAG;AACV,UAAO,WAAW;;;AAItB,QAAO;EACL,kBAAkB,KAAK,aAAa;EACpC,mBAAmB,KAAK,SAAS;EACjC,SAAS,KAAK,kBAAkB;EAChC,YAAY,KAAK,sBAAsB;EACxC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
//#region src/utils/bytes.d.ts
|
|
2
|
+
declare function toHexString(input: Uint8Array): string;
|
|
3
|
+
declare function getBase32CharacterFromIndex(index: number): string;
|
|
4
|
+
declare function getBase32IndexFromCharacter(character: string): number;
|
|
5
|
+
declare function encodeBase32(input: Uint8Array): string;
|
|
6
|
+
declare function decodeBase32(input: string): Uint8Array<ArrayBuffer>;
|
|
7
|
+
declare function encodeBase64(input: Uint8Array): string;
|
|
8
|
+
declare function decodeBase64(input: string): Uint8Array<ArrayBuffer>;
|
|
9
|
+
declare function encodeBase64Url(input: Uint8Array): string;
|
|
10
|
+
declare function decodeBase64Url(input: string): Uint8Array<ArrayBuffer>;
|
|
11
|
+
declare function decodeBase64OrBase64Url(input: string): Uint8Array<ArrayBuffer>;
|
|
12
|
+
declare function isBase32(input: string): boolean;
|
|
13
|
+
declare function isBase64(input: string): boolean;
|
|
14
|
+
declare function isBase64Url(input: string): boolean;
|
|
15
|
+
//#endregion
|
|
16
|
+
export { decodeBase32, decodeBase64, decodeBase64OrBase64Url, decodeBase64Url, encodeBase32, encodeBase64, encodeBase64Url, getBase32CharacterFromIndex, getBase32IndexFromCharacter, isBase32, isBase64, isBase64Url, toHexString };
|
|
17
|
+
//# sourceMappingURL=bytes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bytes.d.ts","names":[],"sources":["../../../src/utils/bytes.tsx"],"mappings":";iBASgB,WAAA,CAAY,KAAA,EAAO,UAAA;AAAA,iBAYnB,2BAAA,CAA4B,KAAA;AAAA,iBAY5B,2BAAA,CAA4B,SAAA;AAAA,iBAgB5B,YAAA,CAAa,KAAA,EAAO,UAAA;AAAA,iBA+BpB,YAAA,CAAa,KAAA,WAAgB,UAAA,CAAW,WAAA;AAAA,iBAiCxC,YAAA,CAAa,KAAA,EAAO,UAAA;AAAA,iBAIpB,YAAA,CAAa,KAAA,WAAgB,UAAA,CAAW,WAAA;AAAA,iBAsDxC,eAAA,CAAgB,KAAA,EAAO,UAAA;AAAA,iBAQvB,eAAA,CAAgB,KAAA,WAAgB,UAAA,CAAW,WAAA;AAAA,iBA+B3C,uBAAA,CAAwB,KAAA,WAAgB,UAAA,CAAW,WAAA;AAAA,iBAwBnD,QAAA,CAAS,KAAA;AAAA,iBAmBT,QAAA,CAAS,KAAA;AAAA,iBAaT,WAAA,CAAY,KAAA"}
|
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
import { HexclaveAssertionError } from "./errors.js";
|
|
2
|
+
|
|
3
|
+
//#region src/utils/bytes.tsx
|
|
4
|
+
const crockfordAlphabet = "0123456789ABCDEFGHJKMNPQRSTVWXYZ";
|
|
5
|
+
const crockfordReplacements = new Map([
|
|
6
|
+
["o", "0"],
|
|
7
|
+
["i", "1"],
|
|
8
|
+
["l", "1"]
|
|
9
|
+
]);
|
|
10
|
+
function toHexString(input) {
|
|
11
|
+
return Array.from(input).map((b) => b.toString(16).padStart(2, "0")).join("");
|
|
12
|
+
}
|
|
13
|
+
(void 0)?.test("toHexString", ({ expect }) => {
|
|
14
|
+
expect(toHexString(new Uint8Array([]))).toBe("");
|
|
15
|
+
expect(toHexString(new Uint8Array([0]))).toBe("00");
|
|
16
|
+
expect(toHexString(new Uint8Array([15]))).toBe("0f");
|
|
17
|
+
expect(toHexString(new Uint8Array([16]))).toBe("10");
|
|
18
|
+
expect(toHexString(new Uint8Array([255]))).toBe("ff");
|
|
19
|
+
expect(toHexString(new Uint8Array([
|
|
20
|
+
1,
|
|
21
|
+
2,
|
|
22
|
+
3
|
|
23
|
+
]))).toBe("010203");
|
|
24
|
+
});
|
|
25
|
+
function getBase32CharacterFromIndex(index) {
|
|
26
|
+
if (index < 0 || index >= 32) throw new HexclaveAssertionError(`Invalid base32 index: ${index}`);
|
|
27
|
+
return crockfordAlphabet[index];
|
|
28
|
+
}
|
|
29
|
+
(void 0)?.test("getBase32CharacterFromIndex", ({ expect }) => {
|
|
30
|
+
expect(getBase32CharacterFromIndex(0)).toBe("0");
|
|
31
|
+
expect(getBase32CharacterFromIndex(15)).toBe("F");
|
|
32
|
+
expect(() => getBase32CharacterFromIndex(32)).toThrow();
|
|
33
|
+
});
|
|
34
|
+
function getBase32IndexFromCharacter(character) {
|
|
35
|
+
if (character.length !== 1) throw new HexclaveAssertionError(`Invalid base32 character: ${character}`);
|
|
36
|
+
const index = crockfordAlphabet.indexOf(character.toUpperCase());
|
|
37
|
+
if (index === -1) throw new HexclaveAssertionError(`Invalid base32 character: ${character}`);
|
|
38
|
+
return index;
|
|
39
|
+
}
|
|
40
|
+
(void 0)?.test("getBase32IndexFromCharacter", ({ expect }) => {
|
|
41
|
+
expect(getBase32IndexFromCharacter("0")).toBe(0);
|
|
42
|
+
expect(getBase32IndexFromCharacter("F")).toBe(15);
|
|
43
|
+
expect(() => getBase32IndexFromCharacter("_")).toThrow();
|
|
44
|
+
});
|
|
45
|
+
function encodeBase32(input) {
|
|
46
|
+
let bits = 0;
|
|
47
|
+
let value = 0;
|
|
48
|
+
let output = "";
|
|
49
|
+
for (let i = 0; i < input.length; i++) {
|
|
50
|
+
value = value << 8 | input[i];
|
|
51
|
+
bits += 8;
|
|
52
|
+
while (bits >= 5) {
|
|
53
|
+
output += getBase32CharacterFromIndex(value >>> bits - 5 & 31);
|
|
54
|
+
bits -= 5;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
if (bits > 0) output += getBase32CharacterFromIndex(value << 5 - bits & 31);
|
|
58
|
+
if (!isBase32(output)) throw new HexclaveAssertionError("Invalid base32 output; this should never happen");
|
|
59
|
+
return output;
|
|
60
|
+
}
|
|
61
|
+
(void 0)?.test("encodeBase32", ({ expect }) => {
|
|
62
|
+
expect(encodeBase32(new Uint8Array([]))).toBe("");
|
|
63
|
+
expect(encodeBase32(new Uint8Array([1]))).toBe("04");
|
|
64
|
+
expect(encodeBase32(new Uint8Array([15]))).toBe("1W");
|
|
65
|
+
expect(encodeBase32(new Uint8Array([16]))).toBe("20");
|
|
66
|
+
expect(encodeBase32(new Uint8Array([255]))).toBe("ZW");
|
|
67
|
+
expect(encodeBase32(new Uint8Array([255, 255]))).toBe("ZZZG");
|
|
68
|
+
});
|
|
69
|
+
function decodeBase32(input) {
|
|
70
|
+
if (!isBase32(input)) throw new HexclaveAssertionError("Invalid base32 string");
|
|
71
|
+
const output = new Uint8Array(input.length * 5 / 8 | 0);
|
|
72
|
+
let bits = 0;
|
|
73
|
+
let value = 0;
|
|
74
|
+
let outputIndex = 0;
|
|
75
|
+
for (let i = 0; i < input.length; i++) {
|
|
76
|
+
let char = input[i].toLowerCase();
|
|
77
|
+
if (char === " ") continue;
|
|
78
|
+
if (crockfordReplacements.has(char)) char = crockfordReplacements.get(char);
|
|
79
|
+
const index = getBase32IndexFromCharacter(char);
|
|
80
|
+
value = value << 5 | index;
|
|
81
|
+
bits += 5;
|
|
82
|
+
if (bits >= 8) {
|
|
83
|
+
output[outputIndex++] = value >>> bits - 8 & 255;
|
|
84
|
+
bits -= 8;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return output;
|
|
88
|
+
}
|
|
89
|
+
(void 0)?.test("decodeBase32", ({ expect }) => {
|
|
90
|
+
expect(decodeBase32("")).toEqual(new Uint8Array([]));
|
|
91
|
+
expect(decodeBase32("00")).toEqual(new Uint8Array([0]));
|
|
92
|
+
expect(decodeBase32("1W")).toEqual(new Uint8Array([15]));
|
|
93
|
+
expect(decodeBase32("20")).toEqual(new Uint8Array([16]));
|
|
94
|
+
expect(decodeBase32("ZW")).toEqual(new Uint8Array([255]));
|
|
95
|
+
});
|
|
96
|
+
function encodeBase64(input) {
|
|
97
|
+
return btoa([...input].map((b) => String.fromCharCode(b)).join(""));
|
|
98
|
+
}
|
|
99
|
+
function decodeBase64(input) {
|
|
100
|
+
return new Uint8Array(atob(input).split("").map((char) => char.charCodeAt(0)));
|
|
101
|
+
}
|
|
102
|
+
(void 0)?.test("encodeBase64/decodeBase64", ({ expect }) => {
|
|
103
|
+
const testCases = [
|
|
104
|
+
{
|
|
105
|
+
input: new Uint8Array([
|
|
106
|
+
72,
|
|
107
|
+
101,
|
|
108
|
+
108,
|
|
109
|
+
108,
|
|
110
|
+
111
|
|
111
|
+
]),
|
|
112
|
+
expected: "SGVsbG8="
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
input: new Uint8Array([
|
|
116
|
+
0,
|
|
117
|
+
1,
|
|
118
|
+
2,
|
|
119
|
+
3,
|
|
120
|
+
4
|
|
121
|
+
]),
|
|
122
|
+
expected: "AAECAwQ="
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
input: new Uint8Array([
|
|
126
|
+
255,
|
|
127
|
+
254,
|
|
128
|
+
253,
|
|
129
|
+
252
|
|
130
|
+
]),
|
|
131
|
+
expected: "//79/A=="
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
input: new Uint8Array([]),
|
|
135
|
+
expected: ""
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
input: (() => {
|
|
139
|
+
const input = new Uint8Array(3 * 2 ** 24);
|
|
140
|
+
for (let i = 0; i < input.length / 3; i++) {
|
|
141
|
+
input[3 * i] = Math.floor(i / 256 / 256);
|
|
142
|
+
input[3 * i + 1] = Math.floor(i / 256) % 256;
|
|
143
|
+
input[3 * i + 2] = i % 256;
|
|
144
|
+
}
|
|
145
|
+
return input;
|
|
146
|
+
})(),
|
|
147
|
+
expected: (() => {
|
|
148
|
+
const base64Alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
|
149
|
+
const output = [];
|
|
150
|
+
for (let i = 0; i < 2 ** 24; i++) output.push(base64Alphabet[Math.floor(i / 64 / 64 / 64)] + base64Alphabet[Math.floor(i / 64 / 64) % 64] + base64Alphabet[Math.floor(i / 64) % 64] + base64Alphabet[i % 64]);
|
|
151
|
+
return output.join("");
|
|
152
|
+
})()
|
|
153
|
+
}
|
|
154
|
+
];
|
|
155
|
+
for (const [i, { input, expected }] of testCases.entries()) {
|
|
156
|
+
const encoded = encodeBase64(input);
|
|
157
|
+
if (encoded !== expected) throw new HexclaveAssertionError(`encodeBase64 test case ${i} failed`);
|
|
158
|
+
if (decodeBase64(encoded).some((b, i) => b !== input[i])) throw new HexclaveAssertionError(`decodeBase64 test case ${i} failed`);
|
|
159
|
+
}
|
|
160
|
+
expect(() => decodeBase64("invalid!")).toThrow();
|
|
161
|
+
}, { timeout: 3e4 });
|
|
162
|
+
function encodeBase64Url(input) {
|
|
163
|
+
return encodeBase64(input).replace(/=+$/, "").replace(/\+/g, "-").replace(/\//g, "_");
|
|
164
|
+
}
|
|
165
|
+
function decodeBase64Url(input) {
|
|
166
|
+
if (!isBase64Url(input)) throw new HexclaveAssertionError("Invalid base64url string");
|
|
167
|
+
if (input === "") return new Uint8Array(0);
|
|
168
|
+
return decodeBase64(input.replace(/-/g, "+").replace(/_/g, "/") + "====".slice((input.length - 1) % 4 + 1));
|
|
169
|
+
}
|
|
170
|
+
(void 0)?.test("encodeBase64Url/decodeBase64Url", ({ expect }) => {
|
|
171
|
+
const testCases = [
|
|
172
|
+
{
|
|
173
|
+
input: new Uint8Array([
|
|
174
|
+
72,
|
|
175
|
+
101,
|
|
176
|
+
108,
|
|
177
|
+
108,
|
|
178
|
+
111
|
|
179
|
+
]),
|
|
180
|
+
expected: "SGVsbG8"
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
input: new Uint8Array([
|
|
184
|
+
0,
|
|
185
|
+
1,
|
|
186
|
+
2,
|
|
187
|
+
3,
|
|
188
|
+
4
|
|
189
|
+
]),
|
|
190
|
+
expected: "AAECAwQ"
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
input: new Uint8Array([
|
|
194
|
+
255,
|
|
195
|
+
254,
|
|
196
|
+
253,
|
|
197
|
+
252
|
|
198
|
+
]),
|
|
199
|
+
expected: "__79_A"
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
input: new Uint8Array([]),
|
|
203
|
+
expected: ""
|
|
204
|
+
}
|
|
205
|
+
];
|
|
206
|
+
for (const { input, expected } of testCases) {
|
|
207
|
+
const encoded = encodeBase64Url(input);
|
|
208
|
+
expect(encoded).toBe(expected);
|
|
209
|
+
expect(decodeBase64Url(encoded)).toEqual(input);
|
|
210
|
+
}
|
|
211
|
+
expect(() => decodeBase64Url("invalid!")).toThrow();
|
|
212
|
+
});
|
|
213
|
+
function decodeBase64OrBase64Url(input) {
|
|
214
|
+
if (isBase64Url(input)) return decodeBase64Url(input);
|
|
215
|
+
else if (isBase64(input)) return decodeBase64(input);
|
|
216
|
+
else throw new HexclaveAssertionError("Invalid base64 or base64url string");
|
|
217
|
+
}
|
|
218
|
+
(void 0)?.test("decodeBase64OrBase64Url", ({ expect }) => {
|
|
219
|
+
const base64Input = "SGVsbG8gV29ybGQ=";
|
|
220
|
+
const base64Expected = new Uint8Array([
|
|
221
|
+
72,
|
|
222
|
+
101,
|
|
223
|
+
108,
|
|
224
|
+
108,
|
|
225
|
+
111,
|
|
226
|
+
32,
|
|
227
|
+
87,
|
|
228
|
+
111,
|
|
229
|
+
114,
|
|
230
|
+
108,
|
|
231
|
+
100
|
|
232
|
+
]);
|
|
233
|
+
expect(decodeBase64OrBase64Url(base64Input)).toEqual(base64Expected);
|
|
234
|
+
const base64UrlInput = "SGVsbG8gV29ybGQ";
|
|
235
|
+
const base64UrlExpected = new Uint8Array([
|
|
236
|
+
72,
|
|
237
|
+
101,
|
|
238
|
+
108,
|
|
239
|
+
108,
|
|
240
|
+
111,
|
|
241
|
+
32,
|
|
242
|
+
87,
|
|
243
|
+
111,
|
|
244
|
+
114,
|
|
245
|
+
108,
|
|
246
|
+
100
|
|
247
|
+
]);
|
|
248
|
+
expect(decodeBase64OrBase64Url(base64UrlInput)).toEqual(base64UrlExpected);
|
|
249
|
+
expect(() => decodeBase64OrBase64Url("invalid!")).toThrow();
|
|
250
|
+
});
|
|
251
|
+
function isBase32(input) {
|
|
252
|
+
for (const char of input) {
|
|
253
|
+
if (char === " ") continue;
|
|
254
|
+
const upperChar = char.toUpperCase();
|
|
255
|
+
if (!crockfordAlphabet.includes(upperChar)) return false;
|
|
256
|
+
}
|
|
257
|
+
return true;
|
|
258
|
+
}
|
|
259
|
+
(void 0)?.test("isBase32", ({ expect }) => {
|
|
260
|
+
expect(isBase32("0123456789ABCDEFGHJKMNPQRSTVWXYZ")).toBe(true);
|
|
261
|
+
expect(isBase32("0OIJ")).toBe(false);
|
|
262
|
+
expect(isBase32("ABC DEF")).toBe(true);
|
|
263
|
+
expect(isBase32("ABC!")).toBe(false);
|
|
264
|
+
expect(isBase32("")).toBe(true);
|
|
265
|
+
});
|
|
266
|
+
function isBase64(input) {
|
|
267
|
+
return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(input);
|
|
268
|
+
}
|
|
269
|
+
(void 0)?.test("isBase64", ({ expect }) => {
|
|
270
|
+
expect(isBase64("SGVsbG8gV29ybGQ=")).toBe(true);
|
|
271
|
+
expect(isBase64("SGVsbG8gV29ybGQ")).toBe(false);
|
|
272
|
+
expect(isBase64("SGVsbG8gV29ybGQ==")).toBe(false);
|
|
273
|
+
expect(isBase64("SGVsbG8!V29ybGQ=")).toBe(false);
|
|
274
|
+
expect(isBase64("")).toBe(true);
|
|
275
|
+
});
|
|
276
|
+
function isBase64Url(input) {
|
|
277
|
+
if (input === "") return true;
|
|
278
|
+
return /^[0-9a-zA-Z_-]+$/.test(input);
|
|
279
|
+
}
|
|
280
|
+
(void 0)?.test("isBase64Url", ({ expect }) => {
|
|
281
|
+
expect(isBase64Url("SGVsbG8gV2 9ybGQ")).toBe(false);
|
|
282
|
+
expect(isBase64Url("SGVsbG8_V29ybGQ")).toBe(true);
|
|
283
|
+
expect(isBase64Url("SGVsbG8-V29ybGQ")).toBe(true);
|
|
284
|
+
expect(isBase64Url("SGVsbG8_V29ybGQ=")).toBe(false);
|
|
285
|
+
expect(isBase64Url("")).toBe(true);
|
|
286
|
+
});
|
|
287
|
+
|
|
288
|
+
//#endregion
|
|
289
|
+
export { decodeBase32, decodeBase64, decodeBase64OrBase64Url, decodeBase64Url, encodeBase32, encodeBase64, encodeBase64Url, getBase32CharacterFromIndex, getBase32IndexFromCharacter, isBase32, isBase64, isBase64Url, toHexString };
|
|
290
|
+
//# sourceMappingURL=bytes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bytes.js","names":[],"sources":["../../../src/utils/bytes.tsx"],"sourcesContent":["import { HexclaveAssertionError } from \"./errors\";\n\nconst crockfordAlphabet = \"0123456789ABCDEFGHJKMNPQRSTVWXYZ\";\nconst crockfordReplacements = new Map([\n [\"o\", \"0\"],\n [\"i\", \"1\"],\n [\"l\", \"1\"],\n]);\n\nexport function toHexString(input: Uint8Array): string {\n return Array.from(input).map(b => b.toString(16).padStart(2, \"0\")).join(\"\");\n}\nimport.meta.vitest?.test(\"toHexString\", ({ expect }) => {\n expect(toHexString(new Uint8Array([]))).toBe(\"\");\n expect(toHexString(new Uint8Array([0]))).toBe(\"00\");\n expect(toHexString(new Uint8Array([15]))).toBe(\"0f\");\n expect(toHexString(new Uint8Array([16]))).toBe(\"10\");\n expect(toHexString(new Uint8Array([255]))).toBe(\"ff\");\n expect(toHexString(new Uint8Array([1, 2, 3]))).toBe(\"010203\");\n});\n\nexport function getBase32CharacterFromIndex(index: number): string {\n if (index < 0 || index >= crockfordAlphabet.length) {\n throw new HexclaveAssertionError(`Invalid base32 index: ${index}`);\n }\n return crockfordAlphabet[index];\n}\nimport.meta.vitest?.test(\"getBase32CharacterFromIndex\", ({ expect }) => {\n expect(getBase32CharacterFromIndex(0)).toBe(\"0\");\n expect(getBase32CharacterFromIndex(15)).toBe(\"F\");\n expect(() => getBase32CharacterFromIndex(32)).toThrow();\n});\n\nexport function getBase32IndexFromCharacter(character: string): number {\n if (character.length !== 1) {\n throw new HexclaveAssertionError(`Invalid base32 character: ${character}`);\n }\n const index = crockfordAlphabet.indexOf(character.toUpperCase());\n if (index === -1) {\n throw new HexclaveAssertionError(`Invalid base32 character: ${character}`);\n }\n return index;\n}\nimport.meta.vitest?.test(\"getBase32IndexFromCharacter\", ({ expect }) => {\n expect(getBase32IndexFromCharacter(\"0\")).toBe(0);\n expect(getBase32IndexFromCharacter(\"F\")).toBe(15);\n expect(() => getBase32IndexFromCharacter(\"_\")).toThrow();\n});\n\nexport function encodeBase32(input: Uint8Array): string {\n let bits = 0;\n let value = 0;\n let output = \"\";\n for (let i = 0; i < input.length; i++) {\n value = (value << 8) | input[i];\n bits += 8;\n while (bits >= 5) {\n output += getBase32CharacterFromIndex((value >>> (bits - 5)) & 31);\n bits -= 5;\n }\n }\n if (bits > 0) {\n output += getBase32CharacterFromIndex((value << (5 - bits)) & 31);\n }\n\n // sanity check\n if (!isBase32(output)) {\n throw new HexclaveAssertionError(\"Invalid base32 output; this should never happen\");\n }\n\n return output;\n}\nimport.meta.vitest?.test(\"encodeBase32\", ({ expect }) => {\n expect(encodeBase32(new Uint8Array([]))).toBe(\"\");\n expect(encodeBase32(new Uint8Array([1]))).toBe(\"04\");\n expect(encodeBase32(new Uint8Array([15]))).toBe(\"1W\");\n expect(encodeBase32(new Uint8Array([16]))).toBe(\"20\");\n expect(encodeBase32(new Uint8Array([255]))).toBe(\"ZW\");\n expect(encodeBase32(new Uint8Array([255,255]))).toBe(\"ZZZG\");\n});\nexport function decodeBase32(input: string): Uint8Array<ArrayBuffer> {\n if (!isBase32(input)) {\n throw new HexclaveAssertionError(\"Invalid base32 string\");\n }\n\n const output = new Uint8Array((input.length * 5 / 8) | 0);\n let bits = 0;\n let value = 0;\n let outputIndex = 0;\n for (let i = 0; i < input.length; i++) {\n let char = input[i].toLowerCase();\n if (char === \" \") continue;\n if (crockfordReplacements.has(char)) {\n char = crockfordReplacements.get(char)!;\n }\n const index = getBase32IndexFromCharacter(char);\n value = (value << 5) | index;\n bits += 5;\n if (bits >= 8) {\n output[outputIndex++] = (value >>> (bits - 8)) & 255;\n bits -= 8;\n }\n }\n return output;\n}\nimport.meta.vitest?.test(\"decodeBase32\", ({ expect }) => {\n expect(decodeBase32(\"\")).toEqual(new Uint8Array([]));\n expect(decodeBase32(\"00\")).toEqual(new Uint8Array([0]));\n expect(decodeBase32(\"1W\")).toEqual(new Uint8Array([15]));\n expect(decodeBase32(\"20\")).toEqual(new Uint8Array([16]));\n expect(decodeBase32(\"ZW\")).toEqual(new Uint8Array([255]));\n});\n\nexport function encodeBase64(input: Uint8Array): string {\n return btoa([...input].map((b) => String.fromCharCode(b)).join(\"\"));\n}\n\nexport function decodeBase64(input: string): Uint8Array<ArrayBuffer> {\n return new Uint8Array(atob(input).split(\"\").map((char) => char.charCodeAt(0)));\n}\nimport.meta.vitest?.test(\"encodeBase64/decodeBase64\", ({ expect }) => {\n const testCases = [\n { input: new Uint8Array([72, 101, 108, 108, 111]), expected: \"SGVsbG8=\" },\n { input: new Uint8Array([0, 1, 2, 3, 4]), expected: \"AAECAwQ=\" },\n { input: new Uint8Array([255, 254, 253, 252]), expected: \"//79/A==\" },\n { input: new Uint8Array([]), expected: \"\" },\n {\n input: (() => {\n // make sure huge inputs are supported; 48MB array of every possible triple-byte combination\n const input = new Uint8Array(3 * (2 ** 24));\n for (let i = 0; i < input.length / 3; i++) {\n input[3 * i] = Math.floor(i / 256 / 256);\n input[3 * i + 1] = Math.floor(i / 256) % 256;\n input[3 * i + 2] = i % 256;\n }\n return input;\n })(),\n expected: (() => {\n const base64Alphabet = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n const output = [];\n for (let i = 0; i < 2 ** 24; i++) {\n output.push(\n base64Alphabet[Math.floor(i / 64 / 64 / 64)]\n + base64Alphabet[Math.floor(i / 64 / 64) % 64]\n + base64Alphabet[Math.floor(i / 64) % 64]\n + base64Alphabet[i % 64]\n );\n }\n return output.join(\"\");\n })(),\n },\n ];\n\n for (const [i, { input, expected }] of testCases.entries()) {\n // expect(...) is pretty slow with long inputs, so we throw our own assertions\n const encoded = encodeBase64(input);\n if (encoded !== expected) {\n throw new HexclaveAssertionError(`encodeBase64 test case ${i} failed`);\n }\n const decoded = decodeBase64(encoded);\n if (decoded.some((b, i) => b !== input[i])) {\n throw new HexclaveAssertionError(`decodeBase64 test case ${i} failed`);\n }\n }\n\n // Test invalid input for decodeBase64\n expect(() => decodeBase64(\"invalid!\")).toThrow();\n}, {\n timeout: 30000,\n});\n\nexport function encodeBase64Url(input: Uint8Array): string {\n const res = encodeBase64(input).replace(/=+$/, \"\").replace(/\\+/g, \"-\").replace(/\\//g, \"_\");\n\n // Skip sanity check for test cases\n // This avoids circular dependency with isBase64Url function\n return res;\n}\n\nexport function decodeBase64Url(input: string): Uint8Array<ArrayBuffer> {\n if (!isBase64Url(input)) {\n throw new HexclaveAssertionError(\"Invalid base64url string\");\n }\n\n // Handle empty string case\n if (input === \"\") {\n return new Uint8Array(0);\n }\n\n return decodeBase64(input.replace(/-/g, \"+\").replace(/_/g, \"/\") + \"====\".slice((input.length - 1) % 4 + 1));\n}\nimport.meta.vitest?.test(\"encodeBase64Url/decodeBase64Url\", ({ expect }) => {\n const testCases = [\n { input: new Uint8Array([72, 101, 108, 108, 111]), expected: \"SGVsbG8\" },\n { input: new Uint8Array([0, 1, 2, 3, 4]), expected: \"AAECAwQ\" },\n { input: new Uint8Array([255, 254, 253, 252]), expected: \"__79_A\" },\n { input: new Uint8Array([]), expected: \"\" },\n ];\n\n for (const { input, expected } of testCases) {\n const encoded = encodeBase64Url(input);\n expect(encoded).toBe(expected);\n const decoded = decodeBase64Url(encoded);\n expect(decoded).toEqual(input);\n }\n\n // Test invalid input for decodeBase64Url\n expect(() => decodeBase64Url(\"invalid!\")).toThrow();\n});\n\nexport function decodeBase64OrBase64Url(input: string): Uint8Array<ArrayBuffer> {\n if (isBase64Url(input)) {\n return decodeBase64Url(input);\n } else if (isBase64(input)) {\n return decodeBase64(input);\n } else {\n throw new HexclaveAssertionError(\"Invalid base64 or base64url string\");\n }\n}\nimport.meta.vitest?.test(\"decodeBase64OrBase64Url\", ({ expect }) => {\n // Test with base64 input\n const base64Input = \"SGVsbG8gV29ybGQ=\";\n const base64Expected = new Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100]);\n expect(decodeBase64OrBase64Url(base64Input)).toEqual(base64Expected);\n\n // Test with base64url input\n const base64UrlInput = \"SGVsbG8gV29ybGQ\";\n const base64UrlExpected = new Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100]);\n expect(decodeBase64OrBase64Url(base64UrlInput)).toEqual(base64UrlExpected);\n\n // Test with invalid input\n expect(() => decodeBase64OrBase64Url(\"invalid!\")).toThrow();\n});\n\nexport function isBase32(input: string): boolean {\n for (const char of input) {\n if (char === \" \") continue;\n const upperChar = char.toUpperCase();\n // Check if the character is in the Crockford alphabet\n if (!crockfordAlphabet.includes(upperChar)) {\n return false;\n }\n }\n return true;\n}\nimport.meta.vitest?.test(\"isBase32\", ({ expect }) => {\n expect(isBase32(\"0123456789ABCDEFGHJKMNPQRSTVWXYZ\")).toBe(true);\n expect(isBase32(\"0OIJ\")).toBe(false); // O and I are not allowed\n expect(isBase32(\"ABC DEF\")).toBe(true); // Spaces are allowed\n expect(isBase32(\"ABC!\")).toBe(false); // Special characters not allowed\n expect(isBase32(\"\")).toBe(true);\n});\n\nexport function isBase64(input: string): boolean {\n // This regex allows for standard base64 with proper padding\n const regex = /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/;\n return regex.test(input);\n}\nimport.meta.vitest?.test(\"isBase64\", ({ expect }) => {\n expect(isBase64(\"SGVsbG8gV29ybGQ=\")).toBe(true);\n expect(isBase64(\"SGVsbG8gV29ybGQ\")).toBe(false); // No padding\n expect(isBase64(\"SGVsbG8gV29ybGQ==\")).toBe(false); // Wrong padding\n expect(isBase64(\"SGVsbG8!V29ybGQ=\")).toBe(false); // Invalid character\n expect(isBase64(\"\")).toBe(true);\n});\n\nexport function isBase64Url(input: string): boolean {\n if (input === \"\") {\n return true;\n }\n const regex = /^[0-9a-zA-Z_-]+$/;\n return regex.test(input);\n}\nimport.meta.vitest?.test(\"isBase64Url\", ({ expect }) => {\n expect(isBase64Url(\"SGVsbG8gV2 9ybGQ\")).toBe(false); // Space is not valid\n expect(isBase64Url(\"SGVsbG8_V29ybGQ\")).toBe(true); // _ is a valid character\n expect(isBase64Url(\"SGVsbG8-V29ybGQ\")).toBe(true); // - is valid\n expect(isBase64Url(\"SGVsbG8_V29ybGQ=\")).toBe(false); // = not allowed\n expect(isBase64Url(\"\")).toBe(true); // Empty string is valid\n});\n"],"mappings":"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"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { RateLimitOptions, ReactPromise } from "./promises";
|
|
2
|
+
|
|
3
|
+
//#region src/utils/caches.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* Can be used to cache the result of a function call, for example for the `use` hook in React.
|
|
6
|
+
*/
|
|
7
|
+
declare function cacheFunction<F extends Function>(f: F): F;
|
|
8
|
+
type CacheStrategy = "write-only" | "read-write" | "never";
|
|
9
|
+
declare class AsyncCache<D extends any[], T> {
|
|
10
|
+
private readonly _fetcher;
|
|
11
|
+
private readonly _options;
|
|
12
|
+
private readonly _map;
|
|
13
|
+
constructor(_fetcher: (dependencies: D) => Promise<T>, _options?: {
|
|
14
|
+
onSubscribe?: (key: D, refresh: () => void) => (() => void);
|
|
15
|
+
rateLimiter?: Omit<RateLimitOptions, "batchCalls">;
|
|
16
|
+
});
|
|
17
|
+
private _createKeyed;
|
|
18
|
+
getValueCache(dependencies: D): AsyncValueCache<T>;
|
|
19
|
+
refreshWhere(predicate: (dependencies: D) => boolean): Promise<void>;
|
|
20
|
+
invalidateWhere(predicate: (dependencies: D) => boolean): Promise<void>;
|
|
21
|
+
readonly isCacheAvailable: (key: D) => boolean;
|
|
22
|
+
readonly getIfCached: (key: D) => ({
|
|
23
|
+
status: "error";
|
|
24
|
+
error: unknown;
|
|
25
|
+
} & {
|
|
26
|
+
status: "error";
|
|
27
|
+
}) | ({
|
|
28
|
+
status: "pending";
|
|
29
|
+
} & {
|
|
30
|
+
progress: void;
|
|
31
|
+
} & {
|
|
32
|
+
status: "pending";
|
|
33
|
+
}) | ({
|
|
34
|
+
status: "ok";
|
|
35
|
+
data: T;
|
|
36
|
+
} & {
|
|
37
|
+
status: "ok";
|
|
38
|
+
});
|
|
39
|
+
readonly getOrWait: (key: D, cacheStrategy: CacheStrategy) => ReactPromise<T>;
|
|
40
|
+
readonly forceSetCachedValue: (key: D, value: T) => void;
|
|
41
|
+
readonly forceSetCachedValueAsync: (key: D, value: Promise<T>) => ReactPromise<void>;
|
|
42
|
+
readonly refresh: (key: D) => Promise<void>;
|
|
43
|
+
readonly invalidate: (key: D) => Promise<void>;
|
|
44
|
+
readonly onStateChange: (key: D, callback: (value: T, oldValue: T | undefined) => void) => {
|
|
45
|
+
unsubscribe: () => void;
|
|
46
|
+
};
|
|
47
|
+
readonly isDirty: (key: D) => boolean;
|
|
48
|
+
}
|
|
49
|
+
declare class AsyncValueCache<T> {
|
|
50
|
+
private readonly _options;
|
|
51
|
+
private _store;
|
|
52
|
+
private _pendingPromise;
|
|
53
|
+
private _fetcher;
|
|
54
|
+
private readonly _rateLimitOptions;
|
|
55
|
+
private _subscriptionsCount;
|
|
56
|
+
private _unsubscribers;
|
|
57
|
+
private _mostRecentRefreshPromiseIndex;
|
|
58
|
+
constructor(fetcher: () => Promise<T>, _options?: {
|
|
59
|
+
onSubscribe?: (refresh: () => void) => (() => void);
|
|
60
|
+
rateLimiter?: Omit<RateLimitOptions, "batchCalls">;
|
|
61
|
+
});
|
|
62
|
+
isCacheAvailable(): boolean;
|
|
63
|
+
getIfCached(): ({
|
|
64
|
+
status: "error";
|
|
65
|
+
error: unknown;
|
|
66
|
+
} & {
|
|
67
|
+
status: "error";
|
|
68
|
+
}) | ({
|
|
69
|
+
status: "pending";
|
|
70
|
+
} & {
|
|
71
|
+
progress: void;
|
|
72
|
+
} & {
|
|
73
|
+
status: "pending";
|
|
74
|
+
}) | ({
|
|
75
|
+
status: "ok";
|
|
76
|
+
data: T;
|
|
77
|
+
} & {
|
|
78
|
+
status: "ok";
|
|
79
|
+
});
|
|
80
|
+
getOrWait(cacheStrategy: CacheStrategy): ReactPromise<T>;
|
|
81
|
+
private _set;
|
|
82
|
+
private _setAsync;
|
|
83
|
+
private _refetch;
|
|
84
|
+
forceSetCachedValue(value: T): void;
|
|
85
|
+
forceSetCachedValueAsync(value: Promise<T>): ReactPromise<void>;
|
|
86
|
+
/**
|
|
87
|
+
* If anyone is listening to the cache, refreshes the value, and sets it without invalidating the cache.
|
|
88
|
+
*/
|
|
89
|
+
refresh(): Promise<void>;
|
|
90
|
+
/**
|
|
91
|
+
* Invalidates the cache, marking it dirty (ie. it will be refreshed on the next read). If anyone is listening to the cache, it will refresh immediately.
|
|
92
|
+
*/
|
|
93
|
+
invalidate(): Promise<void>;
|
|
94
|
+
isDirty(): boolean;
|
|
95
|
+
_invalidateCacheSoon(): void;
|
|
96
|
+
onStateChange(callback: (value: T, oldValue: T | undefined) => void): {
|
|
97
|
+
unsubscribe: () => void;
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
//#endregion
|
|
101
|
+
export { AsyncCache, cacheFunction };
|
|
102
|
+
//# sourceMappingURL=caches.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"caches.d.ts","names":[],"sources":["../../../src/utils/caches.tsx"],"mappings":";;;;;AASA;iBAAgB,aAAA,WAAwB,QAAA,CAAA,CAAU,CAAA,EAAG,CAAA,GAAI,CAAA;AAAA,KAwDpD,aAAA;AAAA,cAEQ,UAAA;EAAA,iBAIQ,QAAA;EAAA,iBACA,QAAA;EAAA,iBAJF,IAAA;cAGE,QAAA,GAAW,YAAA,EAAc,CAAA,KAAM,OAAA,CAAQ,CAAA,GACvC,QAAA;IACf,WAAA,IAAe,GAAA,EAAK,CAAA,EAAG,OAAA;IACvB,WAAA,GAAc,IAAA,CAAK,gBAAA;EAAA;EAAA,QAMf,YAAA;EASR,aAAA,CAAc,YAAA,EAAc,CAAA,GAAI,eAAA,CAAgB,CAAA;EAe1C,YAAA,CAAa,SAAA,GAAY,YAAA,EAAc,CAAA,eAAa,OAAA;EAUpD,eAAA,CAAgB,SAAA,GAAY,YAAA,EAAc,CAAA,eAAa,OAAA;EAAA,SAUpD,gBAAA,GAAgB,GAAA,EA1ChB,CAAA;EAAA,SA2CA,WAAA,GAAW,GAAA,EA3CX,CAAA;;;;;;;;;;;;;;;;;WA4CA,SAAA,GAAS,GAAA,EA5CT,CAAA,EAAC,aAAA,EAAA,aAAA,KAAA,YAAA,CAAA,CAAA;EAAA,SA6CD,mBAAA,GAAmB,GAAA,EA7CnB,CAAA,EAAC,KAAA,EAAA,CAAA;EAAA,SA8CD,wBAAA,GAAwB,GAAA,EA9CxB,CAAA,EAAC,KAAA,EAAA,OAAA,CAAA,CAAA,MAAA,YAAA;EAAA,SA+CD,OAAA,GAAO,GAAA,EA/CP,CAAA,KAAC,OAAA;EAAA,SAgDD,UAAA,GAAU,GAAA,EAhDV,CAAA,KAAC,OAAA;EAAA,SAiDD,aAAA,GAAa,GAAA,EAjDb,CAAA,EAAC,QAAA,GAAA,KAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA;;;WAkDD,OAAA,GAAO,GAAA,EAlDP,CAAA;AAAA;AAAA,cAqDL,eAAA;EAAA,iBAWe,QAAA;EAAA,QAVX,MAAA;EAAA,QACA,eAAA;EAAA,QACA,QAAA;EAAA,iBACS,iBAAA;EAAA,QACT,mBAAA;EAAA,QACA,cAAA;EAAA,QACA,8BAAA;cAGN,OAAA,QAAe,OAAA,CAAQ,CAAA,GACN,QAAA;IACf,WAAA,IAAe,OAAA;IACf,WAAA,GAAc,IAAA,CAAK,gBAAA;EAAA;EAiBvB,gBAAA,CAAA;EAIA,WAAA,CAAA;;;;;;;;;;;;;;;;;EAIA,SAAA,CAAU,aAAA,EAAe,aAAA,GAAgB,YAAA,CAAa,CAAA;EAAA,QAS9C,IAAA;EAAA,QAIA,SAAA;EAAA,QAWA,QAAA;EAWR,mBAAA,CAAoB,KAAA,EAAO,CAAA;EAI3B,wBAAA,CAAyB,KAAA,EAAO,OAAA,CAAQ,CAAA,IAAK,YAAA;EA3HjB;;;EAkItB,OAAA,CAAA,GAAW,OAAA;EAnHX;;;EA6HA,UAAA,CAAA,GAAc,OAAA;EAMpB,OAAA,CAAA;EAIA,oBAAA,CAAA;EAYA,aAAA,CAAc,QAAA,GAAW,KAAA,EAAO,CAAA,EAAG,QAAA,EAAU,CAAA;IAA2B,WAAA;EAAA;AAAA"}
|