@tryfinch/finch-api 6.31.0 → 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +312 -0
- package/README.md +129 -68
- package/api-promise.d.mts +2 -0
- package/api-promise.d.mts.map +1 -0
- package/api-promise.d.ts +2 -0
- package/api-promise.d.ts.map +1 -0
- package/api-promise.js +6 -0
- package/api-promise.js.map +1 -0
- package/api-promise.mjs +2 -0
- package/api-promise.mjs.map +1 -0
- package/bin/cli +53 -0
- package/bin/migration-config.json +6 -0
- package/client.d.mts +258 -0
- package/client.d.mts.map +1 -0
- package/client.d.ts +258 -0
- package/client.d.ts.map +1 -0
- package/client.js +553 -0
- package/client.js.map +1 -0
- package/client.mjs +549 -0
- package/client.mjs.map +1 -0
- package/core/api-promise.d.mts +46 -0
- package/core/api-promise.d.mts.map +1 -0
- package/core/api-promise.d.ts +46 -0
- package/core/api-promise.d.ts.map +1 -0
- package/core/api-promise.js +74 -0
- package/core/api-promise.js.map +1 -0
- package/core/api-promise.mjs +70 -0
- package/core/api-promise.mjs.map +1 -0
- package/core/error.d.mts +46 -0
- package/core/error.d.mts.map +1 -0
- package/core/error.d.ts +46 -0
- package/core/error.d.ts.map +1 -0
- package/core/error.js +113 -0
- package/core/error.js.map +1 -0
- package/core/error.mjs +97 -0
- package/core/error.mjs.map +1 -0
- package/core/pagination.d.mts +105 -0
- package/core/pagination.d.mts.map +1 -0
- package/core/pagination.d.ts +105 -0
- package/core/pagination.d.ts.map +1 -0
- package/core/pagination.js +163 -0
- package/core/pagination.js.map +1 -0
- package/core/pagination.mjs +154 -0
- package/core/pagination.mjs.map +1 -0
- package/core/resource.d.mts +6 -0
- package/core/resource.d.mts.map +1 -0
- package/core/resource.d.ts +6 -0
- package/core/resource.d.ts.map +1 -0
- package/core/resource.js +11 -0
- package/core/resource.js.map +1 -0
- package/core/resource.mjs +7 -0
- package/core/resource.mjs.map +1 -0
- package/core/uploads.d.mts +3 -0
- package/core/uploads.d.mts.map +1 -0
- package/core/uploads.d.ts +3 -0
- package/core/uploads.d.ts.map +1 -0
- package/core/uploads.js +6 -0
- package/core/uploads.js.map +1 -0
- package/core/uploads.mjs +2 -0
- package/core/uploads.mjs.map +1 -0
- package/error.d.mts +2 -0
- package/error.d.mts.map +1 -0
- package/error.d.ts +1 -46
- package/error.d.ts.map +1 -1
- package/error.js +3 -110
- package/error.js.map +1 -1
- package/error.mjs +1 -96
- package/error.mjs.map +1 -1
- package/index.d.mts +7 -197
- package/index.d.mts.map +1 -0
- package/index.d.ts +6 -196
- package/index.d.ts.map +1 -1
- package/index.js +14 -235
- package/index.js.map +1 -1
- package/index.mjs +6 -208
- package/index.mjs.map +1 -1
- package/internal/builtin-types.d.mts +73 -0
- package/internal/builtin-types.d.mts.map +1 -0
- package/internal/builtin-types.d.ts +73 -0
- package/internal/builtin-types.d.ts.map +1 -0
- package/internal/builtin-types.js +4 -0
- package/internal/builtin-types.js.map +1 -0
- package/internal/builtin-types.mjs +3 -0
- package/internal/builtin-types.mjs.map +1 -0
- package/internal/detect-platform.d.mts +15 -0
- package/internal/detect-platform.d.mts.map +1 -0
- package/internal/detect-platform.d.ts +15 -0
- package/internal/detect-platform.d.ts.map +1 -0
- package/internal/detect-platform.js +162 -0
- package/internal/detect-platform.js.map +1 -0
- package/internal/detect-platform.mjs +157 -0
- package/internal/detect-platform.mjs.map +1 -0
- package/internal/errors.d.mts +3 -0
- package/internal/errors.d.mts.map +1 -0
- package/internal/errors.d.ts +3 -0
- package/internal/errors.d.ts.map +1 -0
- package/internal/errors.js +41 -0
- package/internal/errors.js.map +1 -0
- package/internal/errors.mjs +36 -0
- package/internal/errors.mjs.map +1 -0
- package/internal/headers.d.mts +26 -0
- package/internal/headers.d.mts.map +1 -0
- package/internal/headers.d.ts +26 -0
- package/internal/headers.d.ts.map +1 -0
- package/internal/headers.js +120 -0
- package/internal/headers.js.map +1 -0
- package/internal/headers.mjs +112 -0
- package/internal/headers.mjs.map +1 -0
- package/internal/parse.d.mts +12 -0
- package/internal/parse.d.mts.map +1 -0
- package/internal/parse.d.ts +12 -0
- package/internal/parse.d.ts.map +1 -0
- package/internal/parse.js +35 -0
- package/internal/parse.js.map +1 -0
- package/internal/parse.mjs +32 -0
- package/internal/parse.mjs.map +1 -0
- package/internal/qs/formats.d.mts +7 -0
- package/internal/qs/formats.d.mts.map +1 -0
- package/internal/qs/formats.d.ts +1 -0
- package/internal/qs/formats.d.ts.map +1 -1
- package/internal/qs/formats.js +4 -2
- package/internal/qs/formats.js.map +1 -1
- package/internal/qs/formats.mjs +2 -1
- package/internal/qs/formats.mjs.map +1 -1
- package/internal/qs/index.d.mts +10 -0
- package/internal/qs/index.d.mts.map +1 -0
- package/internal/qs/index.d.ts.map +1 -1
- package/internal/qs/stringify.d.mts +3 -0
- package/internal/qs/stringify.d.mts.map +1 -0
- package/internal/qs/stringify.d.ts.map +1 -1
- package/internal/qs/stringify.js +16 -19
- package/internal/qs/stringify.js.map +1 -1
- package/internal/qs/stringify.mjs +17 -19
- package/internal/qs/stringify.mjs.map +1 -1
- package/internal/qs/types.d.mts +57 -0
- package/internal/qs/types.d.mts.map +1 -0
- package/internal/qs/utils.d.mts +15 -0
- package/internal/qs/utils.d.mts.map +1 -0
- package/internal/qs/utils.d.ts +1 -0
- package/internal/qs/utils.d.ts.map +1 -1
- package/internal/qs/utils.js +22 -21
- package/internal/qs/utils.js.map +1 -1
- package/internal/qs/utils.mjs +12 -12
- package/internal/qs/utils.mjs.map +1 -1
- package/internal/request-options.d.mts +75 -0
- package/internal/request-options.d.mts.map +1 -0
- package/internal/request-options.d.ts +75 -0
- package/internal/request-options.d.ts.map +1 -0
- package/internal/request-options.js +14 -0
- package/internal/request-options.js.map +1 -0
- package/internal/request-options.mjs +10 -0
- package/internal/request-options.mjs.map +1 -0
- package/internal/shim-types.d.mts +17 -0
- package/internal/shim-types.d.mts.map +1 -0
- package/internal/shim-types.d.ts +17 -0
- package/internal/shim-types.d.ts.map +1 -0
- package/internal/shim-types.js +4 -0
- package/internal/shim-types.js.map +1 -0
- package/internal/shim-types.mjs +3 -0
- package/internal/shim-types.mjs.map +1 -0
- package/internal/shims.d.mts +20 -0
- package/internal/shims.d.mts.map +1 -0
- package/internal/shims.d.ts +20 -0
- package/internal/shims.d.ts.map +1 -0
- package/internal/shims.js +92 -0
- package/internal/shims.js.map +1 -0
- package/internal/shims.mjs +85 -0
- package/internal/shims.mjs.map +1 -0
- package/internal/to-file.d.mts +45 -0
- package/internal/to-file.d.mts.map +1 -0
- package/internal/to-file.d.ts +45 -0
- package/internal/to-file.d.ts.map +1 -0
- package/internal/to-file.js +91 -0
- package/internal/to-file.js.map +1 -0
- package/internal/to-file.mjs +88 -0
- package/internal/to-file.mjs.map +1 -0
- package/internal/tslib.js +81 -0
- package/internal/tslib.mjs +17 -0
- package/internal/types.d.mts +69 -0
- package/internal/types.d.mts.map +1 -0
- package/internal/types.d.ts +69 -0
- package/internal/types.d.ts.map +1 -0
- package/internal/types.js +4 -0
- package/internal/types.js.map +1 -0
- package/internal/types.mjs +3 -0
- package/internal/types.mjs.map +1 -0
- package/internal/uploads.d.mts +42 -0
- package/internal/uploads.d.mts.map +1 -0
- package/internal/uploads.d.ts +42 -0
- package/internal/uploads.d.ts.map +1 -0
- package/internal/uploads.js +141 -0
- package/internal/uploads.js.map +1 -0
- package/internal/uploads.mjs +131 -0
- package/internal/uploads.mjs.map +1 -0
- package/internal/utils/base64.d.mts +3 -0
- package/internal/utils/base64.d.mts.map +1 -0
- package/internal/utils/base64.d.ts +3 -0
- package/internal/utils/base64.d.ts.map +1 -0
- package/internal/utils/base64.js +38 -0
- package/internal/utils/base64.js.map +1 -0
- package/internal/utils/base64.mjs +33 -0
- package/internal/utils/base64.mjs.map +1 -0
- package/internal/utils/bytes.d.mts +4 -0
- package/internal/utils/bytes.d.mts.map +1 -0
- package/internal/utils/bytes.d.ts +4 -0
- package/internal/utils/bytes.d.ts.map +1 -0
- package/internal/utils/bytes.js +31 -0
- package/internal/utils/bytes.js.map +1 -0
- package/internal/utils/bytes.mjs +26 -0
- package/internal/utils/bytes.mjs.map +1 -0
- package/internal/utils/env.d.mts +9 -0
- package/internal/utils/env.d.mts.map +1 -0
- package/internal/utils/env.d.ts +9 -0
- package/internal/utils/env.d.ts.map +1 -0
- package/internal/utils/env.js +22 -0
- package/internal/utils/env.js.map +1 -0
- package/internal/utils/env.mjs +18 -0
- package/internal/utils/env.mjs.map +1 -0
- package/internal/utils/log.d.mts +37 -0
- package/internal/utils/log.d.mts.map +1 -0
- package/internal/utils/log.d.ts +37 -0
- package/internal/utils/log.d.ts.map +1 -0
- package/internal/utils/log.js +85 -0
- package/internal/utils/log.js.map +1 -0
- package/internal/utils/log.mjs +79 -0
- package/internal/utils/log.mjs.map +1 -0
- package/internal/utils/path.d.mts +15 -0
- package/internal/utils/path.d.mts.map +1 -0
- package/internal/utils/path.d.ts +15 -0
- package/internal/utils/path.d.ts.map +1 -0
- package/internal/utils/path.js +79 -0
- package/internal/utils/path.js.map +1 -0
- package/internal/utils/path.mjs +74 -0
- package/internal/utils/path.mjs.map +1 -0
- package/internal/utils/sleep.d.mts +2 -0
- package/internal/utils/sleep.d.mts.map +1 -0
- package/internal/utils/sleep.d.ts +2 -0
- package/internal/utils/sleep.d.ts.map +1 -0
- package/internal/utils/sleep.js +7 -0
- package/internal/utils/sleep.js.map +1 -0
- package/internal/utils/sleep.mjs +3 -0
- package/internal/utils/sleep.mjs.map +1 -0
- package/internal/utils/uuid.d.mts +5 -0
- package/internal/utils/uuid.d.mts.map +1 -0
- package/internal/utils/uuid.d.ts +5 -0
- package/internal/utils/uuid.d.ts.map +1 -0
- package/internal/utils/uuid.js +19 -0
- package/internal/utils/uuid.js.map +1 -0
- package/internal/utils/uuid.mjs +15 -0
- package/internal/utils/uuid.mjs.map +1 -0
- package/internal/utils/values.d.mts +18 -0
- package/internal/utils/values.d.mts.map +1 -0
- package/internal/utils/values.d.ts +18 -0
- package/internal/utils/values.d.ts.map +1 -0
- package/internal/utils/values.js +112 -0
- package/internal/utils/values.js.map +1 -0
- package/internal/utils/values.mjs +94 -0
- package/internal/utils/values.mjs.map +1 -0
- package/internal/utils.d.mts +7 -0
- package/internal/utils.d.mts.map +1 -0
- package/internal/utils.d.ts +7 -0
- package/internal/utils.d.ts.map +1 -0
- package/internal/utils.js +11 -0
- package/internal/utils.js.map +1 -0
- package/internal/utils.mjs +8 -0
- package/internal/utils.mjs.map +1 -0
- package/package.json +116 -67
- package/pagination.d.mts +2 -0
- package/pagination.d.mts.map +1 -0
- package/pagination.d.ts +1 -79
- package/pagination.d.ts.map +1 -1
- package/pagination.js +3 -123
- package/pagination.js.map +1 -1
- package/pagination.mjs +1 -118
- package/pagination.mjs.map +1 -1
- package/resource.d.mts +2 -0
- package/resource.d.mts.map +1 -0
- package/resource.d.ts +1 -5
- package/resource.d.ts.map +1 -1
- package/resource.js +3 -8
- package/resource.js.map +1 -1
- package/resource.mjs +1 -6
- package/resource.mjs.map +1 -1
- package/resources/access-tokens.d.mts +83 -0
- package/resources/access-tokens.d.mts.map +1 -0
- package/resources/access-tokens.d.ts +42 -33
- package/resources/access-tokens.d.ts.map +1 -1
- package/resources/access-tokens.js +2 -10
- package/resources/access-tokens.js.map +1 -1
- package/resources/access-tokens.mjs +2 -10
- package/resources/access-tokens.mjs.map +1 -1
- package/resources/account.d.mts +149 -0
- package/resources/account.d.mts.map +1 -0
- package/resources/account.d.ts +73 -49
- package/resources/account.d.ts.map +1 -1
- package/resources/account.js +1 -1
- package/resources/account.js.map +1 -1
- package/resources/account.mjs +1 -1
- package/resources/account.mjs.map +1 -1
- package/resources/connect/connect.d.mts +10 -0
- package/resources/connect/connect.d.mts.map +1 -0
- package/resources/connect/connect.d.ts +1 -1
- package/resources/connect/connect.d.ts.map +1 -1
- package/resources/connect/connect.js +3 -25
- package/resources/connect/connect.js.map +1 -1
- package/resources/connect/connect.mjs +1 -1
- package/resources/connect/index.d.mts +3 -0
- package/resources/connect/index.d.mts.map +1 -0
- package/resources/connect/index.d.ts.map +1 -1
- package/resources/connect/sessions.d.mts +110 -0
- package/resources/connect/sessions.d.mts.map +1 -0
- package/resources/connect/sessions.d.ts +44 -10
- package/resources/connect/sessions.d.ts.map +1 -1
- package/resources/connect/sessions.js +1 -1
- package/resources/connect/sessions.js.map +1 -1
- package/resources/connect/sessions.mjs +1 -1
- package/resources/connect/sessions.mjs.map +1 -1
- package/resources/connect.d.mts +2 -0
- package/resources/connect.d.mts.map +1 -0
- package/resources/connect.d.ts.map +1 -1
- package/resources/connect.js +2 -15
- package/resources/connect.js.map +1 -1
- package/resources/hris/benefits/benefits.d.mts +298 -0
- package/resources/hris/benefits/benefits.d.mts.map +1 -0
- package/resources/hris/benefits/benefits.d.ts +103 -115
- package/resources/hris/benefits/benefits.d.ts.map +1 -1
- package/resources/hris/benefits/benefits.js +45 -54
- package/resources/hris/benefits/benefits.js.map +1 -1
- package/resources/hris/benefits/benefits.mjs +43 -28
- package/resources/hris/benefits/benefits.mjs.map +1 -1
- package/resources/hris/benefits/index.d.mts +3 -0
- package/resources/hris/benefits/index.d.mts.map +1 -0
- package/resources/hris/benefits/index.d.ts +2 -2
- package/resources/hris/benefits/index.d.ts.map +1 -1
- package/resources/hris/benefits/index.js +1 -4
- package/resources/hris/benefits/index.js.map +1 -1
- package/resources/hris/benefits/index.mjs +2 -2
- package/resources/hris/benefits/index.mjs.map +1 -1
- package/resources/hris/benefits/individuals.d.mts +288 -0
- package/resources/hris/benefits/individuals.d.mts.map +1 -0
- package/resources/hris/benefits/individuals.d.ts +145 -27
- package/resources/hris/benefits/individuals.d.ts.map +1 -1
- package/resources/hris/benefits/individuals.js +61 -26
- package/resources/hris/benefits/individuals.js.map +1 -1
- package/resources/hris/benefits/individuals.mjs +60 -24
- package/resources/hris/benefits/individuals.mjs.map +1 -1
- package/resources/hris/benefits.d.mts +2 -0
- package/resources/hris/benefits.d.mts.map +1 -0
- package/resources/hris/benefits.d.ts.map +1 -1
- package/resources/hris/benefits.js +2 -15
- package/resources/hris/benefits.js.map +1 -1
- package/resources/hris/company/company.d.mts +124 -0
- package/resources/hris/company/company.d.mts.map +1 -0
- package/resources/hris/company/company.d.ts +12 -5
- package/resources/hris/company/company.d.ts.map +1 -1
- package/resources/hris/company/company.js +5 -28
- package/resources/hris/company/company.js.map +1 -1
- package/resources/hris/company/company.mjs +4 -5
- package/resources/hris/company/company.mjs.map +1 -1
- package/resources/hris/company/index.d.mts +3 -0
- package/resources/hris/company/index.d.mts.map +1 -0
- package/resources/hris/company/index.d.ts +2 -2
- package/resources/hris/company/index.d.ts.map +1 -1
- package/resources/hris/company/index.js +1 -2
- package/resources/hris/company/index.js.map +1 -1
- package/resources/hris/company/index.mjs +1 -1
- package/resources/hris/company/index.mjs.map +1 -1
- package/resources/hris/company/pay-statement-item/index.d.mts +3 -0
- package/resources/hris/company/pay-statement-item/index.d.mts.map +1 -0
- package/resources/hris/company/pay-statement-item/index.d.ts +2 -2
- package/resources/hris/company/pay-statement-item/index.d.ts.map +1 -1
- package/resources/hris/company/pay-statement-item/index.js +1 -3
- package/resources/hris/company/pay-statement-item/index.js.map +1 -1
- package/resources/hris/company/pay-statement-item/index.mjs +2 -2
- package/resources/hris/company/pay-statement-item/index.mjs.map +1 -1
- package/resources/hris/company/pay-statement-item/pay-statement-item.d.mts +99 -0
- package/resources/hris/company/pay-statement-item/pay-statement-item.d.mts.map +1 -0
- package/resources/hris/company/pay-statement-item/pay-statement-item.d.ts +22 -18
- package/resources/hris/company/pay-statement-item/pay-statement-item.d.ts.map +1 -1
- package/resources/hris/company/pay-statement-item/pay-statement-item.js +19 -40
- package/resources/hris/company/pay-statement-item/pay-statement-item.js.map +1 -1
- package/resources/hris/company/pay-statement-item/pay-statement-item.mjs +17 -15
- package/resources/hris/company/pay-statement-item/pay-statement-item.mjs.map +1 -1
- package/resources/hris/company/pay-statement-item/rules.d.mts +398 -0
- package/resources/hris/company/pay-statement-item/rules.d.mts.map +1 -0
- package/resources/hris/company/pay-statement-item/rules.d.ts +56 -21
- package/resources/hris/company/pay-statement-item/rules.d.ts.map +1 -1
- package/resources/hris/company/pay-statement-item/rules.js +55 -22
- package/resources/hris/company/pay-statement-item/rules.js.map +1 -1
- package/resources/hris/company/pay-statement-item/rules.mjs +54 -20
- package/resources/hris/company/pay-statement-item/rules.mjs.map +1 -1
- package/resources/hris/company/pay-statement-item.d.mts +2 -0
- package/resources/hris/company/pay-statement-item.d.mts.map +1 -0
- package/resources/hris/company/pay-statement-item.d.ts.map +1 -1
- package/resources/hris/company/pay-statement-item.js +2 -15
- package/resources/hris/company/pay-statement-item.js.map +1 -1
- package/resources/hris/company.d.mts +2 -0
- package/resources/hris/company.d.mts.map +1 -0
- package/resources/hris/company.d.ts.map +1 -1
- package/resources/hris/company.js +2 -15
- package/resources/hris/company.js.map +1 -1
- package/resources/hris/directory.d.mts +87 -0
- package/resources/hris/directory.d.mts.map +1 -0
- package/resources/hris/directory.d.ts +13 -9
- package/resources/hris/directory.d.ts.map +1 -1
- package/resources/hris/directory.js +17 -7
- package/resources/hris/directory.js.map +1 -1
- package/resources/hris/directory.mjs +17 -7
- package/resources/hris/directory.mjs.map +1 -1
- package/resources/hris/documents.d.mts +198 -0
- package/resources/hris/documents.d.mts.map +1 -0
- package/resources/hris/documents.d.ts +40 -30
- package/resources/hris/documents.d.ts.map +1 -1
- package/resources/hris/documents.js +13 -7
- package/resources/hris/documents.js.map +1 -1
- package/resources/hris/documents.mjs +13 -7
- package/resources/hris/documents.mjs.map +1 -1
- package/resources/hris/employments.d.mts +175 -0
- package/resources/hris/employments.d.mts.map +1 -0
- package/resources/hris/employments.d.ts +23 -20
- package/resources/hris/employments.d.ts.map +1 -1
- package/resources/hris/employments.js +7 -9
- package/resources/hris/employments.js.map +1 -1
- package/resources/hris/employments.mjs +6 -7
- package/resources/hris/employments.mjs.map +1 -1
- package/resources/hris/hris.d.mts +98 -0
- package/resources/hris/hris.d.mts.map +1 -0
- package/resources/hris/hris.d.ts +14 -14
- package/resources/hris/hris.d.ts.map +1 -1
- package/resources/hris/hris.js +10 -38
- package/resources/hris/hris.js.map +1 -1
- package/resources/hris/hris.mjs +6 -12
- package/resources/hris/hris.mjs.map +1 -1
- package/resources/hris/index.d.mts +10 -0
- package/resources/hris/index.d.mts.map +1 -0
- package/resources/hris/index.d.ts +7 -7
- package/resources/hris/index.d.ts.map +1 -1
- package/resources/hris/index.js +1 -7
- package/resources/hris/index.js.map +1 -1
- package/resources/hris/index.mjs +5 -5
- package/resources/hris/index.mjs.map +1 -1
- package/resources/hris/individuals.d.mts +116 -0
- package/resources/hris/individuals.d.mts.map +1 -0
- package/resources/hris/individuals.d.ts +16 -8
- package/resources/hris/individuals.d.ts.map +1 -1
- package/resources/hris/individuals.js +18 -13
- package/resources/hris/individuals.js.map +1 -1
- package/resources/hris/individuals.mjs +17 -11
- package/resources/hris/individuals.mjs.map +1 -1
- package/resources/hris/pay-statements.d.mts +268 -0
- package/resources/hris/pay-statements.d.mts.map +1 -0
- package/resources/hris/pay-statements.d.ts +113 -100
- package/resources/hris/pay-statements.d.ts.map +1 -1
- package/resources/hris/pay-statements.js +7 -9
- package/resources/hris/pay-statements.js.map +1 -1
- package/resources/hris/pay-statements.mjs +6 -7
- package/resources/hris/pay-statements.mjs.map +1 -1
- package/resources/hris/payments.d.mts +80 -0
- package/resources/hris/payments.d.mts.map +1 -0
- package/resources/hris/payments.d.ts +24 -21
- package/resources/hris/payments.d.ts.map +1 -1
- package/resources/hris/payments.js +4 -8
- package/resources/hris/payments.js.map +1 -1
- package/resources/hris/payments.mjs +3 -6
- package/resources/hris/payments.mjs.map +1 -1
- package/resources/hris.d.mts +2 -0
- package/resources/hris.d.mts.map +1 -0
- package/resources/hris.d.ts.map +1 -1
- package/resources/hris.js +2 -15
- package/resources/hris.js.map +1 -1
- package/resources/index.d.mts +12 -0
- package/resources/index.d.mts.map +1 -0
- package/resources/index.d.ts +1 -1
- package/resources/index.d.ts.map +1 -1
- package/resources/index.js +3 -17
- package/resources/index.js.map +1 -1
- package/resources/index.mjs +1 -1
- package/resources/index.mjs.map +1 -1
- package/resources/jobs/automated.d.mts +174 -0
- package/resources/jobs/automated.d.mts.map +1 -0
- package/resources/jobs/automated.d.ts +15 -11
- package/resources/jobs/automated.d.ts.map +1 -1
- package/resources/jobs/automated.js +9 -7
- package/resources/jobs/automated.js.map +1 -1
- package/resources/jobs/automated.mjs +9 -7
- package/resources/jobs/automated.mjs.map +1 -1
- package/resources/jobs/index.d.mts +4 -0
- package/resources/jobs/index.d.mts.map +1 -0
- package/resources/jobs/index.d.ts.map +1 -1
- package/resources/jobs/jobs.d.mts +14 -0
- package/resources/jobs/jobs.d.mts.map +1 -0
- package/resources/jobs/jobs.d.ts +1 -1
- package/resources/jobs/jobs.d.ts.map +1 -1
- package/resources/jobs/jobs.js +4 -26
- package/resources/jobs/jobs.js.map +1 -1
- package/resources/jobs/jobs.mjs +1 -1
- package/resources/jobs/manual.d.mts +22 -0
- package/resources/jobs/manual.d.mts.map +1 -0
- package/resources/jobs/manual.d.ts +4 -3
- package/resources/jobs/manual.d.ts.map +1 -1
- package/resources/jobs/manual.js +4 -3
- package/resources/jobs/manual.js.map +1 -1
- package/resources/jobs/manual.mjs +4 -3
- package/resources/jobs/manual.mjs.map +1 -1
- package/resources/jobs.d.mts +2 -0
- package/resources/jobs.d.mts.map +1 -0
- package/resources/jobs.d.ts.map +1 -1
- package/resources/jobs.js +2 -15
- package/resources/jobs.js.map +1 -1
- package/resources/payroll/index.d.mts +3 -0
- package/resources/payroll/index.d.mts.map +1 -0
- package/resources/payroll/index.d.ts +1 -1
- package/resources/payroll/index.d.ts.map +1 -1
- package/resources/payroll/index.js +1 -2
- package/resources/payroll/index.js.map +1 -1
- package/resources/payroll/index.mjs +1 -1
- package/resources/payroll/index.mjs.map +1 -1
- package/resources/payroll/pay-groups.d.mts +62 -0
- package/resources/payroll/pay-groups.d.mts.map +1 -0
- package/resources/payroll/pay-groups.d.ts +22 -13
- package/resources/payroll/pay-groups.d.ts.map +1 -1
- package/resources/payroll/pay-groups.js +10 -14
- package/resources/payroll/pay-groups.js.map +1 -1
- package/resources/payroll/pay-groups.mjs +9 -12
- package/resources/payroll/pay-groups.mjs.map +1 -1
- package/resources/payroll/payroll.d.mts +10 -0
- package/resources/payroll/payroll.d.mts.map +1 -0
- package/resources/payroll/payroll.d.ts +3 -3
- package/resources/payroll/payroll.d.ts.map +1 -1
- package/resources/payroll/payroll.js +3 -26
- package/resources/payroll/payroll.js.map +1 -1
- package/resources/payroll/payroll.mjs +2 -3
- package/resources/payroll/payroll.mjs.map +1 -1
- package/resources/payroll.d.mts +2 -0
- package/resources/payroll.d.mts.map +1 -0
- package/resources/payroll.d.ts.map +1 -1
- package/resources/payroll.js +2 -15
- package/resources/payroll.js.map +1 -1
- package/resources/providers.d.mts +142 -0
- package/resources/providers.d.mts.map +1 -0
- package/resources/providers.d.ts +90 -258
- package/resources/providers.d.ts.map +1 -1
- package/resources/providers.js +4 -8
- package/resources/providers.js.map +1 -1
- package/resources/providers.mjs +3 -6
- package/resources/providers.mjs.map +1 -1
- package/resources/request-forwarding.d.mts +109 -0
- package/resources/request-forwarding.d.mts.map +1 -0
- package/resources/request-forwarding.d.ts +48 -49
- package/resources/request-forwarding.d.ts.map +1 -1
- package/resources/request-forwarding.js +3 -13
- package/resources/request-forwarding.js.map +1 -1
- package/resources/request-forwarding.mjs +3 -13
- package/resources/request-forwarding.mjs.map +1 -1
- package/resources/sandbox/company.d.mts +219 -0
- package/resources/sandbox/company.d.mts.map +1 -0
- package/resources/sandbox/company.d.ts +4 -3
- package/resources/sandbox/company.d.ts.map +1 -1
- package/resources/sandbox/company.js +1 -1
- package/resources/sandbox/company.js.map +1 -1
- package/resources/sandbox/company.mjs +1 -1
- package/resources/sandbox/company.mjs.map +1 -1
- package/resources/sandbox/connections/accounts.d.mts +97 -0
- package/resources/sandbox/connections/accounts.d.mts.map +1 -0
- package/resources/sandbox/connections/accounts.d.ts +5 -5
- package/resources/sandbox/connections/accounts.d.ts.map +1 -1
- package/resources/sandbox/connections/accounts.js +13 -5
- package/resources/sandbox/connections/accounts.js.map +1 -1
- package/resources/sandbox/connections/accounts.mjs +13 -5
- package/resources/sandbox/connections/accounts.mjs.map +1 -1
- package/resources/sandbox/connections/connections.d.mts +62 -0
- package/resources/sandbox/connections/connections.d.mts.map +1 -0
- package/resources/sandbox/connections/connections.d.ts +4 -3
- package/resources/sandbox/connections/connections.d.ts.map +1 -1
- package/resources/sandbox/connections/connections.js +3 -25
- package/resources/sandbox/connections/connections.js.map +1 -1
- package/resources/sandbox/connections/connections.mjs +1 -1
- package/resources/sandbox/connections/connections.mjs.map +1 -1
- package/resources/sandbox/connections/index.d.mts +3 -0
- package/resources/sandbox/connections/index.d.mts.map +1 -0
- package/resources/sandbox/connections/index.d.ts.map +1 -1
- package/resources/sandbox/connections.d.mts +2 -0
- package/resources/sandbox/connections.d.mts.map +1 -0
- package/resources/sandbox/connections.d.ts.map +1 -1
- package/resources/sandbox/connections.js +2 -15
- package/resources/sandbox/connections.js.map +1 -1
- package/resources/sandbox/directory.d.mts +174 -0
- package/resources/sandbox/directory.d.mts.map +1 -0
- package/resources/sandbox/directory.d.ts +12 -8
- package/resources/sandbox/directory.d.ts.map +1 -1
- package/resources/sandbox/directory.js +12 -7
- package/resources/sandbox/directory.js.map +1 -1
- package/resources/sandbox/directory.mjs +12 -7
- package/resources/sandbox/directory.mjs.map +1 -1
- package/resources/sandbox/employment.d.mts +235 -0
- package/resources/sandbox/employment.d.mts.map +1 -0
- package/resources/sandbox/employment.d.ts +4 -4
- package/resources/sandbox/employment.d.ts.map +1 -1
- package/resources/sandbox/employment.js +14 -7
- package/resources/sandbox/employment.js.map +1 -1
- package/resources/sandbox/employment.mjs +14 -7
- package/resources/sandbox/employment.mjs.map +1 -1
- package/resources/sandbox/index.d.mts +9 -0
- package/resources/sandbox/index.d.mts.map +1 -0
- package/resources/sandbox/index.d.ts.map +1 -1
- package/resources/sandbox/individual.d.mts +131 -0
- package/resources/sandbox/individual.d.mts.map +1 -0
- package/resources/sandbox/individual.d.ts +4 -4
- package/resources/sandbox/individual.d.ts.map +1 -1
- package/resources/sandbox/individual.js +14 -7
- package/resources/sandbox/individual.js.map +1 -1
- package/resources/sandbox/individual.mjs +14 -7
- package/resources/sandbox/individual.mjs.map +1 -1
- package/resources/sandbox/jobs/configuration.d.mts +41 -0
- package/resources/sandbox/jobs/configuration.d.mts.map +1 -0
- package/resources/sandbox/jobs/configuration.d.ts +5 -4
- package/resources/sandbox/jobs/configuration.d.ts.map +1 -1
- package/resources/sandbox/jobs/configuration.js +1 -1
- package/resources/sandbox/jobs/configuration.js.map +1 -1
- package/resources/sandbox/jobs/configuration.mjs +1 -1
- package/resources/sandbox/jobs/configuration.mjs.map +1 -1
- package/resources/sandbox/jobs/index.d.mts +3 -0
- package/resources/sandbox/jobs/index.d.mts.map +1 -0
- package/resources/sandbox/jobs/index.d.ts.map +1 -1
- package/resources/sandbox/jobs/jobs.d.mts +48 -0
- package/resources/sandbox/jobs/jobs.d.mts.map +1 -0
- package/resources/sandbox/jobs/jobs.d.ts +4 -3
- package/resources/sandbox/jobs/jobs.d.ts.map +1 -1
- package/resources/sandbox/jobs/jobs.js +3 -25
- package/resources/sandbox/jobs/jobs.js.map +1 -1
- package/resources/sandbox/jobs/jobs.mjs +1 -1
- package/resources/sandbox/jobs/jobs.mjs.map +1 -1
- package/resources/sandbox/jobs.d.mts +2 -0
- package/resources/sandbox/jobs.d.mts.map +1 -0
- package/resources/sandbox/jobs.d.ts.map +1 -1
- package/resources/sandbox/jobs.js +2 -15
- package/resources/sandbox/jobs.js.map +1 -1
- package/resources/sandbox/payment.d.mts +81 -0
- package/resources/sandbox/payment.d.mts.map +1 -0
- package/resources/sandbox/payment.d.ts +34 -188
- package/resources/sandbox/payment.d.ts.map +1 -1
- package/resources/sandbox/payment.js +9 -5
- package/resources/sandbox/payment.js.map +1 -1
- package/resources/sandbox/payment.mjs +9 -5
- package/resources/sandbox/payment.mjs.map +1 -1
- package/resources/sandbox/sandbox.d.mts +34 -0
- package/resources/sandbox/sandbox.d.mts.map +1 -0
- package/resources/sandbox/sandbox.d.ts +1 -1
- package/resources/sandbox/sandbox.d.ts.map +1 -1
- package/resources/sandbox/sandbox.js +9 -31
- package/resources/sandbox/sandbox.js.map +1 -1
- package/resources/sandbox/sandbox.mjs +1 -1
- package/resources/sandbox.d.mts +2 -0
- package/resources/sandbox.d.mts.map +1 -0
- package/resources/sandbox.d.ts.map +1 -1
- package/resources/sandbox.js +2 -15
- package/resources/sandbox.js.map +1 -1
- package/resources/shared.d.mts +64 -0
- package/resources/shared.d.mts.map +1 -0
- package/resources/top-level.d.mts +2 -0
- package/resources/top-level.d.mts.map +1 -0
- package/resources/webhooks.d.mts +396 -0
- package/resources/webhooks.d.mts.map +1 -0
- package/resources/webhooks.d.ts +5 -3
- package/resources/webhooks.d.ts.map +1 -1
- package/resources/webhooks.js +9 -8
- package/resources/webhooks.js.map +1 -1
- package/resources/webhooks.mjs +3 -2
- package/resources/webhooks.mjs.map +1 -1
- package/resources.d.mts +2 -0
- package/resources.d.mts.map +1 -0
- package/resources.d.ts.map +1 -1
- package/resources.js +2 -15
- package/resources.js.map +1 -1
- package/src/api-promise.ts +2 -0
- package/src/client.ts +967 -0
- package/src/core/README.md +3 -0
- package/src/core/api-promise.ts +92 -0
- package/src/core/error.ts +130 -0
- package/src/core/pagination.ts +292 -0
- package/src/core/resource.ts +11 -0
- package/src/core/uploads.ts +2 -0
- package/src/error.ts +2 -130
- package/src/index.ts +6 -432
- package/src/internal/README.md +3 -0
- package/src/internal/builtin-types.ts +93 -0
- package/src/internal/detect-platform.ts +196 -0
- package/src/internal/errors.ts +33 -0
- package/src/internal/headers.ts +144 -0
- package/src/internal/parse.ts +50 -0
- package/src/internal/qs/formats.ts +3 -2
- package/src/internal/qs/index.ts +3 -3
- package/src/internal/qs/stringify.ts +18 -21
- package/src/internal/qs/utils.ts +16 -16
- package/src/internal/request-options.ts +91 -0
- package/src/internal/shim-types.ts +26 -0
- package/src/internal/shims.ts +107 -0
- package/src/internal/to-file.ts +154 -0
- package/src/internal/types.ts +95 -0
- package/src/internal/uploads.ts +187 -0
- package/src/internal/utils/base64.ts +40 -0
- package/src/internal/utils/bytes.ts +32 -0
- package/src/internal/utils/env.ts +18 -0
- package/src/internal/utils/log.ts +126 -0
- package/src/internal/utils/path.ts +88 -0
- package/src/internal/utils/sleep.ts +3 -0
- package/src/internal/utils/uuid.ts +17 -0
- package/src/internal/utils/values.ts +105 -0
- package/src/internal/utils.ts +8 -0
- package/src/pagination.ts +2 -221
- package/src/resource.ts +2 -11
- package/src/resources/access-tokens.ts +46 -39
- package/src/resources/account.ts +86 -57
- package/src/resources/connect/connect.ts +3 -3
- package/src/resources/connect/index.ts +2 -2
- package/src/resources/connect/sessions.ts +52 -18
- package/src/resources/connect.ts +1 -1
- package/src/resources/hris/benefits/benefits.ts +163 -173
- package/src/resources/hris/benefits/index.ts +9 -6
- package/src/resources/hris/benefits/individuals.ts +202 -79
- package/src/resources/hris/benefits.ts +1 -1
- package/src/resources/hris/company/company.ts +20 -10
- package/src/resources/hris/company/index.ts +3 -3
- package/src/resources/hris/company/pay-statement-item/index.ts +6 -4
- package/src/resources/hris/company/pay-statement-item/pay-statement-item.ts +34 -37
- package/src/resources/hris/company/pay-statement-item/rules.ts +85 -43
- package/src/resources/hris/company/pay-statement-item.ts +1 -1
- package/src/resources/hris/company.ts +1 -1
- package/src/resources/hris/directory.ts +22 -18
- package/src/resources/hris/documents.ts +51 -38
- package/src/resources/hris/employments.ts +33 -28
- package/src/resources/hris/hris.ts +41 -35
- package/src/resources/hris/index.ts +19 -15
- package/src/resources/hris/individuals.ts +23 -21
- package/src/resources/hris/pay-statements.ts +130 -116
- package/src/resources/hris/payments.ts +32 -32
- package/src/resources/hris.ts +1 -1
- package/src/resources/index.ts +16 -11
- package/src/resources/jobs/automated.ts +20 -22
- package/src/resources/jobs/index.ts +3 -3
- package/src/resources/jobs/jobs.ts +5 -5
- package/src/resources/jobs/manual.ts +6 -4
- package/src/resources/jobs.ts +1 -1
- package/src/resources/payroll/index.ts +4 -3
- package/src/resources/payroll/pay-groups.ts +43 -37
- package/src/resources/payroll/payroll.ts +6 -5
- package/src/resources/payroll.ts +1 -1
- package/src/resources/providers.ts +91 -397
- package/src/resources/request-forwarding.ts +38 -51
- package/src/resources/sandbox/company.ts +5 -4
- package/src/resources/sandbox/connections/accounts.ts +8 -13
- package/src/resources/sandbox/connections/connections.ts +6 -8
- package/src/resources/sandbox/connections/index.ts +2 -2
- package/src/resources/sandbox/connections.ts +1 -1
- package/src/resources/sandbox/directory.ts +17 -20
- package/src/resources/sandbox/employment.ts +10 -18
- package/src/resources/sandbox/index.ts +8 -8
- package/src/resources/sandbox/individual.ts +10 -18
- package/src/resources/sandbox/jobs/configuration.ts +5 -7
- package/src/resources/sandbox/jobs/index.ts +2 -2
- package/src/resources/sandbox/jobs/jobs.ts +6 -5
- package/src/resources/sandbox/jobs.ts +1 -1
- package/src/resources/sandbox/payment.ts +82 -220
- package/src/resources/sandbox/sandbox.ts +15 -15
- package/src/resources/sandbox.ts +1 -1
- package/src/resources/webhooks.ts +7 -5
- package/src/resources.ts +1 -1
- package/src/tsconfig.json +2 -2
- package/src/uploads.ts +2 -255
- package/src/version.ts +1 -1
- package/uploads.d.mts +2 -0
- package/uploads.d.mts.map +1 -0
- package/uploads.d.ts +1 -74
- package/uploads.d.ts.map +1 -1
- package/uploads.js +3 -168
- package/uploads.js.map +1 -1
- package/uploads.mjs +1 -157
- package/uploads.mjs.map +1 -1
- package/version.d.mts +2 -0
- package/version.d.mts.map +1 -0
- package/version.d.ts +1 -1
- package/version.d.ts.map +1 -1
- package/version.js +1 -1
- package/version.js.map +1 -1
- package/version.mjs +1 -1
- package/version.mjs.map +1 -1
- package/_shims/MultipartBody.d.ts +0 -9
- package/_shims/MultipartBody.d.ts.map +0 -1
- package/_shims/MultipartBody.js +0 -16
- package/_shims/MultipartBody.js.map +0 -1
- package/_shims/MultipartBody.mjs +0 -12
- package/_shims/MultipartBody.mjs.map +0 -1
- package/_shims/README.md +0 -46
- package/_shims/auto/runtime-bun.d.ts +0 -5
- package/_shims/auto/runtime-bun.d.ts.map +0 -1
- package/_shims/auto/runtime-bun.js +0 -21
- package/_shims/auto/runtime-bun.js.map +0 -1
- package/_shims/auto/runtime-bun.mjs +0 -2
- package/_shims/auto/runtime-bun.mjs.map +0 -1
- package/_shims/auto/runtime-node.d.ts +0 -5
- package/_shims/auto/runtime-node.d.ts.map +0 -1
- package/_shims/auto/runtime-node.js +0 -21
- package/_shims/auto/runtime-node.js.map +0 -1
- package/_shims/auto/runtime-node.mjs +0 -2
- package/_shims/auto/runtime-node.mjs.map +0 -1
- package/_shims/auto/runtime.d.ts +0 -5
- package/_shims/auto/runtime.d.ts.map +0 -1
- package/_shims/auto/runtime.js +0 -21
- package/_shims/auto/runtime.js.map +0 -1
- package/_shims/auto/runtime.mjs +0 -2
- package/_shims/auto/runtime.mjs.map +0 -1
- package/_shims/auto/types-node.d.ts +0 -5
- package/_shims/auto/types-node.d.ts.map +0 -1
- package/_shims/auto/types-node.js +0 -21
- package/_shims/auto/types-node.js.map +0 -1
- package/_shims/auto/types-node.mjs +0 -2
- package/_shims/auto/types-node.mjs.map +0 -1
- package/_shims/auto/types.d.ts +0 -101
- package/_shims/auto/types.js +0 -3
- package/_shims/auto/types.mjs +0 -3
- package/_shims/bun-runtime.d.ts +0 -6
- package/_shims/bun-runtime.d.ts.map +0 -1
- package/_shims/bun-runtime.js +0 -14
- package/_shims/bun-runtime.js.map +0 -1
- package/_shims/bun-runtime.mjs +0 -10
- package/_shims/bun-runtime.mjs.map +0 -1
- package/_shims/index.d.ts +0 -83
- package/_shims/index.js +0 -17
- package/_shims/index.mjs +0 -11
- package/_shims/manual-types.d.ts +0 -12
- package/_shims/manual-types.js +0 -3
- package/_shims/manual-types.mjs +0 -3
- package/_shims/node-runtime.d.ts +0 -3
- package/_shims/node-runtime.d.ts.map +0 -1
- package/_shims/node-runtime.js +0 -89
- package/_shims/node-runtime.js.map +0 -1
- package/_shims/node-runtime.mjs +0 -56
- package/_shims/node-runtime.mjs.map +0 -1
- package/_shims/node-types.d.ts +0 -42
- package/_shims/node-types.js +0 -3
- package/_shims/node-types.mjs +0 -3
- package/_shims/registry.d.ts +0 -37
- package/_shims/registry.d.ts.map +0 -1
- package/_shims/registry.js +0 -41
- package/_shims/registry.js.map +0 -1
- package/_shims/registry.mjs +0 -37
- package/_shims/registry.mjs.map +0 -1
- package/_shims/web-runtime.d.ts +0 -5
- package/_shims/web-runtime.d.ts.map +0 -1
- package/_shims/web-runtime.js +0 -78
- package/_shims/web-runtime.js.map +0 -1
- package/_shims/web-runtime.mjs +0 -71
- package/_shims/web-runtime.mjs.map +0 -1
- package/_shims/web-types.d.ts +0 -83
- package/_shims/web-types.js +0 -3
- package/_shims/web-types.mjs +0 -3
- package/core.d.ts +0 -253
- package/core.d.ts.map +0 -1
- package/core.js +0 -932
- package/core.js.map +0 -1
- package/core.mjs +0 -899
- package/core.mjs.map +0 -1
- package/shims/node.d.ts +0 -30
- package/shims/node.d.ts.map +0 -1
- package/shims/node.js +0 -31
- package/shims/node.js.map +0 -1
- package/shims/node.mjs +0 -5
- package/shims/node.mjs.map +0 -1
- package/shims/web.d.ts +0 -26
- package/shims/web.d.ts.map +0 -1
- package/shims/web.js +0 -31
- package/shims/web.js.map +0 -1
- package/shims/web.mjs +0 -5
- package/shims/web.mjs.map +0 -1
- package/src/_shims/MultipartBody.ts +0 -9
- package/src/_shims/README.md +0 -46
- package/src/_shims/auto/runtime-bun.ts +0 -4
- package/src/_shims/auto/runtime-node.ts +0 -4
- package/src/_shims/auto/runtime.ts +0 -4
- package/src/_shims/auto/types-node.ts +0 -4
- package/src/_shims/auto/types.d.ts +0 -101
- package/src/_shims/auto/types.js +0 -3
- package/src/_shims/auto/types.mjs +0 -3
- package/src/_shims/bun-runtime.ts +0 -14
- package/src/_shims/index.d.ts +0 -83
- package/src/_shims/index.js +0 -17
- package/src/_shims/index.mjs +0 -11
- package/src/_shims/manual-types.d.ts +0 -12
- package/src/_shims/manual-types.js +0 -3
- package/src/_shims/manual-types.mjs +0 -3
- package/src/_shims/node-runtime.ts +0 -81
- package/src/_shims/node-types.d.ts +0 -42
- package/src/_shims/node-types.js +0 -3
- package/src/_shims/node-types.mjs +0 -3
- package/src/_shims/registry.ts +0 -67
- package/src/_shims/web-runtime.ts +0 -103
- package/src/_shims/web-types.d.ts +0 -83
- package/src/_shims/web-types.js +0 -3
- package/src/_shims/web-types.mjs +0 -3
- package/src/core.ts +0 -1248
- package/src/shims/node.ts +0 -50
- package/src/shims/web.ts +0 -50
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
import { type Finch } from '../client';
|
|
4
|
+
|
|
5
|
+
import { type PromiseOrValue } from '../internal/types';
|
|
6
|
+
import { APIResponseProps, defaultParseResponse } from '../internal/parse';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* A subclass of `Promise` providing additional helper methods
|
|
10
|
+
* for interacting with the SDK.
|
|
11
|
+
*/
|
|
12
|
+
export class APIPromise<T> extends Promise<T> {
|
|
13
|
+
private parsedPromise: Promise<T> | undefined;
|
|
14
|
+
#client: Finch;
|
|
15
|
+
|
|
16
|
+
constructor(
|
|
17
|
+
client: Finch,
|
|
18
|
+
private responsePromise: Promise<APIResponseProps>,
|
|
19
|
+
private parseResponse: (
|
|
20
|
+
client: Finch,
|
|
21
|
+
props: APIResponseProps,
|
|
22
|
+
) => PromiseOrValue<T> = defaultParseResponse,
|
|
23
|
+
) {
|
|
24
|
+
super((resolve) => {
|
|
25
|
+
// this is maybe a bit weird but this has to be a no-op to not implicitly
|
|
26
|
+
// parse the response body; instead .then, .catch, .finally are overridden
|
|
27
|
+
// to parse the response
|
|
28
|
+
resolve(null as any);
|
|
29
|
+
});
|
|
30
|
+
this.#client = client;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
_thenUnwrap<U>(transform: (data: T, props: APIResponseProps) => U): APIPromise<U> {
|
|
34
|
+
return new APIPromise(this.#client, this.responsePromise, async (client, props) =>
|
|
35
|
+
transform(await this.parseResponse(client, props), props),
|
|
36
|
+
);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Gets the raw `Response` instance instead of parsing the response
|
|
41
|
+
* data.
|
|
42
|
+
*
|
|
43
|
+
* If you want to parse the response body but still get the `Response`
|
|
44
|
+
* instance, you can use {@link withResponse()}.
|
|
45
|
+
*
|
|
46
|
+
* 👋 Getting the wrong TypeScript type for `Response`?
|
|
47
|
+
* Try setting `"moduleResolution": "NodeNext"` or add `"lib": ["DOM"]`
|
|
48
|
+
* to your `tsconfig.json`.
|
|
49
|
+
*/
|
|
50
|
+
asResponse(): Promise<Response> {
|
|
51
|
+
return this.responsePromise.then((p) => p.response);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Gets the parsed response data and the raw `Response` instance.
|
|
56
|
+
*
|
|
57
|
+
* If you just want to get the raw `Response` instance without parsing it,
|
|
58
|
+
* you can use {@link asResponse()}.
|
|
59
|
+
*
|
|
60
|
+
* 👋 Getting the wrong TypeScript type for `Response`?
|
|
61
|
+
* Try setting `"moduleResolution": "NodeNext"` or add `"lib": ["DOM"]`
|
|
62
|
+
* to your `tsconfig.json`.
|
|
63
|
+
*/
|
|
64
|
+
async withResponse(): Promise<{ data: T; response: Response }> {
|
|
65
|
+
const [data, response] = await Promise.all([this.parse(), this.asResponse()]);
|
|
66
|
+
return { data, response };
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
private parse(): Promise<T> {
|
|
70
|
+
if (!this.parsedPromise) {
|
|
71
|
+
this.parsedPromise = this.responsePromise.then((data) => this.parseResponse(this.#client, data));
|
|
72
|
+
}
|
|
73
|
+
return this.parsedPromise;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
override then<TResult1 = T, TResult2 = never>(
|
|
77
|
+
onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null,
|
|
78
|
+
onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null,
|
|
79
|
+
): Promise<TResult1 | TResult2> {
|
|
80
|
+
return this.parse().then(onfulfilled, onrejected);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
override catch<TResult = never>(
|
|
84
|
+
onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null,
|
|
85
|
+
): Promise<T | TResult> {
|
|
86
|
+
return this.parse().catch(onrejected);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
override finally(onfinally?: (() => void) | undefined | null): Promise<T> {
|
|
90
|
+
return this.parse().finally(onfinally);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
import { castToError } from '../internal/errors';
|
|
4
|
+
|
|
5
|
+
export class FinchError extends Error {}
|
|
6
|
+
|
|
7
|
+
export class APIError<
|
|
8
|
+
TStatus extends number | undefined = number | undefined,
|
|
9
|
+
THeaders extends Headers | undefined = Headers | undefined,
|
|
10
|
+
TError extends Object | undefined = Object | undefined,
|
|
11
|
+
> extends FinchError {
|
|
12
|
+
/** HTTP status for the response that caused the error */
|
|
13
|
+
readonly status: TStatus;
|
|
14
|
+
/** HTTP headers for the response that caused the error */
|
|
15
|
+
readonly headers: THeaders;
|
|
16
|
+
/** JSON body of the response that caused the error */
|
|
17
|
+
readonly error: TError;
|
|
18
|
+
|
|
19
|
+
constructor(status: TStatus, error: TError, message: string | undefined, headers: THeaders) {
|
|
20
|
+
super(`${APIError.makeMessage(status, error, message)}`);
|
|
21
|
+
this.status = status;
|
|
22
|
+
this.headers = headers;
|
|
23
|
+
this.error = error;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
private static makeMessage(status: number | undefined, error: any, message: string | undefined) {
|
|
27
|
+
const msg =
|
|
28
|
+
error?.message ?
|
|
29
|
+
typeof error.message === 'string' ?
|
|
30
|
+
error.message
|
|
31
|
+
: JSON.stringify(error.message)
|
|
32
|
+
: error ? JSON.stringify(error)
|
|
33
|
+
: message;
|
|
34
|
+
|
|
35
|
+
if (status && msg) {
|
|
36
|
+
return `${status} ${msg}`;
|
|
37
|
+
}
|
|
38
|
+
if (status) {
|
|
39
|
+
return `${status} status code (no body)`;
|
|
40
|
+
}
|
|
41
|
+
if (msg) {
|
|
42
|
+
return msg;
|
|
43
|
+
}
|
|
44
|
+
return '(no status code or body)';
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
static generate(
|
|
48
|
+
status: number | undefined,
|
|
49
|
+
errorResponse: Object | undefined,
|
|
50
|
+
message: string | undefined,
|
|
51
|
+
headers: Headers | undefined,
|
|
52
|
+
): APIError {
|
|
53
|
+
if (!status || !headers) {
|
|
54
|
+
return new APIConnectionError({ message, cause: castToError(errorResponse) });
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
const error = errorResponse as Record<string, any>;
|
|
58
|
+
|
|
59
|
+
if (status === 400) {
|
|
60
|
+
return new BadRequestError(status, error, message, headers);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
if (status === 401) {
|
|
64
|
+
return new AuthenticationError(status, error, message, headers);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
if (status === 403) {
|
|
68
|
+
return new PermissionDeniedError(status, error, message, headers);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
if (status === 404) {
|
|
72
|
+
return new NotFoundError(status, error, message, headers);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
if (status === 409) {
|
|
76
|
+
return new ConflictError(status, error, message, headers);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
if (status === 422) {
|
|
80
|
+
return new UnprocessableEntityError(status, error, message, headers);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
if (status === 429) {
|
|
84
|
+
return new RateLimitError(status, error, message, headers);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
if (status >= 500) {
|
|
88
|
+
return new InternalServerError(status, error, message, headers);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
return new APIError(status, error, message, headers);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
export class APIUserAbortError extends APIError<undefined, undefined, undefined> {
|
|
96
|
+
constructor({ message }: { message?: string } = {}) {
|
|
97
|
+
super(undefined, undefined, message || 'Request was aborted.', undefined);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
export class APIConnectionError extends APIError<undefined, undefined, undefined> {
|
|
102
|
+
constructor({ message, cause }: { message?: string | undefined; cause?: Error | undefined }) {
|
|
103
|
+
super(undefined, undefined, message || 'Connection error.', undefined);
|
|
104
|
+
// in some environments the 'cause' property is already declared
|
|
105
|
+
// @ts-ignore
|
|
106
|
+
if (cause) this.cause = cause;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
export class APIConnectionTimeoutError extends APIConnectionError {
|
|
111
|
+
constructor({ message }: { message?: string } = {}) {
|
|
112
|
+
super({ message: message ?? 'Request timed out.' });
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
export class BadRequestError extends APIError<400, Headers> {}
|
|
117
|
+
|
|
118
|
+
export class AuthenticationError extends APIError<401, Headers> {}
|
|
119
|
+
|
|
120
|
+
export class PermissionDeniedError extends APIError<403, Headers> {}
|
|
121
|
+
|
|
122
|
+
export class NotFoundError extends APIError<404, Headers> {}
|
|
123
|
+
|
|
124
|
+
export class ConflictError extends APIError<409, Headers> {}
|
|
125
|
+
|
|
126
|
+
export class UnprocessableEntityError extends APIError<422, Headers> {}
|
|
127
|
+
|
|
128
|
+
export class RateLimitError extends APIError<429, Headers> {}
|
|
129
|
+
|
|
130
|
+
export class InternalServerError extends APIError<number, Headers> {}
|
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
import { FinchError } from './error';
|
|
4
|
+
import { FinalRequestOptions } from '../internal/request-options';
|
|
5
|
+
import { defaultParseResponse } from '../internal/parse';
|
|
6
|
+
import * as Shared from '../resources/shared';
|
|
7
|
+
import * as DirectoryAPI from '../resources/hris/directory';
|
|
8
|
+
import { type Finch } from '../client';
|
|
9
|
+
import { APIPromise } from './api-promise';
|
|
10
|
+
import { type APIResponseProps } from '../internal/parse';
|
|
11
|
+
import { maybeObj } from '../internal/utils/values';
|
|
12
|
+
|
|
13
|
+
export type PageRequestOptions = Pick<FinalRequestOptions, 'query' | 'headers' | 'body' | 'path' | 'method'>;
|
|
14
|
+
|
|
15
|
+
export abstract class AbstractPage<Item> implements AsyncIterable<Item> {
|
|
16
|
+
#client: Finch;
|
|
17
|
+
protected options: FinalRequestOptions;
|
|
18
|
+
|
|
19
|
+
protected response: Response;
|
|
20
|
+
protected body: unknown;
|
|
21
|
+
|
|
22
|
+
constructor(client: Finch, response: Response, body: unknown, options: FinalRequestOptions) {
|
|
23
|
+
this.#client = client;
|
|
24
|
+
this.options = options;
|
|
25
|
+
this.response = response;
|
|
26
|
+
this.body = body;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
abstract nextPageRequestOptions(): PageRequestOptions | null;
|
|
30
|
+
|
|
31
|
+
abstract getPaginatedItems(): Item[];
|
|
32
|
+
|
|
33
|
+
hasNextPage(): boolean {
|
|
34
|
+
const items = this.getPaginatedItems();
|
|
35
|
+
if (!items.length) return false;
|
|
36
|
+
return this.nextPageRequestOptions() != null;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
async getNextPage(): Promise<this> {
|
|
40
|
+
const nextOptions = this.nextPageRequestOptions();
|
|
41
|
+
if (!nextOptions) {
|
|
42
|
+
throw new FinchError(
|
|
43
|
+
'No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.',
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
return await this.#client.requestAPIList(this.constructor as any, nextOptions);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
async *iterPages(): AsyncGenerator<this> {
|
|
51
|
+
let page: this = this;
|
|
52
|
+
yield page;
|
|
53
|
+
while (page.hasNextPage()) {
|
|
54
|
+
page = await page.getNextPage();
|
|
55
|
+
yield page;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
async *[Symbol.asyncIterator](): AsyncGenerator<Item> {
|
|
60
|
+
for await (const page of this.iterPages()) {
|
|
61
|
+
for (const item of page.getPaginatedItems()) {
|
|
62
|
+
yield item;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* This subclass of Promise will resolve to an instantiated Page once the request completes.
|
|
70
|
+
*
|
|
71
|
+
* It also implements AsyncIterable to allow auto-paginating iteration on an unawaited list call, eg:
|
|
72
|
+
*
|
|
73
|
+
* for await (const item of client.items.list()) {
|
|
74
|
+
* console.log(item)
|
|
75
|
+
* }
|
|
76
|
+
*/
|
|
77
|
+
export class PagePromise<
|
|
78
|
+
PageClass extends AbstractPage<Item>,
|
|
79
|
+
Item = ReturnType<PageClass['getPaginatedItems']>[number],
|
|
80
|
+
>
|
|
81
|
+
extends APIPromise<PageClass>
|
|
82
|
+
implements AsyncIterable<Item>
|
|
83
|
+
{
|
|
84
|
+
constructor(
|
|
85
|
+
client: Finch,
|
|
86
|
+
request: Promise<APIResponseProps>,
|
|
87
|
+
Page: new (...args: ConstructorParameters<typeof AbstractPage>) => PageClass,
|
|
88
|
+
) {
|
|
89
|
+
super(
|
|
90
|
+
client,
|
|
91
|
+
request,
|
|
92
|
+
async (client, props) =>
|
|
93
|
+
new Page(client, props.response, await defaultParseResponse(client, props), props.options),
|
|
94
|
+
);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Allow auto-paginating iteration on an unawaited list call, eg:
|
|
99
|
+
*
|
|
100
|
+
* for await (const item of client.items.list()) {
|
|
101
|
+
* console.log(item)
|
|
102
|
+
* }
|
|
103
|
+
*/
|
|
104
|
+
async *[Symbol.asyncIterator](): AsyncGenerator<Item> {
|
|
105
|
+
const page = await this;
|
|
106
|
+
for await (const item of page) {
|
|
107
|
+
yield item;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
export type SinglePageResponse<Item> = Item[];
|
|
113
|
+
|
|
114
|
+
export class SinglePage<Item> extends AbstractPage<Item> {
|
|
115
|
+
items: Array<Item>;
|
|
116
|
+
|
|
117
|
+
constructor(
|
|
118
|
+
client: Finch,
|
|
119
|
+
response: Response,
|
|
120
|
+
body: SinglePageResponse<Item>,
|
|
121
|
+
options: FinalRequestOptions,
|
|
122
|
+
) {
|
|
123
|
+
super(client, response, body, options);
|
|
124
|
+
|
|
125
|
+
this.items = body || [];
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
getPaginatedItems(): Item[] {
|
|
129
|
+
return this.items ?? [];
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
nextPageRequestOptions(): PageRequestOptions | null {
|
|
133
|
+
return null;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
export interface ResponsesPageResponse<Item> {
|
|
138
|
+
responses: Array<Item>;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
export class ResponsesPage<Item> extends AbstractPage<Item> implements ResponsesPageResponse<Item> {
|
|
142
|
+
responses: Array<Item>;
|
|
143
|
+
|
|
144
|
+
constructor(
|
|
145
|
+
client: Finch,
|
|
146
|
+
response: Response,
|
|
147
|
+
body: ResponsesPageResponse<Item>,
|
|
148
|
+
options: FinalRequestOptions,
|
|
149
|
+
) {
|
|
150
|
+
super(client, response, body, options);
|
|
151
|
+
|
|
152
|
+
this.responses = body.responses || [];
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
getPaginatedItems(): Item[] {
|
|
156
|
+
return this.responses ?? [];
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
nextPageRequestOptions(): PageRequestOptions | null {
|
|
160
|
+
return null;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
export interface IndividualsPageResponse {
|
|
165
|
+
/**
|
|
166
|
+
* The array of employees.
|
|
167
|
+
*/
|
|
168
|
+
individuals: Array<DirectoryAPI.IndividualInDirectory>;
|
|
169
|
+
|
|
170
|
+
paging: Shared.Paging;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
export interface IndividualsPageParams {
|
|
174
|
+
/**
|
|
175
|
+
* Number of employees to return (defaults to all)
|
|
176
|
+
*/
|
|
177
|
+
limit?: number;
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* Index to start from (defaults to 0)
|
|
181
|
+
*/
|
|
182
|
+
offset?: number;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
export class IndividualsPage
|
|
186
|
+
extends AbstractPage<DirectoryAPI.IndividualInDirectory>
|
|
187
|
+
implements IndividualsPageResponse
|
|
188
|
+
{
|
|
189
|
+
/**
|
|
190
|
+
* The array of employees.
|
|
191
|
+
*/
|
|
192
|
+
individuals: Array<DirectoryAPI.IndividualInDirectory>;
|
|
193
|
+
|
|
194
|
+
paging: Shared.Paging;
|
|
195
|
+
|
|
196
|
+
constructor(
|
|
197
|
+
client: Finch,
|
|
198
|
+
response: Response,
|
|
199
|
+
body: IndividualsPageResponse,
|
|
200
|
+
options: FinalRequestOptions,
|
|
201
|
+
) {
|
|
202
|
+
super(client, response, body, options);
|
|
203
|
+
|
|
204
|
+
this.individuals = body.individuals || [];
|
|
205
|
+
this.paging = body.paging;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
getPaginatedItems(): DirectoryAPI.IndividualInDirectory[] {
|
|
209
|
+
return this.individuals ?? [];
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
nextPageRequestOptions(): PageRequestOptions | null {
|
|
213
|
+
const offset = this.paging.offset ?? 0;
|
|
214
|
+
const length = this.getPaginatedItems().length;
|
|
215
|
+
const currentCount = offset + length;
|
|
216
|
+
|
|
217
|
+
const totalCount = this.paging.count;
|
|
218
|
+
if (!totalCount) {
|
|
219
|
+
return null;
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
if (currentCount < totalCount) {
|
|
223
|
+
return {
|
|
224
|
+
...this.options,
|
|
225
|
+
query: {
|
|
226
|
+
...maybeObj(this.options.query),
|
|
227
|
+
offset: currentCount,
|
|
228
|
+
},
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
return null;
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
export interface PageResponse<Item> {
|
|
237
|
+
data: Array<Item>;
|
|
238
|
+
|
|
239
|
+
paging: Shared.Paging;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
export interface PageParams {
|
|
243
|
+
/**
|
|
244
|
+
* Number of entries to return (defaults to all)
|
|
245
|
+
*/
|
|
246
|
+
limit?: number;
|
|
247
|
+
|
|
248
|
+
/**
|
|
249
|
+
* Index to start from (defaults to 0)
|
|
250
|
+
*/
|
|
251
|
+
offset?: number;
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
export class Page<Item> extends AbstractPage<Item> implements PageResponse<Item> {
|
|
255
|
+
data: Array<Item>;
|
|
256
|
+
|
|
257
|
+
paging: Shared.Paging;
|
|
258
|
+
|
|
259
|
+
constructor(client: Finch, response: Response, body: PageResponse<Item>, options: FinalRequestOptions) {
|
|
260
|
+
super(client, response, body, options);
|
|
261
|
+
|
|
262
|
+
this.data = body.data || [];
|
|
263
|
+
this.paging = body.paging;
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
getPaginatedItems(): Item[] {
|
|
267
|
+
return this.data ?? [];
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
nextPageRequestOptions(): PageRequestOptions | null {
|
|
271
|
+
const offset = this.paging.offset ?? 0;
|
|
272
|
+
const length = this.getPaginatedItems().length;
|
|
273
|
+
const currentCount = offset + length;
|
|
274
|
+
|
|
275
|
+
const totalCount = this.paging.count;
|
|
276
|
+
if (!totalCount) {
|
|
277
|
+
return null;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
if (currentCount < totalCount) {
|
|
281
|
+
return {
|
|
282
|
+
...this.options,
|
|
283
|
+
query: {
|
|
284
|
+
...maybeObj(this.options.query),
|
|
285
|
+
offset: currentCount,
|
|
286
|
+
},
|
|
287
|
+
};
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
return null;
|
|
291
|
+
}
|
|
292
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
import type { Finch } from '../client';
|
|
4
|
+
|
|
5
|
+
export abstract class APIResource {
|
|
6
|
+
protected _client: Finch;
|
|
7
|
+
|
|
8
|
+
constructor(client: Finch) {
|
|
9
|
+
this._client = client;
|
|
10
|
+
}
|
|
11
|
+
}
|
package/src/error.ts
CHANGED
|
@@ -1,130 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import { castToError, Headers } from "./core.js";
|
|
4
|
-
|
|
5
|
-
export class FinchError extends Error {}
|
|
6
|
-
|
|
7
|
-
export class APIError<
|
|
8
|
-
TStatus extends number | undefined = number | undefined,
|
|
9
|
-
THeaders extends Headers | undefined = Headers | undefined,
|
|
10
|
-
TError extends Object | undefined = Object | undefined,
|
|
11
|
-
> extends FinchError {
|
|
12
|
-
/** HTTP status for the response that caused the error */
|
|
13
|
-
readonly status: TStatus;
|
|
14
|
-
/** HTTP headers for the response that caused the error */
|
|
15
|
-
readonly headers: THeaders;
|
|
16
|
-
/** JSON body of the response that caused the error */
|
|
17
|
-
readonly error: TError;
|
|
18
|
-
|
|
19
|
-
constructor(status: TStatus, error: TError, message: string | undefined, headers: THeaders) {
|
|
20
|
-
super(`${APIError.makeMessage(status, error, message)}`);
|
|
21
|
-
this.status = status;
|
|
22
|
-
this.headers = headers;
|
|
23
|
-
this.error = error;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
private static makeMessage(status: number | undefined, error: any, message: string | undefined) {
|
|
27
|
-
const msg =
|
|
28
|
-
error?.message ?
|
|
29
|
-
typeof error.message === 'string' ?
|
|
30
|
-
error.message
|
|
31
|
-
: JSON.stringify(error.message)
|
|
32
|
-
: error ? JSON.stringify(error)
|
|
33
|
-
: message;
|
|
34
|
-
|
|
35
|
-
if (status && msg) {
|
|
36
|
-
return `${status} ${msg}`;
|
|
37
|
-
}
|
|
38
|
-
if (status) {
|
|
39
|
-
return `${status} status code (no body)`;
|
|
40
|
-
}
|
|
41
|
-
if (msg) {
|
|
42
|
-
return msg;
|
|
43
|
-
}
|
|
44
|
-
return '(no status code or body)';
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
static generate(
|
|
48
|
-
status: number | undefined,
|
|
49
|
-
errorResponse: Object | undefined,
|
|
50
|
-
message: string | undefined,
|
|
51
|
-
headers: Headers | undefined,
|
|
52
|
-
): APIError {
|
|
53
|
-
if (!status || !headers) {
|
|
54
|
-
return new APIConnectionError({ message, cause: castToError(errorResponse) });
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
const error = errorResponse as Record<string, any>;
|
|
58
|
-
|
|
59
|
-
if (status === 400) {
|
|
60
|
-
return new BadRequestError(status, error, message, headers);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
if (status === 401) {
|
|
64
|
-
return new AuthenticationError(status, error, message, headers);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
if (status === 403) {
|
|
68
|
-
return new PermissionDeniedError(status, error, message, headers);
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
if (status === 404) {
|
|
72
|
-
return new NotFoundError(status, error, message, headers);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
if (status === 409) {
|
|
76
|
-
return new ConflictError(status, error, message, headers);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
if (status === 422) {
|
|
80
|
-
return new UnprocessableEntityError(status, error, message, headers);
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
if (status === 429) {
|
|
84
|
-
return new RateLimitError(status, error, message, headers);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
if (status >= 500) {
|
|
88
|
-
return new InternalServerError(status, error, message, headers);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
return new APIError(status, error, message, headers);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
export class APIUserAbortError extends APIError<undefined, undefined, undefined> {
|
|
96
|
-
constructor({ message }: { message?: string } = {}) {
|
|
97
|
-
super(undefined, undefined, message || 'Request was aborted.', undefined);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
export class APIConnectionError extends APIError<undefined, undefined, undefined> {
|
|
102
|
-
constructor({ message, cause }: { message?: string | undefined; cause?: Error | undefined }) {
|
|
103
|
-
super(undefined, undefined, message || 'Connection error.', undefined);
|
|
104
|
-
// in some environments the 'cause' property is already declared
|
|
105
|
-
// @ts-ignore
|
|
106
|
-
if (cause) this.cause = cause;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
export class APIConnectionTimeoutError extends APIConnectionError {
|
|
111
|
-
constructor({ message }: { message?: string } = {}) {
|
|
112
|
-
super({ message: message ?? 'Request timed out.' });
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
export class BadRequestError extends APIError<400, Headers> {}
|
|
117
|
-
|
|
118
|
-
export class AuthenticationError extends APIError<401, Headers> {}
|
|
119
|
-
|
|
120
|
-
export class PermissionDeniedError extends APIError<403, Headers> {}
|
|
121
|
-
|
|
122
|
-
export class NotFoundError extends APIError<404, Headers> {}
|
|
123
|
-
|
|
124
|
-
export class ConflictError extends APIError<409, Headers> {}
|
|
125
|
-
|
|
126
|
-
export class UnprocessableEntityError extends APIError<422, Headers> {}
|
|
127
|
-
|
|
128
|
-
export class RateLimitError extends APIError<429, Headers> {}
|
|
129
|
-
|
|
130
|
-
export class InternalServerError extends APIError<number, Headers> {}
|
|
1
|
+
/** @deprecated Import from ./core/error instead */
|
|
2
|
+
export * from './core/error';
|