@hexclave/shared 1.0.41 → 1.0.42
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/dist/admin-interface-Y9EZqwD6.d.ts +379 -0
- package/dist/admin-interface-Y9EZqwD6.d.ts.map +1 -0
- package/dist/admin-metrics-bsOkw4YQ.d.ts +807 -0
- package/dist/admin-metrics-bsOkw4YQ.d.ts.map +1 -0
- package/dist/ai/image-limits.d.ts.map +1 -1
- package/dist/ai/image-limits.js +6 -7
- package/dist/ai/image-limits.js.map +1 -1
- package/dist/ai/llms/llms.d.ts.map +1 -1
- package/dist/ai/llms/llms.js +2 -4
- package/dist/ai/llms/llms.js.map +1 -1
- package/dist/ai/unified-prompts/reminders.js +3 -6
- package/dist/ai/unified-prompts/reminders.js.map +1 -1
- package/dist/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.d.ts.map +1 -1
- package/dist/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.js +2 -5
- package/dist/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.js.map +1 -1
- package/dist/ai/unified-prompts/skill-site-prompt-parts/brain.js +3 -6
- package/dist/ai/unified-prompts/skill-site-prompt-parts/brain.js.map +1 -1
- package/dist/ai/unified-prompts/skill-site-prompt-parts/cli-help.js +3 -6
- package/dist/ai/unified-prompts/skill-site-prompt-parts/cli-help.js.map +1 -1
- package/dist/ai/unified-prompts/skill-site-prompt-parts/config-docs.js +3 -6
- package/dist/ai/unified-prompts/skill-site-prompt-parts/config-docs.js.map +1 -1
- package/dist/ai/unified-prompts/skill-site-prompt-parts/custom-components-instructions.js +3 -6
- package/dist/ai/unified-prompts/skill-site-prompt-parts/custom-components-instructions.js.map +1 -1
- package/dist/ai/unified-prompts/skill-site-prompt-parts/dashboard-instructions.js +3 -6
- package/dist/ai/unified-prompts/skill-site-prompt-parts/dashboard-instructions.js.map +1 -1
- package/dist/ai/unified-prompts/skill-site-prompt-parts/docs-index.d.ts.map +1 -1
- package/dist/ai/unified-prompts/skill-site-prompt-parts/docs-index.js +5 -6
- package/dist/ai/unified-prompts/skill-site-prompt-parts/docs-index.js.map +1 -1
- package/dist/ai/unified-prompts/skill-site-prompt-parts/docs-json.generated.js +1 -2
- package/dist/ai/unified-prompts/skill-site-prompt-parts/docs-json.generated.js.map +1 -1
- package/dist/ai/unified-prompts/skill-site-prompt-parts/openapi-specs.js +3 -6
- package/dist/ai/unified-prompts/skill-site-prompt-parts/openapi-specs.js.map +1 -1
- package/dist/ai/unified-prompts/skill-site-prompt-parts/sdk-interface-source.js +3 -6
- package/dist/ai/unified-prompts/skill-site-prompt-parts/sdk-interface-source.js.map +1 -1
- package/dist/ai/unified-prompts/skill-site-prompt.d.ts.map +1 -1
- package/dist/ai/unified-prompts/skill-site-prompt.js +2 -4
- package/dist/ai/unified-prompts/skill-site-prompt.js.map +1 -1
- package/dist/analytics-IjkAsefy.d.ts +14 -0
- package/dist/analytics-IjkAsefy.d.ts.map +1 -0
- package/dist/apps/apps-config.d.ts.map +1 -1
- package/dist/apps/apps-config.js +2 -3
- package/dist/apps/apps-config.js.map +1 -1
- package/dist/apps/apps-ui.d.ts +1 -2
- package/dist/apps/apps-ui.d.ts.map +1 -1
- package/dist/apps/apps-ui.js +4 -5
- package/dist/apps/apps-ui.js.map +1 -1
- package/dist/client-interface-iIw4nU5k.d.ts +447 -0
- package/dist/client-interface-iIw4nU5k.d.ts.map +1 -0
- package/dist/config/db-sync-mappings.js +2 -3
- package/dist/config/db-sync-mappings.js.map +1 -1
- package/dist/config/format.d.ts +2 -61
- package/dist/config/format.js +2 -192
- package/dist/config/format.js.map +1 -1
- package/dist/config/migrate-catalogs-to-product-lines.d.ts.map +1 -1
- package/dist/config/migrate-catalogs-to-product-lines.js +2 -196
- package/dist/config/migrate-catalogs-to-product-lines.js.map +1 -1
- package/dist/config/schema-fuzzer.test.js +18 -172
- package/dist/config/schema-fuzzer.test.js.map +1 -1
- package/dist/config/schema.d.ts +2 -2328
- package/dist/config/schema.js +6 -351
- package/dist/config/schema.js.map +1 -1
- package/dist/config-authoring.d.ts +1 -1
- package/dist/config-authoring.d.ts.map +1 -1
- package/dist/config-authoring.js +2 -3
- package/dist/config-authoring.js.map +1 -1
- package/dist/config-authoring.test.js +1 -3
- package/dist/config-authoring.test.js.map +1 -1
- package/dist/config-eval.d.ts.map +1 -1
- package/dist/config-eval.js +4 -46
- package/dist/config-eval.js.map +1 -1
- package/dist/config-rendering.d.ts.map +1 -1
- package/dist/config-rendering.js +2 -48
- package/dist/config-rendering.js.map +1 -1
- package/dist/connected-accounts-D5CKe50A.d.ts +67 -0
- package/dist/connected-accounts-D5CKe50A.d.ts.map +1 -0
- package/dist/contact-channels-DW8yQxlc.d.ts +180 -0
- package/dist/contact-channels-DW8yQxlc.d.ts.map +1 -0
- package/dist/country-codes-CRWDroBE.d.ts +11 -0
- package/dist/country-codes-CRWDroBE.d.ts.map +1 -0
- package/dist/crud-CqmEW9s6.d.ts +98 -0
- package/dist/crud-CqmEW9s6.d.ts.map +1 -0
- package/dist/crud.d.ts +2 -98
- package/dist/crud.js +3 -71
- package/dist/crud.js.map +1 -1
- package/dist/currency-constants-Cq_q8twn.d.ts +45 -0
- package/dist/currency-constants-Cq_q8twn.d.ts.map +1 -0
- package/dist/current-user-BBoN3hsn.d.ts +284 -0
- package/dist/current-user-BBoN3hsn.d.ts.map +1 -0
- package/dist/dates-B6ne9iOR.d.ts +23 -0
- package/dist/dates-B6ne9iOR.d.ts.map +1 -0
- package/dist/email-outbox-B1wmVPRG.d.ts +1464 -0
- package/dist/{interface/crud/email-outbox.d.ts.map → email-outbox-B1wmVPRG.d.ts.map} +1 -1
- package/dist/emails-Ba4yEaCS.d.ts +40 -0
- package/dist/emails-Ba4yEaCS.d.ts.map +1 -0
- package/dist/errors-Cl-RUyed.d.ts +238 -0
- package/dist/errors-Cl-RUyed.d.ts.map +1 -0
- package/dist/esm/ai/image-limits.d.ts.map +1 -1
- package/dist/esm/ai/image-limits.js +5 -5
- package/dist/esm/ai/image-limits.js.map +1 -1
- package/dist/esm/ai/llms/llms.d.ts +1 -1
- package/dist/esm/ai/llms/llms.d.ts.map +1 -1
- package/dist/esm/ai/llms/llms.js +1 -2
- package/dist/esm/ai/llms/llms.js.map +1 -1
- package/dist/esm/ai/unified-prompts/reminders.js +2 -3
- package/dist/esm/ai/unified-prompts/reminders.js.map +1 -1
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.d.ts.map +1 -1
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.js +25 -28
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/ai-setup-prompt.js.map +1 -1
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/brain.js +1 -2
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/brain.js.map +1 -1
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/cli-help.js +1 -2
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/cli-help.js.map +1 -1
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/config-docs.js +1 -2
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/config-docs.js.map +1 -1
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/custom-components-instructions.js +1 -2
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/custom-components-instructions.js.map +1 -1
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/dashboard-instructions.js +1 -2
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/dashboard-instructions.js.map +1 -1
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/docs-index.d.ts.map +1 -1
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/docs-index.js +2 -3
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/docs-index.js.map +1 -1
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/docs-json.generated.js +1 -1
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/docs-json.generated.js.map +1 -1
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/openapi-specs.js +1 -2
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/openapi-specs.js.map +1 -1
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/sdk-interface-source.js +1 -2
- package/dist/esm/ai/unified-prompts/skill-site-prompt-parts/sdk-interface-source.js.map +1 -1
- package/dist/esm/ai/unified-prompts/skill-site-prompt.d.ts.map +1 -1
- package/dist/esm/ai/unified-prompts/skill-site-prompt.js +1 -2
- package/dist/esm/ai/unified-prompts/skill-site-prompt.js.map +1 -1
- package/dist/esm/apps/apps-config.d.ts.map +1 -1
- package/dist/esm/apps/apps-config.js +1 -1
- package/dist/esm/apps/apps-config.js.map +1 -1
- package/dist/esm/apps/apps-ui.d.ts +2 -3
- package/dist/esm/apps/apps-ui.d.ts.map +1 -1
- package/dist/esm/apps/apps-ui.js +2 -3
- package/dist/esm/apps/apps-ui.js.map +1 -1
- package/dist/esm/config/db-sync-mappings.js +1 -1
- package/dist/esm/config/db-sync-mappings.js.map +1 -1
- package/dist/esm/config/format.d.ts +1 -1
- package/dist/esm/config/format.d.ts.map +1 -1
- package/dist/esm/config/format.js +1 -190
- package/dist/esm/config/format.js.map +1 -1
- package/dist/esm/config/migrate-catalogs-to-product-lines.d.ts.map +1 -1
- package/dist/esm/config/migrate-catalogs-to-product-lines.js +1 -194
- package/dist/esm/config/migrate-catalogs-to-product-lines.js.map +1 -1
- package/dist/esm/config/schema-fuzzer.test.js +20 -173
- package/dist/esm/config/schema-fuzzer.test.js.map +1 -1
- package/dist/esm/config/schema.d.ts +227 -228
- package/dist/esm/config/schema.d.ts.map +1 -1
- package/dist/esm/config/schema.js +2 -347
- package/dist/esm/config/schema.js.map +1 -1
- package/dist/esm/config-authoring.d.ts +1 -1
- package/dist/esm/config-authoring.d.ts.map +1 -1
- package/dist/esm/config-authoring.js +1 -1
- package/dist/esm/config-authoring.js.map +1 -1
- package/dist/esm/config-authoring.test.js +2 -3
- package/dist/esm/config-authoring.test.js.map +1 -1
- package/dist/esm/config-eval.d.ts +1 -1
- package/dist/esm/config-eval.d.ts.map +1 -1
- package/dist/esm/config-eval.js +1 -43
- package/dist/esm/config-eval.js.map +1 -1
- package/dist/esm/config-rendering.d.ts.map +1 -1
- package/dist/esm/config-rendering.js +1 -46
- package/dist/esm/config-rendering.js.map +1 -1
- package/dist/esm/crud.d.ts +1 -1
- package/dist/esm/crud.d.ts.map +1 -1
- package/dist/esm/crud.js +2 -69
- package/dist/esm/crud.js.map +1 -1
- package/dist/esm/helpers/emails.js +1 -2
- package/dist/esm/helpers/emails.js.map +1 -1
- package/dist/esm/helpers/init-prompt.d.ts.map +1 -1
- package/dist/esm/helpers/init-prompt.js +1 -2
- package/dist/esm/helpers/init-prompt.js.map +1 -1
- package/dist/esm/helpers/password.d.ts +1 -1
- package/dist/esm/helpers/password.d.ts.map +1 -1
- package/dist/esm/helpers/password.js +1 -2
- package/dist/esm/helpers/password.js.map +1 -1
- package/dist/esm/helpers/production-mode.d.ts +1 -1
- package/dist/esm/helpers/production-mode.d.ts.map +1 -1
- package/dist/esm/helpers/production-mode.js +1 -2
- package/dist/esm/helpers/production-mode.js.map +1 -1
- package/dist/esm/helpers/support-sla.d.ts.map +1 -1
- package/dist/esm/helpers/support-sla.js +1 -1
- package/dist/esm/helpers/support-sla.js.map +1 -1
- package/dist/esm/helpers/support-sla.test.js +2 -3
- package/dist/esm/helpers/support-sla.test.js.map +1 -1
- package/dist/esm/helpers/vault/client-side.d.ts.map +1 -1
- package/dist/esm/helpers/vault/client-side.js +1 -20
- package/dist/esm/helpers/vault/client-side.js.map +1 -1
- package/dist/esm/helpers/vault/server-side.js +1 -2
- package/dist/esm/helpers/vault/server-side.js.map +1 -1
- package/dist/esm/hooks/use-async-callback.d.ts.map +1 -1
- package/dist/esm/hooks/use-async-callback.js +1 -2
- package/dist/esm/hooks/use-async-callback.js.map +1 -1
- package/dist/esm/hooks/use-async-external-store.d.ts +1 -1
- package/dist/esm/hooks/use-async-external-store.d.ts.map +1 -1
- package/dist/esm/hooks/use-async-external-store.js +1 -2
- package/dist/esm/hooks/use-async-external-store.js.map +1 -1
- package/dist/esm/hooks/use-hash.js +1 -2
- package/dist/esm/hooks/use-hash.js.map +1 -1
- package/dist/esm/hooks/use-hover.d.ts.map +1 -1
- package/dist/esm/hooks/use-hover.js +1 -2
- package/dist/esm/hooks/use-hover.js.map +1 -1
- package/dist/esm/hooks/use-strict-memo.d.ts.map +1 -1
- package/dist/esm/hooks/use-strict-memo.js +1 -70
- package/dist/esm/hooks/use-strict-memo.js.map +1 -1
- package/dist/esm/index.d.ts +4 -4
- package/dist/esm/index.js +1 -2
- package/dist/esm/interface/admin-interface.d.ts +19 -19
- package/dist/esm/interface/admin-interface.d.ts.map +1 -1
- package/dist/esm/interface/admin-interface.js +2 -3
- package/dist/esm/interface/admin-interface.js.map +1 -1
- package/dist/esm/interface/admin-metrics.d.ts +10 -10
- package/dist/esm/interface/admin-metrics.d.ts.map +1 -1
- package/dist/esm/interface/admin-metrics.js +1 -2
- package/dist/esm/interface/admin-metrics.js.map +1 -1
- package/dist/esm/interface/client-interface.d.ts +22 -22
- package/dist/esm/interface/client-interface.d.ts.map +1 -1
- package/dist/esm/interface/client-interface.js +32 -16
- package/dist/esm/interface/client-interface.js.map +1 -1
- package/dist/esm/interface/client-interface.test.js +84 -13
- package/dist/esm/interface/client-interface.test.js.map +1 -1
- package/dist/esm/interface/conversations.d.ts +8 -8
- package/dist/esm/interface/conversations.d.ts.map +1 -1
- package/dist/esm/interface/conversations.js +1 -2
- package/dist/esm/interface/conversations.js.map +1 -1
- package/dist/esm/interface/crud/analytics.d.ts.map +1 -1
- package/dist/esm/interface/crud/analytics.js +1 -1
- package/dist/esm/interface/crud/connected-accounts.d.ts +15 -17
- package/dist/esm/interface/crud/connected-accounts.d.ts.map +1 -1
- package/dist/esm/interface/crud/connected-accounts.js +1 -2
- package/dist/esm/interface/crud/connected-accounts.js.map +1 -1
- package/dist/esm/interface/crud/contact-channels.d.ts +24 -26
- package/dist/esm/interface/crud/contact-channels.d.ts.map +1 -1
- package/dist/esm/interface/crud/contact-channels.js +1 -2
- package/dist/esm/interface/crud/contact-channels.js.map +1 -1
- package/dist/esm/interface/crud/current-user.d.ts +22 -24
- package/dist/esm/interface/crud/current-user.d.ts.map +1 -1
- package/dist/esm/interface/crud/current-user.js +25 -29
- package/dist/esm/interface/crud/current-user.js.map +1 -1
- package/dist/esm/interface/crud/email-outbox.d.ts +30 -32
- package/dist/esm/interface/crud/email-outbox.d.ts.map +1 -1
- package/dist/esm/interface/crud/email-outbox.js +1 -2
- package/dist/esm/interface/crud/email-outbox.js.map +1 -1
- package/dist/esm/interface/crud/email-templates.d.ts +16 -18
- package/dist/esm/interface/crud/email-templates.d.ts.map +1 -1
- package/dist/esm/interface/crud/email-templates.js +1 -2
- package/dist/esm/interface/crud/email-templates.js.map +1 -1
- package/dist/esm/interface/crud/emails.d.ts +6 -8
- package/dist/esm/interface/crud/emails.d.ts.map +1 -1
- package/dist/esm/interface/crud/emails.js +1 -2
- package/dist/esm/interface/crud/emails.js.map +1 -1
- package/dist/esm/interface/crud/internal-api-keys.d.ts +16 -18
- package/dist/esm/interface/crud/internal-api-keys.d.ts.map +1 -1
- package/dist/esm/interface/crud/internal-api-keys.js +1 -2
- package/dist/esm/interface/crud/internal-api-keys.js.map +1 -1
- package/dist/esm/interface/crud/invoices.d.ts.map +1 -1
- package/dist/esm/interface/crud/invoices.js +1 -2
- package/dist/esm/interface/crud/invoices.js.map +1 -1
- package/dist/esm/interface/crud/items.d.ts +6 -8
- package/dist/esm/interface/crud/items.d.ts.map +1 -1
- package/dist/esm/interface/crud/items.js +12 -16
- package/dist/esm/interface/crud/items.js.map +1 -1
- package/dist/esm/interface/crud/notification-preferences.d.ts +6 -8
- package/dist/esm/interface/crud/notification-preferences.d.ts.map +1 -1
- package/dist/esm/interface/crud/notification-preferences.js +8 -12
- package/dist/esm/interface/crud/notification-preferences.js.map +1 -1
- package/dist/esm/interface/crud/oauth-providers.d.ts +24 -26
- package/dist/esm/interface/crud/oauth-providers.d.ts.map +1 -1
- package/dist/esm/interface/crud/oauth-providers.js +1 -2
- package/dist/esm/interface/crud/oauth-providers.js.map +1 -1
- package/dist/esm/interface/crud/products.d.ts +21 -22
- package/dist/esm/interface/crud/products.d.ts.map +1 -1
- package/dist/esm/interface/crud/products.js +3 -2
- package/dist/esm/interface/crud/products.js.map +1 -1
- package/dist/esm/interface/crud/project-api-keys.d.ts +5 -6
- package/dist/esm/interface/crud/project-api-keys.d.ts.map +1 -1
- package/dist/esm/interface/crud/project-api-keys.js +1 -2
- package/dist/esm/interface/crud/project-api-keys.js.map +1 -1
- package/dist/esm/interface/crud/project-permissions.d.ts +29 -31
- package/dist/esm/interface/crud/project-permissions.d.ts.map +1 -1
- package/dist/esm/interface/crud/project-permissions.js +1 -2
- package/dist/esm/interface/crud/project-permissions.js.map +1 -1
- package/dist/esm/interface/crud/projects.d.ts +63 -65
- package/dist/esm/interface/crud/projects.d.ts.map +1 -1
- package/dist/esm/interface/crud/projects.js +3 -2
- package/dist/esm/interface/crud/projects.js.map +1 -1
- package/dist/esm/interface/crud/session-replays.d.ts.map +1 -1
- package/dist/esm/interface/crud/session-replays.js +1 -1
- package/dist/esm/interface/crud/sessions.d.ts +15 -17
- package/dist/esm/interface/crud/sessions.d.ts.map +1 -1
- package/dist/esm/interface/crud/sessions.js +1 -2
- package/dist/esm/interface/crud/sessions.js.map +1 -1
- package/dist/esm/interface/crud/sign-up-rules.d.ts.map +1 -1
- package/dist/esm/interface/crud/sign-up-rules.js +1 -1
- package/dist/esm/interface/crud/svix-token.d.ts +8 -10
- package/dist/esm/interface/crud/svix-token.d.ts.map +1 -1
- package/dist/esm/interface/crud/svix-token.js +1 -2
- package/dist/esm/interface/crud/svix-token.js.map +1 -1
- package/dist/esm/interface/crud/team-invitation-details.d.ts +6 -8
- package/dist/esm/interface/crud/team-invitation-details.d.ts.map +1 -1
- package/dist/esm/interface/crud/team-invitation-details.js +1 -2
- package/dist/esm/interface/crud/team-invitation-details.js.map +1 -1
- package/dist/esm/interface/crud/team-invitation.d.ts +7 -9
- package/dist/esm/interface/crud/team-invitation.d.ts.map +1 -1
- package/dist/esm/interface/crud/team-invitation.js +1 -2
- package/dist/esm/interface/crud/team-invitation.js.map +1 -1
- package/dist/esm/interface/crud/team-member-profiles.d.ts +36 -38
- package/dist/esm/interface/crud/team-member-profiles.d.ts.map +1 -1
- package/dist/esm/interface/crud/team-member-profiles.js +1 -2
- package/dist/esm/interface/crud/team-member-profiles.js.map +1 -1
- package/dist/esm/interface/crud/team-memberships.d.ts +14 -16
- package/dist/esm/interface/crud/team-memberships.d.ts.map +1 -1
- package/dist/esm/interface/crud/team-memberships.js +1 -2
- package/dist/esm/interface/crud/team-memberships.js.map +1 -1
- package/dist/esm/interface/crud/team-permissions.d.ts +29 -31
- package/dist/esm/interface/crud/team-permissions.d.ts.map +1 -1
- package/dist/esm/interface/crud/team-permissions.js +1 -2
- package/dist/esm/interface/crud/team-permissions.js.map +1 -1
- package/dist/esm/interface/crud/teams.d.ts +36 -38
- package/dist/esm/interface/crud/teams.d.ts.map +1 -1
- package/dist/esm/interface/crud/teams.js +2 -4
- package/dist/esm/interface/crud/teams.js.map +1 -1
- package/dist/esm/interface/crud/transactions.d.ts +14 -16
- package/dist/esm/interface/crud/transactions.d.ts.map +1 -1
- package/dist/esm/interface/crud/transactions.js +7 -13
- package/dist/esm/interface/crud/transactions.js.map +1 -1
- package/dist/esm/interface/crud/users.d.ts +21 -22
- package/dist/esm/interface/crud/users.d.ts.map +1 -1
- package/dist/esm/interface/crud/users.js +9 -5
- package/dist/esm/interface/crud/users.js.map +1 -1
- package/dist/esm/interface/handler-urls.d.ts +1 -1
- package/dist/esm/interface/handler-urls.d.ts.map +1 -1
- package/dist/esm/interface/handler-urls.js +1 -2
- package/dist/esm/interface/page-component-versions.d.ts +1 -1
- package/dist/esm/interface/page-component-versions.d.ts.map +1 -1
- package/dist/esm/interface/page-component-versions.js +1 -2
- package/dist/esm/interface/page-component-versions.js.map +1 -1
- package/dist/esm/interface/plan-usage.d.ts +1 -1
- package/dist/esm/interface/plan-usage.d.ts.map +1 -1
- package/dist/esm/interface/plan-usage.js +1 -2
- package/dist/esm/interface/plan-usage.js.map +1 -1
- package/dist/esm/interface/server-interface.d.ts +19 -19
- package/dist/esm/interface/server-interface.d.ts.map +1 -1
- package/dist/esm/interface/server-interface.js +2 -3
- package/dist/esm/interface/server-interface.js.map +1 -1
- package/dist/esm/interface/webhooks.d.ts +4 -4
- package/dist/esm/interface/webhooks.d.ts.map +1 -1
- package/dist/esm/interface/webhooks.js +1 -2
- package/dist/esm/interface/webhooks.js.map +1 -1
- package/dist/esm/known-errors.d.ts +2 -2
- package/dist/esm/known-errors.d.ts.map +1 -1
- package/dist/esm/known-errors.js +10 -21
- package/dist/esm/known-errors.js.map +1 -1
- package/dist/esm/payments/payment-methods.d.ts.map +1 -1
- package/dist/esm/payments/payment-methods.js +1 -1
- package/dist/esm/payments/payment-methods.js.map +1 -1
- package/dist/esm/payments/stripe-limits.d.ts.map +1 -1
- package/dist/esm/payments/stripe-limits.js +1 -1
- package/dist/esm/payments/stripe-limits.js.map +1 -1
- package/dist/esm/plans.d.ts.map +1 -1
- package/dist/esm/plans.js +1 -1
- package/dist/esm/plans.js.map +1 -1
- package/dist/esm/schema-fields.d.ts +14 -14
- package/dist/esm/schema-fields.d.ts.map +1 -1
- package/dist/esm/schema-fields.js +3 -64
- package/dist/esm/schema-fields.js.map +1 -1
- package/dist/esm/sessions.d.ts +6 -6
- package/dist/esm/sessions.d.ts.map +1 -1
- package/dist/esm/sessions.js +1 -2
- package/dist/esm/sessions.js.map +1 -1
- package/dist/esm/sessions.test.js +2 -3
- package/dist/esm/sessions.test.js.map +1 -1
- package/dist/esm/utils/analytics-clickmap-overlay.d.ts.map +1 -1
- package/dist/esm/utils/analytics-clickmap-overlay.js +1 -1
- package/dist/esm/utils/api-keys.d.ts.map +1 -1
- package/dist/esm/utils/api-keys.js +1 -2
- package/dist/esm/utils/api-keys.js.map +1 -1
- package/dist/esm/utils/arrays.d.ts.map +1 -1
- package/dist/esm/utils/arrays.js +1 -470
- package/dist/esm/utils/arrays.js.map +1 -1
- package/dist/esm/utils/auth-methods.d.ts.map +1 -1
- package/dist/esm/utils/auth-methods.js +1 -1
- package/dist/esm/utils/auth-methods.js.map +1 -1
- package/dist/esm/utils/base64.d.ts.map +1 -1
- package/dist/esm/utils/base64.js +1 -10
- package/dist/esm/utils/base64.js.map +1 -1
- package/dist/esm/utils/booleans.d.ts.map +1 -1
- package/dist/esm/utils/booleans.js +1 -25
- package/dist/esm/utils/booleans.js.map +1 -1
- package/dist/esm/utils/browser-compat.d.ts.map +1 -1
- package/dist/esm/utils/browser-compat.js +1 -1
- package/dist/esm/utils/browser-compat.js.map +1 -1
- package/dist/esm/utils/bytes.d.ts.map +1 -1
- package/dist/esm/utils/bytes.js +3 -198
- package/dist/esm/utils/bytes.js.map +1 -1
- package/dist/esm/utils/caches.d.ts +1 -1
- package/dist/esm/utils/caches.d.ts.map +1 -1
- package/dist/esm/utils/caches.js +1 -27
- package/dist/esm/utils/caches.js.map +1 -1
- package/dist/esm/utils/cel-fields.d.ts.map +1 -1
- package/dist/esm/utils/cel-fields.js +1 -2
- package/dist/esm/utils/cel-fields.js.map +1 -1
- package/dist/esm/utils/cloud-hosts.d.ts.map +1 -1
- package/dist/esm/utils/cloud-hosts.js +1 -27
- package/dist/esm/utils/cloud-hosts.js.map +1 -1
- package/dist/esm/utils/compile-time.d.ts.map +1 -1
- package/dist/esm/utils/compile-time.js +1 -1
- package/dist/esm/utils/compile-time.js.map +1 -1
- package/dist/esm/utils/country-codes.d.ts.map +1 -1
- package/dist/esm/utils/country-codes.js +1 -16
- package/dist/esm/utils/country-codes.js.map +1 -1
- package/dist/esm/utils/crypto.d.ts.map +1 -1
- package/dist/esm/utils/crypto.js +3 -113
- package/dist/esm/utils/crypto.js.map +1 -1
- package/dist/esm/utils/currencies.d.ts +1 -1
- package/dist/esm/utils/currencies.d.ts.map +1 -1
- package/dist/esm/utils/currencies.js +2 -37
- package/dist/esm/utils/currencies.js.map +1 -1
- package/dist/esm/utils/currency-constants.d.ts.map +1 -1
- package/dist/esm/utils/currency-constants.js +1 -1
- package/dist/esm/utils/currency-constants.js.map +1 -1
- package/dist/esm/utils/dates.d.ts.map +1 -1
- package/dist/esm/utils/dates.js +1 -44
- package/dist/esm/utils/dates.js.map +1 -1
- package/dist/esm/utils/dev-env-state-path.d.ts.map +1 -1
- package/dist/esm/utils/dev-env-state-path.js +1 -2
- package/dist/esm/utils/dev-env-state-path.js.map +1 -1
- package/dist/esm/utils/dev-tool.d.ts.map +1 -1
- package/dist/esm/utils/dev-tool.js +1 -1
- package/dist/esm/utils/dom.d.ts.map +1 -1
- package/dist/esm/utils/dom.js +1 -1
- package/dist/esm/utils/dom.js.map +1 -1
- package/dist/esm/utils/elements-chain.d.ts.map +1 -1
- package/dist/esm/utils/elements-chain.js +5 -50
- package/dist/esm/utils/elements-chain.js.map +1 -1
- package/dist/esm/utils/env.d.ts.map +1 -1
- package/dist/esm/utils/env.js +1 -2
- package/dist/esm/utils/env.js.map +1 -1
- package/dist/esm/utils/env.test.js +2 -3
- package/dist/esm/utils/env.test.js.map +1 -1
- package/dist/esm/utils/errors.d.ts +1 -1
- package/dist/esm/utils/errors.d.ts.map +1 -1
- package/dist/esm/utils/errors.js +1 -2
- package/dist/esm/utils/errors.js.map +1 -1
- package/dist/esm/utils/esbuild.d.ts +1 -1
- package/dist/esm/utils/esbuild.d.ts.map +1 -1
- package/dist/esm/utils/esbuild.js +2 -3
- package/dist/esm/utils/esbuild.js.map +1 -1
- package/dist/esm/utils/featurebase.d.ts.map +1 -1
- package/dist/esm/utils/featurebase.js +1 -2
- package/dist/esm/utils/featurebase.js.map +1 -1
- package/dist/esm/utils/fs.d.ts.map +1 -1
- package/dist/esm/utils/fs.js +1 -2
- package/dist/esm/utils/fs.js.map +1 -1
- package/dist/esm/utils/functions.d.ts.map +1 -1
- package/dist/esm/utils/functions.js +1 -24
- package/dist/esm/utils/functions.js.map +1 -1
- package/dist/esm/utils/geo.d.ts.map +1 -1
- package/dist/esm/utils/geo.js +1 -2
- package/dist/esm/utils/geo.js.map +1 -1
- package/dist/esm/utils/globals.d.ts.map +1 -1
- package/dist/esm/utils/globals.js +1 -1
- package/dist/esm/utils/globals.js.map +1 -1
- package/dist/esm/utils/hashes.d.ts.map +1 -1
- package/dist/esm/utils/hashes.js +1 -2
- package/dist/esm/utils/hashes.js.map +1 -1
- package/dist/esm/utils/html.d.ts.map +1 -1
- package/dist/esm/utils/html.js +1 -19
- package/dist/esm/utils/html.js.map +1 -1
- package/dist/esm/utils/http.d.ts.map +1 -1
- package/dist/esm/utils/http.js +1 -19
- package/dist/esm/utils/http.js.map +1 -1
- package/dist/esm/utils/ips.d.ts.map +1 -1
- package/dist/esm/utils/ips.js +1 -25
- package/dist/esm/utils/ips.js.map +1 -1
- package/dist/esm/utils/json.d.ts +1 -1
- package/dist/esm/utils/json.d.ts.map +1 -1
- package/dist/esm/utils/json.js +1 -155
- package/dist/esm/utils/json.js.map +1 -1
- package/dist/esm/utils/jsx-editable-transpiler.d.ts.map +1 -1
- package/dist/esm/utils/jsx-editable-transpiler.js +1 -2
- package/dist/esm/utils/jsx-editable-transpiler.js.map +1 -1
- package/dist/esm/utils/jsx-editable-transpiler.test.js +2 -3
- package/dist/esm/utils/jsx-editable-transpiler.test.js.map +1 -1
- package/dist/esm/utils/jwt.d.ts.map +1 -1
- package/dist/esm/utils/jwt.js +1 -2
- package/dist/esm/utils/jwt.js.map +1 -1
- package/dist/esm/utils/locks.d.ts.map +1 -1
- package/dist/esm/utils/locks.js +1 -2
- package/dist/esm/utils/locks.js.map +1 -1
- package/dist/esm/utils/maps.d.ts.map +1 -1
- package/dist/esm/utils/maps.js +1 -111
- package/dist/esm/utils/maps.js.map +1 -1
- package/dist/esm/utils/math.d.ts.map +1 -1
- package/dist/esm/utils/math.js +1 -11
- package/dist/esm/utils/math.js.map +1 -1
- package/dist/esm/utils/monkey-patch.d.ts.map +1 -1
- package/dist/esm/utils/monkey-patch.js +2 -3
- package/dist/esm/utils/monkey-patch.js.map +1 -1
- package/dist/esm/utils/node-http.js +1 -2
- package/dist/esm/utils/node-http.js.map +1 -1
- package/dist/esm/utils/numbers.d.ts.map +1 -1
- package/dist/esm/utils/numbers.js +1 -45
- package/dist/esm/utils/numbers.js.map +1 -1
- package/dist/esm/utils/oauth.d.ts.map +1 -1
- package/dist/esm/utils/oauth.js +1 -1
- package/dist/esm/utils/oauth.js.map +1 -1
- package/dist/esm/utils/objects.d.ts.map +1 -1
- package/dist/esm/utils/objects.js +1 -622
- package/dist/esm/utils/objects.js.map +1 -1
- package/dist/esm/utils/paginated-lists.d.ts.map +1 -1
- package/dist/esm/utils/paginated-lists.js +1 -2
- package/dist/esm/utils/paginated-lists.js.map +1 -1
- package/dist/esm/utils/paginated-lists.test.js +2 -3
- package/dist/esm/utils/paginated-lists.test.js.map +1 -1
- package/dist/esm/utils/passkey.d.ts +1 -1
- package/dist/esm/utils/passkey.js +1 -1
- package/dist/esm/utils/promises.d.ts +1 -1
- package/dist/esm/utils/promises.d.ts.map +1 -1
- package/dist/esm/utils/promises.js +2 -161
- package/dist/esm/utils/promises.js.map +1 -1
- package/dist/esm/utils/proxies.d.ts.map +1 -1
- package/dist/esm/utils/proxies.js +1 -37
- package/dist/esm/utils/proxies.js.map +1 -1
- package/dist/esm/utils/react.d.ts.map +1 -1
- package/dist/esm/utils/react.js +1 -41
- package/dist/esm/utils/react.js.map +1 -1
- package/dist/esm/utils/redirect-urls.d.ts.map +1 -1
- package/dist/esm/utils/redirect-urls.js +2 -92
- package/dist/esm/utils/redirect-urls.js.map +1 -1
- package/dist/esm/utils/regex.js +1 -1
- package/dist/esm/utils/regex.js.map +1 -1
- package/dist/esm/utils/results.d.ts.map +1 -1
- package/dist/esm/utils/results.js +1 -213
- package/dist/esm/utils/results.js.map +1 -1
- package/dist/esm/utils/sentry.js +1 -1
- package/dist/esm/utils/sentry.js.map +1 -1
- package/dist/esm/utils/stores.d.ts +3 -3
- package/dist/esm/utils/stores.d.ts.map +1 -1
- package/dist/esm/utils/stores.js +1 -2
- package/dist/esm/utils/stores.js.map +1 -1
- package/dist/esm/utils/strings.d.ts.map +1 -1
- package/dist/esm/utils/strings.js +1 -251
- package/dist/esm/utils/strings.js.map +1 -1
- package/dist/esm/utils/strings.nicify.test.js +2 -3
- package/dist/esm/utils/strings.nicify.test.js.map +1 -1
- package/dist/esm/utils/telemetry.d.ts.map +1 -1
- package/dist/esm/utils/telemetry.js +1 -2
- package/dist/esm/utils/telemetry.js.map +1 -1
- package/dist/esm/utils/turnstile-browser.d.ts +1 -1
- package/dist/esm/utils/turnstile-browser.d.ts.map +1 -1
- package/dist/esm/utils/turnstile-browser.js +1 -2
- package/dist/esm/utils/turnstile-browser.js.map +1 -1
- package/dist/esm/utils/turnstile-flow.d.ts +1 -1
- package/dist/esm/utils/turnstile-flow.d.ts.map +1 -1
- package/dist/esm/utils/turnstile-flow.js +1 -2
- package/dist/esm/utils/turnstile-flow.js.map +1 -1
- package/dist/esm/utils/turnstile-flow.test.js +2 -3
- package/dist/esm/utils/turnstile-flow.test.js.map +1 -1
- package/dist/esm/utils/turnstile.d.ts.map +1 -1
- package/dist/esm/utils/turnstile.js +1 -1
- package/dist/esm/utils/turnstile.js.map +1 -1
- package/dist/esm/utils/typed-arrays.js +1 -2
- package/dist/esm/utils/typed-arrays.js.map +1 -1
- package/dist/esm/utils/types.d.ts +1 -1
- package/dist/esm/utils/types.d.ts.map +1 -1
- package/dist/esm/utils/types.js +1 -1
- package/dist/esm/utils/types.js.map +1 -1
- package/dist/esm/utils/unicode.d.ts.map +1 -1
- package/dist/esm/utils/unicode.js +1 -13
- package/dist/esm/utils/unicode.js.map +1 -1
- package/dist/esm/utils/urls.d.ts.map +1 -1
- package/dist/esm/utils/urls.js +1 -151
- package/dist/esm/utils/urls.js.map +1 -1
- package/dist/esm/utils/uuids.d.ts.map +1 -1
- package/dist/esm/utils/uuids.js +2 -26
- package/dist/esm/utils/uuids.js.map +1 -1
- package/dist/format-4JG1MGv5.d.ts +61 -0
- package/dist/format-4JG1MGv5.d.ts.map +1 -0
- package/dist/handler-urls-BHt3v8Ai.d.ts +70 -0
- package/dist/handler-urls-BHt3v8Ai.d.ts.map +1 -0
- package/dist/helpers/emails.js +2 -4
- package/dist/helpers/emails.js.map +1 -1
- package/dist/helpers/init-prompt.d.ts.map +1 -1
- package/dist/helpers/init-prompt.js +2 -4
- package/dist/helpers/init-prompt.js.map +1 -1
- package/dist/helpers/password.d.ts +1 -1
- package/dist/helpers/password.d.ts.map +1 -1
- package/dist/helpers/password.js +2 -4
- package/dist/helpers/password.js.map +1 -1
- package/dist/helpers/production-mode.d.ts +1 -1
- package/dist/helpers/production-mode.d.ts.map +1 -1
- package/dist/helpers/production-mode.js +2 -4
- package/dist/helpers/production-mode.js.map +1 -1
- package/dist/helpers/support-sla.d.ts.map +1 -1
- package/dist/helpers/support-sla.js +2 -3
- package/dist/helpers/support-sla.js.map +1 -1
- package/dist/helpers/support-sla.test.js +1 -3
- package/dist/helpers/support-sla.test.js.map +1 -1
- package/dist/helpers/vault/client-side.d.ts.map +1 -1
- package/dist/helpers/vault/client-side.js +2 -22
- package/dist/helpers/vault/client-side.js.map +1 -1
- package/dist/helpers/vault/server-side.js +2 -4
- package/dist/helpers/vault/server-side.js.map +1 -1
- package/dist/hooks/use-async-callback.d.ts.map +1 -1
- package/dist/hooks/use-async-callback.js +4 -5
- package/dist/hooks/use-async-callback.js.map +1 -1
- package/dist/hooks/use-async-external-store.d.ts +1 -1
- package/dist/hooks/use-async-external-store.d.ts.map +1 -1
- package/dist/hooks/use-async-external-store.js +2 -4
- package/dist/hooks/use-async-external-store.js.map +1 -1
- package/dist/hooks/use-hash.js +2 -4
- package/dist/hooks/use-hash.js.map +1 -1
- package/dist/hooks/use-hover.d.ts.map +1 -1
- package/dist/hooks/use-hover.js +2 -4
- package/dist/hooks/use-hover.js.map +1 -1
- package/dist/hooks/use-strict-memo.d.ts.map +1 -1
- package/dist/hooks/use-strict-memo.js +2 -72
- package/dist/hooks/use-strict-memo.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.js +27 -29
- package/dist/interface/admin-interface.d.ts +3 -379
- package/dist/interface/admin-interface.js +3 -5
- package/dist/interface/admin-interface.js.map +1 -1
- package/dist/interface/admin-metrics.d.ts +2 -807
- package/dist/interface/admin-metrics.js +2 -4
- package/dist/interface/admin-metrics.js.map +1 -1
- package/dist/interface/client-interface.d.ts +2 -447
- package/dist/interface/client-interface.js +33 -18
- package/dist/interface/client-interface.js.map +1 -1
- package/dist/interface/client-interface.test.js +83 -13
- package/dist/interface/client-interface.test.js.map +1 -1
- package/dist/interface/conversations.d.ts +8 -8
- package/dist/interface/conversations.d.ts.map +1 -1
- package/dist/interface/conversations.js +2 -4
- package/dist/interface/conversations.js.map +1 -1
- package/dist/interface/crud/analytics.d.ts +2 -14
- package/dist/interface/crud/connected-accounts.d.ts +2 -68
- package/dist/interface/crud/connected-accounts.js +2 -4
- package/dist/interface/crud/connected-accounts.js.map +1 -1
- package/dist/interface/crud/contact-channels.d.ts +2 -181
- package/dist/interface/crud/contact-channels.js +2 -4
- package/dist/interface/crud/contact-channels.js.map +1 -1
- package/dist/interface/crud/current-user.d.ts +2 -285
- package/dist/interface/crud/current-user.js +2 -4
- package/dist/interface/crud/current-user.js.map +1 -1
- package/dist/interface/crud/email-outbox.d.ts +2 -1465
- package/dist/interface/crud/email-outbox.js +4 -5
- package/dist/interface/crud/email-outbox.js.map +1 -1
- package/dist/interface/crud/email-templates.d.ts +15 -16
- package/dist/interface/crud/email-templates.d.ts.map +1 -1
- package/dist/interface/crud/email-templates.js +2 -4
- package/dist/interface/crud/email-templates.js.map +1 -1
- package/dist/interface/crud/emails.d.ts +2 -41
- package/dist/interface/crud/emails.js +4 -5
- package/dist/interface/crud/emails.js.map +1 -1
- package/dist/interface/crud/internal-api-keys.d.ts +2 -140
- package/dist/interface/crud/internal-api-keys.js +2 -4
- package/dist/interface/crud/internal-api-keys.js.map +1 -1
- package/dist/interface/crud/invoices.d.ts +2 -43
- package/dist/interface/crud/invoices.js +2 -4
- package/dist/interface/crud/invoices.js.map +1 -1
- package/dist/interface/crud/items.d.ts +2 -30
- package/dist/interface/crud/items.js +2 -4
- package/dist/interface/crud/items.js.map +1 -1
- package/dist/interface/crud/notification-preferences.d.ts +2 -38
- package/dist/interface/crud/notification-preferences.js +2 -4
- package/dist/interface/crud/notification-preferences.js.map +1 -1
- package/dist/interface/crud/oauth-providers.d.ts +2 -186
- package/dist/interface/crud/oauth-providers.js +2 -4
- package/dist/interface/crud/oauth-providers.js.map +1 -1
- package/dist/interface/crud/products.d.ts +2 -182
- package/dist/interface/crud/products.js +4 -4
- package/dist/interface/crud/products.js.map +1 -1
- package/dist/interface/crud/project-api-keys.d.ts +2 -203
- package/dist/interface/crud/project-api-keys.js +2 -4
- package/dist/interface/crud/project-api-keys.js.map +1 -1
- package/dist/interface/crud/project-permissions.d.ts +2 -161
- package/dist/interface/crud/project-permissions.js +4 -5
- package/dist/interface/crud/project-permissions.js.map +1 -1
- package/dist/interface/crud/projects.d.ts +2 -901
- package/dist/interface/crud/projects.js +6 -5
- package/dist/interface/crud/projects.js.map +1 -1
- package/dist/interface/crud/session-replays.d.ts +2 -83
- package/dist/interface/crud/sessions.d.ts +2 -150
- package/dist/interface/crud/sessions.js +2 -4
- package/dist/interface/crud/sessions.js.map +1 -1
- package/dist/interface/crud/sign-up-rules.d.ts.map +1 -1
- package/dist/interface/crud/svix-token.d.ts +2 -31
- package/dist/interface/crud/svix-token.js +2 -4
- package/dist/interface/crud/svix-token.js.map +1 -1
- package/dist/interface/crud/team-invitation-details.d.ts +5 -6
- package/dist/interface/crud/team-invitation-details.d.ts.map +1 -1
- package/dist/interface/crud/team-invitation-details.js +4 -5
- package/dist/interface/crud/team-invitation-details.js.map +1 -1
- package/dist/interface/crud/team-invitation.d.ts +2 -54
- package/dist/interface/crud/team-invitation.js +4 -5
- package/dist/interface/crud/team-invitation.js.map +1 -1
- package/dist/interface/crud/team-member-profiles.d.ts +2 -286
- package/dist/interface/crud/team-member-profiles.js +4 -5
- package/dist/interface/crud/team-member-profiles.js.map +1 -1
- package/dist/interface/crud/team-memberships.d.ts +2 -75
- package/dist/interface/crud/team-memberships.js +2 -4
- package/dist/interface/crud/team-memberships.js.map +1 -1
- package/dist/interface/crud/team-permissions.d.ts +2 -169
- package/dist/interface/crud/team-permissions.js +4 -5
- package/dist/interface/crud/team-permissions.js.map +1 -1
- package/dist/interface/crud/teams.d.ts +2 -299
- package/dist/interface/crud/teams.js +5 -7
- package/dist/interface/crud/teams.js.map +1 -1
- package/dist/interface/crud/transactions.d.ts +2 -183
- package/dist/interface/crud/transactions.js +2 -4
- package/dist/interface/crud/transactions.js.map +1 -1
- package/dist/interface/crud/users.d.ts +2 -653
- package/dist/interface/crud/users.js +12 -8
- package/dist/interface/crud/users.js.map +1 -1
- package/dist/interface/handler-urls.d.ts +2 -51
- package/dist/interface/handler-urls.js +12 -14
- package/dist/interface/page-component-versions.d.ts +2 -25
- package/dist/interface/page-component-versions.js +2 -4
- package/dist/interface/page-component-versions.js.map +1 -1
- package/dist/interface/plan-usage.d.ts +2 -57
- package/dist/interface/plan-usage.js +2 -4
- package/dist/interface/plan-usage.js.map +1 -1
- package/dist/interface/server-interface.d.ts +2 -257
- package/dist/interface/server-interface.js +3 -5
- package/dist/interface/server-interface.js.map +1 -1
- package/dist/interface/webhooks.d.ts +2 -326
- package/dist/interface/webhooks.js +2 -4
- package/dist/interface/webhooks.js.map +1 -1
- package/dist/internal-api-keys-D8IYDodH.d.ts +139 -0
- package/dist/internal-api-keys-D8IYDodH.d.ts.map +1 -0
- package/dist/invoices-CHo9YKbI.d.ts +43 -0
- package/dist/invoices-CHo9YKbI.d.ts.map +1 -0
- package/dist/items-DlLSlVUD.d.ts +29 -0
- package/dist/items-DlLSlVUD.d.ts.map +1 -0
- package/dist/json-a1QIXu5z.d.ts +15 -0
- package/dist/json-a1QIXu5z.d.ts.map +1 -0
- package/dist/known-errors-Bm4a61wL.d.ts +575 -0
- package/dist/known-errors-Bm4a61wL.d.ts.map +1 -0
- package/dist/known-errors.d.ts +2 -575
- package/dist/known-errors.js +11 -23
- package/dist/known-errors.js.map +1 -1
- package/dist/notification-preferences-Bmzr_EOY.d.ts +37 -0
- package/dist/notification-preferences-Bmzr_EOY.d.ts.map +1 -0
- package/dist/oauth-providers-BMkKSSlA.d.ts +185 -0
- package/dist/oauth-providers-BMkKSSlA.d.ts.map +1 -0
- package/dist/objects-DkCkeBWE.d.ts +59 -0
- package/dist/objects-DkCkeBWE.d.ts.map +1 -0
- package/dist/passkey-CKg87UH-.d.ts +2 -0
- package/dist/payments/payment-methods.d.ts.map +1 -1
- package/dist/payments/payment-methods.js +2 -3
- package/dist/payments/payment-methods.js.map +1 -1
- package/dist/payments/stripe-limits.d.ts.map +1 -1
- package/dist/payments/stripe-limits.js +2 -3
- package/dist/payments/stripe-limits.js.map +1 -1
- package/dist/plan-usage-DfDoj5K4.d.ts +57 -0
- package/dist/plan-usage-DfDoj5K4.d.ts.map +1 -0
- package/dist/plans.d.ts.map +1 -1
- package/dist/plans.js +2 -3
- package/dist/plans.js.map +1 -1
- package/dist/products-Bs74ld-v.d.ts +182 -0
- package/dist/products-Bs74ld-v.d.ts.map +1 -0
- package/dist/project-api-keys--7V5X_UW.d.ts +203 -0
- package/dist/project-api-keys--7V5X_UW.d.ts.map +1 -0
- package/dist/project-permissions-kdi675F-.d.ts +160 -0
- package/dist/project-permissions-kdi675F-.d.ts.map +1 -0
- package/dist/projects-CFTNXRfG.d.ts +900 -0
- package/dist/projects-CFTNXRfG.d.ts.map +1 -0
- package/dist/results-DP3BzoL6.d.ts +70 -0
- package/dist/results-DP3BzoL6.d.ts.map +1 -0
- package/dist/{chunk-BE-pF4vm.js → rolldown-runtime-D6vf50IK.js} +12 -18
- package/dist/schema-CJwkGkdf.d.ts +2328 -0
- package/dist/schema-CJwkGkdf.d.ts.map +1 -0
- package/dist/schema-fields-DqGQ4kF7.d.ts +517 -0
- package/dist/schema-fields-DqGQ4kF7.d.ts.map +1 -0
- package/dist/schema-fields.d.ts +3 -518
- package/dist/schema-fields.js +21 -82
- package/dist/schema-fields.js.map +1 -1
- package/dist/server-interface-CgpxsLT_.d.ts +257 -0
- package/dist/server-interface-CgpxsLT_.d.ts.map +1 -0
- package/dist/session-replays-CXqhDpZq.d.ts +83 -0
- package/dist/session-replays-CXqhDpZq.d.ts.map +1 -0
- package/dist/sessions-B7Ko2Ldr.d.ts +149 -0
- package/dist/sessions-B7Ko2Ldr.d.ts.map +1 -0
- package/dist/sessions-d8qtvBUB.d.ts +175 -0
- package/dist/sessions-d8qtvBUB.d.ts.map +1 -0
- package/dist/sessions.d.ts +2 -175
- package/dist/sessions.js +4 -5
- package/dist/sessions.js.map +1 -1
- package/dist/sessions.test.js +1 -3
- package/dist/sessions.test.js.map +1 -1
- package/dist/strings-DWgkUybS.d.ts +76 -0
- package/dist/strings-DWgkUybS.d.ts.map +1 -0
- package/dist/svix-token-BsMrLGvy.d.ts +30 -0
- package/dist/svix-token-BsMrLGvy.d.ts.map +1 -0
- package/dist/team-invitation-Cyqt9oWw.d.ts +53 -0
- package/dist/team-invitation-Cyqt9oWw.d.ts.map +1 -0
- package/dist/team-member-profiles-BoDEqx-0.d.ts +285 -0
- package/dist/team-member-profiles-BoDEqx-0.d.ts.map +1 -0
- package/dist/team-memberships-DZHk2A5b.d.ts +74 -0
- package/dist/team-memberships-DZHk2A5b.d.ts.map +1 -0
- package/dist/team-permissions-DqOpaOWh.d.ts +168 -0
- package/dist/team-permissions-DqOpaOWh.d.ts.map +1 -0
- package/dist/teams-CQMcBnjM.d.ts +298 -0
- package/dist/teams-CQMcBnjM.d.ts.map +1 -0
- package/dist/transactions-DhnbvGH5.d.ts +182 -0
- package/dist/transactions-DhnbvGH5.d.ts.map +1 -0
- package/dist/types-DfTcxNtM.d.ts +77 -0
- package/dist/types-DfTcxNtM.d.ts.map +1 -0
- package/dist/users-DHNRwoSz.d.ts +653 -0
- package/dist/users-DHNRwoSz.d.ts.map +1 -0
- package/dist/utils/analytics-clickmap-overlay.d.ts.map +1 -1
- package/dist/utils/analytics-clickmap-overlay.js +2 -3
- package/dist/utils/analytics-clickmap-overlay.js.map +1 -1
- package/dist/utils/api-keys.d.ts.map +1 -1
- package/dist/utils/api-keys.js +4 -5
- package/dist/utils/api-keys.js.map +1 -1
- package/dist/utils/arrays.d.ts.map +1 -1
- package/dist/utils/arrays.js +2 -472
- package/dist/utils/arrays.js.map +1 -1
- package/dist/utils/auth-methods.d.ts.map +1 -1
- package/dist/utils/auth-methods.js +2 -3
- package/dist/utils/auth-methods.js.map +1 -1
- package/dist/utils/base64.d.ts.map +1 -1
- package/dist/utils/base64.js +2 -12
- package/dist/utils/base64.js.map +1 -1
- package/dist/utils/booleans.d.ts.map +1 -1
- package/dist/utils/booleans.js +2 -27
- package/dist/utils/booleans.js.map +1 -1
- package/dist/utils/browser-compat.d.ts.map +1 -1
- package/dist/utils/browser-compat.js +2 -3
- package/dist/utils/browser-compat.js.map +1 -1
- package/dist/utils/bytes.d.ts.map +1 -1
- package/dist/utils/bytes.js +4 -200
- package/dist/utils/bytes.js.map +1 -1
- package/dist/utils/caches.d.ts.map +1 -1
- package/dist/utils/caches.js +2 -29
- package/dist/utils/caches.js.map +1 -1
- package/dist/utils/cel-fields.d.ts.map +1 -1
- package/dist/utils/cel-fields.js +2 -4
- package/dist/utils/cel-fields.js.map +1 -1
- package/dist/utils/cloud-hosts.d.ts.map +1 -1
- package/dist/utils/cloud-hosts.js +2 -29
- package/dist/utils/cloud-hosts.js.map +1 -1
- package/dist/utils/compile-time.d.ts.map +1 -1
- package/dist/utils/compile-time.js +2 -3
- package/dist/utils/compile-time.js.map +1 -1
- package/dist/utils/country-codes.d.ts +2 -11
- package/dist/utils/country-codes.js +2 -18
- package/dist/utils/country-codes.js.map +1 -1
- package/dist/utils/crypto.d.ts.map +1 -1
- package/dist/utils/crypto.js +4 -115
- package/dist/utils/crypto.js.map +1 -1
- package/dist/utils/currencies.d.ts +1 -1
- package/dist/utils/currencies.d.ts.map +1 -1
- package/dist/utils/currencies.js +3 -39
- package/dist/utils/currencies.js.map +1 -1
- package/dist/utils/currency-constants.d.ts +2 -45
- package/dist/utils/currency-constants.js +2 -3
- package/dist/utils/currency-constants.js.map +1 -1
- package/dist/utils/dates.d.ts +2 -23
- package/dist/utils/dates.js +2 -46
- package/dist/utils/dates.js.map +1 -1
- package/dist/utils/dev-env-state-path.d.ts.map +1 -1
- package/dist/utils/dev-env-state-path.js +2 -4
- package/dist/utils/dev-env-state-path.js.map +1 -1
- package/dist/utils/dev-tool.d.ts.map +1 -1
- package/dist/utils/dev-tool.js +2 -3
- package/dist/utils/dev-tool.js.map +1 -1
- package/dist/utils/dom.d.ts.map +1 -1
- package/dist/utils/dom.js +2 -3
- package/dist/utils/dom.js.map +1 -1
- package/dist/utils/elements-chain.d.ts.map +1 -1
- package/dist/utils/elements-chain.js +6 -52
- package/dist/utils/elements-chain.js.map +1 -1
- package/dist/utils/env.d.ts.map +1 -1
- package/dist/utils/env.js +2 -4
- package/dist/utils/env.js.map +1 -1
- package/dist/utils/env.test.js +1 -3
- package/dist/utils/env.test.js.map +1 -1
- package/dist/utils/errors.d.ts +2 -238
- package/dist/utils/errors.js +2 -4
- package/dist/utils/errors.js.map +1 -1
- package/dist/utils/esbuild.d.ts +1 -1
- package/dist/utils/esbuild.d.ts.map +1 -1
- package/dist/utils/esbuild.js +5 -6
- package/dist/utils/esbuild.js.map +1 -1
- package/dist/utils/featurebase.d.ts.map +1 -1
- package/dist/utils/featurebase.js +2 -4
- package/dist/utils/featurebase.js.map +1 -1
- package/dist/utils/fs.d.ts.map +1 -1
- package/dist/utils/fs.js +5 -6
- package/dist/utils/fs.js.map +1 -1
- package/dist/utils/functions.d.ts.map +1 -1
- package/dist/utils/functions.js +2 -26
- package/dist/utils/functions.js.map +1 -1
- package/dist/utils/geo.d.ts.map +1 -1
- package/dist/utils/geo.js +2 -4
- package/dist/utils/geo.js.map +1 -1
- package/dist/utils/globals.d.ts.map +1 -1
- package/dist/utils/globals.js +2 -3
- package/dist/utils/globals.js.map +1 -1
- package/dist/utils/hashes.d.ts.map +1 -1
- package/dist/utils/hashes.js +4 -5
- package/dist/utils/hashes.js.map +1 -1
- package/dist/utils/html.d.ts.map +1 -1
- package/dist/utils/html.js +2 -21
- package/dist/utils/html.js.map +1 -1
- package/dist/utils/http.d.ts.map +1 -1
- package/dist/utils/http.js +2 -21
- package/dist/utils/http.js.map +1 -1
- package/dist/utils/ips.d.ts.map +1 -1
- package/dist/utils/ips.js +4 -28
- package/dist/utils/ips.js.map +1 -1
- package/dist/utils/json.d.ts +2 -15
- package/dist/utils/json.js +2 -157
- package/dist/utils/json.js.map +1 -1
- package/dist/utils/jsx-editable-transpiler.d.ts.map +1 -1
- package/dist/utils/jsx-editable-transpiler.js +7 -8
- package/dist/utils/jsx-editable-transpiler.js.map +1 -1
- package/dist/utils/jsx-editable-transpiler.test.js +1 -3
- package/dist/utils/jsx-editable-transpiler.test.js.map +1 -1
- package/dist/utils/jwt.d.ts.map +1 -1
- package/dist/utils/jwt.js +6 -7
- package/dist/utils/jwt.js.map +1 -1
- package/dist/utils/locks.d.ts.map +1 -1
- package/dist/utils/locks.js +2 -4
- package/dist/utils/locks.js.map +1 -1
- package/dist/utils/maps.d.ts.map +1 -1
- package/dist/utils/maps.js +2 -113
- package/dist/utils/maps.js.map +1 -1
- package/dist/utils/math.d.ts.map +1 -1
- package/dist/utils/math.js +2 -13
- package/dist/utils/math.js.map +1 -1
- package/dist/utils/monkey-patch.d.ts.map +1 -1
- package/dist/utils/monkey-patch.js +3 -5
- package/dist/utils/monkey-patch.js.map +1 -1
- package/dist/utils/node-http.js +2 -4
- package/dist/utils/node-http.js.map +1 -1
- package/dist/utils/numbers.d.ts.map +1 -1
- package/dist/utils/numbers.js +2 -47
- package/dist/utils/numbers.js.map +1 -1
- package/dist/utils/oauth.d.ts.map +1 -1
- package/dist/utils/oauth.js +2 -3
- package/dist/utils/oauth.js.map +1 -1
- package/dist/utils/objects.d.ts +2 -59
- package/dist/utils/objects.js +2 -624
- package/dist/utils/objects.js.map +1 -1
- package/dist/utils/paginated-lists.d.ts.map +1 -1
- package/dist/utils/paginated-lists.js +2 -4
- package/dist/utils/paginated-lists.js.map +1 -1
- package/dist/utils/paginated-lists.test.js +1 -3
- package/dist/utils/paginated-lists.test.js.map +1 -1
- package/dist/utils/passkey.d.ts +2 -2
- package/dist/utils/promises.d.ts +1 -1
- package/dist/utils/promises.d.ts.map +1 -1
- package/dist/utils/promises.js +3 -163
- package/dist/utils/promises.js.map +1 -1
- package/dist/utils/proxies.d.ts.map +1 -1
- package/dist/utils/proxies.js +2 -39
- package/dist/utils/proxies.js.map +1 -1
- package/dist/utils/react.d.ts.map +1 -1
- package/dist/utils/react.js +4 -44
- package/dist/utils/react.js.map +1 -1
- package/dist/utils/redirect-urls.d.ts.map +1 -1
- package/dist/utils/redirect-urls.js +3 -94
- package/dist/utils/redirect-urls.js.map +1 -1
- package/dist/utils/regex.js +2 -3
- package/dist/utils/regex.js.map +1 -1
- package/dist/utils/results.d.ts +2 -70
- package/dist/utils/results.js +2 -215
- package/dist/utils/results.js.map +1 -1
- package/dist/utils/sentry.js +2 -3
- package/dist/utils/sentry.js.map +1 -1
- package/dist/utils/stores.d.ts +1 -1
- package/dist/utils/stores.d.ts.map +1 -1
- package/dist/utils/stores.js +2 -4
- package/dist/utils/stores.js.map +1 -1
- package/dist/utils/strings.d.ts +2 -76
- package/dist/utils/strings.js +2 -253
- package/dist/utils/strings.js.map +1 -1
- package/dist/utils/strings.nicify.test.js +1 -3
- package/dist/utils/strings.nicify.test.js.map +1 -1
- package/dist/utils/telemetry.d.ts.map +1 -1
- package/dist/utils/telemetry.js +2 -4
- package/dist/utils/telemetry.js.map +1 -1
- package/dist/utils/turnstile-browser.d.ts.map +1 -1
- package/dist/utils/turnstile-browser.js +2 -4
- package/dist/utils/turnstile-browser.js.map +1 -1
- package/dist/utils/turnstile-flow.d.ts.map +1 -1
- package/dist/utils/turnstile-flow.js +2 -4
- package/dist/utils/turnstile-flow.js.map +1 -1
- package/dist/utils/turnstile-flow.test.js +1 -3
- package/dist/utils/turnstile-flow.test.js.map +1 -1
- package/dist/utils/turnstile.d.ts.map +1 -1
- package/dist/utils/turnstile.js +2 -3
- package/dist/utils/turnstile.js.map +1 -1
- package/dist/utils/typed-arrays.js +2 -4
- package/dist/utils/typed-arrays.js.map +1 -1
- package/dist/utils/types.d.ts +2 -77
- package/dist/utils/types.js +2 -3
- package/dist/utils/types.js.map +1 -1
- package/dist/utils/unicode.d.ts.map +1 -1
- package/dist/utils/unicode.js +2 -15
- package/dist/utils/unicode.js.map +1 -1
- package/dist/utils/urls.d.ts.map +1 -1
- package/dist/utils/urls.js +2 -153
- package/dist/utils/urls.js.map +1 -1
- package/dist/utils/uuids.d.ts.map +1 -1
- package/dist/utils/uuids.js +3 -28
- package/dist/utils/uuids.js.map +1 -1
- package/dist/webhooks-8Ts1Clcb.d.ts +326 -0
- package/dist/webhooks-8Ts1Clcb.d.ts.map +1 -0
- package/package.json +2 -8
- package/src/interface/client-interface.test.ts +77 -12
- package/src/interface/client-interface.ts +9 -9
- package/dist/config/format.d.ts.map +0 -1
- package/dist/config/schema.d.ts.map +0 -1
- package/dist/crud.d.ts.map +0 -1
- package/dist/interface/admin-interface.d.ts.map +0 -1
- package/dist/interface/admin-metrics.d.ts.map +0 -1
- package/dist/interface/client-interface.d.ts.map +0 -1
- package/dist/interface/crud/analytics.d.ts.map +0 -1
- package/dist/interface/crud/connected-accounts.d.ts.map +0 -1
- package/dist/interface/crud/contact-channels.d.ts.map +0 -1
- package/dist/interface/crud/current-user.d.ts.map +0 -1
- package/dist/interface/crud/emails.d.ts.map +0 -1
- package/dist/interface/crud/internal-api-keys.d.ts.map +0 -1
- package/dist/interface/crud/invoices.d.ts.map +0 -1
- package/dist/interface/crud/items.d.ts.map +0 -1
- package/dist/interface/crud/notification-preferences.d.ts.map +0 -1
- package/dist/interface/crud/oauth-providers.d.ts.map +0 -1
- package/dist/interface/crud/products.d.ts.map +0 -1
- package/dist/interface/crud/project-api-keys.d.ts.map +0 -1
- package/dist/interface/crud/project-permissions.d.ts.map +0 -1
- package/dist/interface/crud/projects.d.ts.map +0 -1
- package/dist/interface/crud/session-replays.d.ts.map +0 -1
- package/dist/interface/crud/sessions.d.ts.map +0 -1
- package/dist/interface/crud/svix-token.d.ts.map +0 -1
- package/dist/interface/crud/team-invitation.d.ts.map +0 -1
- package/dist/interface/crud/team-member-profiles.d.ts.map +0 -1
- package/dist/interface/crud/team-memberships.d.ts.map +0 -1
- package/dist/interface/crud/team-permissions.d.ts.map +0 -1
- package/dist/interface/crud/teams.d.ts.map +0 -1
- package/dist/interface/crud/transactions.d.ts.map +0 -1
- package/dist/interface/crud/users.d.ts.map +0 -1
- package/dist/interface/handler-urls.d.ts.map +0 -1
- package/dist/interface/page-component-versions.d.ts.map +0 -1
- package/dist/interface/plan-usage.d.ts.map +0 -1
- package/dist/interface/server-interface.d.ts.map +0 -1
- package/dist/interface/webhooks.d.ts.map +0 -1
- package/dist/known-errors.d.ts.map +0 -1
- package/dist/schema-fields.d.ts.map +0 -1
- package/dist/sessions.d.ts.map +0 -1
- package/dist/utils/country-codes.d.ts.map +0 -1
- package/dist/utils/currency-constants.d.ts.map +0 -1
- package/dist/utils/dates.d.ts.map +0 -1
- package/dist/utils/errors.d.ts.map +0 -1
- package/dist/utils/json.d.ts.map +0 -1
- package/dist/utils/objects.d.ts.map +0 -1
- package/dist/utils/results.d.ts.map +0 -1
- package/dist/utils/strings.d.ts.map +0 -1
- package/dist/utils/types.d.ts.map +0 -1
package/dist/esm/utils/maps.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Result } from "./results.js";
|
|
2
|
-
|
|
3
2
|
//#region src/utils/maps.tsx
|
|
4
3
|
let _Symbol$toStringTag, _Symbol$toStringTag2, _Symbol$toStringTag3;
|
|
5
4
|
var WeakRefIfAvailable = class {
|
|
@@ -11,20 +10,6 @@ var WeakRefIfAvailable = class {
|
|
|
11
10
|
return this._ref.deref();
|
|
12
11
|
}
|
|
13
12
|
};
|
|
14
|
-
(void 0)?.test("WeakRefIfAvailable", ({ expect }) => {
|
|
15
|
-
const obj = {
|
|
16
|
-
id: 1,
|
|
17
|
-
name: "test"
|
|
18
|
-
};
|
|
19
|
-
expect(new WeakRefIfAvailable(obj).deref()).toBe(obj);
|
|
20
|
-
const obj2 = {
|
|
21
|
-
id: 2,
|
|
22
|
-
name: "test2"
|
|
23
|
-
};
|
|
24
|
-
const weakRef2 = new WeakRefIfAvailable(obj2);
|
|
25
|
-
expect(weakRef2.deref()).toBe(obj2);
|
|
26
|
-
expect(weakRef2.deref()).not.toBe(obj);
|
|
27
|
-
});
|
|
28
13
|
/**
|
|
29
14
|
* A WeakMap-like object that can be iterated over.
|
|
30
15
|
*
|
|
@@ -76,39 +61,6 @@ var IterableWeakMap = class {
|
|
|
76
61
|
}
|
|
77
62
|
}
|
|
78
63
|
};
|
|
79
|
-
(void 0)?.test("IterableWeakMap", ({ expect }) => {
|
|
80
|
-
const map = new IterableWeakMap();
|
|
81
|
-
const obj1 = { id: 1 };
|
|
82
|
-
const obj2 = { id: 2 };
|
|
83
|
-
map.set(obj1, "value1");
|
|
84
|
-
expect(map.get(obj1)).toBe("value1");
|
|
85
|
-
expect(map.has(obj1)).toBe(true);
|
|
86
|
-
expect(map.has(obj2)).toBe(false);
|
|
87
|
-
expect(map.has({ id: 1 })).toBe(false);
|
|
88
|
-
map.set(obj2, "value2");
|
|
89
|
-
expect(map.get(obj2)).toBe("value2");
|
|
90
|
-
expect(map.get(obj1)).toBe("value1");
|
|
91
|
-
expect(map.delete(obj1)).toBe(true);
|
|
92
|
-
expect(map.has(obj1)).toBe(false);
|
|
93
|
-
expect(map.get(obj1)).toBeUndefined();
|
|
94
|
-
expect(map.has(obj2)).toBe(true);
|
|
95
|
-
expect(map.delete({ id: 3 })).toBe(false);
|
|
96
|
-
const iterMap = new IterableWeakMap();
|
|
97
|
-
const iterObj1 = { id: 1 };
|
|
98
|
-
const iterObj2 = { id: 2 };
|
|
99
|
-
const iterObj3 = { id: 3 };
|
|
100
|
-
iterMap.set(iterObj1, 1);
|
|
101
|
-
iterMap.set(iterObj2, 2);
|
|
102
|
-
iterMap.set(iterObj3, 3);
|
|
103
|
-
const entries = Array.from(iterMap);
|
|
104
|
-
expect(entries.length).toBe(3);
|
|
105
|
-
const values = entries.map((entry) => entry[1]);
|
|
106
|
-
expect(values).toContain(1);
|
|
107
|
-
expect(values).toContain(2);
|
|
108
|
-
expect(values).toContain(3);
|
|
109
|
-
const mapWithEntries = new IterableWeakMap([[{ id: 4 }, "initial1"], [{ id: 5 }, "initial2"]]);
|
|
110
|
-
expect(Array.from(mapWithEntries).length).toBe(2);
|
|
111
|
-
});
|
|
112
64
|
/**
|
|
113
65
|
* A map that is a IterableWeakMap for object keys and a regular Map for primitive keys. Also provides iteration over both
|
|
114
66
|
* object and primitive keys.
|
|
@@ -150,35 +102,6 @@ var MaybeWeakMap = class {
|
|
|
150
102
|
yield* this._weakMap;
|
|
151
103
|
}
|
|
152
104
|
};
|
|
153
|
-
(void 0)?.test("MaybeWeakMap", ({ expect }) => {
|
|
154
|
-
const map = new MaybeWeakMap();
|
|
155
|
-
map.set("key1", 1);
|
|
156
|
-
map.set("key2", 2);
|
|
157
|
-
expect(map.get("key1")).toBe(1);
|
|
158
|
-
expect(map.get("key2")).toBe(2);
|
|
159
|
-
expect(map.has("key1")).toBe(true);
|
|
160
|
-
expect(map.has("nonexistent")).toBe(false);
|
|
161
|
-
const obj1 = { id: 1 };
|
|
162
|
-
const obj2 = { id: 2 };
|
|
163
|
-
map.set(obj1, 3);
|
|
164
|
-
map.set(obj2, 4);
|
|
165
|
-
expect(map.get(obj1)).toBe(3);
|
|
166
|
-
expect(map.get(obj2)).toBe(4);
|
|
167
|
-
expect(map.has(obj1)).toBe(true);
|
|
168
|
-
expect(map.delete("key1")).toBe(true);
|
|
169
|
-
expect(map.has("key1")).toBe(false);
|
|
170
|
-
expect(map.delete("nonexistent")).toBe(false);
|
|
171
|
-
expect(map.delete(obj1)).toBe(true);
|
|
172
|
-
expect(map.has(obj1)).toBe(false);
|
|
173
|
-
const entries = Array.from(map);
|
|
174
|
-
expect(entries.length).toBe(2);
|
|
175
|
-
expect(entries).toContainEqual(["key2", 2]);
|
|
176
|
-
expect(entries).toContainEqual([obj2, 4]);
|
|
177
|
-
const initialEntries = [["initial1", 10], [{ id: 3 }, 20]];
|
|
178
|
-
const mapWithEntries = new MaybeWeakMap(initialEntries);
|
|
179
|
-
expect(mapWithEntries.get("initial1")).toBe(10);
|
|
180
|
-
expect(mapWithEntries.get(initialEntries[1][0])).toBe(20);
|
|
181
|
-
});
|
|
182
105
|
/**
|
|
183
106
|
* A map that stores values indexed by an array of keys. If the keys are objects and the environment supports WeakRefs,
|
|
184
107
|
* they are stored in a WeakMap.
|
|
@@ -258,40 +181,7 @@ var DependenciesMap = class {
|
|
|
258
181
|
yield* this._iterateInner([], this._inner);
|
|
259
182
|
}
|
|
260
183
|
};
|
|
261
|
-
(void 0)?.test("DependenciesMap", ({ expect }) => {
|
|
262
|
-
const map = new DependenciesMap();
|
|
263
|
-
map.set(["key", 1], "value1");
|
|
264
|
-
expect(map.get(["key", 1])).toBe("value1");
|
|
265
|
-
expect(map.has(["key", 1])).toBe(true);
|
|
266
|
-
expect(map.has(["key", 2])).toBe(false);
|
|
267
|
-
map.set(["key", 2], "value2");
|
|
268
|
-
expect(map.get(["key", 2])).toBe("value2");
|
|
269
|
-
expect(map.get(["key", 1])).toBe("value1");
|
|
270
|
-
expect(map.delete(["key", 1])).toBe(true);
|
|
271
|
-
expect(map.has(["key", 1])).toBe(false);
|
|
272
|
-
expect(map.get(["key", 1])).toBeUndefined();
|
|
273
|
-
expect(map.has(["key", 2])).toBe(true);
|
|
274
|
-
expect(map.delete(["nonexistent", 1])).toBe(false);
|
|
275
|
-
map.clear();
|
|
276
|
-
expect(map.has(["key", 2])).toBe(false);
|
|
277
|
-
const objMap = new DependenciesMap();
|
|
278
|
-
const obj1 = { id: 1 };
|
|
279
|
-
const obj2 = { id: 2 };
|
|
280
|
-
objMap.set([obj1, 1], "object1");
|
|
281
|
-
objMap.set([obj2, 2], "object2");
|
|
282
|
-
expect(objMap.get([obj1, 1])).toBe("object1");
|
|
283
|
-
expect(objMap.get([obj2, 2])).toBe("object2");
|
|
284
|
-
const iterMap = new DependenciesMap();
|
|
285
|
-
iterMap.set(["a"], 1);
|
|
286
|
-
iterMap.set(["b"], 2);
|
|
287
|
-
iterMap.set(["c"], 3);
|
|
288
|
-
const entries = Array.from(iterMap);
|
|
289
|
-
expect(entries.length).toBe(3);
|
|
290
|
-
expect(entries).toContainEqual([["a"], 1]);
|
|
291
|
-
expect(entries).toContainEqual([["b"], 2]);
|
|
292
|
-
expect(entries).toContainEqual([["c"], 3]);
|
|
293
|
-
});
|
|
294
|
-
|
|
295
184
|
//#endregion
|
|
296
185
|
export { DependenciesMap, IterableWeakMap, MaybeWeakMap, WeakRefIfAvailable };
|
|
186
|
+
|
|
297
187
|
//# sourceMappingURL=maps.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maps.js","names":[],"sources":["../../../src/utils/maps.tsx"],"sourcesContent":["import { Result } from \"./results\";\n\nexport class WeakRefIfAvailable<T extends object> {\n private readonly _ref: { deref: () => T | undefined };\n\n constructor(value: T) {\n if (typeof WeakRef === \"undefined\") {\n this._ref = { deref: () => value };\n } else {\n this._ref = new WeakRef<T>(value);\n }\n }\n\n deref(): T | undefined {\n return this._ref.deref();\n }\n}\nimport.meta.vitest?.test(\"WeakRefIfAvailable\", ({ expect }) => {\n // Test with an object\n const obj = { id: 1, name: \"test\" };\n const weakRef = new WeakRefIfAvailable(obj);\n\n // Test deref returns the original object\n expect(weakRef.deref()).toBe(obj);\n\n // Test with a different object\n const obj2 = { id: 2, name: \"test2\" };\n const weakRef2 = new WeakRefIfAvailable(obj2);\n expect(weakRef2.deref()).toBe(obj2);\n expect(weakRef2.deref()).not.toBe(obj);\n\n // We can't easily test garbage collection in this environment,\n // but we can verify the basic functionality works\n});\n\n\n/**\n * A WeakMap-like object that can be iterated over.\n *\n * Note that it relies on WeakRef, and always falls back to the regular Map behavior (ie. no GC) in browsers that don't support it.\n */\nexport class IterableWeakMap<K extends object, V> {\n private readonly _weakMap: WeakMap<K & WeakKey, { value: V, keyRef: WeakRefIfAvailable<K & WeakKey> }>;\n private readonly _keyRefs: Set<WeakRefIfAvailable<K & WeakKey>>;\n\n constructor(entries?: readonly (readonly [K, V])[] | null) {\n const mappedEntries = entries?.map((e) => [e[0], { value: e[1], keyRef: new WeakRefIfAvailable(e[0]) }] as const);\n this._weakMap = new WeakMap(mappedEntries ?? []);\n this._keyRefs = new Set(mappedEntries?.map((e) => e[1].keyRef) ?? []);\n }\n\n get(key: K): V | undefined {\n return this._weakMap.get(key)?.value;\n }\n\n set(key: K, value: V): this {\n const existing = this._weakMap.get(key);\n const updated = { value, keyRef: existing?.keyRef ?? new WeakRefIfAvailable(key) };\n this._weakMap.set(key, updated);\n this._keyRefs.add(updated.keyRef);\n return this;\n }\n\n delete(key: K): boolean {\n const res = this._weakMap.get(key);\n if (res) {\n this._weakMap.delete(key);\n this._keyRefs.delete(res.keyRef);\n return true;\n }\n return false;\n }\n\n has(key: K): boolean {\n return this._weakMap.has(key) && this._keyRefs.has(this._weakMap.get(key)!.keyRef);\n }\n\n *[Symbol.iterator](): IterableIterator<[K, V]> {\n for (const keyRef of this._keyRefs) {\n const key = keyRef.deref();\n const existing = key ? this._weakMap.get(key) : undefined;\n if (!key) {\n // This can happen if the key was GCed. Remove it so the next iteration is faster.\n this._keyRefs.delete(keyRef);\n } else if (existing) {\n yield [key, existing.value];\n }\n }\n }\n\n [Symbol.toStringTag] = \"IterableWeakMap\";\n}\nimport.meta.vitest?.test(\"IterableWeakMap\", ({ expect }) => {\n // Test basic functionality\n const map = new IterableWeakMap<{ id: number }, string>();\n\n // Create object keys\n const obj1 = { id: 1 };\n const obj2 = { id: 2 };\n\n // Test set and get\n map.set(obj1, \"value1\");\n expect(map.get(obj1)).toBe(\"value1\");\n\n // Test has\n expect(map.has(obj1)).toBe(true);\n expect(map.has(obj2)).toBe(false);\n expect(map.has({ id: 1 })).toBe(false); // Different object with same content\n\n // Test with multiple keys\n map.set(obj2, \"value2\");\n expect(map.get(obj2)).toBe(\"value2\");\n expect(map.get(obj1)).toBe(\"value1\"); // Original still exists\n\n // Test delete\n expect(map.delete(obj1)).toBe(true);\n expect(map.has(obj1)).toBe(false);\n expect(map.get(obj1)).toBeUndefined();\n expect(map.has(obj2)).toBe(true); // Other key still exists\n\n // Test delete non-existent key\n expect(map.delete({ id: 3 })).toBe(false);\n\n // Test iteration\n const iterMap = new IterableWeakMap<{ id: number }, number>();\n const iterObj1 = { id: 1 };\n const iterObj2 = { id: 2 };\n const iterObj3 = { id: 3 };\n\n iterMap.set(iterObj1, 1);\n iterMap.set(iterObj2, 2);\n iterMap.set(iterObj3, 3);\n\n const entries = Array.from(iterMap);\n expect(entries.length).toBe(3);\n\n // Find entries by their values since we can't directly compare objects in the array\n const values = entries.map(entry => entry[1]);\n expect(values).toContain(1);\n expect(values).toContain(2);\n expect(values).toContain(3);\n\n // Test constructor with entries\n const initialEntries: [{ id: number }, string][] = [\n [{ id: 4 }, \"initial1\"],\n [{ id: 5 }, \"initial2\"]\n ];\n const mapWithEntries = new IterableWeakMap(initialEntries);\n\n // We can't directly access the initial entries since they're different object references\n // But we can verify the map has the correct number of entries\n const entriesFromConstructor = Array.from(mapWithEntries);\n expect(entriesFromConstructor.length).toBe(2);\n});\n\n/**\n * A map that is a IterableWeakMap for object keys and a regular Map for primitive keys. Also provides iteration over both\n * object and primitive keys.\n *\n * Note that, just like IterableWeakMap, older browsers without support for WeakRef will use a regular Map for object keys.\n */\nexport class MaybeWeakMap<K, V> {\n private readonly _primitiveMap: Map<K, V>;\n private readonly _weakMap: IterableWeakMap<K & WeakKey, V>;\n\n constructor(entries?: readonly (readonly [K, V])[] | null) {\n const entriesArray = [...entries ?? []];\n this._primitiveMap = new Map(entriesArray.filter((e) => !this._isAllowedInWeakMap(e[0])));\n this._weakMap = new IterableWeakMap(entriesArray.filter((e): e is [K & WeakKey, V] => this._isAllowedInWeakMap(e[0])));\n }\n\n private _isAllowedInWeakMap(key: K): key is K & WeakKey {\n return (typeof key === \"object\" && key !== null) || (typeof key === \"symbol\" && Symbol.keyFor(key) === undefined);\n }\n\n get(key: K): V | undefined {\n if (this._isAllowedInWeakMap(key)) {\n return this._weakMap.get(key);\n } else {\n return this._primitiveMap.get(key);\n }\n }\n\n set(key: K, value: V): this {\n if (this._isAllowedInWeakMap(key)) {\n this._weakMap.set(key, value);\n } else {\n this._primitiveMap.set(key, value);\n }\n return this;\n }\n\n delete(key: K): boolean {\n if (this._isAllowedInWeakMap(key)) {\n return this._weakMap.delete(key);\n } else {\n return this._primitiveMap.delete(key);\n }\n }\n\n has(key: K): boolean {\n if (this._isAllowedInWeakMap(key)) {\n return this._weakMap.has(key);\n } else {\n return this._primitiveMap.has(key);\n }\n }\n\n *[Symbol.iterator](): IterableIterator<[K, V]> {\n yield* this._primitiveMap;\n yield* this._weakMap;\n }\n\n [Symbol.toStringTag] = \"MaybeWeakMap\";\n}\nimport.meta.vitest?.test(\"MaybeWeakMap\", ({ expect }) => {\n // Test with primitive keys\n const map = new MaybeWeakMap<string | object, number>();\n\n // Test with string keys\n map.set(\"key1\", 1);\n map.set(\"key2\", 2);\n expect(map.get(\"key1\")).toBe(1);\n expect(map.get(\"key2\")).toBe(2);\n expect(map.has(\"key1\")).toBe(true);\n expect(map.has(\"nonexistent\")).toBe(false);\n\n // Test with object keys\n const obj1 = { id: 1 };\n const obj2 = { id: 2 };\n map.set(obj1, 3);\n map.set(obj2, 4);\n expect(map.get(obj1)).toBe(3);\n expect(map.get(obj2)).toBe(4);\n expect(map.has(obj1)).toBe(true);\n\n // Test delete with primitive key\n expect(map.delete(\"key1\")).toBe(true);\n expect(map.has(\"key1\")).toBe(false);\n expect(map.delete(\"nonexistent\")).toBe(false);\n\n // Test delete with object key\n expect(map.delete(obj1)).toBe(true);\n expect(map.has(obj1)).toBe(false);\n\n // Test iteration\n const entries = Array.from(map);\n expect(entries.length).toBe(2);\n expect(entries).toContainEqual([\"key2\", 2]);\n expect(entries).toContainEqual([obj2, 4]);\n\n // Test constructor with entries\n const initialEntries: [string | object, number][] = [\n [\"initial1\", 10],\n [{ id: 3 }, 20]\n ];\n const mapWithEntries = new MaybeWeakMap(initialEntries);\n expect(mapWithEntries.get(\"initial1\")).toBe(10);\n expect(mapWithEntries.get(initialEntries[1][0])).toBe(20);\n});\n\n\ntype DependenciesMapInner<V> = (\n & { map: MaybeWeakMap<unknown, DependenciesMapInner<V>> }\n & (\n | { hasValue: true, value: V }\n | { hasValue: false, value: undefined }\n )\n);\n\n/**\n * A map that stores values indexed by an array of keys. If the keys are objects and the environment supports WeakRefs,\n * they are stored in a WeakMap.\n */\nexport class DependenciesMap<K extends any[], V> {\n private _inner: DependenciesMapInner<V> = { map: new MaybeWeakMap(), hasValue: false, value: undefined };\n\n private _valueToResult(inner: DependenciesMapInner<V>): Result<V, void> {\n if (inner.hasValue) {\n return Result.ok(inner.value);\n } else {\n return Result.error(undefined);\n }\n }\n\n\n private _unwrapFromInner(dependencies: any[], inner: DependenciesMapInner<V>): Result<V, void> {\n if ((dependencies.length === 0)) {\n return this._valueToResult(inner);\n } else {\n const [key, ...rest] = dependencies;\n const newInner = inner.map.get(key);\n if (!newInner) {\n return Result.error(undefined);\n }\n return this._unwrapFromInner(rest, newInner);\n }\n }\n\n private _setInInner(dependencies: any[], value: Result<V, void>, inner: DependenciesMapInner<V>): Result<V, void> {\n if (dependencies.length === 0) {\n const res = this._valueToResult(inner);\n if (value.status === \"ok\") {\n inner.hasValue = true;\n inner.value = value.data;\n } else {\n inner.hasValue = false;\n inner.value = undefined;\n }\n return res;\n } else {\n const [key, ...rest] = dependencies;\n let newInner = inner.map.get(key);\n if (!newInner) {\n inner.map.set(key, newInner = { map: new MaybeWeakMap(), hasValue: false, value: undefined });\n }\n return this._setInInner(rest, value, newInner);\n }\n }\n\n private *_iterateInner(dependencies: any[], inner: DependenciesMapInner<V>): IterableIterator<[K, V]> {\n if (inner.hasValue) {\n yield [dependencies as K, inner.value];\n }\n for (const [key, value] of inner.map) {\n yield* this._iterateInner([...dependencies, key], value);\n }\n }\n\n get(dependencies: K): V | undefined {\n return Result.or(this._unwrapFromInner(dependencies, this._inner), undefined);\n }\n\n set(dependencies: K, value: V): this {\n this._setInInner(dependencies, Result.ok(value), this._inner);\n return this;\n }\n\n delete(dependencies: K): boolean {\n return this._setInInner(dependencies, Result.error(undefined), this._inner).status === \"ok\";\n }\n\n has(dependencies: K): boolean {\n return this._unwrapFromInner(dependencies, this._inner).status === \"ok\";\n }\n\n clear(): void {\n this._inner = { map: new MaybeWeakMap(), hasValue: false, value: undefined };\n }\n\n *[Symbol.iterator](): IterableIterator<[K, V]> {\n yield* this._iterateInner([], this._inner);\n }\n\n [Symbol.toStringTag] = \"DependenciesMap\";\n}\nimport.meta.vitest?.test(\"DependenciesMap\", ({ expect }) => {\n // Test basic functionality\n const map = new DependenciesMap<[string, number], string>();\n\n // Test set and get\n map.set([\"key\", 1], \"value1\");\n expect(map.get([\"key\", 1])).toBe(\"value1\");\n\n // Test has\n expect(map.has([\"key\", 1])).toBe(true);\n expect(map.has([\"key\", 2])).toBe(false);\n\n // Test with different dependencies\n map.set([\"key\", 2], \"value2\");\n expect(map.get([\"key\", 2])).toBe(\"value2\");\n expect(map.get([\"key\", 1])).toBe(\"value1\"); // Original still exists\n\n // Test delete\n expect(map.delete([\"key\", 1])).toBe(true);\n expect(map.has([\"key\", 1])).toBe(false);\n expect(map.get([\"key\", 1])).toBeUndefined();\n expect(map.has([\"key\", 2])).toBe(true); // Other key still exists\n\n // Test delete non-existent key\n expect(map.delete([\"nonexistent\", 1])).toBe(false);\n\n // Test clear\n map.clear();\n expect(map.has([\"key\", 2])).toBe(false);\n\n // Test with object keys\n const objMap = new DependenciesMap<[object, number], string>();\n const obj1 = { id: 1 };\n const obj2 = { id: 2 };\n objMap.set([obj1, 1], \"object1\");\n objMap.set([obj2, 2], \"object2\");\n expect(objMap.get([obj1, 1])).toBe(\"object1\");\n expect(objMap.get([obj2, 2])).toBe(\"object2\");\n\n // Test iteration\n const iterMap = new DependenciesMap<[string], number>();\n iterMap.set([\"a\"], 1);\n iterMap.set([\"b\"], 2);\n iterMap.set([\"c\"], 3);\n\n const entries = Array.from(iterMap);\n expect(entries.length).toBe(3);\n expect(entries).toContainEqual([[\"a\"], 1]);\n expect(entries).toContainEqual([[\"b\"], 2]);\n expect(entries).toContainEqual([[\"c\"], 3]);\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"maps.js","names":[],"sources":["../../../src/utils/maps.tsx"],"sourcesContent":["import { Result } from \"./results\";\n\nexport class WeakRefIfAvailable<T extends object> {\n private readonly _ref: { deref: () => T | undefined };\n\n constructor(value: T) {\n if (typeof WeakRef === \"undefined\") {\n this._ref = { deref: () => value };\n } else {\n this._ref = new WeakRef<T>(value);\n }\n }\n\n deref(): T | undefined {\n return this._ref.deref();\n }\n}\nimport.meta.vitest?.test(\"WeakRefIfAvailable\", ({ expect }) => {\n // Test with an object\n const obj = { id: 1, name: \"test\" };\n const weakRef = new WeakRefIfAvailable(obj);\n\n // Test deref returns the original object\n expect(weakRef.deref()).toBe(obj);\n\n // Test with a different object\n const obj2 = { id: 2, name: \"test2\" };\n const weakRef2 = new WeakRefIfAvailable(obj2);\n expect(weakRef2.deref()).toBe(obj2);\n expect(weakRef2.deref()).not.toBe(obj);\n\n // We can't easily test garbage collection in this environment,\n // but we can verify the basic functionality works\n});\n\n\n/**\n * A WeakMap-like object that can be iterated over.\n *\n * Note that it relies on WeakRef, and always falls back to the regular Map behavior (ie. no GC) in browsers that don't support it.\n */\nexport class IterableWeakMap<K extends object, V> {\n private readonly _weakMap: WeakMap<K & WeakKey, { value: V, keyRef: WeakRefIfAvailable<K & WeakKey> }>;\n private readonly _keyRefs: Set<WeakRefIfAvailable<K & WeakKey>>;\n\n constructor(entries?: readonly (readonly [K, V])[] | null) {\n const mappedEntries = entries?.map((e) => [e[0], { value: e[1], keyRef: new WeakRefIfAvailable(e[0]) }] as const);\n this._weakMap = new WeakMap(mappedEntries ?? []);\n this._keyRefs = new Set(mappedEntries?.map((e) => e[1].keyRef) ?? []);\n }\n\n get(key: K): V | undefined {\n return this._weakMap.get(key)?.value;\n }\n\n set(key: K, value: V): this {\n const existing = this._weakMap.get(key);\n const updated = { value, keyRef: existing?.keyRef ?? new WeakRefIfAvailable(key) };\n this._weakMap.set(key, updated);\n this._keyRefs.add(updated.keyRef);\n return this;\n }\n\n delete(key: K): boolean {\n const res = this._weakMap.get(key);\n if (res) {\n this._weakMap.delete(key);\n this._keyRefs.delete(res.keyRef);\n return true;\n }\n return false;\n }\n\n has(key: K): boolean {\n return this._weakMap.has(key) && this._keyRefs.has(this._weakMap.get(key)!.keyRef);\n }\n\n *[Symbol.iterator](): IterableIterator<[K, V]> {\n for (const keyRef of this._keyRefs) {\n const key = keyRef.deref();\n const existing = key ? this._weakMap.get(key) : undefined;\n if (!key) {\n // This can happen if the key was GCed. Remove it so the next iteration is faster.\n this._keyRefs.delete(keyRef);\n } else if (existing) {\n yield [key, existing.value];\n }\n }\n }\n\n [Symbol.toStringTag] = \"IterableWeakMap\";\n}\nimport.meta.vitest?.test(\"IterableWeakMap\", ({ expect }) => {\n // Test basic functionality\n const map = new IterableWeakMap<{ id: number }, string>();\n\n // Create object keys\n const obj1 = { id: 1 };\n const obj2 = { id: 2 };\n\n // Test set and get\n map.set(obj1, \"value1\");\n expect(map.get(obj1)).toBe(\"value1\");\n\n // Test has\n expect(map.has(obj1)).toBe(true);\n expect(map.has(obj2)).toBe(false);\n expect(map.has({ id: 1 })).toBe(false); // Different object with same content\n\n // Test with multiple keys\n map.set(obj2, \"value2\");\n expect(map.get(obj2)).toBe(\"value2\");\n expect(map.get(obj1)).toBe(\"value1\"); // Original still exists\n\n // Test delete\n expect(map.delete(obj1)).toBe(true);\n expect(map.has(obj1)).toBe(false);\n expect(map.get(obj1)).toBeUndefined();\n expect(map.has(obj2)).toBe(true); // Other key still exists\n\n // Test delete non-existent key\n expect(map.delete({ id: 3 })).toBe(false);\n\n // Test iteration\n const iterMap = new IterableWeakMap<{ id: number }, number>();\n const iterObj1 = { id: 1 };\n const iterObj2 = { id: 2 };\n const iterObj3 = { id: 3 };\n\n iterMap.set(iterObj1, 1);\n iterMap.set(iterObj2, 2);\n iterMap.set(iterObj3, 3);\n\n const entries = Array.from(iterMap);\n expect(entries.length).toBe(3);\n\n // Find entries by their values since we can't directly compare objects in the array\n const values = entries.map(entry => entry[1]);\n expect(values).toContain(1);\n expect(values).toContain(2);\n expect(values).toContain(3);\n\n // Test constructor with entries\n const initialEntries: [{ id: number }, string][] = [\n [{ id: 4 }, \"initial1\"],\n [{ id: 5 }, \"initial2\"]\n ];\n const mapWithEntries = new IterableWeakMap(initialEntries);\n\n // We can't directly access the initial entries since they're different object references\n // But we can verify the map has the correct number of entries\n const entriesFromConstructor = Array.from(mapWithEntries);\n expect(entriesFromConstructor.length).toBe(2);\n});\n\n/**\n * A map that is a IterableWeakMap for object keys and a regular Map for primitive keys. Also provides iteration over both\n * object and primitive keys.\n *\n * Note that, just like IterableWeakMap, older browsers without support for WeakRef will use a regular Map for object keys.\n */\nexport class MaybeWeakMap<K, V> {\n private readonly _primitiveMap: Map<K, V>;\n private readonly _weakMap: IterableWeakMap<K & WeakKey, V>;\n\n constructor(entries?: readonly (readonly [K, V])[] | null) {\n const entriesArray = [...entries ?? []];\n this._primitiveMap = new Map(entriesArray.filter((e) => !this._isAllowedInWeakMap(e[0])));\n this._weakMap = new IterableWeakMap(entriesArray.filter((e): e is [K & WeakKey, V] => this._isAllowedInWeakMap(e[0])));\n }\n\n private _isAllowedInWeakMap(key: K): key is K & WeakKey {\n return (typeof key === \"object\" && key !== null) || (typeof key === \"symbol\" && Symbol.keyFor(key) === undefined);\n }\n\n get(key: K): V | undefined {\n if (this._isAllowedInWeakMap(key)) {\n return this._weakMap.get(key);\n } else {\n return this._primitiveMap.get(key);\n }\n }\n\n set(key: K, value: V): this {\n if (this._isAllowedInWeakMap(key)) {\n this._weakMap.set(key, value);\n } else {\n this._primitiveMap.set(key, value);\n }\n return this;\n }\n\n delete(key: K): boolean {\n if (this._isAllowedInWeakMap(key)) {\n return this._weakMap.delete(key);\n } else {\n return this._primitiveMap.delete(key);\n }\n }\n\n has(key: K): boolean {\n if (this._isAllowedInWeakMap(key)) {\n return this._weakMap.has(key);\n } else {\n return this._primitiveMap.has(key);\n }\n }\n\n *[Symbol.iterator](): IterableIterator<[K, V]> {\n yield* this._primitiveMap;\n yield* this._weakMap;\n }\n\n [Symbol.toStringTag] = \"MaybeWeakMap\";\n}\nimport.meta.vitest?.test(\"MaybeWeakMap\", ({ expect }) => {\n // Test with primitive keys\n const map = new MaybeWeakMap<string | object, number>();\n\n // Test with string keys\n map.set(\"key1\", 1);\n map.set(\"key2\", 2);\n expect(map.get(\"key1\")).toBe(1);\n expect(map.get(\"key2\")).toBe(2);\n expect(map.has(\"key1\")).toBe(true);\n expect(map.has(\"nonexistent\")).toBe(false);\n\n // Test with object keys\n const obj1 = { id: 1 };\n const obj2 = { id: 2 };\n map.set(obj1, 3);\n map.set(obj2, 4);\n expect(map.get(obj1)).toBe(3);\n expect(map.get(obj2)).toBe(4);\n expect(map.has(obj1)).toBe(true);\n\n // Test delete with primitive key\n expect(map.delete(\"key1\")).toBe(true);\n expect(map.has(\"key1\")).toBe(false);\n expect(map.delete(\"nonexistent\")).toBe(false);\n\n // Test delete with object key\n expect(map.delete(obj1)).toBe(true);\n expect(map.has(obj1)).toBe(false);\n\n // Test iteration\n const entries = Array.from(map);\n expect(entries.length).toBe(2);\n expect(entries).toContainEqual([\"key2\", 2]);\n expect(entries).toContainEqual([obj2, 4]);\n\n // Test constructor with entries\n const initialEntries: [string | object, number][] = [\n [\"initial1\", 10],\n [{ id: 3 }, 20]\n ];\n const mapWithEntries = new MaybeWeakMap(initialEntries);\n expect(mapWithEntries.get(\"initial1\")).toBe(10);\n expect(mapWithEntries.get(initialEntries[1][0])).toBe(20);\n});\n\n\ntype DependenciesMapInner<V> = (\n & { map: MaybeWeakMap<unknown, DependenciesMapInner<V>> }\n & (\n | { hasValue: true, value: V }\n | { hasValue: false, value: undefined }\n )\n);\n\n/**\n * A map that stores values indexed by an array of keys. If the keys are objects and the environment supports WeakRefs,\n * they are stored in a WeakMap.\n */\nexport class DependenciesMap<K extends any[], V> {\n private _inner: DependenciesMapInner<V> = { map: new MaybeWeakMap(), hasValue: false, value: undefined };\n\n private _valueToResult(inner: DependenciesMapInner<V>): Result<V, void> {\n if (inner.hasValue) {\n return Result.ok(inner.value);\n } else {\n return Result.error(undefined);\n }\n }\n\n\n private _unwrapFromInner(dependencies: any[], inner: DependenciesMapInner<V>): Result<V, void> {\n if ((dependencies.length === 0)) {\n return this._valueToResult(inner);\n } else {\n const [key, ...rest] = dependencies;\n const newInner = inner.map.get(key);\n if (!newInner) {\n return Result.error(undefined);\n }\n return this._unwrapFromInner(rest, newInner);\n }\n }\n\n private _setInInner(dependencies: any[], value: Result<V, void>, inner: DependenciesMapInner<V>): Result<V, void> {\n if (dependencies.length === 0) {\n const res = this._valueToResult(inner);\n if (value.status === \"ok\") {\n inner.hasValue = true;\n inner.value = value.data;\n } else {\n inner.hasValue = false;\n inner.value = undefined;\n }\n return res;\n } else {\n const [key, ...rest] = dependencies;\n let newInner = inner.map.get(key);\n if (!newInner) {\n inner.map.set(key, newInner = { map: new MaybeWeakMap(), hasValue: false, value: undefined });\n }\n return this._setInInner(rest, value, newInner);\n }\n }\n\n private *_iterateInner(dependencies: any[], inner: DependenciesMapInner<V>): IterableIterator<[K, V]> {\n if (inner.hasValue) {\n yield [dependencies as K, inner.value];\n }\n for (const [key, value] of inner.map) {\n yield* this._iterateInner([...dependencies, key], value);\n }\n }\n\n get(dependencies: K): V | undefined {\n return Result.or(this._unwrapFromInner(dependencies, this._inner), undefined);\n }\n\n set(dependencies: K, value: V): this {\n this._setInInner(dependencies, Result.ok(value), this._inner);\n return this;\n }\n\n delete(dependencies: K): boolean {\n return this._setInInner(dependencies, Result.error(undefined), this._inner).status === \"ok\";\n }\n\n has(dependencies: K): boolean {\n return this._unwrapFromInner(dependencies, this._inner).status === \"ok\";\n }\n\n clear(): void {\n this._inner = { map: new MaybeWeakMap(), hasValue: false, value: undefined };\n }\n\n *[Symbol.iterator](): IterableIterator<[K, V]> {\n yield* this._iterateInner([], this._inner);\n }\n\n [Symbol.toStringTag] = \"DependenciesMap\";\n}\nimport.meta.vitest?.test(\"DependenciesMap\", ({ expect }) => {\n // Test basic functionality\n const map = new DependenciesMap<[string, number], string>();\n\n // Test set and get\n map.set([\"key\", 1], \"value1\");\n expect(map.get([\"key\", 1])).toBe(\"value1\");\n\n // Test has\n expect(map.has([\"key\", 1])).toBe(true);\n expect(map.has([\"key\", 2])).toBe(false);\n\n // Test with different dependencies\n map.set([\"key\", 2], \"value2\");\n expect(map.get([\"key\", 2])).toBe(\"value2\");\n expect(map.get([\"key\", 1])).toBe(\"value1\"); // Original still exists\n\n // Test delete\n expect(map.delete([\"key\", 1])).toBe(true);\n expect(map.has([\"key\", 1])).toBe(false);\n expect(map.get([\"key\", 1])).toBeUndefined();\n expect(map.has([\"key\", 2])).toBe(true); // Other key still exists\n\n // Test delete non-existent key\n expect(map.delete([\"nonexistent\", 1])).toBe(false);\n\n // Test clear\n map.clear();\n expect(map.has([\"key\", 2])).toBe(false);\n\n // Test with object keys\n const objMap = new DependenciesMap<[object, number], string>();\n const obj1 = { id: 1 };\n const obj2 = { id: 2 };\n objMap.set([obj1, 1], \"object1\");\n objMap.set([obj2, 2], \"object2\");\n expect(objMap.get([obj1, 1])).toBe(\"object1\");\n expect(objMap.get([obj2, 2])).toBe(\"object2\");\n\n // Test iteration\n const iterMap = new DependenciesMap<[string], number>();\n iterMap.set([\"a\"], 1);\n iterMap.set([\"b\"], 2);\n iterMap.set([\"c\"], 3);\n\n const entries = Array.from(iterMap);\n expect(entries.length).toBe(3);\n expect(entries).toContainEqual([[\"a\"], 1]);\n expect(entries).toContainEqual([[\"b\"], 2]);\n expect(entries).toContainEqual([[\"c\"], 3]);\n});\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"math.d.ts","names":[],"sources":["../../../src/utils/math.tsx"],"mappings":";;AAGA;;iBAAgB,SAAA,CAAU,CAAA,UAAW,
|
|
1
|
+
{"version":3,"file":"math.d.ts","names":[],"sources":["../../../src/utils/math.tsx"],"mappings":";;AAGA;;iBAAgB,SAAA,CAAU,CAAA,UAAW,CAAS"}
|
package/dist/esm/utils/math.js
CHANGED
|
@@ -5,17 +5,7 @@
|
|
|
5
5
|
function remainder(n, d) {
|
|
6
6
|
return (n % d + Math.abs(d)) % d;
|
|
7
7
|
}
|
|
8
|
-
(void 0)?.test("remainder", ({ expect }) => {
|
|
9
|
-
expect(remainder(10, 3)).toBe(1);
|
|
10
|
-
expect(remainder(10, 5)).toBe(0);
|
|
11
|
-
expect(remainder(10, 7)).toBe(3);
|
|
12
|
-
expect(remainder(-10, 3)).toBe(2);
|
|
13
|
-
expect(remainder(-5, 2)).toBe(1);
|
|
14
|
-
expect(remainder(-7, 4)).toBe(1);
|
|
15
|
-
expect(remainder(10.5, 3)).toBeCloseTo(1.5);
|
|
16
|
-
expect(remainder(-10.5, 3)).toBeCloseTo(1.5);
|
|
17
|
-
});
|
|
18
|
-
|
|
19
8
|
//#endregion
|
|
20
9
|
export { remainder };
|
|
10
|
+
|
|
21
11
|
//# sourceMappingURL=math.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"math.js","names":[],"sources":["../../../src/utils/math.tsx"],"sourcesContent":["/**\n * Similar to the modulo operator, but always returns a positive number (even when the input is negative).\n */\nexport function remainder(n: number, d: number): number {\n return ((n % d) + Math.abs(d)) % d;\n}\nimport.meta.vitest?.test(\"remainder\", ({ expect }) => {\n expect(remainder(10, 3)).toBe(1);\n expect(remainder(10, 5)).toBe(0);\n expect(remainder(10, 7)).toBe(3);\n // Test with negative numbers\n expect(remainder(-10, 3)).toBe(2);\n expect(remainder(-5, 2)).toBe(1);\n expect(remainder(-7, 4)).toBe(1);\n // Test with decimal numbers\n expect(remainder(10.5, 3)).toBeCloseTo(1.5);\n expect(remainder(-10.5, 3)).toBeCloseTo(1.5);\n});\n"],"mappings":";;;;AAGA,SAAgB,UAAU,GAAW,GAAmB;
|
|
1
|
+
{"version":3,"file":"math.js","names":[],"sources":["../../../src/utils/math.tsx"],"sourcesContent":["/**\n * Similar to the modulo operator, but always returns a positive number (even when the input is negative).\n */\nexport function remainder(n: number, d: number): number {\n return ((n % d) + Math.abs(d)) % d;\n}\nimport.meta.vitest?.test(\"remainder\", ({ expect }) => {\n expect(remainder(10, 3)).toBe(1);\n expect(remainder(10, 5)).toBe(0);\n expect(remainder(10, 7)).toBe(3);\n // Test with negative numbers\n expect(remainder(-10, 3)).toBe(2);\n expect(remainder(-5, 2)).toBe(1);\n expect(remainder(-7, 4)).toBe(1);\n // Test with decimal numbers\n expect(remainder(10.5, 3)).toBeCloseTo(1.5);\n expect(remainder(-10.5, 3)).toBeCloseTo(1.5);\n});\n"],"mappings":";;;;AAGA,SAAgB,UAAU,GAAW,GAAmB;CACtD,QAAS,IAAI,IAAK,KAAK,IAAI,CAAC,KAAK;AACnC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monkey-patch.d.ts","names":[],"sources":["../../../src/utils/monkey-patch.tsx"],"mappings":";cAEa,mCAAA;AAAA,iBAEG,yBAAA,CAA0B,
|
|
1
|
+
{"version":3,"file":"monkey-patch.d.ts","names":[],"sources":["../../../src/utils/monkey-patch.tsx"],"mappings":";cAEa,mCAAA;AAAA,iBAEG,yBAAA,CAA0B,KAAc;AAAA,iBAQxC,iBAAA"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { createGlobal } from "./globals.js";
|
|
2
|
-
|
|
3
2
|
//#region src/utils/monkey-patch.tsx
|
|
4
3
|
const NO_SUSPENSE_BOUNDARY_ERROR_SENTINEL = "__stack-no-suspense-boundary-error__";
|
|
5
4
|
function isNoSuspenseBoundaryError(value) {
|
|
6
|
-
return typeof value === "object" && value !== null && value.__noSuspenseBoundarySentinel ===
|
|
5
|
+
return typeof value === "object" && value !== null && value.__noSuspenseBoundarySentinel === "__stack-no-suspense-boundary-error__";
|
|
7
6
|
}
|
|
8
7
|
function ensureMonkeyPatch() {
|
|
9
8
|
createGlobal("__console-error-monkey-patch__", () => {
|
|
@@ -15,7 +14,7 @@ function ensureMonkeyPatch() {
|
|
|
15
14
|
return true;
|
|
16
15
|
});
|
|
17
16
|
}
|
|
18
|
-
|
|
19
17
|
//#endregion
|
|
20
18
|
export { NO_SUSPENSE_BOUNDARY_ERROR_SENTINEL, ensureMonkeyPatch, isNoSuspenseBoundaryError };
|
|
19
|
+
|
|
21
20
|
//# sourceMappingURL=monkey-patch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monkey-patch.js","names":[],"sources":["../../../src/utils/monkey-patch.tsx"],"sourcesContent":["import { createGlobal } from \"./globals\";\n\nexport const NO_SUSPENSE_BOUNDARY_ERROR_SENTINEL = \"__stack-no-suspense-boundary-error__\";\n\nexport function isNoSuspenseBoundaryError(value: unknown): boolean {\n return (\n typeof value === \"object\"\n && value !== null\n && (value as Record<string, unknown>).__noSuspenseBoundarySentinel === NO_SUSPENSE_BOUNDARY_ERROR_SENTINEL\n );\n}\n\nexport function ensureMonkeyPatch() {\n createGlobal(\"__console-error-monkey-patch__\", () => {\n const originalConsoleError = console.error;\n console.error = function (...args: unknown[]) {\n // React's default error handlers will log all errors to the console, even those that we intentionally use to suppress SSR.\n // Next.js among others override the default error handler and will not log SSR errors to the console.\n // However, vanilla React and other frameworks like TanStack Start use the default error handler.\n // Hence, we suppress the error here if it is a NoSuspenseBoundaryError.\n // It's very cursed, but it's really our best option. Talk to @konsti if you want to know more.\n if (args.length === 1 && isNoSuspenseBoundaryError(args[0])) {\n return;\n }\n return originalConsoleError.apply(this, args);\n };\n return true;\n });\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"monkey-patch.js","names":[],"sources":["../../../src/utils/monkey-patch.tsx"],"sourcesContent":["import { createGlobal } from \"./globals\";\n\nexport const NO_SUSPENSE_BOUNDARY_ERROR_SENTINEL = \"__stack-no-suspense-boundary-error__\";\n\nexport function isNoSuspenseBoundaryError(value: unknown): boolean {\n return (\n typeof value === \"object\"\n && value !== null\n && (value as Record<string, unknown>).__noSuspenseBoundarySentinel === NO_SUSPENSE_BOUNDARY_ERROR_SENTINEL\n );\n}\n\nexport function ensureMonkeyPatch() {\n createGlobal(\"__console-error-monkey-patch__\", () => {\n const originalConsoleError = console.error;\n console.error = function (...args: unknown[]) {\n // React's default error handlers will log all errors to the console, even those that we intentionally use to suppress SSR.\n // Next.js among others override the default error handler and will not log SSR errors to the console.\n // However, vanilla React and other frameworks like TanStack Start use the default error handler.\n // Hence, we suppress the error here if it is a NoSuspenseBoundaryError.\n // It's very cursed, but it's really our best option. Talk to @konsti if you want to know more.\n if (args.length === 1 && isNoSuspenseBoundaryError(args[0])) {\n return;\n }\n return originalConsoleError.apply(this, args);\n };\n return true;\n });\n}\n"],"mappings":";;AAEA,MAAa,sCAAsC;AAEnD,SAAgB,0BAA0B,OAAyB;CACjE,OACE,OAAO,UAAU,YACd,UAAU,QACT,MAAkC,iCAAA;AAE1C;AAEA,SAAgB,oBAAoB;CAClC,aAAa,wCAAwC;EACnD,MAAM,uBAAuB,QAAQ;EACrC,QAAQ,QAAQ,SAAU,GAAG,MAAiB;GAM5C,IAAI,KAAK,WAAW,KAAK,0BAA0B,KAAK,EAAE,GACxD;GAEF,OAAO,qBAAqB,MAAM,MAAM,IAAI;EAC9C;EACA,OAAO;CACT,CAAC;AACH"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { IncomingMessage, ServerResponse } from "http";
|
|
2
2
|
import { getRelativePart } from "./urls.js";
|
|
3
|
-
|
|
4
3
|
//#region src/utils/node-http.tsx
|
|
5
4
|
var ServerResponseWithBodyChunks = class extends ServerResponse {
|
|
6
5
|
constructor(..._args) {
|
|
@@ -32,7 +31,7 @@ async function createNodeHttpServerDuplex(options) {
|
|
|
32
31
|
incomingMessage.push(null);
|
|
33
32
|
return [incomingMessage, new ServerResponseWithBodyChunks(incomingMessage)];
|
|
34
33
|
}
|
|
35
|
-
|
|
36
34
|
//#endregion
|
|
37
35
|
export { createNodeHttpServerDuplex };
|
|
36
|
+
|
|
38
37
|
//# sourceMappingURL=node-http.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-http.js","names":[],"sources":["../../../src/utils/node-http.tsx"],"sourcesContent":["import { IncomingMessage, ServerResponse } from \"http\";\nimport { getRelativePart } from \"./urls\";\n\nclass ServerResponseWithBodyChunks extends ServerResponse {\n bodyChunks: Uint8Array[] = [];\n\n // note: we actually override this, even though it's private in the parent\n _send(data: string, encoding: BufferEncoding, callback?: (() => void) | null, byteLength?: number) {\n if (typeof encoding === \"function\") {\n callback = encoding;\n encoding = \"utf-8\";\n }\n const encodedBuffer = new Uint8Array(Buffer.from(data, encoding));\n this.bodyChunks.push(encodedBuffer);\n callback?.();\n }\n}\n\nexport async function createNodeHttpServerDuplex(options: {\n method: string,\n originalUrl?: URL,\n url: URL,\n headers: Headers,\n body: Uint8Array,\n}): Promise<[IncomingMessage, ServerResponseWithBodyChunks]> {\n // See https://github.com/nodejs/node/blob/main/lib/_http_incoming.js\n // and https://github.com/nodejs/node/blob/main/lib/_http_common.js (particularly the `parserXyz` functions)\n\n const incomingMessage = new IncomingMessage({\n encrypted: options.originalUrl?.protocol === \"https:\", // trick frameworks into believing this is an HTTPS request\n } as any);\n incomingMessage.httpVersionMajor = 1;\n incomingMessage.httpVersionMinor = 1;\n incomingMessage.httpVersion = '1.1';\n incomingMessage.method = options.method;\n incomingMessage.url = getRelativePart(options.url);\n (incomingMessage as any).originalUrl = options.originalUrl && getRelativePart(options.originalUrl); // originalUrl is an extension used by some servers; for example, oidc-provider reads it to construct the paths for the .well-known/openid-configuration\n const rawHeaders = [...options.headers.entries()].flat();\n (incomingMessage as any)._addHeaderLines(rawHeaders, rawHeaders.length);\n incomingMessage.push(Buffer.from(options.body));\n incomingMessage.complete = true;\n incomingMessage.push(null); // to emit end event, see: https://github.com/nodejs/node/blob/4cf6fabce20eb3050c5b543d249e931ea3d3cad5/lib/_http_common.js#L150\n\n const serverResponse = new ServerResponseWithBodyChunks(incomingMessage);\n\n return [incomingMessage, serverResponse];\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"node-http.js","names":[],"sources":["../../../src/utils/node-http.tsx"],"sourcesContent":["import { IncomingMessage, ServerResponse } from \"http\";\nimport { getRelativePart } from \"./urls\";\n\nclass ServerResponseWithBodyChunks extends ServerResponse {\n bodyChunks: Uint8Array[] = [];\n\n // note: we actually override this, even though it's private in the parent\n _send(data: string, encoding: BufferEncoding, callback?: (() => void) | null, byteLength?: number) {\n if (typeof encoding === \"function\") {\n callback = encoding;\n encoding = \"utf-8\";\n }\n const encodedBuffer = new Uint8Array(Buffer.from(data, encoding));\n this.bodyChunks.push(encodedBuffer);\n callback?.();\n }\n}\n\nexport async function createNodeHttpServerDuplex(options: {\n method: string,\n originalUrl?: URL,\n url: URL,\n headers: Headers,\n body: Uint8Array,\n}): Promise<[IncomingMessage, ServerResponseWithBodyChunks]> {\n // See https://github.com/nodejs/node/blob/main/lib/_http_incoming.js\n // and https://github.com/nodejs/node/blob/main/lib/_http_common.js (particularly the `parserXyz` functions)\n\n const incomingMessage = new IncomingMessage({\n encrypted: options.originalUrl?.protocol === \"https:\", // trick frameworks into believing this is an HTTPS request\n } as any);\n incomingMessage.httpVersionMajor = 1;\n incomingMessage.httpVersionMinor = 1;\n incomingMessage.httpVersion = '1.1';\n incomingMessage.method = options.method;\n incomingMessage.url = getRelativePart(options.url);\n (incomingMessage as any).originalUrl = options.originalUrl && getRelativePart(options.originalUrl); // originalUrl is an extension used by some servers; for example, oidc-provider reads it to construct the paths for the .well-known/openid-configuration\n const rawHeaders = [...options.headers.entries()].flat();\n (incomingMessage as any)._addHeaderLines(rawHeaders, rawHeaders.length);\n incomingMessage.push(Buffer.from(options.body));\n incomingMessage.complete = true;\n incomingMessage.push(null); // to emit end event, see: https://github.com/nodejs/node/blob/4cf6fabce20eb3050c5b543d249e931ea3d3cad5/lib/_http_common.js#L150\n\n const serverResponse = new ServerResponseWithBodyChunks(incomingMessage);\n\n return [incomingMessage, serverResponse];\n}\n"],"mappings":";;;AAGA,IAAM,+BAAN,cAA2C,eAAe;;;oBAC7B,CAAC;;CAG5B,MAAM,MAAc,UAA0B,UAAgC,YAAqB;EACjG,IAAI,OAAO,aAAa,YAAY;GAClC,WAAW;GACX,WAAW;EACb;EACA,MAAM,gBAAgB,IAAI,WAAW,OAAO,KAAK,MAAM,QAAQ,CAAC;EAChE,KAAK,WAAW,KAAK,aAAa;EAClC,WAAW;CACb;AACF;AAEA,eAAsB,2BAA2B,SAMY;CAI3D,MAAM,kBAAkB,IAAI,gBAAgB,EAC1C,WAAW,QAAQ,aAAa,aAAa,SAC/C,CAAQ;CACR,gBAAgB,mBAAmB;CACnC,gBAAgB,mBAAmB;CACnC,gBAAgB,cAAc;CAC9B,gBAAgB,SAAS,QAAQ;CACjC,gBAAgB,MAAM,gBAAgB,QAAQ,GAAG;CACjD,gBAAyB,cAAc,QAAQ,eAAe,gBAAgB,QAAQ,WAAW;CACjG,MAAM,aAAa,CAAC,GAAG,QAAQ,QAAQ,QAAQ,CAAC,CAAC,CAAC,KAAK;CACvD,gBAAyB,gBAAgB,YAAY,WAAW,MAAM;CACtE,gBAAgB,KAAK,OAAO,KAAK,QAAQ,IAAI,CAAC;CAC9C,gBAAgB,WAAW;CAC3B,gBAAgB,KAAK,IAAI;CAIzB,OAAO,CAAC,iBAAiB,IAFE,6BAA6B,eAElB,CAAC;AACzC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"numbers.d.ts","names":[],"sources":["../../../src/utils/numbers.tsx"],"mappings":";iBAQgB,yBAAA,CAA0B,
|
|
1
|
+
{"version":3,"file":"numbers.d.ts","names":[],"sources":["../../../src/utils/numbers.tsx"],"mappings":";iBAQgB,yBAAA,CAA0B,GAAW;AAAA,iBAgDrC,UAAA,CAAW,GAAA,UAAa,WAAmB;AAAA,iBAa3C,aAAA,CAAc,CAAA,UAAW,CAAS"}
|
|
@@ -19,57 +19,13 @@ function prettyPrintWithMagnitudes(num) {
|
|
|
19
19
|
} else break;
|
|
20
20
|
return current + lastSuffix;
|
|
21
21
|
}
|
|
22
|
-
(void 0)?.test("prettyPrintWithMagnitudes", ({ expect }) => {
|
|
23
|
-
expect(prettyPrintWithMagnitudes(999)).toBe("999");
|
|
24
|
-
expect(prettyPrintWithMagnitudes(1e3)).toBe("1k");
|
|
25
|
-
expect(prettyPrintWithMagnitudes(1500)).toBe("1.5k");
|
|
26
|
-
expect(prettyPrintWithMagnitudes(999499)).toBe("999.5k");
|
|
27
|
-
expect(prettyPrintWithMagnitudes(999500)).toBe("999.5k");
|
|
28
|
-
expect(prettyPrintWithMagnitudes(999949)).toBe("999.9k");
|
|
29
|
-
expect(prettyPrintWithMagnitudes(999950)).toBe("1M");
|
|
30
|
-
expect(prettyPrintWithMagnitudes(1e6)).toBe("1M");
|
|
31
|
-
expect(prettyPrintWithMagnitudes(15e5)).toBe("1.5M");
|
|
32
|
-
expect(prettyPrintWithMagnitudes(1e9)).toBe("1bn");
|
|
33
|
-
expect(prettyPrintWithMagnitudes(15e8)).toBe("1.5bn");
|
|
34
|
-
expect(prettyPrintWithMagnitudes(0xe8d4a51000)).toBe("1bln");
|
|
35
|
-
expect(prettyPrintWithMagnitudes(15e11)).toBe("1.5bln");
|
|
36
|
-
expect(prettyPrintWithMagnitudes(0x38d7ea4c68000)).toBe("1trln");
|
|
37
|
-
expect(prettyPrintWithMagnitudes(0x5543df729c000)).toBe("1.5trln");
|
|
38
|
-
expect(prettyPrintWithMagnitudes(100)).toBe("100");
|
|
39
|
-
expect(prettyPrintWithMagnitudes(0)).toBe("0");
|
|
40
|
-
expect(prettyPrintWithMagnitudes(.5)).toBe("0.5");
|
|
41
|
-
expect(prettyPrintWithMagnitudes(-1e3)).toBe("-1k");
|
|
42
|
-
expect(prettyPrintWithMagnitudes(-15e5)).toBe("-1.5M");
|
|
43
|
-
expect(prettyPrintWithMagnitudes(NaN)).toBe("NaN");
|
|
44
|
-
expect(prettyPrintWithMagnitudes(Infinity)).toBe("∞");
|
|
45
|
-
expect(prettyPrintWithMagnitudes(-Infinity)).toBe("-∞");
|
|
46
|
-
});
|
|
47
22
|
function toFixedMax(num, maxDecimals) {
|
|
48
23
|
return num.toFixed(maxDecimals).replace(/\.?0+$/, "");
|
|
49
24
|
}
|
|
50
|
-
(void 0)?.test("toFixedMax", ({ expect }) => {
|
|
51
|
-
expect(toFixedMax(1, 2)).toBe("1");
|
|
52
|
-
expect(toFixedMax(1.2, 2)).toBe("1.2");
|
|
53
|
-
expect(toFixedMax(1.23, 2)).toBe("1.23");
|
|
54
|
-
expect(toFixedMax(1.234, 2)).toBe("1.23");
|
|
55
|
-
expect(toFixedMax(1, 2)).toBe("1");
|
|
56
|
-
expect(toFixedMax(1.2, 2)).toBe("1.2");
|
|
57
|
-
expect(toFixedMax(0, 2)).toBe("0");
|
|
58
|
-
});
|
|
59
25
|
function numberCompare(a, b) {
|
|
60
26
|
return Math.sign(a - b);
|
|
61
27
|
}
|
|
62
|
-
(void 0)?.test("numberCompare", ({ expect }) => {
|
|
63
|
-
expect(numberCompare(1, 2)).toBe(-1);
|
|
64
|
-
expect(numberCompare(2, 1)).toBe(1);
|
|
65
|
-
expect(numberCompare(1, 1)).toBe(0);
|
|
66
|
-
expect(numberCompare(0, 0)).toBe(0);
|
|
67
|
-
expect(numberCompare(-1, -2)).toBe(1);
|
|
68
|
-
expect(numberCompare(-2, -1)).toBe(-1);
|
|
69
|
-
expect(numberCompare(-1, 1)).toBe(-1);
|
|
70
|
-
expect(numberCompare(1, -1)).toBe(1);
|
|
71
|
-
});
|
|
72
|
-
|
|
73
28
|
//#endregion
|
|
74
29
|
export { numberCompare, prettyPrintWithMagnitudes, toFixedMax };
|
|
30
|
+
|
|
75
31
|
//# sourceMappingURL=numbers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"numbers.js","names":[],"sources":["../../../src/utils/numbers.tsx"],"sourcesContent":["const magnitudes = [\n [1_000, \"k\"],\n [1_000, \"M\"],\n [1_000, \"bn\"],\n [1_000, \"bln\"],\n [1_000, \"trln\"],\n] as const;\n\nexport function prettyPrintWithMagnitudes(num: number): string {\n if (typeof num !== \"number\") throw new Error(\"Expected a number\");\n if (Number.isNaN(num)) return \"NaN\";\n if (num < 0) return \"-\" + prettyPrintWithMagnitudes(-num);\n if (!Number.isFinite(num)) return \"∞\";\n\n let current = toFixedMax(num, 1);\n let lastSuffix = \"\";\n for (const [difference, suffix] of magnitudes) {\n if (+current >= difference) {\n current = toFixedMax(+current / difference, 1);\n lastSuffix = suffix;\n } else {\n break;\n }\n }\n return current + lastSuffix;\n}\nimport.meta.vitest?.test(\"prettyPrintWithMagnitudes\", ({ expect }) => {\n // Test different magnitudes\n expect(prettyPrintWithMagnitudes(999)).toBe(\"999\");\n expect(prettyPrintWithMagnitudes(1000)).toBe(\"1k\");\n expect(prettyPrintWithMagnitudes(1500)).toBe(\"1.5k\");\n expect(prettyPrintWithMagnitudes(999499)).toBe(\"999.5k\");\n expect(prettyPrintWithMagnitudes(999500)).toBe(\"999.5k\");\n expect(prettyPrintWithMagnitudes(999949)).toBe(\"999.9k\");\n expect(prettyPrintWithMagnitudes(999950)).toBe(\"1M\");\n expect(prettyPrintWithMagnitudes(1000000)).toBe(\"1M\");\n expect(prettyPrintWithMagnitudes(1500000)).toBe(\"1.5M\");\n expect(prettyPrintWithMagnitudes(1000000000)).toBe(\"1bn\");\n expect(prettyPrintWithMagnitudes(1500000000)).toBe(\"1.5bn\");\n expect(prettyPrintWithMagnitudes(1000000000000)).toBe(\"1bln\");\n expect(prettyPrintWithMagnitudes(1500000000000)).toBe(\"1.5bln\");\n expect(prettyPrintWithMagnitudes(1000000000000000)).toBe(\"1trln\");\n expect(prettyPrintWithMagnitudes(1500000000000000)).toBe(\"1.5trln\");\n // Test small numbers\n expect(prettyPrintWithMagnitudes(100)).toBe(\"100\");\n expect(prettyPrintWithMagnitudes(0)).toBe(\"0\");\n expect(prettyPrintWithMagnitudes(0.5)).toBe(\"0.5\");\n // Test negative numbers\n expect(prettyPrintWithMagnitudes(-1000)).toBe(\"-1k\");\n expect(prettyPrintWithMagnitudes(-1500000)).toBe(\"-1.5M\");\n // Test special cases\n expect(prettyPrintWithMagnitudes(NaN)).toBe(\"NaN\");\n expect(prettyPrintWithMagnitudes(Infinity)).toBe(\"∞\");\n expect(prettyPrintWithMagnitudes(-Infinity)).toBe(\"-∞\");\n});\n\nexport function toFixedMax(num: number, maxDecimals: number): string {\n return num.toFixed(maxDecimals).replace(/\\.?0+$/, \"\");\n}\nimport.meta.vitest?.test(\"toFixedMax\", ({ expect }) => {\n expect(toFixedMax(1, 2)).toBe(\"1\");\n expect(toFixedMax(1.2, 2)).toBe(\"1.2\");\n expect(toFixedMax(1.23, 2)).toBe(\"1.23\");\n expect(toFixedMax(1.234, 2)).toBe(\"1.23\");\n expect(toFixedMax(1.0, 2)).toBe(\"1\");\n expect(toFixedMax(1.20, 2)).toBe(\"1.2\");\n expect(toFixedMax(0, 2)).toBe(\"0\");\n});\n\nexport function numberCompare(a: number, b: number): number {\n return Math.sign(a - b);\n}\nimport.meta.vitest?.test(\"numberCompare\", ({ expect }) => {\n expect(numberCompare(1, 2)).toBe(-1);\n expect(numberCompare(2, 1)).toBe(1);\n expect(numberCompare(1, 1)).toBe(0);\n expect(numberCompare(0, 0)).toBe(0);\n expect(numberCompare(-1, -2)).toBe(1);\n expect(numberCompare(-2, -1)).toBe(-1);\n expect(numberCompare(-1, 1)).toBe(-1);\n expect(numberCompare(1, -1)).toBe(1);\n});\n"],"mappings":";AAAA,MAAM,aAAa;CACjB,CAAC,KAAO,
|
|
1
|
+
{"version":3,"file":"numbers.js","names":[],"sources":["../../../src/utils/numbers.tsx"],"sourcesContent":["const magnitudes = [\n [1_000, \"k\"],\n [1_000, \"M\"],\n [1_000, \"bn\"],\n [1_000, \"bln\"],\n [1_000, \"trln\"],\n] as const;\n\nexport function prettyPrintWithMagnitudes(num: number): string {\n if (typeof num !== \"number\") throw new Error(\"Expected a number\");\n if (Number.isNaN(num)) return \"NaN\";\n if (num < 0) return \"-\" + prettyPrintWithMagnitudes(-num);\n if (!Number.isFinite(num)) return \"∞\";\n\n let current = toFixedMax(num, 1);\n let lastSuffix = \"\";\n for (const [difference, suffix] of magnitudes) {\n if (+current >= difference) {\n current = toFixedMax(+current / difference, 1);\n lastSuffix = suffix;\n } else {\n break;\n }\n }\n return current + lastSuffix;\n}\nimport.meta.vitest?.test(\"prettyPrintWithMagnitudes\", ({ expect }) => {\n // Test different magnitudes\n expect(prettyPrintWithMagnitudes(999)).toBe(\"999\");\n expect(prettyPrintWithMagnitudes(1000)).toBe(\"1k\");\n expect(prettyPrintWithMagnitudes(1500)).toBe(\"1.5k\");\n expect(prettyPrintWithMagnitudes(999499)).toBe(\"999.5k\");\n expect(prettyPrintWithMagnitudes(999500)).toBe(\"999.5k\");\n expect(prettyPrintWithMagnitudes(999949)).toBe(\"999.9k\");\n expect(prettyPrintWithMagnitudes(999950)).toBe(\"1M\");\n expect(prettyPrintWithMagnitudes(1000000)).toBe(\"1M\");\n expect(prettyPrintWithMagnitudes(1500000)).toBe(\"1.5M\");\n expect(prettyPrintWithMagnitudes(1000000000)).toBe(\"1bn\");\n expect(prettyPrintWithMagnitudes(1500000000)).toBe(\"1.5bn\");\n expect(prettyPrintWithMagnitudes(1000000000000)).toBe(\"1bln\");\n expect(prettyPrintWithMagnitudes(1500000000000)).toBe(\"1.5bln\");\n expect(prettyPrintWithMagnitudes(1000000000000000)).toBe(\"1trln\");\n expect(prettyPrintWithMagnitudes(1500000000000000)).toBe(\"1.5trln\");\n // Test small numbers\n expect(prettyPrintWithMagnitudes(100)).toBe(\"100\");\n expect(prettyPrintWithMagnitudes(0)).toBe(\"0\");\n expect(prettyPrintWithMagnitudes(0.5)).toBe(\"0.5\");\n // Test negative numbers\n expect(prettyPrintWithMagnitudes(-1000)).toBe(\"-1k\");\n expect(prettyPrintWithMagnitudes(-1500000)).toBe(\"-1.5M\");\n // Test special cases\n expect(prettyPrintWithMagnitudes(NaN)).toBe(\"NaN\");\n expect(prettyPrintWithMagnitudes(Infinity)).toBe(\"∞\");\n expect(prettyPrintWithMagnitudes(-Infinity)).toBe(\"-∞\");\n});\n\nexport function toFixedMax(num: number, maxDecimals: number): string {\n return num.toFixed(maxDecimals).replace(/\\.?0+$/, \"\");\n}\nimport.meta.vitest?.test(\"toFixedMax\", ({ expect }) => {\n expect(toFixedMax(1, 2)).toBe(\"1\");\n expect(toFixedMax(1.2, 2)).toBe(\"1.2\");\n expect(toFixedMax(1.23, 2)).toBe(\"1.23\");\n expect(toFixedMax(1.234, 2)).toBe(\"1.23\");\n expect(toFixedMax(1.0, 2)).toBe(\"1\");\n expect(toFixedMax(1.20, 2)).toBe(\"1.2\");\n expect(toFixedMax(0, 2)).toBe(\"0\");\n});\n\nexport function numberCompare(a: number, b: number): number {\n return Math.sign(a - b);\n}\nimport.meta.vitest?.test(\"numberCompare\", ({ expect }) => {\n expect(numberCompare(1, 2)).toBe(-1);\n expect(numberCompare(2, 1)).toBe(1);\n expect(numberCompare(1, 1)).toBe(0);\n expect(numberCompare(0, 0)).toBe(0);\n expect(numberCompare(-1, -2)).toBe(1);\n expect(numberCompare(-2, -1)).toBe(-1);\n expect(numberCompare(-1, 1)).toBe(-1);\n expect(numberCompare(1, -1)).toBe(1);\n});\n"],"mappings":";AAAA,MAAM,aAAa;CACjB,CAAC,KAAO,GAAG;CACX,CAAC,KAAO,GAAG;CACX,CAAC,KAAO,IAAI;CACZ,CAAC,KAAO,KAAK;CACb,CAAC,KAAO,MAAM;AAChB;AAEA,SAAgB,0BAA0B,KAAqB;CAC7D,IAAI,OAAO,QAAQ,UAAU,MAAM,IAAI,MAAM,mBAAmB;CAChE,IAAI,OAAO,MAAM,GAAG,GAAG,OAAO;CAC9B,IAAI,MAAM,GAAG,OAAO,MAAM,0BAA0B,CAAC,GAAG;CACxD,IAAI,CAAC,OAAO,SAAS,GAAG,GAAG,OAAO;CAElC,IAAI,UAAU,WAAW,KAAK,CAAC;CAC/B,IAAI,aAAa;CACjB,KAAK,MAAM,CAAC,YAAY,WAAW,YACjC,IAAI,CAAC,WAAW,YAAY;EAC1B,UAAU,WAAW,CAAC,UAAU,YAAY,CAAC;EAC7C,aAAa;CACf,OACE;CAGJ,OAAO,UAAU;AACnB;AA+BA,SAAgB,WAAW,KAAa,aAA6B;CACnE,OAAO,IAAI,QAAQ,WAAW,CAAC,CAAC,QAAQ,UAAU,EAAE;AACtD;AAWA,SAAgB,cAAc,GAAW,GAAmB;CAC1D,OAAO,KAAK,KAAK,IAAI,CAAC;AACxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.d.ts","names":[],"sources":["../../../src/utils/oauth.tsx"],"mappings":";cAAa,iBAAA;AAAA,cAEA,eAAA;AAAA,cACA,YAAA;AAAA,cACA,wCAAA;;;
|
|
1
|
+
{"version":3,"file":"oauth.d.ts","names":[],"sources":["../../../src/utils/oauth.tsx"],"mappings":";cAAa,iBAAA;AAAA,cAEA,eAAA;AAAA,cACA,YAAA;AAAA,cACA,wCAAA;;AAJ2J;AAExK;;;cASa,gBAAA;AAAA,KACD,eAAA,UAAyB,gBAAgB;AAAA,KAEzC,YAAA,UAAsB,YAAY;AAAA,KAClC,oBAAA,UAA8B,iBAAiB;AAAA,KAC/C,kBAAA,UAA4B,eAAe"}
|
package/dist/esm/utils/oauth.js
CHANGED
|
@@ -27,7 +27,7 @@ const publishableClientKeyNotNecessarySentinel = "__stack_public_client__";
|
|
|
27
27
|
* any OIDC-compliant identity provider (team plan+ only).
|
|
28
28
|
*/
|
|
29
29
|
const allProviderTypes = [...standardProviders, "custom_oidc"];
|
|
30
|
-
|
|
31
30
|
//#endregion
|
|
32
31
|
export { allProviderTypes, allProviders, publishableClientKeyNotNecessarySentinel, sharedProviders, standardProviders };
|
|
32
|
+
|
|
33
33
|
//# sourceMappingURL=oauth.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.js","names":[],"sources":["../../../src/utils/oauth.tsx"],"sourcesContent":["export const standardProviders = [\"google\", \"github\", \"microsoft\", \"spotify\", \"facebook\", \"discord\", \"gitlab\", \"bitbucket\", \"linkedin\", \"apple\", \"x\", \"twitch\"] as const;\n// No more shared providers should be added except for special cases\nexport const sharedProviders = [\"google\", \"github\", \"microsoft\", \"spotify\"] as const;\nexport const allProviders = standardProviders;\nexport const publishableClientKeyNotNecessarySentinel = \"__stack_public_client__\";\n\n/**\n * All provider types including custom OIDC. Standard providers are the\n * predefined set with first-class support; \"custom_oidc\" lets users bring\n * any OIDC-compliant identity provider (team plan+ only).\n */\nexport const allProviderTypes = [...standardProviders, \"custom_oidc\"] as const;\nexport type AllProviderType = typeof allProviderTypes[number];\n\nexport type ProviderType = typeof allProviders[number];\nexport type StandardProviderType = typeof standardProviders[number];\nexport type SharedProviderType = typeof sharedProviders[number];\n"],"mappings":";AAAA,MAAa,oBAAoB;CAAC;CAAU;CAAU;CAAa;CAAW;CAAY;CAAW;CAAU;CAAa;CAAY;CAAS;CAAK;
|
|
1
|
+
{"version":3,"file":"oauth.js","names":[],"sources":["../../../src/utils/oauth.tsx"],"sourcesContent":["export const standardProviders = [\"google\", \"github\", \"microsoft\", \"spotify\", \"facebook\", \"discord\", \"gitlab\", \"bitbucket\", \"linkedin\", \"apple\", \"x\", \"twitch\"] as const;\n// No more shared providers should be added except for special cases\nexport const sharedProviders = [\"google\", \"github\", \"microsoft\", \"spotify\"] as const;\nexport const allProviders = standardProviders;\nexport const publishableClientKeyNotNecessarySentinel = \"__stack_public_client__\";\n\n/**\n * All provider types including custom OIDC. Standard providers are the\n * predefined set with first-class support; \"custom_oidc\" lets users bring\n * any OIDC-compliant identity provider (team plan+ only).\n */\nexport const allProviderTypes = [...standardProviders, \"custom_oidc\"] as const;\nexport type AllProviderType = typeof allProviderTypes[number];\n\nexport type ProviderType = typeof allProviders[number];\nexport type StandardProviderType = typeof standardProviders[number];\nexport type SharedProviderType = typeof sharedProviders[number];\n"],"mappings":";AAAA,MAAa,oBAAoB;CAAC;CAAU;CAAU;CAAa;CAAW;CAAY;CAAW;CAAU;CAAa;CAAY;CAAS;CAAK;AAAQ;AAE9J,MAAa,kBAAkB;CAAC;CAAU;CAAU;CAAa;AAAS;AAC1E,MAAa,eAAe;AAC5B,MAAa,2CAA2C;;;;;;AAOxD,MAAa,mBAAmB,CAAC,GAAG,mBAAmB,aAAa"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"objects.d.ts","names":[],"sources":["../../../src/utils/objects.tsx"],"mappings":";iBAKgB,SAAA,
|
|
1
|
+
{"version":3,"file":"objects.d.ts","names":[],"sources":["../../../src/utils/objects.tsx"],"mappings":"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"}
|