@unkey/api 0.34.0 → 2.0.0-alpha.2
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/.devcontainer/README.md +35 -0
- package/.devcontainer/devcontainer.json +45 -0
- package/FUNCTIONS.md +109 -0
- package/{LICENSE.md → LICENSE} +1 -1
- package/README.md +421 -66
- package/RUNTIMES.md +48 -0
- package/dist/commonjs/core.d.ts +10 -0
- package/dist/commonjs/core.d.ts.map +1 -0
- package/dist/commonjs/core.js +17 -0
- package/dist/commonjs/core.js.map +1 -0
- package/dist/commonjs/funcs/livenessCheck.d.ts +17 -0
- package/dist/commonjs/funcs/livenessCheck.d.ts.map +1 -0
- package/dist/commonjs/funcs/livenessCheck.js +122 -0
- package/dist/commonjs/funcs/livenessCheck.js.map +1 -0
- package/dist/commonjs/funcs/ratelimitDeleteOverride.d.ts +12 -0
- package/dist/commonjs/funcs/ratelimitDeleteOverride.d.ts.map +1 -0
- package/dist/commonjs/funcs/ratelimitDeleteOverride.js +129 -0
- package/dist/commonjs/funcs/ratelimitDeleteOverride.js.map +1 -0
- package/dist/commonjs/funcs/ratelimitGetOverride.d.ts +12 -0
- package/dist/commonjs/funcs/ratelimitGetOverride.d.ts.map +1 -0
- package/dist/commonjs/funcs/ratelimitGetOverride.js +129 -0
- package/dist/commonjs/funcs/ratelimitGetOverride.js.map +1 -0
- package/dist/commonjs/funcs/ratelimitLimit.d.ts +15 -0
- package/dist/commonjs/funcs/ratelimitLimit.d.ts.map +1 -0
- package/dist/commonjs/funcs/ratelimitLimit.js +132 -0
- package/dist/commonjs/funcs/ratelimitLimit.js.map +1 -0
- package/dist/commonjs/funcs/ratelimitSetOverride.d.ts +12 -0
- package/dist/commonjs/funcs/ratelimitSetOverride.d.ts.map +1 -0
- package/dist/commonjs/funcs/ratelimitSetOverride.js +129 -0
- package/dist/commonjs/funcs/ratelimitSetOverride.js.map +1 -0
- package/dist/commonjs/hooks/hooks.d.ts +24 -0
- package/dist/commonjs/hooks/hooks.d.ts.map +1 -0
- package/dist/commonjs/hooks/hooks.js +86 -0
- package/dist/commonjs/hooks/hooks.js.map +1 -0
- package/dist/commonjs/hooks/index.d.ts +3 -0
- package/dist/commonjs/hooks/index.d.ts.map +1 -0
- package/dist/commonjs/hooks/index.js +22 -0
- package/dist/commonjs/hooks/index.js.map +1 -0
- package/dist/commonjs/hooks/registration.d.ts +3 -0
- package/dist/commonjs/hooks/registration.d.ts.map +1 -0
- package/dist/commonjs/hooks/registration.js +15 -0
- package/dist/commonjs/hooks/registration.js.map +1 -0
- package/dist/commonjs/hooks/types.d.ts +78 -0
- package/dist/commonjs/hooks/types.d.ts.map +1 -0
- package/dist/commonjs/hooks/types.js +6 -0
- package/dist/commonjs/hooks/types.js.map +1 -0
- package/dist/commonjs/index.d.ts +4 -0
- package/dist/commonjs/index.d.ts.map +1 -0
- package/dist/commonjs/index.js +46 -0
- package/dist/commonjs/index.js.map +1 -0
- package/dist/commonjs/lib/base64.d.ts +10 -0
- package/dist/commonjs/lib/base64.d.ts.map +1 -0
- package/dist/commonjs/lib/base64.js +71 -0
- package/dist/commonjs/lib/base64.js.map +1 -0
- package/dist/commonjs/lib/config.d.ts +34 -0
- package/dist/commonjs/lib/config.d.ts.map +1 -0
- package/dist/commonjs/lib/config.js +35 -0
- package/dist/commonjs/lib/config.js.map +1 -0
- package/dist/commonjs/lib/dlv.d.ts +14 -0
- package/dist/commonjs/lib/dlv.d.ts.map +1 -0
- package/dist/commonjs/lib/dlv.js +49 -0
- package/dist/commonjs/lib/dlv.js.map +1 -0
- package/dist/commonjs/lib/encodings.d.ts +52 -0
- package/dist/commonjs/lib/encodings.d.ts.map +1 -0
- package/dist/commonjs/lib/encodings.js +368 -0
- package/dist/commonjs/lib/encodings.js.map +1 -0
- package/dist/commonjs/lib/env.d.ts +15 -0
- package/dist/commonjs/lib/env.d.ts.map +1 -0
- package/dist/commonjs/lib/env.js +65 -0
- package/dist/commonjs/lib/env.js.map +1 -0
- package/dist/commonjs/lib/files.d.ts +8 -0
- package/dist/commonjs/lib/files.d.ts.map +1 -0
- package/dist/commonjs/lib/files.js +36 -0
- package/dist/commonjs/lib/files.js.map +1 -0
- package/dist/commonjs/lib/http.d.ts +67 -0
- package/dist/commonjs/lib/http.d.ts.map +1 -0
- package/dist/commonjs/lib/http.js +217 -0
- package/dist/commonjs/lib/http.js.map +1 -0
- package/dist/commonjs/lib/is-plain-object.d.ts +2 -0
- package/dist/commonjs/lib/is-plain-object.d.ts.map +1 -0
- package/dist/commonjs/lib/is-plain-object.js +41 -0
- package/dist/commonjs/lib/is-plain-object.js.map +1 -0
- package/dist/commonjs/lib/logger.d.ts +6 -0
- package/dist/commonjs/lib/logger.d.ts.map +1 -0
- package/dist/commonjs/lib/logger.js +6 -0
- package/dist/commonjs/lib/logger.js.map +1 -0
- package/dist/commonjs/lib/matchers.d.ts +64 -0
- package/dist/commonjs/lib/matchers.d.ts.map +1 -0
- package/dist/commonjs/lib/matchers.js +203 -0
- package/dist/commonjs/lib/matchers.js.map +1 -0
- package/dist/commonjs/lib/primitives.d.ts +26 -0
- package/dist/commonjs/lib/primitives.d.ts.map +1 -0
- package/dist/commonjs/lib/primitives.js +111 -0
- package/dist/commonjs/lib/primitives.js.map +1 -0
- package/dist/commonjs/lib/retries.d.ts +38 -0
- package/dist/commonjs/lib/retries.d.ts.map +1 -0
- package/dist/commonjs/lib/retries.js +153 -0
- package/dist/commonjs/lib/retries.js.map +1 -0
- package/dist/commonjs/lib/schemas.d.ts +19 -0
- package/dist/commonjs/lib/schemas.d.ts.map +1 -0
- package/dist/commonjs/lib/schemas.js +62 -0
- package/dist/commonjs/lib/schemas.js.map +1 -0
- package/dist/commonjs/lib/sdks.d.ts +60 -0
- package/dist/commonjs/lib/sdks.d.ts.map +1 -0
- package/dist/commonjs/lib/sdks.js +274 -0
- package/dist/commonjs/lib/sdks.js.map +1 -0
- package/dist/commonjs/lib/security.d.ts +83 -0
- package/dist/commonjs/lib/security.d.ts.map +1 -0
- package/dist/commonjs/lib/security.js +144 -0
- package/dist/commonjs/lib/security.js.map +1 -0
- package/dist/commonjs/lib/url.d.ts +5 -0
- package/dist/commonjs/lib/url.d.ts.map +1 -0
- package/dist/commonjs/lib/url.js +25 -0
- package/dist/commonjs/lib/url.js.map +1 -0
- package/dist/commonjs/models/components/httpmetadata.d.ts +37 -0
- package/dist/commonjs/models/components/httpmetadata.d.ts.map +1 -0
- package/dist/commonjs/models/components/httpmetadata.js +86 -0
- package/dist/commonjs/models/components/httpmetadata.js.map +1 -0
- package/dist/commonjs/models/components/index.d.ts +13 -0
- package/dist/commonjs/models/components/index.d.ts.map +1 -0
- package/dist/commonjs/models/components/index.js +32 -0
- package/dist/commonjs/models/components/index.js.map +1 -0
- package/dist/commonjs/models/components/security.d.ts +29 -0
- package/dist/commonjs/models/components/security.d.ts.map +1 -0
- package/dist/commonjs/models/components/security.js +69 -0
- package/dist/commonjs/models/components/security.js.map +1 -0
- package/dist/commonjs/models/components/v2livenessresponsebody.d.ts +32 -0
- package/dist/commonjs/models/components/v2livenessresponsebody.d.ts.map +1 -0
- package/dist/commonjs/models/components/v2livenessresponsebody.js +69 -0
- package/dist/commonjs/models/components/v2livenessresponsebody.js.map +1 -0
- package/dist/commonjs/models/components/v2ratelimitdeleteoverriderequestbody.d.ts +45 -0
- package/dist/commonjs/models/components/v2ratelimitdeleteoverriderequestbody.d.ts.map +1 -0
- package/dist/commonjs/models/components/v2ratelimitdeleteoverriderequestbody.js +73 -0
- package/dist/commonjs/models/components/v2ratelimitdeleteoverriderequestbody.js.map +1 -0
- package/dist/commonjs/models/components/v2ratelimitdeleteoverrideresponsebody.d.ts +25 -0
- package/dist/commonjs/models/components/v2ratelimitdeleteoverrideresponsebody.d.ts.map +1 -0
- package/dist/commonjs/models/components/v2ratelimitdeleteoverrideresponsebody.js +65 -0
- package/dist/commonjs/models/components/v2ratelimitdeleteoverrideresponsebody.js.map +1 -0
- package/dist/commonjs/models/components/v2ratelimitgetoverriderequestbody.d.ts +45 -0
- package/dist/commonjs/models/components/v2ratelimitgetoverriderequestbody.d.ts.map +1 -0
- package/dist/commonjs/models/components/v2ratelimitgetoverriderequestbody.js +73 -0
- package/dist/commonjs/models/components/v2ratelimitgetoverriderequestbody.js.map +1 -0
- package/dist/commonjs/models/components/v2ratelimitgetoverrideresponsebody.d.ts +52 -0
- package/dist/commonjs/models/components/v2ratelimitgetoverrideresponsebody.d.ts.map +1 -0
- package/dist/commonjs/models/components/v2ratelimitgetoverrideresponsebody.js +77 -0
- package/dist/commonjs/models/components/v2ratelimitgetoverrideresponsebody.js.map +1 -0
- package/dist/commonjs/models/components/v2ratelimitlimitrequestbody.d.ts +52 -0
- package/dist/commonjs/models/components/v2ratelimitlimitrequestbody.d.ts.map +1 -0
- package/dist/commonjs/models/components/v2ratelimitlimitrequestbody.js +77 -0
- package/dist/commonjs/models/components/v2ratelimitlimitrequestbody.js.map +1 -0
- package/dist/commonjs/models/components/v2ratelimitlimitresponsebody.d.ts +52 -0
- package/dist/commonjs/models/components/v2ratelimitlimitresponsebody.d.ts.map +1 -0
- package/dist/commonjs/models/components/v2ratelimitlimitresponsebody.js +77 -0
- package/dist/commonjs/models/components/v2ratelimitlimitresponsebody.js.map +1 -0
- package/dist/commonjs/models/components/v2ratelimitsetoverriderequestbody.d.ts +55 -0
- package/dist/commonjs/models/components/v2ratelimitsetoverriderequestbody.d.ts.map +1 -0
- package/dist/commonjs/models/components/v2ratelimitsetoverriderequestbody.js +77 -0
- package/dist/commonjs/models/components/v2ratelimitsetoverriderequestbody.js.map +1 -0
- package/dist/commonjs/models/components/v2ratelimitsetoverrideresponsebody.d.ts +32 -0
- package/dist/commonjs/models/components/v2ratelimitsetoverrideresponsebody.d.ts.map +1 -0
- package/dist/commonjs/models/components/v2ratelimitsetoverrideresponsebody.js +69 -0
- package/dist/commonjs/models/components/v2ratelimitsetoverrideresponsebody.js.map +1 -0
- package/dist/commonjs/models/components/validationerror.d.ts +42 -0
- package/dist/commonjs/models/components/validationerror.d.ts.map +1 -0
- package/dist/commonjs/models/components/validationerror.js +73 -0
- package/dist/commonjs/models/components/validationerror.js.map +1 -0
- package/dist/commonjs/models/errors/apierror.d.ts +11 -0
- package/dist/commonjs/models/errors/apierror.d.ts.map +1 -0
- package/dist/commonjs/models/errors/apierror.js +15 -0
- package/dist/commonjs/models/errors/apierror.js.map +1 -0
- package/dist/commonjs/models/errors/badrequesterror.d.ts +92 -0
- package/dist/commonjs/models/errors/badrequesterror.d.ts.map +1 -0
- package/dist/commonjs/models/errors/badrequesterror.js +97 -0
- package/dist/commonjs/models/errors/badrequesterror.js.map +1 -0
- package/dist/commonjs/models/errors/baseerror.d.ts +82 -0
- package/dist/commonjs/models/errors/baseerror.d.ts.map +1 -0
- package/dist/commonjs/models/errors/baseerror.js +93 -0
- package/dist/commonjs/models/errors/baseerror.js.map +1 -0
- package/dist/commonjs/models/errors/httpclienterrors.d.ts +44 -0
- package/dist/commonjs/models/errors/httpclienterrors.d.ts.map +1 -0
- package/dist/commonjs/models/errors/httpclienterrors.js +78 -0
- package/dist/commonjs/models/errors/httpclienterrors.js.map +1 -0
- package/dist/commonjs/models/errors/index.d.ts +6 -0
- package/dist/commonjs/models/errors/index.d.ts.map +1 -0
- package/dist/commonjs/models/errors/index.js +25 -0
- package/dist/commonjs/models/errors/index.js.map +1 -0
- package/dist/commonjs/models/errors/sdkvalidationerror.d.ts +20 -0
- package/dist/commonjs/models/errors/sdkvalidationerror.d.ts.map +1 -0
- package/dist/commonjs/models/errors/sdkvalidationerror.js +115 -0
- package/dist/commonjs/models/errors/sdkvalidationerror.js.map +1 -0
- package/dist/commonjs/models/operations/index.d.ts +6 -0
- package/dist/commonjs/models/operations/index.d.ts.map +1 -0
- package/dist/commonjs/models/operations/index.js +25 -0
- package/dist/commonjs/models/operations/index.js.map +1 -0
- package/dist/commonjs/models/operations/liveness.d.ts +35 -0
- package/dist/commonjs/models/operations/liveness.d.ts.map +1 -0
- package/dist/commonjs/models/operations/liveness.js +85 -0
- package/dist/commonjs/models/operations/liveness.js.map +1 -0
- package/dist/commonjs/models/operations/ratelimitdeleteoverride.d.ts +35 -0
- package/dist/commonjs/models/operations/ratelimitdeleteoverride.d.ts.map +1 -0
- package/dist/commonjs/models/operations/ratelimitdeleteoverride.js +85 -0
- package/dist/commonjs/models/operations/ratelimitdeleteoverride.js.map +1 -0
- package/dist/commonjs/models/operations/ratelimitgetoverride.d.ts +35 -0
- package/dist/commonjs/models/operations/ratelimitgetoverride.d.ts.map +1 -0
- package/dist/commonjs/models/operations/ratelimitgetoverride.js +85 -0
- package/dist/commonjs/models/operations/ratelimitgetoverride.js.map +1 -0
- package/dist/commonjs/models/operations/ratelimitsetoverride.d.ts +35 -0
- package/dist/commonjs/models/operations/ratelimitsetoverride.d.ts.map +1 -0
- package/dist/commonjs/models/operations/ratelimitsetoverride.js +85 -0
- package/dist/commonjs/models/operations/ratelimitsetoverride.js.map +1 -0
- package/dist/commonjs/models/operations/v1ratelimitlimit.d.ts +35 -0
- package/dist/commonjs/models/operations/v1ratelimitlimit.d.ts.map +1 -0
- package/dist/commonjs/models/operations/v1ratelimitlimit.js +85 -0
- package/dist/commonjs/models/operations/v1ratelimitlimit.js.map +1 -0
- package/dist/commonjs/package.json +3 -0
- package/dist/commonjs/sdk/index.d.ts +2 -0
- package/dist/commonjs/sdk/index.d.ts.map +1 -0
- package/dist/commonjs/sdk/index.js +21 -0
- package/dist/commonjs/sdk/index.js.map +1 -0
- package/dist/commonjs/sdk/liveness.d.ts +12 -0
- package/dist/commonjs/sdk/liveness.d.ts.map +1 -0
- package/dist/commonjs/sdk/liveness.js +22 -0
- package/dist/commonjs/sdk/liveness.js.map +1 -0
- package/dist/commonjs/sdk/ratelimit.d.ts +13 -0
- package/dist/commonjs/sdk/ratelimit.d.ts.map +1 -0
- package/dist/commonjs/sdk/ratelimit.js +31 -0
- package/dist/commonjs/sdk/ratelimit.js.map +1 -0
- package/dist/commonjs/sdk/sdk.d.ts +10 -0
- package/dist/commonjs/sdk/sdk.d.ts.map +1 -0
- package/dist/commonjs/sdk/sdk.js +19 -0
- package/dist/commonjs/sdk/sdk.js.map +1 -0
- package/dist/commonjs/types/async.d.ts +23 -0
- package/dist/commonjs/types/async.d.ts.map +1 -0
- package/dist/commonjs/types/async.js +44 -0
- package/dist/commonjs/types/async.js.map +1 -0
- package/dist/commonjs/types/blobs.d.ts +4 -0
- package/dist/commonjs/types/blobs.d.ts.map +1 -0
- package/dist/commonjs/types/blobs.js +62 -0
- package/dist/commonjs/types/blobs.js.map +1 -0
- package/dist/commonjs/types/constdatetime.d.ts +3 -0
- package/dist/commonjs/types/constdatetime.d.ts.map +1 -0
- package/dist/commonjs/types/constdatetime.js +46 -0
- package/dist/commonjs/types/constdatetime.js.map +1 -0
- package/dist/commonjs/types/enums.d.ts +12 -0
- package/dist/commonjs/types/enums.d.ts.map +1 -0
- package/dist/commonjs/types/enums.js +10 -0
- package/dist/commonjs/types/enums.js.map +1 -0
- package/dist/commonjs/types/fp.d.ts +31 -0
- package/dist/commonjs/types/fp.d.ts.map +1 -0
- package/dist/commonjs/types/fp.js +37 -0
- package/dist/commonjs/types/fp.js.map +1 -0
- package/dist/commonjs/types/index.d.ts +8 -0
- package/dist/commonjs/types/index.d.ts.map +1 -0
- package/dist/commonjs/types/index.js +16 -0
- package/dist/commonjs/types/index.js.map +1 -0
- package/dist/commonjs/types/operations.d.ts +27 -0
- package/dist/commonjs/types/operations.d.ts.map +1 -0
- package/dist/commonjs/types/operations.js +83 -0
- package/dist/commonjs/types/operations.js.map +1 -0
- package/dist/commonjs/types/rfcdate.d.ts +21 -0
- package/dist/commonjs/types/rfcdate.d.ts.map +1 -0
- package/dist/commonjs/types/rfcdate.js +46 -0
- package/dist/commonjs/types/rfcdate.js.map +1 -0
- package/dist/commonjs/types/streams.d.ts +2 -0
- package/dist/commonjs/types/streams.d.ts.map +1 -0
- package/dist/commonjs/types/streams.js +18 -0
- package/dist/commonjs/types/streams.js.map +1 -0
- package/dist/esm/core.d.ts +10 -0
- package/dist/esm/core.d.ts.map +1 -0
- package/dist/esm/core.js +13 -0
- package/dist/esm/core.js.map +1 -0
- package/dist/esm/funcs/livenessCheck.d.ts +17 -0
- package/dist/esm/funcs/livenessCheck.d.ts.map +1 -0
- package/dist/esm/funcs/livenessCheck.js +86 -0
- package/dist/esm/funcs/livenessCheck.js.map +1 -0
- package/dist/esm/funcs/ratelimitDeleteOverride.d.ts +12 -0
- package/dist/esm/funcs/ratelimitDeleteOverride.d.ts.map +1 -0
- package/dist/esm/funcs/ratelimitDeleteOverride.js +93 -0
- package/dist/esm/funcs/ratelimitDeleteOverride.js.map +1 -0
- package/dist/esm/funcs/ratelimitGetOverride.d.ts +12 -0
- package/dist/esm/funcs/ratelimitGetOverride.d.ts.map +1 -0
- package/dist/esm/funcs/ratelimitGetOverride.js +93 -0
- package/dist/esm/funcs/ratelimitGetOverride.js.map +1 -0
- package/dist/esm/funcs/ratelimitLimit.d.ts +15 -0
- package/dist/esm/funcs/ratelimitLimit.d.ts.map +1 -0
- package/dist/esm/funcs/ratelimitLimit.js +96 -0
- package/dist/esm/funcs/ratelimitLimit.js.map +1 -0
- package/dist/esm/funcs/ratelimitSetOverride.d.ts +12 -0
- package/dist/esm/funcs/ratelimitSetOverride.d.ts.map +1 -0
- package/dist/esm/funcs/ratelimitSetOverride.js +93 -0
- package/dist/esm/funcs/ratelimitSetOverride.js.map +1 -0
- package/dist/esm/hooks/hooks.d.ts +24 -0
- package/dist/esm/hooks/hooks.d.ts.map +1 -0
- package/dist/esm/hooks/hooks.js +82 -0
- package/dist/esm/hooks/hooks.js.map +1 -0
- package/dist/esm/hooks/index.d.ts +3 -0
- package/dist/esm/hooks/index.d.ts.map +1 -0
- package/dist/esm/hooks/index.js +6 -0
- package/dist/esm/hooks/index.js.map +1 -0
- package/dist/esm/hooks/registration.d.ts +3 -0
- package/dist/esm/hooks/registration.d.ts.map +1 -0
- package/dist/esm/hooks/registration.js +12 -0
- package/dist/esm/hooks/registration.js.map +1 -0
- package/dist/esm/hooks/types.d.ts +78 -0
- package/dist/esm/hooks/types.d.ts.map +1 -0
- package/dist/esm/hooks/types.js +5 -0
- package/dist/esm/hooks/types.js.map +1 -0
- package/dist/esm/index.d.ts +4 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +7 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/lib/base64.d.ts +10 -0
- package/dist/esm/lib/base64.d.ts.map +1 -0
- package/dist/esm/lib/base64.js +29 -0
- package/dist/esm/lib/base64.js.map +1 -0
- package/dist/esm/lib/config.d.ts +34 -0
- package/dist/esm/lib/config.d.ts.map +1 -0
- package/dist/esm/lib/config.js +31 -0
- package/dist/esm/lib/config.js.map +1 -0
- package/dist/esm/lib/dlv.d.ts +14 -0
- package/dist/esm/lib/dlv.d.ts.map +1 -0
- package/dist/esm/lib/dlv.js +46 -0
- package/dist/esm/lib/dlv.js.map +1 -0
- package/dist/esm/lib/encodings.d.ts +52 -0
- package/dist/esm/lib/encodings.d.ts.map +1 -0
- package/dist/esm/lib/encodings.js +354 -0
- package/dist/esm/lib/encodings.js.map +1 -0
- package/dist/esm/lib/env.d.ts +15 -0
- package/dist/esm/lib/env.d.ts.map +1 -0
- package/dist/esm/lib/env.js +27 -0
- package/dist/esm/lib/env.js.map +1 -0
- package/dist/esm/lib/files.d.ts +8 -0
- package/dist/esm/lib/files.d.ts.map +1 -0
- package/dist/esm/lib/files.js +33 -0
- package/dist/esm/lib/files.js.map +1 -0
- package/dist/esm/lib/http.d.ts +67 -0
- package/dist/esm/lib/http.d.ts.map +1 -0
- package/dist/esm/lib/http.js +207 -0
- package/dist/esm/lib/http.js.map +1 -0
- package/dist/esm/lib/is-plain-object.d.ts +2 -0
- package/dist/esm/lib/is-plain-object.d.ts.map +1 -0
- package/dist/esm/lib/is-plain-object.js +38 -0
- package/dist/esm/lib/is-plain-object.js.map +1 -0
- package/dist/esm/lib/logger.d.ts +6 -0
- package/dist/esm/lib/logger.d.ts.map +1 -0
- package/dist/esm/lib/logger.js +5 -0
- package/dist/esm/lib/logger.js.map +1 -0
- package/dist/esm/lib/matchers.d.ts +64 -0
- package/dist/esm/lib/matchers.d.ts.map +1 -0
- package/dist/esm/lib/matchers.js +185 -0
- package/dist/esm/lib/matchers.js.map +1 -0
- package/dist/esm/lib/primitives.d.ts +26 -0
- package/dist/esm/lib/primitives.d.ts.map +1 -0
- package/dist/esm/lib/primitives.js +103 -0
- package/dist/esm/lib/primitives.js.map +1 -0
- package/dist/esm/lib/retries.d.ts +38 -0
- package/dist/esm/lib/retries.d.ts.map +1 -0
- package/dist/esm/lib/retries.js +147 -0
- package/dist/esm/lib/retries.js.map +1 -0
- package/dist/esm/lib/schemas.d.ts +19 -0
- package/dist/esm/lib/schemas.d.ts.map +1 -0
- package/dist/esm/lib/schemas.js +57 -0
- package/dist/esm/lib/schemas.js.map +1 -0
- package/dist/esm/lib/sdks.d.ts +60 -0
- package/dist/esm/lib/sdks.d.ts.map +1 -0
- package/dist/esm/lib/sdks.js +270 -0
- package/dist/esm/lib/sdks.js.map +1 -0
- package/dist/esm/lib/security.d.ts +83 -0
- package/dist/esm/lib/security.d.ts.map +1 -0
- package/dist/esm/lib/security.js +137 -0
- package/dist/esm/lib/security.js.map +1 -0
- package/dist/esm/lib/url.d.ts +5 -0
- package/dist/esm/lib/url.d.ts.map +1 -0
- package/dist/esm/lib/url.js +22 -0
- package/dist/esm/lib/url.js.map +1 -0
- package/dist/esm/models/components/httpmetadata.d.ts +37 -0
- package/dist/esm/models/components/httpmetadata.d.ts.map +1 -0
- package/dist/esm/models/components/httpmetadata.js +48 -0
- package/dist/esm/models/components/httpmetadata.js.map +1 -0
- package/dist/esm/models/components/index.d.ts +13 -0
- package/dist/esm/models/components/index.d.ts.map +1 -0
- package/dist/esm/models/components/index.js +16 -0
- package/dist/esm/models/components/index.js.map +1 -0
- package/dist/esm/models/components/security.d.ts +29 -0
- package/dist/esm/models/components/security.d.ts.map +1 -0
- package/dist/esm/models/components/security.js +31 -0
- package/dist/esm/models/components/security.js.map +1 -0
- package/dist/esm/models/components/v2livenessresponsebody.d.ts +32 -0
- package/dist/esm/models/components/v2livenessresponsebody.d.ts.map +1 -0
- package/dist/esm/models/components/v2livenessresponsebody.js +31 -0
- package/dist/esm/models/components/v2livenessresponsebody.js.map +1 -0
- package/dist/esm/models/components/v2ratelimitdeleteoverriderequestbody.d.ts +45 -0
- package/dist/esm/models/components/v2ratelimitdeleteoverriderequestbody.d.ts.map +1 -0
- package/dist/esm/models/components/v2ratelimitdeleteoverriderequestbody.js +35 -0
- package/dist/esm/models/components/v2ratelimitdeleteoverriderequestbody.js.map +1 -0
- package/dist/esm/models/components/v2ratelimitdeleteoverrideresponsebody.d.ts +25 -0
- package/dist/esm/models/components/v2ratelimitdeleteoverrideresponsebody.d.ts.map +1 -0
- package/dist/esm/models/components/v2ratelimitdeleteoverrideresponsebody.js +27 -0
- package/dist/esm/models/components/v2ratelimitdeleteoverrideresponsebody.js.map +1 -0
- package/dist/esm/models/components/v2ratelimitgetoverriderequestbody.d.ts +45 -0
- package/dist/esm/models/components/v2ratelimitgetoverriderequestbody.d.ts.map +1 -0
- package/dist/esm/models/components/v2ratelimitgetoverriderequestbody.js +35 -0
- package/dist/esm/models/components/v2ratelimitgetoverriderequestbody.js.map +1 -0
- package/dist/esm/models/components/v2ratelimitgetoverrideresponsebody.d.ts +52 -0
- package/dist/esm/models/components/v2ratelimitgetoverrideresponsebody.d.ts.map +1 -0
- package/dist/esm/models/components/v2ratelimitgetoverrideresponsebody.js +39 -0
- package/dist/esm/models/components/v2ratelimitgetoverrideresponsebody.js.map +1 -0
- package/dist/esm/models/components/v2ratelimitlimitrequestbody.d.ts +52 -0
- package/dist/esm/models/components/v2ratelimitlimitrequestbody.d.ts.map +1 -0
- package/dist/esm/models/components/v2ratelimitlimitrequestbody.js +39 -0
- package/dist/esm/models/components/v2ratelimitlimitrequestbody.js.map +1 -0
- package/dist/esm/models/components/v2ratelimitlimitresponsebody.d.ts +52 -0
- package/dist/esm/models/components/v2ratelimitlimitresponsebody.d.ts.map +1 -0
- package/dist/esm/models/components/v2ratelimitlimitresponsebody.js +39 -0
- package/dist/esm/models/components/v2ratelimitlimitresponsebody.js.map +1 -0
- package/dist/esm/models/components/v2ratelimitsetoverriderequestbody.d.ts +55 -0
- package/dist/esm/models/components/v2ratelimitsetoverriderequestbody.d.ts.map +1 -0
- package/dist/esm/models/components/v2ratelimitsetoverriderequestbody.js +39 -0
- package/dist/esm/models/components/v2ratelimitsetoverriderequestbody.js.map +1 -0
- package/dist/esm/models/components/v2ratelimitsetoverrideresponsebody.d.ts +32 -0
- package/dist/esm/models/components/v2ratelimitsetoverrideresponsebody.d.ts.map +1 -0
- package/dist/esm/models/components/v2ratelimitsetoverrideresponsebody.js +31 -0
- package/dist/esm/models/components/v2ratelimitsetoverrideresponsebody.js.map +1 -0
- package/dist/esm/models/components/validationerror.d.ts +42 -0
- package/dist/esm/models/components/validationerror.d.ts.map +1 -0
- package/dist/esm/models/components/validationerror.js +35 -0
- package/dist/esm/models/components/validationerror.js.map +1 -0
- package/dist/esm/models/errors/apierror.d.ts +11 -0
- package/dist/esm/models/errors/apierror.d.ts.map +1 -0
- package/dist/esm/models/errors/apierror.js +11 -0
- package/dist/esm/models/errors/apierror.js.map +1 -0
- package/dist/esm/models/errors/badrequesterror.d.ts +92 -0
- package/dist/esm/models/errors/badrequesterror.d.ts.map +1 -0
- package/dist/esm/models/errors/badrequesterror.js +60 -0
- package/dist/esm/models/errors/badrequesterror.js.map +1 -0
- package/dist/esm/models/errors/baseerror.d.ts +82 -0
- package/dist/esm/models/errors/baseerror.d.ts.map +1 -0
- package/dist/esm/models/errors/baseerror.js +56 -0
- package/dist/esm/models/errors/baseerror.js.map +1 -0
- package/dist/esm/models/errors/httpclienterrors.d.ts +44 -0
- package/dist/esm/models/errors/httpclienterrors.d.ts.map +1 -0
- package/dist/esm/models/errors/httpclienterrors.js +69 -0
- package/dist/esm/models/errors/httpclienterrors.js.map +1 -0
- package/dist/esm/models/errors/index.d.ts +6 -0
- package/dist/esm/models/errors/index.d.ts.map +1 -0
- package/dist/esm/models/errors/index.js +9 -0
- package/dist/esm/models/errors/index.js.map +1 -0
- package/dist/esm/models/errors/sdkvalidationerror.d.ts +20 -0
- package/dist/esm/models/errors/sdkvalidationerror.d.ts.map +1 -0
- package/dist/esm/models/errors/sdkvalidationerror.js +77 -0
- package/dist/esm/models/errors/sdkvalidationerror.js.map +1 -0
- package/dist/esm/models/operations/index.d.ts +6 -0
- package/dist/esm/models/operations/index.d.ts.map +1 -0
- package/dist/esm/models/operations/index.js +9 -0
- package/dist/esm/models/operations/index.js.map +1 -0
- package/dist/esm/models/operations/liveness.d.ts +35 -0
- package/dist/esm/models/operations/liveness.d.ts.map +1 -0
- package/dist/esm/models/operations/liveness.js +47 -0
- package/dist/esm/models/operations/liveness.js.map +1 -0
- package/dist/esm/models/operations/ratelimitdeleteoverride.d.ts +35 -0
- package/dist/esm/models/operations/ratelimitdeleteoverride.d.ts.map +1 -0
- package/dist/esm/models/operations/ratelimitdeleteoverride.js +47 -0
- package/dist/esm/models/operations/ratelimitdeleteoverride.js.map +1 -0
- package/dist/esm/models/operations/ratelimitgetoverride.d.ts +35 -0
- package/dist/esm/models/operations/ratelimitgetoverride.d.ts.map +1 -0
- package/dist/esm/models/operations/ratelimitgetoverride.js +47 -0
- package/dist/esm/models/operations/ratelimitgetoverride.js.map +1 -0
- package/dist/esm/models/operations/ratelimitsetoverride.d.ts +35 -0
- package/dist/esm/models/operations/ratelimitsetoverride.d.ts.map +1 -0
- package/dist/esm/models/operations/ratelimitsetoverride.js +47 -0
- package/dist/esm/models/operations/ratelimitsetoverride.js.map +1 -0
- package/dist/esm/models/operations/v1ratelimitlimit.d.ts +35 -0
- package/dist/esm/models/operations/v1ratelimitlimit.d.ts.map +1 -0
- package/dist/esm/models/operations/v1ratelimitlimit.js +47 -0
- package/dist/esm/models/operations/v1ratelimitlimit.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/sdk/index.d.ts +2 -0
- package/dist/esm/sdk/index.d.ts.map +1 -0
- package/dist/esm/sdk/index.js +5 -0
- package/dist/esm/sdk/index.js.map +1 -0
- package/dist/esm/sdk/liveness.d.ts +12 -0
- package/dist/esm/sdk/liveness.d.ts.map +1 -0
- package/dist/esm/sdk/liveness.js +18 -0
- package/dist/esm/sdk/liveness.js.map +1 -0
- package/dist/esm/sdk/ratelimit.d.ts +13 -0
- package/dist/esm/sdk/ratelimit.d.ts.map +1 -0
- package/dist/esm/sdk/ratelimit.js +27 -0
- package/dist/esm/sdk/ratelimit.js.map +1 -0
- package/dist/esm/sdk/sdk.d.ts +10 -0
- package/dist/esm/sdk/sdk.d.ts.map +1 -0
- package/dist/esm/sdk/sdk.js +15 -0
- package/dist/esm/sdk/sdk.js.map +1 -0
- package/dist/esm/types/async.d.ts +23 -0
- package/dist/esm/types/async.d.ts.map +1 -0
- package/dist/esm/types/async.js +40 -0
- package/dist/esm/types/async.js.map +1 -0
- package/dist/esm/types/blobs.d.ts +4 -0
- package/dist/esm/types/blobs.d.ts.map +1 -0
- package/dist/esm/types/blobs.js +25 -0
- package/dist/esm/types/blobs.js.map +1 -0
- package/dist/esm/types/constdatetime.d.ts +3 -0
- package/dist/esm/types/constdatetime.d.ts.map +1 -0
- package/dist/esm/types/constdatetime.js +10 -0
- package/dist/esm/types/constdatetime.js.map +1 -0
- package/dist/esm/types/enums.d.ts +12 -0
- package/dist/esm/types/enums.d.ts.map +1 -0
- package/dist/esm/types/enums.js +7 -0
- package/dist/esm/types/enums.js.map +1 -0
- package/dist/esm/types/fp.d.ts +31 -0
- package/dist/esm/types/fp.d.ts.map +1 -0
- package/dist/esm/types/fp.js +31 -0
- package/dist/esm/types/fp.js.map +1 -0
- package/dist/esm/types/index.d.ts +8 -0
- package/dist/esm/types/index.d.ts.map +1 -0
- package/dist/esm/types/index.js +8 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/esm/types/operations.d.ts +27 -0
- package/dist/esm/types/operations.d.ts.map +1 -0
- package/dist/esm/types/operations.js +77 -0
- package/dist/esm/types/operations.js.map +1 -0
- package/dist/esm/types/rfcdate.d.ts +21 -0
- package/dist/esm/types/rfcdate.d.ts.map +1 -0
- package/dist/esm/types/rfcdate.js +42 -0
- package/dist/esm/types/rfcdate.js.map +1 -0
- package/dist/esm/types/streams.d.ts +2 -0
- package/dist/esm/types/streams.d.ts.map +1 -0
- package/dist/esm/types/streams.js +15 -0
- package/dist/esm/types/streams.js.map +1 -0
- package/docs/sdks/liveness/README.md +81 -0
- package/docs/sdks/ratelimit/README.md +331 -0
- package/docs/sdks/unkey/README.md +5 -0
- package/jsr.json +27 -0
- package/package.json +120 -34
- package/src/core.ts +13 -0
- package/src/funcs/livenessCheck.ts +165 -0
- package/src/funcs/ratelimitDeleteOverride.ts +187 -0
- package/src/funcs/ratelimitGetOverride.ts +185 -0
- package/src/funcs/ratelimitLimit.ts +188 -0
- package/src/funcs/ratelimitSetOverride.ts +185 -0
- package/src/hooks/hooks.ts +132 -0
- package/src/hooks/index.ts +6 -0
- package/src/hooks/registration.ts +14 -0
- package/src/hooks/types.ts +110 -0
- package/src/index.ts +7 -0
- package/src/lib/base64.ts +37 -0
- package/src/lib/config.ts +60 -0
- package/src/lib/dlv.ts +53 -0
- package/src/lib/encodings.ts +483 -0
- package/src/lib/env.ts +41 -0
- package/src/lib/files.ts +40 -0
- package/src/lib/http.ts +323 -0
- package/src/lib/is-plain-object.ts +43 -0
- package/src/lib/logger.ts +9 -0
- package/src/lib/matchers.ts +316 -0
- package/src/lib/primitives.ts +150 -0
- package/src/lib/retries.ts +218 -0
- package/src/lib/schemas.ts +91 -0
- package/src/lib/sdks.ts +395 -0
- package/src/lib/security.ts +261 -0
- package/src/lib/url.ts +33 -0
- package/src/models/components/httpmetadata.ts +87 -0
- package/src/models/components/index.ts +16 -0
- package/src/models/components/security.ts +62 -0
- package/src/models/components/v2livenessresponsebody.ts +69 -0
- package/src/models/components/v2ratelimitdeleteoverriderequestbody.ts +91 -0
- package/src/models/components/v2ratelimitdeleteoverrideresponsebody.ts +63 -0
- package/src/models/components/v2ratelimitgetoverriderequestbody.ts +89 -0
- package/src/models/components/v2ratelimitgetoverrideresponsebody.ts +101 -0
- package/src/models/components/v2ratelimitlimitrequestbody.ts +99 -0
- package/src/models/components/v2ratelimitlimitresponsebody.ts +99 -0
- package/src/models/components/v2ratelimitsetoverriderequestbody.ts +103 -0
- package/src/models/components/v2ratelimitsetoverrideresponsebody.ts +73 -0
- package/src/models/components/validationerror.ts +81 -0
- package/src/models/errors/apierror.ts +21 -0
- package/src/models/errors/badrequesterror.ts +148 -0
- package/src/models/errors/baseerror.ts +135 -0
- package/src/models/errors/httpclienterrors.ts +62 -0
- package/src/models/errors/index.ts +9 -0
- package/src/models/errors/sdkvalidationerror.ts +97 -0
- package/src/models/operations/index.ts +9 -0
- package/src/models/operations/liveness.ts +89 -0
- package/src/models/operations/ratelimitdeleteoverride.ts +95 -0
- package/src/models/operations/ratelimitgetoverride.ts +93 -0
- package/src/models/operations/ratelimitsetoverride.ts +93 -0
- package/src/models/operations/v1ratelimitlimit.ts +91 -0
- package/src/sdk/index.ts +5 -0
- package/src/sdk/liveness.ts +25 -0
- package/src/sdk/ratelimit.ts +61 -0
- package/src/sdk/sdk.ts +19 -0
- package/src/types/async.ts +68 -0
- package/src/types/blobs.ts +31 -0
- package/src/types/constdatetime.ts +15 -0
- package/src/types/enums.ts +16 -0
- package/src/types/fp.ts +50 -0
- package/src/types/index.ts +11 -0
- package/src/types/operations.ts +105 -0
- package/src/types/rfcdate.ts +54 -0
- package/src/types/streams.ts +21 -0
- package/tsconfig.json +41 -0
- package/dist/index.d.mts +0 -5436
- package/dist/index.d.ts +0 -5436
- package/dist/index.js +0 -355
- package/dist/index.js.map +0 -1
- package/dist/index.mjs +0 -325
- package/dist/index.mjs.map +0 -1
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
|
|
2
|
+
<div align="center">
|
|
3
|
+
<a href="https://codespaces.new/unkeyed/unkey-ts.git/tree/main"><img src="https://github.com/codespaces/badge.svg" /></a>
|
|
4
|
+
</div>
|
|
5
|
+
<br>
|
|
6
|
+
|
|
7
|
+
> **Remember to shutdown a GitHub Codespace when it is not in use!**
|
|
8
|
+
|
|
9
|
+
# Dev Containers Quick Start
|
|
10
|
+
|
|
11
|
+
The default location for usage snippets is the `samples` directory.
|
|
12
|
+
|
|
13
|
+
## Running a Usage Sample
|
|
14
|
+
|
|
15
|
+
A sample usage example has been provided in a `root.ts` file. As you work with the SDK, it's expected that you will modify these samples to fit your needs. To execute this particular snippet, use the command below.
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
ts-node root.ts
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Generating Additional Usage Samples
|
|
22
|
+
|
|
23
|
+
The speakeasy CLI allows you to generate more usage snippets. Here's how:
|
|
24
|
+
|
|
25
|
+
- To generate a sample for a specific operation by providing an operation ID, use:
|
|
26
|
+
|
|
27
|
+
```
|
|
28
|
+
speakeasy generate usage -s https://raw.githubusercontent.com/unkeyed/unkey/refs/heads/main/go/apps/api/openapi/openapi.json -l typescript -i {INPUT_OPERATION_ID} -o ./samples
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
- To generate samples for an entire namespace (like a tag or group name), use:
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
speakeasy generate usage -s https://raw.githubusercontent.com/unkeyed/unkey/refs/heads/main/go/apps/api/openapi/openapi.json -l typescript -n {INPUT_TAG_NAME} -o ./samples
|
|
35
|
+
```
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
|
|
2
|
+
// README at: https://github.com/devcontainers/images/tree/main/src/typescript-node
|
|
3
|
+
{
|
|
4
|
+
"name": "TypeScript",
|
|
5
|
+
"image": "mcr.microsoft.com/devcontainers/typescript-node:1-20-bullseye",
|
|
6
|
+
// Features to add to the dev container. More info: https://containers.dev/features.
|
|
7
|
+
// "features": {},
|
|
8
|
+
// Use 'forwardPorts' to make a list of ports inside the container available locally.
|
|
9
|
+
// "forwardPorts": [],
|
|
10
|
+
// Use 'postCreateCommand' to run commands after the container is created.
|
|
11
|
+
"postCreateCommand": "sudo chmod +x ./.devcontainer/setup.sh && ./.devcontainer/setup.sh",
|
|
12
|
+
"customizations": {
|
|
13
|
+
"vscode": {
|
|
14
|
+
"extensions": [
|
|
15
|
+
"ms-vscode.vscode-typescript-tslint-plugin",
|
|
16
|
+
"esbenp.prettier-vscode",
|
|
17
|
+
"github.vscode-pull-request-github"
|
|
18
|
+
],
|
|
19
|
+
"settings": {
|
|
20
|
+
"files.eol": "\n",
|
|
21
|
+
"editor.formatOnSave": true,
|
|
22
|
+
"typescript.tsc.autoDetect": "on",
|
|
23
|
+
"typescript.updateImportsOnFileMove.enabled": "always",
|
|
24
|
+
"typescript.preferences.importModuleSpecifier": "relative",
|
|
25
|
+
"[typescript]": {
|
|
26
|
+
"editor.codeActionsOnSave": {
|
|
27
|
+
"source.organizeImports": true
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"[typescriptreact]": {
|
|
31
|
+
"editor.codeActionsOnSave": {
|
|
32
|
+
"source.organizeImports": true
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"codespaces": {
|
|
38
|
+
"openFiles": [
|
|
39
|
+
".devcontainer/README.md"
|
|
40
|
+
]
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
|
|
44
|
+
// "remoteUser": "root"
|
|
45
|
+
}
|
package/FUNCTIONS.md
ADDED
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# Standalone Functions
|
|
2
|
+
|
|
3
|
+
> [!NOTE]
|
|
4
|
+
> This section is useful if you are using a bundler and targetting browsers and
|
|
5
|
+
> runtimes where the size of an application affects performance and load times.
|
|
6
|
+
|
|
7
|
+
Every method in this SDK is also available as a standalone function. This
|
|
8
|
+
alternative API is suitable when targetting the browser or serverless runtimes
|
|
9
|
+
and using a bundler to build your application since all unused functionality
|
|
10
|
+
will be tree-shaken away. This includes code for unused methods, Zod schemas,
|
|
11
|
+
encoding helpers and response handlers. The result is dramatically smaller
|
|
12
|
+
impact on the application's final bundle size which grows very slowly as you use
|
|
13
|
+
more and more functionality from this SDK.
|
|
14
|
+
|
|
15
|
+
Calling methods through the main SDK class remains a valid and generally more
|
|
16
|
+
more ergonomic option. Standalone functions represent an optimisation for a
|
|
17
|
+
specific category of applications.
|
|
18
|
+
|
|
19
|
+
## Example
|
|
20
|
+
|
|
21
|
+
```typescript
|
|
22
|
+
import { UnkeyCore } from "@unkey/api/core.js";
|
|
23
|
+
import { ratelimitLimit } from "@unkey/api/funcs/ratelimitLimit.js";
|
|
24
|
+
import { SDKValidationError } from "@unkey/api/models/errors/sdkvalidationerror.js";
|
|
25
|
+
|
|
26
|
+
// Use `UnkeyCore` for best tree-shaking performance.
|
|
27
|
+
// You can create one instance of it to use across an application.
|
|
28
|
+
const unkey = new UnkeyCore({
|
|
29
|
+
rootKey: "UNKEY_ROOT_KEY",
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
async function run() {
|
|
33
|
+
const res = await ratelimitLimit(unkey, {
|
|
34
|
+
namespace: "sms.sign_up",
|
|
35
|
+
duration: 455106,
|
|
36
|
+
identifier: "<value>",
|
|
37
|
+
limit: 568662,
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
switch (true) {
|
|
41
|
+
case res.ok:
|
|
42
|
+
// The success case will be handled outside of the switch block
|
|
43
|
+
break;
|
|
44
|
+
case res.error instanceof SDKValidationError:
|
|
45
|
+
// Pretty-print validation errors.
|
|
46
|
+
return console.log(res.error.pretty());
|
|
47
|
+
case res.error instanceof Error:
|
|
48
|
+
return console.log(res.error);
|
|
49
|
+
default:
|
|
50
|
+
// TypeScript's type checking will fail on the following line if the above
|
|
51
|
+
// cases were not exhaustive.
|
|
52
|
+
res.error satisfies never;
|
|
53
|
+
throw new Error("Assertion failed: expected error checks to be exhaustive: " + res.error);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
const { value: result } = res;
|
|
58
|
+
|
|
59
|
+
// Handle the result
|
|
60
|
+
console.log(result);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
run();
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Result types
|
|
67
|
+
|
|
68
|
+
Standalone functions differ from SDK methods in that they return a
|
|
69
|
+
`Result<Value, Error>` type to capture _known errors_ and document them using
|
|
70
|
+
the type system. By avoiding throwing errors, application code maintains clear
|
|
71
|
+
control flow and error-handling become part of the regular flow of application
|
|
72
|
+
code.
|
|
73
|
+
|
|
74
|
+
> We use the term "known errors" because standalone functions, and JavaScript
|
|
75
|
+
> code in general, can still throw unexpected errors such as `TypeError`s,
|
|
76
|
+
> `RangeError`s and `DOMException`s. Exhaustively catching all errors may be
|
|
77
|
+
> something this SDK addresses in the future. Nevertheless, there is still a lot
|
|
78
|
+
> of benefit from capturing most errors and turning them into values.
|
|
79
|
+
|
|
80
|
+
The second reason for this style of programming is because these functions will
|
|
81
|
+
typically be used in front-end applications where exception throwing is
|
|
82
|
+
sometimes discouraged or considered unidiomatic. React and similar ecosystems
|
|
83
|
+
and libraries tend to promote this style of programming so that components
|
|
84
|
+
render useful content under all states (loading, success, error and so on).
|
|
85
|
+
|
|
86
|
+
The general pattern when calling standalone functions looks like this:
|
|
87
|
+
|
|
88
|
+
```typescript
|
|
89
|
+
import { Core } from "<sdk-package-name>";
|
|
90
|
+
import { fetchSomething } from "<sdk-package-name>/funcs/fetchSomething.js";
|
|
91
|
+
|
|
92
|
+
const client = new Core();
|
|
93
|
+
|
|
94
|
+
async function run() {
|
|
95
|
+
const result = await fetchSomething(client, { id: "123" });
|
|
96
|
+
if (!result.ok) {
|
|
97
|
+
// You can throw the error or handle it. It's your choice now.
|
|
98
|
+
throw result.error;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
console.log(result.value);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
run();
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Notably, `result.error` above will have an explicit type compared to a try-catch
|
|
108
|
+
variation where the error in the catch block can only be of type `unknown` (or
|
|
109
|
+
`any` depending on your TypeScript settings).
|
package/{LICENSE.md → LICENSE}
RENAMED