@stackframe/stack-shared 2.8.8 → 2.8.11
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/CHANGELOG.md +14 -0
- package/dist/config/format.d.cts +39 -0
- package/dist/config/format.d.ts +14 -13
- package/dist/config/format.js +147 -206
- package/dist/config/format.js.map +1 -0
- package/dist/config/schema.d.cts +729 -0
- package/dist/config/schema.d.ts +59 -51
- package/dist/config/schema.js +232 -172
- package/dist/config/schema.js.map +1 -0
- package/dist/crud.d.cts +102 -0
- package/dist/crud.d.ts +15 -13
- package/dist/crud.js +83 -128
- package/dist/crud.js.map +1 -0
- package/dist/esm/config/format.js +135 -0
- package/dist/esm/config/format.js.map +1 -0
- package/dist/esm/config/schema.js +201 -0
- package/dist/esm/config/schema.js.map +1 -0
- package/dist/esm/crud.js +60 -0
- package/dist/esm/crud.js.map +1 -0
- package/dist/esm/global.d.js +1 -0
- package/dist/esm/global.d.js.map +1 -0
- package/dist/esm/helpers/password.js +17 -0
- package/dist/esm/helpers/password.js.map +1 -0
- package/dist/esm/helpers/production-mode.js +50 -0
- package/dist/esm/helpers/production-mode.js.map +1 -0
- package/dist/esm/hooks/use-async-callback.js +38 -0
- package/dist/esm/hooks/use-async-callback.js.map +1 -0
- package/dist/esm/hooks/use-async-external-store.js +23 -0
- package/dist/esm/hooks/use-async-external-store.js.map +1 -0
- package/dist/esm/hooks/use-hash.js +17 -0
- package/dist/esm/hooks/use-hash.js.map +1 -0
- package/dist/esm/hooks/use-strict-memo.js +61 -0
- package/dist/esm/hooks/use-strict-memo.js.map +1 -0
- package/dist/esm/index.js +22 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/interface/adminInterface.js +244 -0
- package/dist/esm/interface/adminInterface.js.map +1 -0
- package/dist/esm/interface/clientInterface.js +2041 -0
- package/dist/esm/interface/clientInterface.js.map +1 -0
- package/dist/esm/interface/crud/contact-channels.js +77 -0
- package/dist/esm/interface/crud/contact-channels.js.map +1 -0
- package/dist/esm/interface/crud/current-user.js +65 -0
- package/dist/esm/interface/crud/current-user.js.map +1 -0
- package/dist/esm/interface/crud/email-templates.js +52 -0
- package/dist/esm/interface/crud/email-templates.js.map +1 -0
- package/dist/esm/interface/crud/emails.js +20 -0
- package/dist/esm/interface/crud/emails.js.map +1 -0
- package/dist/esm/interface/crud/internal-api-keys.js +69 -0
- package/dist/esm/interface/crud/internal-api-keys.js.map +1 -0
- package/dist/esm/interface/crud/oauth.js +24 -0
- package/dist/esm/interface/crud/oauth.js.map +1 -0
- package/dist/esm/interface/crud/project-api-keys.js +93 -0
- package/dist/esm/interface/crud/project-api-keys.js.map +1 -0
- package/dist/esm/interface/crud/project-permissions.js +113 -0
- package/dist/esm/interface/crud/project-permissions.js.map +1 -0
- package/dist/esm/interface/crud/projects.js +180 -0
- package/dist/esm/interface/crud/projects.js.map +1 -0
- package/dist/esm/interface/crud/sessions.js +62 -0
- package/dist/esm/interface/crud/sessions.js.map +1 -0
- package/dist/esm/interface/crud/svix-token.js +22 -0
- package/dist/esm/interface/crud/svix-token.js.map +1 -0
- package/dist/esm/interface/crud/team-invitation-details.js +23 -0
- package/dist/esm/interface/crud/team-invitation-details.js.map +1 -0
- package/dist/esm/interface/crud/team-invitation.js +36 -0
- package/dist/esm/interface/crud/team-invitation.js.map +1 -0
- package/dist/esm/interface/crud/team-member-profiles.js +62 -0
- package/dist/esm/interface/crud/team-member-profiles.js.map +1 -0
- package/dist/esm/interface/crud/team-memberships.js +60 -0
- package/dist/esm/interface/crud/team-memberships.js.map +1 -0
- package/dist/esm/interface/crud/team-permissions.js +114 -0
- package/dist/esm/interface/crud/team-permissions.js.map +1 -0
- package/dist/esm/interface/crud/teams.js +143 -0
- package/dist/esm/interface/crud/teams.js.map +1 -0
- package/dist/esm/interface/crud/users.js +139 -0
- package/dist/esm/interface/crud/users.js.map +1 -0
- package/dist/esm/interface/serverInterface.js +485 -0
- package/dist/esm/interface/serverInterface.js.map +1 -0
- package/dist/esm/interface/webhooks.js +21 -0
- package/dist/esm/interface/webhooks.js.map +1 -0
- package/dist/esm/known-errors.js +1238 -0
- package/dist/esm/known-errors.js.map +1 -0
- package/dist/esm/schema-fields.js +484 -0
- package/dist/esm/schema-fields.js.map +1 -0
- package/dist/esm/sessions.js +168 -0
- package/dist/esm/sessions.js.map +1 -0
- package/dist/esm/utils/api-keys.js +79 -0
- package/dist/esm/utils/api-keys.js.map +1 -0
- package/dist/esm/utils/arrays.js +78 -0
- package/dist/esm/utils/arrays.js.map +1 -0
- package/dist/esm/utils/base64.js +18 -0
- package/dist/esm/utils/base64.js.map +1 -0
- package/dist/esm/utils/booleans.js +12 -0
- package/dist/esm/utils/booleans.js.map +1 -0
- package/dist/esm/utils/browser-compat.js +21 -0
- package/dist/esm/utils/browser-compat.js.map +1 -0
- package/dist/esm/utils/bytes.js +160 -0
- package/dist/esm/utils/bytes.js.map +1 -0
- package/dist/esm/utils/caches.js +167 -0
- package/dist/esm/utils/caches.js.map +1 -0
- package/dist/esm/utils/compile-time.js +11 -0
- package/dist/esm/utils/compile-time.js.map +1 -0
- package/dist/esm/utils/crypto.js +25 -0
- package/dist/esm/utils/crypto.js.map +1 -0
- package/dist/esm/utils/dates.js +64 -0
- package/dist/esm/utils/dates.js.map +1 -0
- package/dist/esm/utils/dom.js +11 -0
- package/dist/esm/utils/dom.js.map +1 -0
- package/dist/esm/utils/env.js +58 -0
- package/dist/esm/utils/env.js.map +1 -0
- package/dist/esm/utils/errors.js +174 -0
- package/dist/esm/utils/errors.js.map +1 -0
- package/dist/esm/utils/fs.js +37 -0
- package/dist/esm/utils/fs.js.map +1 -0
- package/dist/esm/utils/functions.js +12 -0
- package/dist/esm/utils/functions.js.map +1 -0
- package/dist/esm/utils/geo.js +15 -0
- package/dist/esm/utils/geo.js.map +1 -0
- package/dist/esm/utils/globals.js +18 -0
- package/dist/esm/utils/globals.js.map +1 -0
- package/dist/esm/utils/hashes.js +55 -0
- package/dist/esm/utils/hashes.js.map +1 -0
- package/dist/esm/utils/html.js +13 -0
- package/dist/esm/utils/html.js.map +1 -0
- package/dist/esm/utils/http.js +60 -0
- package/dist/esm/utils/http.js.map +1 -0
- package/dist/esm/utils/ips.js +15 -0
- package/dist/esm/utils/ips.js.map +1 -0
- package/dist/esm/utils/json.js +31 -0
- package/dist/esm/utils/json.js.map +1 -0
- package/dist/esm/utils/jwt.js +87 -0
- package/dist/esm/utils/jwt.js.map +1 -0
- package/dist/esm/utils/locks.js +57 -0
- package/dist/esm/utils/locks.js.map +1 -0
- package/dist/esm/utils/maps.js +181 -0
- package/dist/esm/utils/maps.js.map +1 -0
- package/dist/esm/utils/math.js +8 -0
- package/dist/esm/utils/math.js.map +1 -0
- package/dist/esm/utils/node-http.js +42 -0
- package/dist/esm/utils/node-http.js.map +1 -0
- package/dist/esm/utils/numbers.js +32 -0
- package/dist/esm/utils/numbers.js.map +1 -0
- package/dist/esm/utils/oauth.js +10 -0
- package/dist/esm/utils/oauth.js.map +1 -0
- package/dist/esm/utils/objects.js +177 -0
- package/dist/esm/utils/objects.js.map +1 -0
- package/dist/esm/utils/passkey.js +1 -0
- package/dist/esm/utils/passkey.js.map +1 -0
- package/dist/esm/utils/promises.js +233 -0
- package/dist/esm/utils/promises.js.map +1 -0
- package/dist/esm/utils/proxies.js +128 -0
- package/dist/esm/utils/proxies.js.map +1 -0
- package/dist/esm/utils/react.js +78 -0
- package/dist/esm/utils/react.js.map +1 -0
- package/dist/esm/utils/results.js +141 -0
- package/dist/esm/utils/results.js.map +1 -0
- package/dist/esm/utils/sentry.js +20 -0
- package/dist/esm/utils/sentry.js.map +1 -0
- package/dist/esm/utils/stores.js +195 -0
- package/dist/esm/utils/stores.js.map +1 -0
- package/dist/esm/utils/strings.js +295 -0
- package/dist/esm/utils/strings.js.map +1 -0
- package/dist/esm/utils/strings.nicify.test.js +222 -0
- package/dist/esm/utils/strings.nicify.test.js.map +1 -0
- package/dist/esm/utils/types.js +1 -0
- package/dist/esm/utils/types.js.map +1 -0
- package/dist/esm/utils/unicode.js +11 -0
- package/dist/esm/utils/unicode.js.map +1 -0
- package/dist/esm/utils/urls.js +53 -0
- package/dist/esm/utils/urls.js.map +1 -0
- package/dist/esm/utils/uuids.js +16 -0
- package/dist/esm/utils/uuids.js.map +1 -0
- package/dist/global.d.d.cts +1 -0
- package/dist/global.d.d.ts +1 -0
- package/dist/global.d.js +2 -0
- package/dist/global.d.js.map +1 -0
- package/dist/helpers/password.d.cts +11 -0
- package/dist/helpers/password.d.ts +11 -2
- package/dist/helpers/password.js +41 -11
- package/dist/helpers/password.js.map +1 -0
- package/dist/helpers/production-mode.d.cts +12 -0
- package/dist/helpers/production-mode.d.ts +9 -3
- package/dist/helpers/production-mode.js +72 -45
- package/dist/helpers/production-mode.js.map +1 -0
- package/dist/hooks/use-async-callback.d.cts +6 -0
- package/dist/hooks/use-async-callback.d.ts +6 -3
- package/dist/hooks/use-async-callback.js +72 -30
- package/dist/hooks/use-async-callback.js.map +1 -0
- package/dist/hooks/use-async-external-store.d.cts +7 -0
- package/dist/hooks/use-async-external-store.d.ts +5 -2
- package/dist/hooks/use-async-external-store.js +47 -19
- package/dist/hooks/use-async-external-store.js.map +1 -0
- package/dist/hooks/use-hash.d.cts +3 -0
- package/dist/hooks/use-hash.d.ts +3 -1
- package/dist/hooks/use-hash.js +41 -8
- package/dist/hooks/use-hash.js.map +1 -0
- package/dist/hooks/use-strict-memo.d.cts +8 -0
- package/dist/hooks/use-strict-memo.d.ts +3 -1
- package/dist/hooks/use-strict-memo.js +78 -131
- package/dist/hooks/use-strict-memo.js.map +1 -0
- package/dist/index.d.cts +30 -0
- package/dist/index.d.ts +30 -4
- package/dist/index.js +42 -4
- package/dist/index.js.map +1 -0
- package/dist/interface/adminInterface.d.cts +94 -0
- package/dist/interface/adminInterface.d.ts +38 -15
- package/dist/interface/adminInterface.js +269 -174
- package/dist/interface/adminInterface.js.map +1 -0
- package/dist/interface/clientInterface.d.cts +260 -0
- package/dist/interface/clientInterface.d.ts +25 -18
- package/dist/interface/clientInterface.js +2054 -995
- package/dist/interface/clientInterface.js.map +1 -0
- package/dist/interface/crud/contact-channels.d.cts +180 -0
- package/dist/interface/crud/contact-channels.d.ts +30 -25
- package/dist/interface/crud/contact-channels.js +101 -59
- package/dist/interface/crud/contact-channels.js.map +1 -0
- package/dist/interface/crud/current-user.d.cts +205 -0
- package/dist/interface/crud/current-user.d.ts +17 -12
- package/dist/interface/crud/current-user.js +86 -56
- package/dist/interface/crud/current-user.js.map +1 -0
- package/dist/interface/crud/email-templates.d.cts +84 -0
- package/dist/interface/crud/email-templates.d.ts +24 -19
- package/dist/interface/crud/email-templates.js +77 -37
- package/dist/interface/crud/email-templates.js.map +1 -0
- package/dist/interface/crud/emails.d.cts +69 -0
- package/dist/interface/crud/emails.d.ts +12 -7
- package/dist/interface/crud/emails.js +54 -12
- package/dist/interface/crud/emails.js.map +1 -0
- package/dist/interface/crud/internal-api-keys.d.cts +139 -0
- package/dist/interface/crud/internal-api-keys.d.ts +22 -17
- package/dist/interface/crud/internal-api-keys.js +92 -54
- package/dist/interface/crud/internal-api-keys.js.map +1 -0
- package/dist/interface/crud/oauth.d.cts +34 -0
- package/dist/interface/crud/oauth.d.ts +16 -11
- package/dist/interface/crud/oauth.js +48 -14
- package/dist/interface/crud/oauth.js.map +1 -0
- package/dist/interface/crud/project-api-keys.d.cts +196 -0
- package/dist/interface/crud/project-api-keys.d.ts +20 -12
- package/dist/interface/crud/project-api-keys.js +121 -74
- package/dist/interface/crud/project-api-keys.js.map +1 -0
- package/dist/interface/crud/project-permissions.d.cts +160 -0
- package/dist/interface/crud/project-permissions.d.ts +38 -33
- package/dist/interface/crud/project-permissions.js +148 -90
- package/dist/interface/crud/project-permissions.js.map +1 -0
- package/dist/interface/crud/projects.d.cts +627 -0
- package/dist/interface/crud/projects.d.ts +43 -51
- package/dist/interface/crud/projects.js +210 -156
- package/dist/interface/crud/projects.js.map +1 -0
- package/dist/interface/crud/sessions.d.cts +149 -0
- package/dist/interface/crud/sessions.d.ts +21 -16
- package/dist/interface/crud/sessions.js +86 -50
- package/dist/interface/crud/sessions.js.map +1 -0
- package/dist/interface/crud/svix-token.d.cts +26 -0
- package/dist/interface/crud/svix-token.d.ts +14 -9
- package/dist/interface/crud/svix-token.js +46 -12
- package/dist/interface/crud/svix-token.js.map +1 -0
- package/dist/interface/crud/team-invitation-details.d.cts +30 -0
- package/dist/interface/crud/team-invitation-details.d.ts +12 -7
- package/dist/interface/crud/team-invitation-details.js +57 -15
- package/dist/interface/crud/team-invitation-details.js.map +1 -0
- package/dist/interface/crud/team-invitation.d.cts +49 -0
- package/dist/interface/crud/team-invitation.d.ts +13 -8
- package/dist/interface/crud/team-invitation.js +69 -27
- package/dist/interface/crud/team-invitation.js.map +1 -0
- package/dist/interface/crud/team-member-profiles.d.cts +229 -0
- package/dist/interface/crud/team-member-profiles.d.ts +20 -15
- package/dist/interface/crud/team-member-profiles.js +95 -49
- package/dist/interface/crud/team-member-profiles.js.map +1 -0
- package/dist/interface/crud/team-memberships.d.cts +74 -0
- package/dist/interface/crud/team-memberships.d.ts +22 -17
- package/dist/interface/crud/team-memberships.js +85 -45
- package/dist/interface/crud/team-memberships.js.map +1 -0
- package/dist/interface/crud/team-permissions.d.cts +168 -0
- package/dist/interface/crud/team-permissions.d.ts +38 -33
- package/dist/interface/crud/team-permissions.js +149 -91
- package/dist/interface/crud/team-permissions.js.map +1 -0
- package/dist/interface/crud/teams.d.cts +298 -0
- package/dist/interface/crud/teams.d.ts +45 -40
- package/dist/interface/crud/teams.js +177 -119
- package/dist/interface/crud/teams.js.map +1 -0
- package/dist/interface/crud/users.d.cts +469 -0
- package/dist/interface/crud/users.d.ts +31 -26
- package/dist/interface/crud/users.js +172 -118
- package/dist/interface/crud/users.js.map +1 -0
- package/dist/interface/serverInterface.d.cts +128 -0
- package/dist/interface/serverInterface.d.ts +29 -17
- package/dist/interface/serverInterface.js +506 -339
- package/dist/interface/serverInterface.js.map +1 -0
- package/dist/interface/webhooks.d.cts +292 -0
- package/dist/interface/webhooks.d.ts +6 -3
- package/dist/interface/webhooks.js +45 -15
- package/dist/interface/webhooks.js.map +1 -0
- package/dist/known-errors.d.cts +447 -0
- package/dist/known-errors.d.ts +15 -9
- package/dist/known-errors.js +1104 -562
- package/dist/known-errors.js.map +1 -0
- package/dist/schema-fields.d.cts +163 -0
- package/dist/schema-fields.d.ts +116 -114
- package/dist/schema-fields.js +593 -427
- package/dist/schema-fields.js.map +1 -0
- package/dist/sessions.d.cts +109 -0
- package/dist/sessions.d.ts +6 -3
- package/dist/sessions.js +201 -172
- package/dist/sessions.js.map +1 -0
- package/dist/utils/api-keys.d.cts +24 -0
- package/dist/utils/api-keys.d.ts +5 -4
- package/dist/utils/api-keys.js +106 -66
- package/dist/utils/api-keys.js.map +1 -0
- package/dist/utils/arrays.d.cts +18 -0
- package/dist/utils/arrays.d.ts +15 -13
- package/dist/utils/arrays.js +101 -168
- package/dist/utils/arrays.js.map +1 -0
- package/dist/utils/base64.d.cts +4 -0
- package/dist/utils/base64.d.ts +4 -2
- package/dist/utils/base64.js +41 -20
- package/dist/utils/base64.js.map +1 -0
- package/dist/utils/booleans.d.cts +6 -0
- package/dist/utils/booleans.d.ts +6 -4
- package/dist/utils/booleans.js +35 -27
- package/dist/utils/booleans.js.map +1 -0
- package/dist/utils/browser-compat.d.cts +8 -0
- package/dist/utils/browser-compat.d.ts +3 -1
- package/dist/utils/browser-compat.js +45 -16
- package/dist/utils/browser-compat.js.map +1 -0
- package/dist/utils/bytes.d.cts +15 -0
- package/dist/utils/bytes.d.ts +15 -13
- package/dist/utils/bytes.js +182 -270
- package/dist/utils/bytes.js.map +1 -0
- package/dist/utils/caches.d.cts +98 -0
- package/dist/utils/caches.d.ts +17 -14
- package/dist/utils/caches.js +188 -193
- package/dist/utils/caches.js.map +1 -0
- package/dist/utils/compile-time.d.cts +8 -0
- package/dist/utils/compile-time.d.ts +3 -1
- package/dist/utils/compile-time.js +35 -10
- package/dist/utils/compile-time.js.map +1 -0
- package/dist/utils/crypto.d.cts +8 -0
- package/dist/utils/crypto.d.ts +4 -2
- package/dist/utils/crypto.js +49 -21
- package/dist/utils/crypto.js.map +1 -0
- package/dist/utils/dates.d.cts +15 -0
- package/dist/utils/dates.d.ts +6 -4
- package/dist/utils/dates.js +83 -105
- package/dist/utils/dates.js.map +1 -0
- package/dist/utils/dom.d.cts +3 -0
- package/dist/utils/dom.d.ts +3 -1
- package/dist/utils/dom.js +35 -7
- package/dist/utils/dom.js.map +1 -0
- package/dist/utils/env.d.cts +9 -0
- package/dist/utils/env.d.ts +6 -4
- package/dist/utils/env.js +70 -43
- package/dist/utils/env.js.map +1 -0
- package/dist/utils/errors.d.cts +223 -0
- package/dist/utils/errors.d.ts +14 -11
- package/dist/utils/errors.js +148 -126
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/fs.d.cts +7 -0
- package/dist/utils/fs.d.ts +5 -3
- package/dist/utils/fs.js +70 -27
- package/dist/utils/fs.js.map +1 -0
- package/dist/utils/functions.d.cts +4 -0
- package/dist/utils/functions.d.ts +4 -2
- package/dist/utils/functions.js +35 -18
- package/dist/utils/functions.js.map +1 -0
- package/dist/utils/geo.d.cts +22 -0
- package/dist/utils/geo.d.ts +6 -3
- package/dist/utils/geo.js +39 -9
- package/dist/utils/geo.js.map +1 -0
- package/dist/utils/globals.d.cts +5 -0
- package/dist/utils/globals.d.ts +4 -2
- package/dist/utils/globals.js +41 -14
- package/dist/utils/globals.js.map +1 -0
- package/dist/utils/hashes.d.cts +7 -0
- package/dist/utils/hashes.d.ts +7 -5
- package/dist/utils/hashes.js +87 -41
- package/dist/utils/hashes.js.map +1 -0
- package/dist/utils/html.d.cts +4 -0
- package/dist/utils/html.d.ts +4 -2
- package/dist/utils/html.js +36 -37
- package/dist/utils/html.js.map +1 -0
- package/dist/utils/http.d.cts +43 -0
- package/dist/utils/http.d.ts +6 -4
- package/dist/utils/http.js +83 -83
- package/dist/utils/http.js.map +1 -0
- package/dist/utils/ips.d.cts +6 -0
- package/dist/utils/ips.d.ts +6 -4
- package/dist/utils/ips.js +48 -35
- package/dist/utils/ips.js.map +1 -0
- package/dist/utils/json.d.cts +13 -0
- package/dist/utils/json.d.ts +9 -6
- package/dist/utils/json.js +54 -157
- package/dist/utils/json.js.map +1 -0
- package/dist/utils/jwt.d.cts +44 -0
- package/dist/utils/jwt.d.ts +14 -11
- package/dist/utils/jwt.js +119 -84
- package/dist/utils/jwt.js.map +1 -0
- package/dist/utils/locks.d.cts +15 -0
- package/dist/utils/locks.d.ts +3 -2
- package/dist/utils/locks.js +76 -56
- package/dist/utils/locks.js.map +1 -0
- package/dist/utils/maps.d.cts +59 -0
- package/dist/utils/maps.d.ts +6 -4
- package/dist/utils/maps.js +207 -343
- package/dist/utils/maps.js.map +1 -0
- package/dist/utils/math.d.cts +6 -0
- package/dist/utils/math.d.ts +3 -1
- package/dist/utils/math.js +31 -16
- package/dist/utils/math.js.map +1 -0
- package/dist/utils/node-http.d.cts +15 -0
- package/dist/utils/node-http.d.ts +5 -5
- package/dist/utils/node-http.js +65 -36
- package/dist/utils/node-http.js.map +1 -0
- package/dist/utils/numbers.d.cts +5 -0
- package/dist/utils/numbers.d.ts +5 -3
- package/dist/utils/numbers.js +53 -66
- package/dist/utils/numbers.js.map +1 -0
- package/dist/utils/oauth.d.cts +8 -0
- package/dist/utils/oauth.d.ts +8 -6
- package/dist/utils/oauth.js +37 -4
- package/dist/utils/oauth.js.map +1 -0
- package/dist/utils/objects.d.cts +69 -0
- package/dist/utils/objects.d.ts +37 -32
- package/dist/utils/objects.js +224 -374
- package/dist/utils/objects.js.map +1 -0
- package/dist/utils/passkey.d.cts +1 -0
- package/dist/utils/passkey.d.ts +1 -1
- package/dist/utils/passkey.js +19 -1
- package/dist/utils/passkey.js.map +1 -0
- package/dist/utils/promises.d.cts +74 -0
- package/dist/utils/promises.d.ts +20 -18
- package/dist/utils/promises.js +252 -393
- package/dist/utils/promises.js.map +1 -0
- package/dist/utils/proxies.d.cts +4 -0
- package/dist/utils/proxies.d.ts +4 -2
- package/dist/utils/proxies.js +150 -161
- package/dist/utils/proxies.js.map +1 -0
- package/dist/utils/react.d.cts +25 -0
- package/dist/utils/react.d.ts +9 -6
- package/dist/utils/react.js +88 -134
- package/dist/utils/react.js.map +1 -0
- package/dist/utils/results.d.cts +78 -0
- package/dist/utils/results.d.ts +10 -9
- package/dist/utils/results.js +143 -324
- package/dist/utils/results.js.map +1 -0
- package/dist/utils/sentry.d.cts +5 -0
- package/dist/utils/sentry.d.ts +5 -2
- package/dist/utils/sentry.js +44 -14
- package/dist/utils/sentry.js.map +1 -0
- package/dist/utils/stores.d.cts +102 -0
- package/dist/utils/stores.d.ts +12 -9
- package/dist/utils/stores.js +219 -189
- package/dist/utils/stores.js.map +1 -0
- package/dist/utils/strings.d.cts +72 -0
- package/dist/utils/strings.d.ts +22 -20
- package/dist/utils/strings.js +300 -580
- package/dist/utils/strings.js.map +1 -0
- package/dist/utils/strings.nicify.test.d.cts +2 -0
- package/dist/utils/strings.nicify.test.d.ts +2 -1
- package/dist/utils/strings.nicify.test.js +168 -158
- package/dist/utils/strings.nicify.test.js.map +1 -0
- package/dist/utils/types.d.cts +23 -0
- package/dist/utils/types.d.ts +8 -6
- package/dist/utils/types.js +19 -1
- package/dist/utils/types.js.map +1 -0
- package/dist/utils/unicode.d.cts +3 -0
- package/dist/utils/unicode.d.ts +3 -1
- package/dist/utils/unicode.js +34 -21
- package/dist/utils/unicode.js.map +1 -0
- package/dist/utils/urls.d.cts +20 -0
- package/dist/utils/urls.d.ts +10 -8
- package/dist/utils/urls.js +76 -165
- package/dist/utils/urls.js.map +1 -0
- package/dist/utils/uuids.d.cts +4 -0
- package/dist/utils/uuids.d.ts +4 -2
- package/dist/utils/uuids.js +39 -35
- package/dist/utils/uuids.js.map +1 -0
- package/package.json +5 -5
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
import { Json } from './json.cjs';
|
|
2
|
+
import './results.cjs';
|
|
3
|
+
|
|
4
|
+
declare function throwErr(errorMessage: string, extraData?: any): never;
|
|
5
|
+
declare function throwErr(error: Error): never;
|
|
6
|
+
declare function throwErr(...args: StatusErrorConstructorParameters): never;
|
|
7
|
+
/**
|
|
8
|
+
* Concatenates the (original) stacktraces of the given errors onto the first.
|
|
9
|
+
*
|
|
10
|
+
* Useful when you invoke an async function to receive a promise without awaiting it immediately. Browsers are smart
|
|
11
|
+
* enough to keep track of the call stack in async function calls when you invoke `.then` within the same async tick,
|
|
12
|
+
* but if you don't, the stacktrace will be lost.
|
|
13
|
+
*
|
|
14
|
+
* Here's an example of the unwanted behavior:
|
|
15
|
+
*
|
|
16
|
+
* ```tsx
|
|
17
|
+
* async function log() {
|
|
18
|
+
* await wait(0); // simulate an put the task on the event loop
|
|
19
|
+
* console.log(new Error().stack);
|
|
20
|
+
* }
|
|
21
|
+
*
|
|
22
|
+
* async function main() {
|
|
23
|
+
* await log(); // good; prints both "log" and "main" on the stacktrace
|
|
24
|
+
* log(); // bad; prints only "log" on the stacktrace
|
|
25
|
+
* }
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
declare function concatStacktraces(first: Error, ...errors: Error[]): void;
|
|
29
|
+
declare class StackAssertionError extends Error {
|
|
30
|
+
readonly extraData?: (Record<string, any> & ErrorOptions) | undefined;
|
|
31
|
+
constructor(message: string, extraData?: (Record<string, any> & ErrorOptions) | undefined);
|
|
32
|
+
}
|
|
33
|
+
declare function errorToNiceString(error: unknown): string;
|
|
34
|
+
declare function registerErrorSink(sink: (location: string, error: unknown) => void): void;
|
|
35
|
+
declare function captureError(location: string, error: unknown): void;
|
|
36
|
+
type Status = {
|
|
37
|
+
statusCode: number;
|
|
38
|
+
message: string;
|
|
39
|
+
};
|
|
40
|
+
type StatusErrorConstructorParameters = [
|
|
41
|
+
status: Status,
|
|
42
|
+
message?: string
|
|
43
|
+
] | [
|
|
44
|
+
statusCode: number | Status,
|
|
45
|
+
message: string
|
|
46
|
+
];
|
|
47
|
+
declare class StatusError extends Error {
|
|
48
|
+
name: string;
|
|
49
|
+
readonly statusCode: number;
|
|
50
|
+
static BadRequest: {
|
|
51
|
+
statusCode: number;
|
|
52
|
+
message: string;
|
|
53
|
+
};
|
|
54
|
+
static Unauthorized: {
|
|
55
|
+
statusCode: number;
|
|
56
|
+
message: string;
|
|
57
|
+
};
|
|
58
|
+
static PaymentRequired: {
|
|
59
|
+
statusCode: number;
|
|
60
|
+
message: string;
|
|
61
|
+
};
|
|
62
|
+
static Forbidden: {
|
|
63
|
+
statusCode: number;
|
|
64
|
+
message: string;
|
|
65
|
+
};
|
|
66
|
+
static NotFound: {
|
|
67
|
+
statusCode: number;
|
|
68
|
+
message: string;
|
|
69
|
+
};
|
|
70
|
+
static MethodNotAllowed: {
|
|
71
|
+
statusCode: number;
|
|
72
|
+
message: string;
|
|
73
|
+
};
|
|
74
|
+
static NotAcceptable: {
|
|
75
|
+
statusCode: number;
|
|
76
|
+
message: string;
|
|
77
|
+
};
|
|
78
|
+
static ProxyAuthenticationRequired: {
|
|
79
|
+
statusCode: number;
|
|
80
|
+
message: string;
|
|
81
|
+
};
|
|
82
|
+
static RequestTimeout: {
|
|
83
|
+
statusCode: number;
|
|
84
|
+
message: string;
|
|
85
|
+
};
|
|
86
|
+
static Conflict: {
|
|
87
|
+
statusCode: number;
|
|
88
|
+
message: string;
|
|
89
|
+
};
|
|
90
|
+
static Gone: {
|
|
91
|
+
statusCode: number;
|
|
92
|
+
message: string;
|
|
93
|
+
};
|
|
94
|
+
static LengthRequired: {
|
|
95
|
+
statusCode: number;
|
|
96
|
+
message: string;
|
|
97
|
+
};
|
|
98
|
+
static PreconditionFailed: {
|
|
99
|
+
statusCode: number;
|
|
100
|
+
message: string;
|
|
101
|
+
};
|
|
102
|
+
static PayloadTooLarge: {
|
|
103
|
+
statusCode: number;
|
|
104
|
+
message: string;
|
|
105
|
+
};
|
|
106
|
+
static URITooLong: {
|
|
107
|
+
statusCode: number;
|
|
108
|
+
message: string;
|
|
109
|
+
};
|
|
110
|
+
static UnsupportedMediaType: {
|
|
111
|
+
statusCode: number;
|
|
112
|
+
message: string;
|
|
113
|
+
};
|
|
114
|
+
static RangeNotSatisfiable: {
|
|
115
|
+
statusCode: number;
|
|
116
|
+
message: string;
|
|
117
|
+
};
|
|
118
|
+
static ExpectationFailed: {
|
|
119
|
+
statusCode: number;
|
|
120
|
+
message: string;
|
|
121
|
+
};
|
|
122
|
+
static ImATeapot: {
|
|
123
|
+
statusCode: number;
|
|
124
|
+
message: string;
|
|
125
|
+
};
|
|
126
|
+
static MisdirectedRequest: {
|
|
127
|
+
statusCode: number;
|
|
128
|
+
message: string;
|
|
129
|
+
};
|
|
130
|
+
static UnprocessableEntity: {
|
|
131
|
+
statusCode: number;
|
|
132
|
+
message: string;
|
|
133
|
+
};
|
|
134
|
+
static Locked: {
|
|
135
|
+
statusCode: number;
|
|
136
|
+
message: string;
|
|
137
|
+
};
|
|
138
|
+
static FailedDependency: {
|
|
139
|
+
statusCode: number;
|
|
140
|
+
message: string;
|
|
141
|
+
};
|
|
142
|
+
static TooEarly: {
|
|
143
|
+
statusCode: number;
|
|
144
|
+
message: string;
|
|
145
|
+
};
|
|
146
|
+
static UpgradeRequired: {
|
|
147
|
+
statusCode: number;
|
|
148
|
+
message: string;
|
|
149
|
+
};
|
|
150
|
+
static PreconditionRequired: {
|
|
151
|
+
statusCode: number;
|
|
152
|
+
message: string;
|
|
153
|
+
};
|
|
154
|
+
static TooManyRequests: {
|
|
155
|
+
statusCode: number;
|
|
156
|
+
message: string;
|
|
157
|
+
};
|
|
158
|
+
static RequestHeaderFieldsTooLarge: {
|
|
159
|
+
statusCode: number;
|
|
160
|
+
message: string;
|
|
161
|
+
};
|
|
162
|
+
static UnavailableForLegalReasons: {
|
|
163
|
+
statusCode: number;
|
|
164
|
+
message: string;
|
|
165
|
+
};
|
|
166
|
+
static InternalServerError: {
|
|
167
|
+
statusCode: number;
|
|
168
|
+
message: string;
|
|
169
|
+
};
|
|
170
|
+
static NotImplemented: {
|
|
171
|
+
statusCode: number;
|
|
172
|
+
message: string;
|
|
173
|
+
};
|
|
174
|
+
static BadGateway: {
|
|
175
|
+
statusCode: number;
|
|
176
|
+
message: string;
|
|
177
|
+
};
|
|
178
|
+
static ServiceUnavailable: {
|
|
179
|
+
statusCode: number;
|
|
180
|
+
message: string;
|
|
181
|
+
};
|
|
182
|
+
static GatewayTimeout: {
|
|
183
|
+
statusCode: number;
|
|
184
|
+
message: string;
|
|
185
|
+
};
|
|
186
|
+
static HTTPVersionNotSupported: {
|
|
187
|
+
statusCode: number;
|
|
188
|
+
message: string;
|
|
189
|
+
};
|
|
190
|
+
static VariantAlsoNegotiates: {
|
|
191
|
+
statusCode: number;
|
|
192
|
+
message: string;
|
|
193
|
+
};
|
|
194
|
+
static InsufficientStorage: {
|
|
195
|
+
statusCode: number;
|
|
196
|
+
message: string;
|
|
197
|
+
};
|
|
198
|
+
static LoopDetected: {
|
|
199
|
+
statusCode: number;
|
|
200
|
+
message: string;
|
|
201
|
+
};
|
|
202
|
+
static NotExtended: {
|
|
203
|
+
statusCode: number;
|
|
204
|
+
message: string;
|
|
205
|
+
};
|
|
206
|
+
static NetworkAuthenticationRequired: {
|
|
207
|
+
statusCode: number;
|
|
208
|
+
message: string;
|
|
209
|
+
};
|
|
210
|
+
constructor(...args: StatusErrorConstructorParameters);
|
|
211
|
+
isClientError(): boolean;
|
|
212
|
+
isServerError(): boolean;
|
|
213
|
+
getStatusCode(): number;
|
|
214
|
+
getBody(): Uint8Array;
|
|
215
|
+
getHeaders(): Record<string, string[]>;
|
|
216
|
+
toDescriptiveJson(): Json;
|
|
217
|
+
/**
|
|
218
|
+
* @deprecated this is not a good way to make status errors human-readable, use toDescriptiveJson instead
|
|
219
|
+
*/
|
|
220
|
+
toHttpJson(): Json;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
export { StackAssertionError, StatusError, captureError, concatStacktraces, errorToNiceString, registerErrorSink, throwErr };
|
package/dist/utils/errors.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { Json } from
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { Json } from './json.js';
|
|
2
|
+
import './results.js';
|
|
3
|
+
|
|
4
|
+
declare function throwErr(errorMessage: string, extraData?: any): never;
|
|
5
|
+
declare function throwErr(error: Error): never;
|
|
6
|
+
declare function throwErr(...args: StatusErrorConstructorParameters): never;
|
|
5
7
|
/**
|
|
6
8
|
* Concatenates the (original) stacktraces of the given errors onto the first.
|
|
7
9
|
*
|
|
@@ -23,14 +25,14 @@ export declare function throwErr(...args: StatusErrorConstructorParameters): nev
|
|
|
23
25
|
* }
|
|
24
26
|
* ```
|
|
25
27
|
*/
|
|
26
|
-
|
|
27
|
-
|
|
28
|
+
declare function concatStacktraces(first: Error, ...errors: Error[]): void;
|
|
29
|
+
declare class StackAssertionError extends Error {
|
|
28
30
|
readonly extraData?: (Record<string, any> & ErrorOptions) | undefined;
|
|
29
31
|
constructor(message: string, extraData?: (Record<string, any> & ErrorOptions) | undefined);
|
|
30
32
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
33
|
+
declare function errorToNiceString(error: unknown): string;
|
|
34
|
+
declare function registerErrorSink(sink: (location: string, error: unknown) => void): void;
|
|
35
|
+
declare function captureError(location: string, error: unknown): void;
|
|
34
36
|
type Status = {
|
|
35
37
|
statusCode: number;
|
|
36
38
|
message: string;
|
|
@@ -42,7 +44,7 @@ type StatusErrorConstructorParameters = [
|
|
|
42
44
|
statusCode: number | Status,
|
|
43
45
|
message: string
|
|
44
46
|
];
|
|
45
|
-
|
|
47
|
+
declare class StatusError extends Error {
|
|
46
48
|
name: string;
|
|
47
49
|
readonly statusCode: number;
|
|
48
50
|
static BadRequest: {
|
|
@@ -217,4 +219,5 @@ export declare class StatusError extends Error {
|
|
|
217
219
|
*/
|
|
218
220
|
toHttpJson(): Json;
|
|
219
221
|
}
|
|
220
|
-
|
|
222
|
+
|
|
223
|
+
export { StackAssertionError, StatusError, captureError, concatStacktraces, errorToNiceString, registerErrorSink, throwErr };
|
package/dist/utils/errors.js
CHANGED
|
@@ -1,145 +1,156 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
|
|
20
|
+
// src/utils/errors.tsx
|
|
21
|
+
var errors_exports = {};
|
|
22
|
+
__export(errors_exports, {
|
|
23
|
+
StackAssertionError: () => StackAssertionError,
|
|
24
|
+
StatusError: () => StatusError,
|
|
25
|
+
captureError: () => captureError,
|
|
26
|
+
concatStacktraces: () => concatStacktraces,
|
|
27
|
+
errorToNiceString: () => errorToNiceString,
|
|
28
|
+
registerErrorSink: () => registerErrorSink,
|
|
29
|
+
throwErr: () => throwErr
|
|
30
|
+
});
|
|
31
|
+
module.exports = __toCommonJS(errors_exports);
|
|
32
|
+
var import_globals = require("./globals");
|
|
33
|
+
var import_objects = require("./objects");
|
|
34
|
+
var import_strings = require("./strings");
|
|
35
|
+
function throwErr(...args) {
|
|
36
|
+
if (typeof args[0] === "string") {
|
|
37
|
+
throw new StackAssertionError(args[0], args[1]);
|
|
38
|
+
} else if (args[0] instanceof Error) {
|
|
39
|
+
throw args[0];
|
|
40
|
+
} else {
|
|
41
|
+
throw new StatusError(...args);
|
|
42
|
+
}
|
|
15
43
|
}
|
|
16
44
|
function removeStacktraceNameLine(stack) {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
return stack.split("\n").slice(addsNameLine ? 1 : 0).join("\n");
|
|
45
|
+
const addsNameLine = new Error().stack?.startsWith("Error\n");
|
|
46
|
+
return stack.split("\n").slice(addsNameLine ? 1 : 0).join("\n");
|
|
20
47
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
* Here's an example of the unwanted behavior:
|
|
29
|
-
*
|
|
30
|
-
* ```tsx
|
|
31
|
-
* async function log() {
|
|
32
|
-
* await wait(0); // simulate an put the task on the event loop
|
|
33
|
-
* console.log(new Error().stack);
|
|
34
|
-
* }
|
|
35
|
-
*
|
|
36
|
-
* async function main() {
|
|
37
|
-
* await log(); // good; prints both "log" and "main" on the stacktrace
|
|
38
|
-
* log(); // bad; prints only "log" on the stacktrace
|
|
39
|
-
* }
|
|
40
|
-
* ```
|
|
41
|
-
*/
|
|
42
|
-
export function concatStacktraces(first, ...errors) {
|
|
43
|
-
// some browsers (eg. Firefox) add an extra empty line at the end
|
|
44
|
-
const addsEmptyLineAtEnd = first.stack?.endsWith("\n");
|
|
45
|
-
// Add a reference to this function itself so that we know that stacktraces were concatenated
|
|
46
|
-
// If you are coming here from a stacktrace, please know that the two parts before and after this line are different
|
|
47
|
-
// stacktraces that were concatenated with concatStacktraces
|
|
48
|
-
const separator = removeStacktraceNameLine(new Error().stack ?? "").split("\n")[0];
|
|
49
|
-
for (const error of errors) {
|
|
50
|
-
const toAppend = removeStacktraceNameLine(error.stack ?? "");
|
|
51
|
-
first.stack += (addsEmptyLineAtEnd ? "" : "\n") + separator + "\n" + toAppend;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
export class StackAssertionError extends Error {
|
|
55
|
-
constructor(message, extraData) {
|
|
56
|
-
const disclaimer = `\n\nThis is likely an error in Stack. Please make sure you are running the newest version and report it.`;
|
|
57
|
-
super(`${message}${message.endsWith(disclaimer) ? "" : disclaimer}`, pick(extraData ?? {}, ["cause"]));
|
|
58
|
-
this.extraData = extraData;
|
|
59
|
-
Object.defineProperty(this, "customCaptureExtraArgs", {
|
|
60
|
-
get() {
|
|
61
|
-
return [this.extraData];
|
|
62
|
-
},
|
|
63
|
-
enumerable: false,
|
|
64
|
-
});
|
|
65
|
-
}
|
|
48
|
+
function concatStacktraces(first, ...errors) {
|
|
49
|
+
const addsEmptyLineAtEnd = first.stack?.endsWith("\n");
|
|
50
|
+
const separator = removeStacktraceNameLine(new Error().stack ?? "").split("\n")[0];
|
|
51
|
+
for (const error of errors) {
|
|
52
|
+
const toAppend = removeStacktraceNameLine(error.stack ?? "");
|
|
53
|
+
first.stack += (addsEmptyLineAtEnd ? "" : "\n") + separator + "\n" + toAppend;
|
|
54
|
+
}
|
|
66
55
|
}
|
|
56
|
+
var StackAssertionError = class extends Error {
|
|
57
|
+
constructor(message, extraData) {
|
|
58
|
+
const disclaimer = `
|
|
59
|
+
|
|
60
|
+
This is likely an error in Stack. Please make sure you are running the newest version and report it.`;
|
|
61
|
+
super(`${message}${message.endsWith(disclaimer) ? "" : disclaimer}`, (0, import_objects.pick)(extraData ?? {}, ["cause"]));
|
|
62
|
+
this.extraData = extraData;
|
|
63
|
+
Object.defineProperty(this, "customCaptureExtraArgs", {
|
|
64
|
+
get() {
|
|
65
|
+
return [this.extraData];
|
|
66
|
+
},
|
|
67
|
+
enumerable: false
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
};
|
|
67
71
|
StackAssertionError.prototype.name = "StackAssertionError";
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
return nicify(error, { maxDepth: 8 });
|
|
72
|
+
function errorToNiceString(error) {
|
|
73
|
+
if (!(error instanceof Error)) return `${typeof error}<${(0, import_strings.nicify)(error)}>`;
|
|
74
|
+
return (0, import_strings.nicify)(error, { maxDepth: 8 });
|
|
72
75
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
76
|
+
var errorSinks = /* @__PURE__ */ new Set();
|
|
77
|
+
function registerErrorSink(sink) {
|
|
78
|
+
if (errorSinks.has(sink)) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
errorSinks.add(sink);
|
|
79
82
|
}
|
|
80
83
|
registerErrorSink((location, error, ...extraArgs) => {
|
|
81
|
-
|
|
84
|
+
console.error(
|
|
85
|
+
`\x1B[41mCaptured error in ${location}:`,
|
|
82
86
|
// HACK: Log a nicified version of the error to get around buggy Next.js pretty-printing
|
|
83
87
|
// https://www.reddit.com/r/nextjs/comments/1gkxdqe/comment/m19kxgn/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button
|
|
84
|
-
errorToNiceString(error),
|
|
88
|
+
errorToNiceString(error),
|
|
89
|
+
...extraArgs,
|
|
90
|
+
"\x1B[0m"
|
|
91
|
+
);
|
|
85
92
|
});
|
|
86
93
|
registerErrorSink((location, error, ...extraArgs) => {
|
|
87
|
-
|
|
88
|
-
|
|
94
|
+
import_globals.globalVar.stackCapturedErrors = import_globals.globalVar.stackCapturedErrors ?? [];
|
|
95
|
+
import_globals.globalVar.stackCapturedErrors.push({ location, error, extraArgs });
|
|
89
96
|
});
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
97
|
+
function captureError(location, error) {
|
|
98
|
+
for (const sink of errorSinks) {
|
|
99
|
+
sink(
|
|
100
|
+
location,
|
|
101
|
+
error,
|
|
102
|
+
...error && (typeof error === "object" || typeof error === "function") && "customCaptureExtraArgs" in error && Array.isArray(error.customCaptureExtraArgs) ? error.customCaptureExtraArgs : []
|
|
103
|
+
);
|
|
104
|
+
}
|
|
94
105
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
}
|
|
101
|
-
super(message);
|
|
102
|
-
this.name = "StatusError";
|
|
103
|
-
this.statusCode = status;
|
|
104
|
-
if (!message) {
|
|
105
|
-
throw new StackAssertionError("StatusError always requires a message unless a Status object is passed", { cause: this });
|
|
106
|
-
}
|
|
106
|
+
var StatusError = class extends Error {
|
|
107
|
+
constructor(status, message) {
|
|
108
|
+
if (typeof status === "object") {
|
|
109
|
+
message ??= status.message;
|
|
110
|
+
status = status.statusCode;
|
|
107
111
|
}
|
|
108
|
-
|
|
109
|
-
|
|
112
|
+
super(message);
|
|
113
|
+
this.name = "StatusError";
|
|
114
|
+
this.statusCode = status;
|
|
115
|
+
if (!message) {
|
|
116
|
+
throw new StackAssertionError("StatusError always requires a message unless a Status object is passed", { cause: this });
|
|
110
117
|
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
118
|
+
}
|
|
119
|
+
isClientError() {
|
|
120
|
+
return this.statusCode >= 400 && this.statusCode < 500;
|
|
121
|
+
}
|
|
122
|
+
isServerError() {
|
|
123
|
+
return !this.isClientError();
|
|
124
|
+
}
|
|
125
|
+
getStatusCode() {
|
|
126
|
+
return this.statusCode;
|
|
127
|
+
}
|
|
128
|
+
getBody() {
|
|
129
|
+
return new TextEncoder().encode(this.message);
|
|
130
|
+
}
|
|
131
|
+
getHeaders() {
|
|
132
|
+
return {
|
|
133
|
+
"Content-Type": ["text/plain; charset=utf-8"]
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
toDescriptiveJson() {
|
|
137
|
+
return {
|
|
138
|
+
status_code: this.getStatusCode(),
|
|
139
|
+
message: this.message,
|
|
140
|
+
headers: this.getHeaders()
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* @deprecated this is not a good way to make status errors human-readable, use toDescriptiveJson instead
|
|
145
|
+
*/
|
|
146
|
+
toHttpJson() {
|
|
147
|
+
return {
|
|
148
|
+
status_code: this.statusCode,
|
|
149
|
+
body: this.message,
|
|
150
|
+
headers: this.getHeaders()
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
};
|
|
143
154
|
StatusError.BadRequest = { statusCode: 400, message: "Bad Request" };
|
|
144
155
|
StatusError.Unauthorized = { statusCode: 401, message: "Unauthorized" };
|
|
145
156
|
StatusError.PaymentRequired = { statusCode: 402, message: "Payment Required" };
|
|
@@ -181,3 +192,14 @@ StatusError.LoopDetected = { statusCode: 508, message: "Loop Detected" };
|
|
|
181
192
|
StatusError.NotExtended = { statusCode: 510, message: "Not Extended" };
|
|
182
193
|
StatusError.NetworkAuthenticationRequired = { statusCode: 511, message: "Network Authentication Required" };
|
|
183
194
|
StatusError.prototype.name = "StatusError";
|
|
195
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
196
|
+
0 && (module.exports = {
|
|
197
|
+
StackAssertionError,
|
|
198
|
+
StatusError,
|
|
199
|
+
captureError,
|
|
200
|
+
concatStacktraces,
|
|
201
|
+
errorToNiceString,
|
|
202
|
+
registerErrorSink,
|
|
203
|
+
throwErr
|
|
204
|
+
});
|
|
205
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/errors.tsx"],"sourcesContent":["import { globalVar } from \"./globals\";\nimport { Json } from \"./json\";\nimport { pick } from \"./objects\";\nimport { nicify } from \"./strings\";\n\n\nexport function throwErr(errorMessage: string, extraData?: any): never;\nexport function throwErr(error: Error): never;\nexport function throwErr(...args: StatusErrorConstructorParameters): never;\nexport function throwErr(...args: any[]): never {\n if (typeof args[0] === \"string\") {\n throw new StackAssertionError(args[0], args[1]);\n } else if (args[0] instanceof Error) {\n throw args[0];\n } else {\n // @ts-expect-error\n throw new StatusError(...args);\n }\n}\n\nfunction removeStacktraceNameLine(stack: string): string {\n // some browsers (eg. Chrome) prepend the stack with an extra line with the error name\n const addsNameLine = new Error().stack?.startsWith(\"Error\\n\");\n return stack.split(\"\\n\").slice(addsNameLine ? 1 : 0).join(\"\\n\");\n}\n\n\n/**\n * Concatenates the (original) stacktraces of the given errors onto the first.\n *\n * Useful when you invoke an async function to receive a promise without awaiting it immediately. Browsers are smart\n * enough to keep track of the call stack in async function calls when you invoke `.then` within the same async tick,\n * but if you don't, the stacktrace will be lost.\n *\n * Here's an example of the unwanted behavior:\n *\n * ```tsx\n * async function log() {\n * await wait(0); // simulate an put the task on the event loop\n * console.log(new Error().stack);\n * }\n *\n * async function main() {\n * await log(); // good; prints both \"log\" and \"main\" on the stacktrace\n * log(); // bad; prints only \"log\" on the stacktrace\n * }\n * ```\n */\nexport function concatStacktraces(first: Error, ...errors: Error[]): void {\n // some browsers (eg. Firefox) add an extra empty line at the end\n const addsEmptyLineAtEnd = first.stack?.endsWith(\"\\n\");\n\n\n // Add a reference to this function itself so that we know that stacktraces were concatenated\n // If you are coming here from a stacktrace, please know that the two parts before and after this line are different\n // stacktraces that were concatenated with concatStacktraces\n const separator = removeStacktraceNameLine(new Error().stack ?? \"\").split(\"\\n\")[0];\n\n\n for (const error of errors) {\n const toAppend = removeStacktraceNameLine(error.stack ?? \"\");\n first.stack += (addsEmptyLineAtEnd ? \"\" : \"\\n\") + separator + \"\\n\" + toAppend;\n }\n}\n\n\nexport class StackAssertionError extends Error {\n constructor(message: string, public readonly extraData?: Record<string, any> & ErrorOptions) {\n const disclaimer = `\\n\\nThis is likely an error in Stack. Please make sure you are running the newest version and report it.`;\n super(`${message}${message.endsWith(disclaimer) ? \"\" : disclaimer}`, pick(extraData ?? {}, [\"cause\"]));\n\n Object.defineProperty(this, \"customCaptureExtraArgs\", {\n get() {\n return [this.extraData];\n },\n enumerable: false,\n });\n }\n}\nStackAssertionError.prototype.name = \"StackAssertionError\";\n\n\nexport function errorToNiceString(error: unknown): string {\n if (!(error instanceof Error)) return `${typeof error}<${nicify(error)}>`;\n return nicify(error, { maxDepth: 8 });\n}\n\n\nconst errorSinks = new Set<(location: string, error: unknown, ...extraArgs: unknown[]) => void>();\nexport function registerErrorSink(sink: (location: string, error: unknown) => void): void {\n if (errorSinks.has(sink)) {\n return;\n }\n errorSinks.add(sink);\n}\nregisterErrorSink((location, error, ...extraArgs) => {\n console.error(\n `\\x1b[41mCaptured error in ${location}:`,\n // HACK: Log a nicified version of the error to get around buggy Next.js pretty-printing\n // https://www.reddit.com/r/nextjs/comments/1gkxdqe/comment/m19kxgn/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button\n errorToNiceString(error),\n ...extraArgs,\n \"\\x1b[0m\",\n );\n});\nregisterErrorSink((location, error, ...extraArgs) => {\n globalVar.stackCapturedErrors = globalVar.stackCapturedErrors ?? [];\n globalVar.stackCapturedErrors.push({ location, error, extraArgs });\n});\n\nexport function captureError(location: string, error: unknown): void {\n for (const sink of errorSinks) {\n sink(\n location,\n error,\n ...error && (typeof error === 'object' || typeof error === 'function') && \"customCaptureExtraArgs\" in error && Array.isArray(error.customCaptureExtraArgs) ? (error.customCaptureExtraArgs as any[]) : [],\n );\n }\n}\n\n\ntype Status = {\n statusCode: number,\n message: string,\n};\n\ntype StatusErrorConstructorParameters =\n| [\n status: Status,\n message?: string\n]\n| [\n statusCode: number | Status,\n message: string,\n];\n\nexport class StatusError extends Error {\n public name = \"StatusError\";\n public readonly statusCode: number;\n\n public static BadRequest = { statusCode: 400, message: \"Bad Request\" };\n public static Unauthorized = { statusCode: 401, message: \"Unauthorized\" };\n public static PaymentRequired = { statusCode: 402, message: \"Payment Required\" };\n public static Forbidden = { statusCode: 403, message: \"Forbidden\" };\n public static NotFound = { statusCode: 404, message: \"Not Found\" };\n public static MethodNotAllowed = { statusCode: 405, message: \"Method Not Allowed\" };\n public static NotAcceptable = { statusCode: 406, message: \"Not Acceptable\" };\n public static ProxyAuthenticationRequired = { statusCode: 407, message: \"Proxy Authentication Required\" };\n public static RequestTimeout = { statusCode: 408, message: \"Request Timeout\" };\n public static Conflict = { statusCode: 409, message: \"Conflict\" };\n public static Gone = { statusCode: 410, message: \"Gone\" };\n public static LengthRequired = { statusCode: 411, message: \"Length Required\" };\n public static PreconditionFailed = { statusCode: 412, message: \"Precondition Failed\" };\n public static PayloadTooLarge = { statusCode: 413, message: \"Payload Too Large\" };\n public static URITooLong = { statusCode: 414, message: \"URI Too Long\" };\n public static UnsupportedMediaType = { statusCode: 415, message: \"Unsupported Media Type\" };\n public static RangeNotSatisfiable = { statusCode: 416, message: \"Range Not Satisfiable\" };\n public static ExpectationFailed = { statusCode: 417, message: \"Expectation Failed\" };\n public static ImATeapot = { statusCode: 418, message: \"I'm a teapot\" };\n public static MisdirectedRequest = { statusCode: 421, message: \"Misdirected Request\" };\n public static UnprocessableEntity = { statusCode: 422, message: \"Unprocessable Entity\" };\n public static Locked = { statusCode: 423, message: \"Locked\" };\n public static FailedDependency = { statusCode: 424, message: \"Failed Dependency\" };\n public static TooEarly = { statusCode: 425, message: \"Too Early\" };\n public static UpgradeRequired = { statusCode: 426, message: \"Upgrade Required\" };\n public static PreconditionRequired = { statusCode: 428, message: \"Precondition Required\" };\n public static TooManyRequests = { statusCode: 429, message: \"Too Many Requests\" };\n public static RequestHeaderFieldsTooLarge = { statusCode: 431, message: \"Request Header Fields Too Large\" };\n public static UnavailableForLegalReasons = { statusCode: 451, message: \"Unavailable For Legal Reasons\" };\n\n public static InternalServerError = { statusCode: 500, message: \"Internal Server Error\" };\n public static NotImplemented = { statusCode: 501, message: \"Not Implemented\" };\n public static BadGateway = { statusCode: 502, message: \"Bad Gateway\" };\n public static ServiceUnavailable = { statusCode: 503, message: \"Service Unavailable\" };\n public static GatewayTimeout = { statusCode: 504, message: \"Gateway Timeout\" };\n public static HTTPVersionNotSupported = { statusCode: 505, message: \"HTTP Version Not Supported\" };\n public static VariantAlsoNegotiates = { statusCode: 506, message: \"Variant Also Negotiates\" };\n public static InsufficientStorage = { statusCode: 507, message: \"Insufficient Storage\" };\n public static LoopDetected = { statusCode: 508, message: \"Loop Detected\" };\n public static NotExtended = { statusCode: 510, message: \"Not Extended\" };\n public static NetworkAuthenticationRequired = { statusCode: 511, message: \"Network Authentication Required\" };\n\n\n constructor(...args: StatusErrorConstructorParameters);\n constructor(\n status: number | Status,\n message?: string,\n ) {\n if (typeof status === \"object\") {\n message ??= status.message;\n status = status.statusCode;\n }\n super(message);\n this.statusCode = status;\n if (!message) {\n throw new StackAssertionError(\"StatusError always requires a message unless a Status object is passed\", { cause: this });\n }\n }\n\n public isClientError() {\n return this.statusCode >= 400 && this.statusCode < 500;\n }\n\n public isServerError() {\n return !this.isClientError();\n }\n\n public getStatusCode(): number {\n return this.statusCode;\n }\n\n public getBody(): Uint8Array {\n return new TextEncoder().encode(this.message);\n }\n\n public getHeaders(): Record<string, string[]> {\n return {\n \"Content-Type\": [\"text/plain; charset=utf-8\"],\n };\n }\n\n public toDescriptiveJson(): Json {\n return {\n status_code: this.getStatusCode(),\n message: this.message,\n headers: this.getHeaders(),\n };\n }\n\n /**\n * @deprecated this is not a good way to make status errors human-readable, use toDescriptiveJson instead\n */\n public toHttpJson(): Json {\n return {\n status_code: this.statusCode,\n body: this.message,\n headers: this.getHeaders(),\n };\n }\n}\nStatusError.prototype.name = \"StatusError\";\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
declare function list(path: string): Promise<string[]>;
|
|
2
|
+
declare function listRecursively(p: string, options?: {
|
|
3
|
+
excludeDirectories?: boolean;
|
|
4
|
+
}): Promise<string[]>;
|
|
5
|
+
declare function writeFileSyncIfChanged(path: string, content: string): void;
|
|
6
|
+
|
|
7
|
+
export { list, listRecursively, writeFileSyncIfChanged };
|
package/dist/utils/fs.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
declare function list(path: string): Promise<string[]>;
|
|
2
|
+
declare function listRecursively(p: string, options?: {
|
|
3
3
|
excludeDirectories?: boolean;
|
|
4
4
|
}): Promise<string[]>;
|
|
5
|
-
|
|
5
|
+
declare function writeFileSyncIfChanged(path: string, content: string): void;
|
|
6
|
+
|
|
7
|
+
export { list, listRecursively, writeFileSyncIfChanged };
|