@imagekit/nodejs 7.0.1
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 +102 -0
- package/LICENSE +201 -0
- package/README.md +633 -0
- 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/client.d.mts +238 -0
- package/client.d.mts.map +1 -0
- package/client.d.ts +238 -0
- package/client.d.ts.map +1 -0
- package/client.js +506 -0
- package/client.js.map +1 -0
- package/client.mjs +502 -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/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 +2 -0
- package/error.d.ts.map +1 -0
- package/error.js +6 -0
- package/error.js.map +1 -0
- package/error.mjs +2 -0
- package/error.mjs.map +1 -0
- package/index.d.mts +6 -0
- package/index.d.mts.map +1 -0
- package/index.d.ts +6 -0
- package/index.d.ts.map +1 -0
- package/index.js +30 -0
- package/index.js.map +1 -0
- package/index.mjs +7 -0
- package/index.mjs.map +1 -0
- 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 +20 -0
- package/internal/headers.d.mts.map +1 -0
- package/internal/headers.d.ts +20 -0
- package/internal/headers.d.ts.map +1 -0
- package/internal/headers.js +79 -0
- package/internal/headers.js.map +1 -0
- package/internal/headers.mjs +74 -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/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/lib/crypto-utils.d.mts +16 -0
- package/lib/crypto-utils.d.mts.map +1 -0
- package/lib/crypto-utils.d.ts +16 -0
- package/lib/crypto-utils.d.ts.map +1 -0
- package/lib/crypto-utils.js +35 -0
- package/lib/crypto-utils.js.map +1 -0
- package/lib/crypto-utils.mjs +32 -0
- package/lib/crypto-utils.mjs.map +1 -0
- package/lib/serialization-utils.d.mts +11 -0
- package/lib/serialization-utils.d.mts.map +1 -0
- package/lib/serialization-utils.d.ts +11 -0
- package/lib/serialization-utils.d.ts.map +1 -0
- package/lib/serialization-utils.js +45 -0
- package/lib/serialization-utils.js.map +1 -0
- package/lib/serialization-utils.mjs +42 -0
- package/lib/serialization-utils.mjs.map +1 -0
- package/lib/transformation-utils.d.mts +18 -0
- package/lib/transformation-utils.d.mts.map +1 -0
- package/lib/transformation-utils.d.ts +18 -0
- package/lib/transformation-utils.d.ts.map +1 -0
- package/lib/transformation-utils.js +110 -0
- package/lib/transformation-utils.js.map +1 -0
- package/lib/transformation-utils.mjs +106 -0
- package/lib/transformation-utils.mjs.map +1 -0
- package/package.json +150 -0
- package/resource.d.mts +2 -0
- package/resource.d.mts.map +1 -0
- package/resource.d.ts +2 -0
- package/resource.d.ts.map +1 -0
- package/resource.js +6 -0
- package/resource.js.map +1 -0
- package/resource.mjs +2 -0
- package/resource.mjs.map +1 -0
- package/resources/accounts/accounts.d.mts +18 -0
- package/resources/accounts/accounts.d.mts.map +1 -0
- package/resources/accounts/accounts.d.ts +18 -0
- package/resources/accounts/accounts.d.ts.map +1 -0
- package/resources/accounts/accounts.js +25 -0
- package/resources/accounts/accounts.js.map +1 -0
- package/resources/accounts/accounts.mjs +20 -0
- package/resources/accounts/accounts.mjs.map +1 -0
- package/resources/accounts/index.d.mts +5 -0
- package/resources/accounts/index.d.mts.map +1 -0
- package/resources/accounts/index.d.ts +5 -0
- package/resources/accounts/index.d.ts.map +1 -0
- package/resources/accounts/index.js +13 -0
- package/resources/accounts/index.js.map +1 -0
- package/resources/accounts/index.mjs +6 -0
- package/resources/accounts/index.mjs.map +1 -0
- package/resources/accounts/origins.d.mts +945 -0
- package/resources/accounts/origins.d.mts.map +1 -0
- package/resources/accounts/origins.d.ts +945 -0
- package/resources/accounts/origins.d.ts.map +1 -0
- package/resources/accounts/origins.js +95 -0
- package/resources/accounts/origins.js.map +1 -0
- package/resources/accounts/origins.mjs +91 -0
- package/resources/accounts/origins.mjs.map +1 -0
- package/resources/accounts/url-endpoints.d.mts +226 -0
- package/resources/accounts/url-endpoints.d.mts.map +1 -0
- package/resources/accounts/url-endpoints.d.ts +226 -0
- package/resources/accounts/url-endpoints.d.ts.map +1 -0
- package/resources/accounts/url-endpoints.js +84 -0
- package/resources/accounts/url-endpoints.js.map +1 -0
- package/resources/accounts/url-endpoints.mjs +80 -0
- package/resources/accounts/url-endpoints.mjs.map +1 -0
- package/resources/accounts/usage.d.mts +58 -0
- package/resources/accounts/usage.d.mts.map +1 -0
- package/resources/accounts/usage.d.ts +58 -0
- package/resources/accounts/usage.d.ts.map +1 -0
- package/resources/accounts/usage.js +26 -0
- package/resources/accounts/usage.js.map +1 -0
- package/resources/accounts/usage.mjs +22 -0
- package/resources/accounts/usage.mjs.map +1 -0
- package/resources/accounts.d.mts +2 -0
- package/resources/accounts.d.mts.map +1 -0
- package/resources/accounts.d.ts +2 -0
- package/resources/accounts.d.ts.map +1 -0
- package/resources/accounts.js +6 -0
- package/resources/accounts.js.map +1 -0
- package/resources/accounts.mjs +3 -0
- package/resources/accounts.mjs.map +1 -0
- package/resources/assets.d.mts +75 -0
- package/resources/assets.d.mts.map +1 -0
- package/resources/assets.d.ts +75 -0
- package/resources/assets.d.ts.map +1 -0
- package/resources/assets.js +18 -0
- package/resources/assets.js.map +1 -0
- package/resources/assets.mjs +14 -0
- package/resources/assets.mjs.map +1 -0
- package/resources/beta/beta.d.mts +10 -0
- package/resources/beta/beta.d.mts.map +1 -0
- package/resources/beta/beta.d.ts +10 -0
- package/resources/beta/beta.d.ts.map +1 -0
- package/resources/beta/beta.js +17 -0
- package/resources/beta/beta.js.map +1 -0
- package/resources/beta/beta.mjs +12 -0
- package/resources/beta/beta.mjs.map +1 -0
- package/resources/beta/index.d.mts +3 -0
- package/resources/beta/index.d.mts.map +1 -0
- package/resources/beta/index.d.ts +3 -0
- package/resources/beta/index.d.ts.map +1 -0
- package/resources/beta/index.js +9 -0
- package/resources/beta/index.js.map +1 -0
- package/resources/beta/index.mjs +4 -0
- package/resources/beta/index.mjs.map +1 -0
- package/resources/beta/v2/files.d.mts +460 -0
- package/resources/beta/v2/files.d.mts.map +1 -0
- package/resources/beta/v2/files.d.ts +460 -0
- package/resources/beta/v2/files.d.ts.map +1 -0
- package/resources/beta/v2/files.js +52 -0
- package/resources/beta/v2/files.js.map +1 -0
- package/resources/beta/v2/files.mjs +48 -0
- package/resources/beta/v2/files.mjs.map +1 -0
- package/resources/beta/v2/index.d.mts +3 -0
- package/resources/beta/v2/index.d.mts.map +1 -0
- package/resources/beta/v2/index.d.ts +3 -0
- package/resources/beta/v2/index.d.ts.map +1 -0
- package/resources/beta/v2/index.js +9 -0
- package/resources/beta/v2/index.js.map +1 -0
- package/resources/beta/v2/index.mjs +4 -0
- package/resources/beta/v2/index.mjs.map +1 -0
- package/resources/beta/v2/v2.d.mts +10 -0
- package/resources/beta/v2/v2.d.mts.map +1 -0
- package/resources/beta/v2/v2.d.ts +10 -0
- package/resources/beta/v2/v2.d.ts.map +1 -0
- package/resources/beta/v2/v2.js +17 -0
- package/resources/beta/v2/v2.js.map +1 -0
- package/resources/beta/v2/v2.mjs +12 -0
- package/resources/beta/v2/v2.mjs.map +1 -0
- package/resources/beta/v2.d.mts +2 -0
- package/resources/beta/v2.d.mts.map +1 -0
- package/resources/beta/v2.d.ts +2 -0
- package/resources/beta/v2.d.ts.map +1 -0
- package/resources/beta/v2.js +6 -0
- package/resources/beta/v2.js.map +1 -0
- package/resources/beta/v2.mjs +3 -0
- package/resources/beta/v2.mjs.map +1 -0
- package/resources/beta.d.mts +2 -0
- package/resources/beta.d.mts.map +1 -0
- package/resources/beta.d.ts +2 -0
- package/resources/beta.d.ts.map +1 -0
- package/resources/beta.js +6 -0
- package/resources/beta.js.map +1 -0
- package/resources/beta.mjs +3 -0
- package/resources/beta.mjs.map +1 -0
- package/resources/cache/cache.d.mts +10 -0
- package/resources/cache/cache.d.mts.map +1 -0
- package/resources/cache/cache.d.ts +10 -0
- package/resources/cache/cache.d.ts.map +1 -0
- package/resources/cache/cache.js +17 -0
- package/resources/cache/cache.js.map +1 -0
- package/resources/cache/cache.mjs +12 -0
- package/resources/cache/cache.mjs.map +1 -0
- package/resources/cache/index.d.mts +3 -0
- package/resources/cache/index.d.mts.map +1 -0
- package/resources/cache/index.d.ts +3 -0
- package/resources/cache/index.d.ts.map +1 -0
- package/resources/cache/index.js +9 -0
- package/resources/cache/index.js.map +1 -0
- package/resources/cache/index.mjs +4 -0
- package/resources/cache/index.mjs.map +1 -0
- package/resources/cache/invalidation.d.mts +54 -0
- package/resources/cache/invalidation.d.mts.map +1 -0
- package/resources/cache/invalidation.d.ts +54 -0
- package/resources/cache/invalidation.d.ts.map +1 -0
- package/resources/cache/invalidation.js +40 -0
- package/resources/cache/invalidation.js.map +1 -0
- package/resources/cache/invalidation.mjs +36 -0
- package/resources/cache/invalidation.mjs.map +1 -0
- package/resources/cache.d.mts +2 -0
- package/resources/cache.d.mts.map +1 -0
- package/resources/cache.d.ts +2 -0
- package/resources/cache.d.ts.map +1 -0
- package/resources/cache.js +6 -0
- package/resources/cache.js.map +1 -0
- package/resources/cache.mjs +3 -0
- package/resources/cache.mjs.map +1 -0
- package/resources/custom-metadata-fields.d.mts +274 -0
- package/resources/custom-metadata-fields.d.mts.map +1 -0
- package/resources/custom-metadata-fields.d.ts +274 -0
- package/resources/custom-metadata-fields.d.ts.map +1 -0
- package/resources/custom-metadata-fields.js +79 -0
- package/resources/custom-metadata-fields.js.map +1 -0
- package/resources/custom-metadata-fields.mjs +75 -0
- package/resources/custom-metadata-fields.mjs.map +1 -0
- package/resources/files/bulk.d.mts +137 -0
- package/resources/files/bulk.d.mts.map +1 -0
- package/resources/files/bulk.d.ts +137 -0
- package/resources/files/bulk.d.ts.map +1 -0
- package/resources/files/bulk.js +85 -0
- package/resources/files/bulk.js.map +1 -0
- package/resources/files/bulk.mjs +81 -0
- package/resources/files/bulk.mjs.map +1 -0
- package/resources/files/files.d.mts +1133 -0
- package/resources/files/files.d.mts.map +1 -0
- package/resources/files/files.d.ts +1133 -0
- package/resources/files/files.d.ts.map +1 -0
- package/resources/files/files.js +164 -0
- package/resources/files/files.js.map +1 -0
- package/resources/files/files.mjs +159 -0
- package/resources/files/files.mjs.map +1 -0
- package/resources/files/index.d.mts +5 -0
- package/resources/files/index.d.mts.map +1 -0
- package/resources/files/index.d.ts +5 -0
- package/resources/files/index.d.ts.map +1 -0
- package/resources/files/index.js +11 -0
- package/resources/files/index.js.map +1 -0
- package/resources/files/index.mjs +5 -0
- package/resources/files/index.mjs.map +1 -0
- package/resources/files/metadata.d.mts +42 -0
- package/resources/files/metadata.d.mts.map +1 -0
- package/resources/files/metadata.d.ts +42 -0
- package/resources/files/metadata.d.ts.map +1 -0
- package/resources/files/metadata.js +39 -0
- package/resources/files/metadata.js.map +1 -0
- package/resources/files/metadata.mjs +35 -0
- package/resources/files/metadata.mjs.map +1 -0
- package/resources/files/versions.d.mts +81 -0
- package/resources/files/versions.d.mts.map +1 -0
- package/resources/files/versions.d.ts +81 -0
- package/resources/files/versions.d.ts.map +1 -0
- package/resources/files/versions.js +68 -0
- package/resources/files/versions.js.map +1 -0
- package/resources/files/versions.mjs +64 -0
- package/resources/files/versions.mjs.map +1 -0
- package/resources/files.d.mts +2 -0
- package/resources/files.d.mts.map +1 -0
- package/resources/files.d.ts +2 -0
- package/resources/files.d.ts.map +1 -0
- package/resources/files.js +6 -0
- package/resources/files.js.map +1 -0
- package/resources/files.mjs +3 -0
- package/resources/files.mjs.map +1 -0
- package/resources/folders/folders.d.mts +203 -0
- package/resources/folders/folders.d.mts.map +1 -0
- package/resources/folders/folders.d.ts +203 -0
- package/resources/folders/folders.d.ts.map +1 -0
- package/resources/folders/folders.js +97 -0
- package/resources/folders/folders.js.map +1 -0
- package/resources/folders/folders.mjs +92 -0
- package/resources/folders/folders.mjs.map +1 -0
- package/resources/folders/index.d.mts +3 -0
- package/resources/folders/index.d.mts.map +1 -0
- package/resources/folders/index.d.ts +3 -0
- package/resources/folders/index.d.ts.map +1 -0
- package/resources/folders/index.js +9 -0
- package/resources/folders/index.js.map +1 -0
- package/resources/folders/index.mjs +4 -0
- package/resources/folders/index.mjs.map +1 -0
- package/resources/folders/job.d.mts +37 -0
- package/resources/folders/job.d.mts.map +1 -0
- package/resources/folders/job.d.ts +37 -0
- package/resources/folders/job.d.ts.map +1 -0
- package/resources/folders/job.js +21 -0
- package/resources/folders/job.js.map +1 -0
- package/resources/folders/job.mjs +17 -0
- package/resources/folders/job.mjs.map +1 -0
- package/resources/folders.d.mts +2 -0
- package/resources/folders.d.mts.map +1 -0
- package/resources/folders.d.ts +2 -0
- package/resources/folders.d.ts.map +1 -0
- package/resources/folders.js +6 -0
- package/resources/folders.js.map +1 -0
- package/resources/folders.mjs +3 -0
- package/resources/folders.mjs.map +1 -0
- package/resources/helper.d.mts +42 -0
- package/resources/helper.d.mts.map +1 -0
- package/resources/helper.d.ts +42 -0
- package/resources/helper.d.ts.map +1 -0
- package/resources/helper.js +402 -0
- package/resources/helper.js.map +1 -0
- package/resources/helper.mjs +397 -0
- package/resources/helper.mjs.map +1 -0
- package/resources/index.d.mts +11 -0
- package/resources/index.d.mts.map +1 -0
- package/resources/index.d.ts +11 -0
- package/resources/index.d.ts.map +1 -0
- package/resources/index.js +25 -0
- package/resources/index.js.map +1 -0
- package/resources/index.mjs +12 -0
- package/resources/index.mjs.map +1 -0
- package/resources/shared.d.mts +817 -0
- package/resources/shared.d.mts.map +1 -0
- package/resources/shared.d.ts +817 -0
- package/resources/shared.d.ts.map +1 -0
- package/resources/shared.js +4 -0
- package/resources/shared.js.map +1 -0
- package/resources/shared.mjs +3 -0
- package/resources/shared.mjs.map +1 -0
- package/resources/webhooks.d.mts +811 -0
- package/resources/webhooks.d.mts.map +1 -0
- package/resources/webhooks.d.ts +811 -0
- package/resources/webhooks.d.ts.map +1 -0
- package/resources/webhooks.js +24 -0
- package/resources/webhooks.js.map +1 -0
- package/resources/webhooks.mjs +20 -0
- package/resources/webhooks.mjs.map +1 -0
- package/resources.d.mts +2 -0
- package/resources.d.mts.map +1 -0
- package/resources.d.ts +2 -0
- package/resources.d.ts.map +1 -0
- package/resources.js +5 -0
- package/resources.js.map +1 -0
- package/resources.mjs +2 -0
- package/resources.mjs.map +1 -0
- package/src/api-promise.ts +2 -0
- package/src/client.ts +929 -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/resource.ts +11 -0
- package/src/core/uploads.ts +2 -0
- package/src/error.ts +2 -0
- package/src/index.ts +22 -0
- 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 +97 -0
- package/src/internal/parse.ts +50 -0
- 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/lib/.keep +4 -0
- package/src/lib/crypto-utils.ts +37 -0
- package/src/lib/serialization-utils.ts +42 -0
- package/src/lib/transformation-utils.ts +117 -0
- package/src/resource.ts +2 -0
- package/src/resources/accounts/accounts.ts +55 -0
- package/src/resources/accounts/index.ts +20 -0
- package/src/resources/accounts/origins.ts +1250 -0
- package/src/resources/accounts/url-endpoints.ts +298 -0
- package/src/resources/accounts/usage.ts +70 -0
- package/src/resources/accounts.ts +3 -0
- package/src/resources/assets.ts +105 -0
- package/src/resources/beta/beta.ts +15 -0
- package/src/resources/beta/index.ts +4 -0
- package/src/resources/beta/v2/files.ts +546 -0
- package/src/resources/beta/v2/index.ts +4 -0
- package/src/resources/beta/v2/v2.ts +19 -0
- package/src/resources/beta/v2.ts +3 -0
- package/src/resources/beta.ts +3 -0
- package/src/resources/cache/cache.ts +25 -0
- package/src/resources/cache/index.ts +9 -0
- package/src/resources/cache/invalidation.ts +70 -0
- package/src/resources/cache.ts +3 -0
- package/src/resources/custom-metadata-fields.ts +337 -0
- package/src/resources/files/bulk.ts +171 -0
- package/src/resources/files/files.ts +1430 -0
- package/src/resources/files/index.ts +39 -0
- package/src/resources/files/metadata.ts +52 -0
- package/src/resources/files/versions.ts +117 -0
- package/src/resources/files.ts +3 -0
- package/src/resources/folders/folders.ts +249 -0
- package/src/resources/folders/index.ts +16 -0
- package/src/resources/folders/job.ts +47 -0
- package/src/resources/folders.ts +3 -0
- package/src/resources/helper.ts +462 -0
- package/src/resources/index.ts +60 -0
- package/src/resources/shared.ts +952 -0
- package/src/resources/webhooks.ts +999 -0
- package/src/resources.ts +1 -0
- package/src/tsconfig.json +11 -0
- package/src/uploads.ts +2 -0
- package/src/version.ts +1 -0
- package/uploads.d.mts +2 -0
- package/uploads.d.mts.map +1 -0
- package/uploads.d.ts +2 -0
- package/uploads.d.ts.map +1 -0
- package/uploads.js +6 -0
- package/uploads.js.map +1 -0
- package/uploads.mjs +2 -0
- package/uploads.mjs.map +1 -0
- package/version.d.mts +2 -0
- package/version.d.mts.map +1 -0
- package/version.d.ts +2 -0
- package/version.d.ts.map +1 -0
- package/version.js +5 -0
- package/version.js.map +1 -0
- package/version.mjs +2 -0
- package/version.mjs.map +1 -0
|
@@ -0,0 +1,462 @@
|
|
|
1
|
+
// Helper resource for additional utility functions
|
|
2
|
+
// File manually created for helper functions - not generated
|
|
3
|
+
|
|
4
|
+
import { APIResource } from '../core/resource';
|
|
5
|
+
import type { ImageKit } from '../client';
|
|
6
|
+
import type {
|
|
7
|
+
SrcOptions,
|
|
8
|
+
Transformation,
|
|
9
|
+
ImageOverlay,
|
|
10
|
+
TextOverlay,
|
|
11
|
+
VideoOverlay,
|
|
12
|
+
SubtitleOverlay,
|
|
13
|
+
SolidColorOverlay,
|
|
14
|
+
} from './shared';
|
|
15
|
+
import transformationUtils, { safeBtoa } from '../lib/transformation-utils';
|
|
16
|
+
import { createHmacSha1 } from '../lib/crypto-utils';
|
|
17
|
+
import { uuid4 } from '../internal/utils/uuid';
|
|
18
|
+
|
|
19
|
+
const TRANSFORMATION_PARAMETER = 'tr';
|
|
20
|
+
const SIGNATURE_PARAMETER = 'ik-s';
|
|
21
|
+
const TIMESTAMP_PARAMETER = 'ik-t';
|
|
22
|
+
const DEFAULT_TIMESTAMP = 9999999999;
|
|
23
|
+
const SIMPLE_OVERLAY_PATH_REGEX = new RegExp('^[a-zA-Z0-9-._/ ]*$');
|
|
24
|
+
const SIMPLE_OVERLAY_TEXT_REGEX = new RegExp('^[a-zA-Z0-9-._ ]*$');
|
|
25
|
+
|
|
26
|
+
export class Helper extends APIResource {
|
|
27
|
+
constructor(client: ImageKit) {
|
|
28
|
+
super(client);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Builds a source URL with the given options.
|
|
33
|
+
*
|
|
34
|
+
* @param opts - The options for building the source URL.
|
|
35
|
+
* @returns The constructed source URL.
|
|
36
|
+
*/
|
|
37
|
+
buildSrc(opts: SrcOptions): string {
|
|
38
|
+
opts.urlEndpoint = opts.urlEndpoint || '';
|
|
39
|
+
opts.src = opts.src || '';
|
|
40
|
+
opts.transformationPosition = opts.transformationPosition || 'query';
|
|
41
|
+
|
|
42
|
+
if (!opts.src) {
|
|
43
|
+
return '';
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const isAbsoluteURL = opts.src.startsWith('http://') || opts.src.startsWith('https://');
|
|
47
|
+
|
|
48
|
+
var urlObj, isSrcParameterUsedForURL, urlEndpointPattern;
|
|
49
|
+
|
|
50
|
+
try {
|
|
51
|
+
if (!isAbsoluteURL) {
|
|
52
|
+
urlEndpointPattern = new URL(opts.urlEndpoint).pathname;
|
|
53
|
+
urlObj = new URL(pathJoin([opts.urlEndpoint.replace(urlEndpointPattern, ''), opts.src]));
|
|
54
|
+
} else {
|
|
55
|
+
urlObj = new URL(opts.src!);
|
|
56
|
+
isSrcParameterUsedForURL = true;
|
|
57
|
+
}
|
|
58
|
+
} catch (e) {
|
|
59
|
+
return '';
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
for (var i in opts.queryParameters) {
|
|
63
|
+
urlObj.searchParams.append(i, String(opts.queryParameters[i]));
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
var transformationString = this.buildTransformationString(opts.transformation);
|
|
67
|
+
|
|
68
|
+
if (transformationString && transformationString.length) {
|
|
69
|
+
if (!transformationUtils.addAsQueryParameter(opts) && !isSrcParameterUsedForURL) {
|
|
70
|
+
urlObj.pathname = pathJoin([
|
|
71
|
+
TRANSFORMATION_PARAMETER + transformationUtils.getChainTransformDelimiter() + transformationString,
|
|
72
|
+
urlObj.pathname,
|
|
73
|
+
]);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
if (urlEndpointPattern) {
|
|
78
|
+
urlObj.pathname = pathJoin([urlEndpointPattern, urlObj.pathname]);
|
|
79
|
+
} else {
|
|
80
|
+
urlObj.pathname = pathJoin([urlObj.pathname]);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// First, build the complete URL with transformations
|
|
84
|
+
let finalUrl = urlObj.href;
|
|
85
|
+
|
|
86
|
+
// Add transformation parameter manually to avoid URL encoding
|
|
87
|
+
// URLSearchParams.set() would encode commas and colons in transformation string,
|
|
88
|
+
// It would work correctly but not very readable e.g., "w-300,h-400" is better than "w-300%2Ch-400"
|
|
89
|
+
if (transformationString && transformationString.length) {
|
|
90
|
+
if (transformationUtils.addAsQueryParameter(opts) || isSrcParameterUsedForURL) {
|
|
91
|
+
const separator = urlObj.searchParams.toString() ? '&' : '?';
|
|
92
|
+
finalUrl = `${finalUrl}${separator}${TRANSFORMATION_PARAMETER}=${transformationString}`;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
// Then sign the URL if needed
|
|
97
|
+
if (opts.signed === true || (opts.expiresIn && opts.expiresIn > 0)) {
|
|
98
|
+
const expiryTimestamp = getSignatureTimestamp(opts.expiresIn);
|
|
99
|
+
|
|
100
|
+
const urlSignature = getSignature({
|
|
101
|
+
privateKey: this._client.privateKey,
|
|
102
|
+
url: finalUrl,
|
|
103
|
+
urlEndpoint: opts.urlEndpoint,
|
|
104
|
+
expiryTimestamp,
|
|
105
|
+
});
|
|
106
|
+
|
|
107
|
+
// Add signature parameters to the final URL
|
|
108
|
+
// Use URL object to properly determine if we need ? or & separator
|
|
109
|
+
const finalUrlObj = new URL(finalUrl);
|
|
110
|
+
const hasExistingParams = finalUrlObj.searchParams.toString().length > 0;
|
|
111
|
+
const separator = hasExistingParams ? '&' : '?';
|
|
112
|
+
let signedUrl = finalUrl;
|
|
113
|
+
|
|
114
|
+
if (expiryTimestamp && expiryTimestamp !== DEFAULT_TIMESTAMP) {
|
|
115
|
+
signedUrl += `${separator}${TIMESTAMP_PARAMETER}=${expiryTimestamp}`;
|
|
116
|
+
signedUrl += `&${SIGNATURE_PARAMETER}=${urlSignature}`;
|
|
117
|
+
} else {
|
|
118
|
+
signedUrl += `${separator}${SIGNATURE_PARAMETER}=${urlSignature}`;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
return signedUrl;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
return finalUrl;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* Builds a transformation string from the given transformations.
|
|
129
|
+
*
|
|
130
|
+
* @param transformation - The transformations to apply.
|
|
131
|
+
* @returns The constructed transformation string.
|
|
132
|
+
*/
|
|
133
|
+
buildTransformationString(transformation: Transformation[] | undefined): string {
|
|
134
|
+
return buildTransformationString(transformation);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Generates authentication parameters for client-side file uploads using ImageKit's Upload API V1.
|
|
139
|
+
*
|
|
140
|
+
* This method creates the required authentication signature that allows secure file uploads
|
|
141
|
+
* directly from the browser or mobile applications without exposing your private API key.
|
|
142
|
+
* The generated parameters include a unique token, expiration timestamp, and HMAC signature.
|
|
143
|
+
*
|
|
144
|
+
* @param token - Custom token for the upload session. If not provided, a UUID v4 will be generated automatically.
|
|
145
|
+
* @param expire - Expiration time in seconds from now. If not provided, defaults to 1800 seconds (30 minutes).
|
|
146
|
+
* @returns Authentication parameters object containing:
|
|
147
|
+
* - `token`: Unique identifier for this upload session
|
|
148
|
+
* - `expire`: Unix timestamp when these parameters expire
|
|
149
|
+
* - `signature`: HMAC-SHA1 signature for authenticating the upload
|
|
150
|
+
*
|
|
151
|
+
* @throws {Error} If the private API key is not configured (should not happen in normal usage)
|
|
152
|
+
*/
|
|
153
|
+
getAuthenticationParameters(token?: string, expire?: number) {
|
|
154
|
+
if (!this._client.privateKey) {
|
|
155
|
+
throw new Error('Private API key is required for authentication parameters generation');
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
const DEFAULT_TIME_DIFF = 60 * 30;
|
|
159
|
+
const defaultExpire = Math.floor(Date.now() / 1000) + DEFAULT_TIME_DIFF;
|
|
160
|
+
|
|
161
|
+
const finalToken = token || uuid4();
|
|
162
|
+
const finalExpire = expire || defaultExpire;
|
|
163
|
+
|
|
164
|
+
return getAuthenticationParameters(finalToken, finalExpire, this._client.privateKey);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
const getAuthenticationParameters = function (token: string, expire: number, privateKey: string) {
|
|
169
|
+
var authParameters = {
|
|
170
|
+
token: token,
|
|
171
|
+
expire: expire,
|
|
172
|
+
signature: '',
|
|
173
|
+
};
|
|
174
|
+
|
|
175
|
+
var signature = createHmacSha1(privateKey, token + expire);
|
|
176
|
+
|
|
177
|
+
authParameters.signature = signature;
|
|
178
|
+
|
|
179
|
+
return authParameters;
|
|
180
|
+
};
|
|
181
|
+
|
|
182
|
+
function removeTrailingSlash(str: string): string {
|
|
183
|
+
if (typeof str == 'string' && str[str.length - 1] == '/') {
|
|
184
|
+
str = str.substring(0, str.length - 1);
|
|
185
|
+
}
|
|
186
|
+
return str;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
function removeLeadingSlash(str: string): string {
|
|
190
|
+
if (typeof str == 'string' && str[0] == '/') {
|
|
191
|
+
str = str.slice(1);
|
|
192
|
+
}
|
|
193
|
+
return str;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
function pathJoin(parts: string[], sep?: string): string {
|
|
197
|
+
var separator = sep || '/';
|
|
198
|
+
var replace = new RegExp(separator + '{1,}', 'g');
|
|
199
|
+
return parts.join(separator).replace(replace, separator);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
function processInputPath(str: string, encoding: string): string {
|
|
203
|
+
// Remove leading and trailing slashes
|
|
204
|
+
str = removeTrailingSlash(removeLeadingSlash(str));
|
|
205
|
+
if (encoding === 'plain') {
|
|
206
|
+
return `i-${str.replace(/\//g, '@@')}`;
|
|
207
|
+
}
|
|
208
|
+
if (encoding === 'base64') {
|
|
209
|
+
return `ie-${encodeURIComponent(safeBtoa(str))}`;
|
|
210
|
+
}
|
|
211
|
+
if (SIMPLE_OVERLAY_PATH_REGEX.test(str)) {
|
|
212
|
+
return `i-${str.replace(/\//g, '@@')}`;
|
|
213
|
+
} else {
|
|
214
|
+
return `ie-${encodeURIComponent(safeBtoa(str))}`;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
function processText(str: string, encoding: TextOverlay['encoding']): string {
|
|
219
|
+
if (encoding === 'plain') {
|
|
220
|
+
return `i-${encodeURIComponent(str)}`;
|
|
221
|
+
}
|
|
222
|
+
if (encoding === 'base64') {
|
|
223
|
+
return `ie-${encodeURIComponent(safeBtoa(str))}`;
|
|
224
|
+
}
|
|
225
|
+
if (SIMPLE_OVERLAY_TEXT_REGEX.test(str)) {
|
|
226
|
+
return `i-${encodeURIComponent(str)}`;
|
|
227
|
+
}
|
|
228
|
+
return `ie-${encodeURIComponent(safeBtoa(str))}`;
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
function processOverlay(overlay: Transformation['overlay']): string | undefined {
|
|
232
|
+
const entries = [];
|
|
233
|
+
|
|
234
|
+
const { type, position = {}, timing = {}, transformation = [] } = overlay || {};
|
|
235
|
+
|
|
236
|
+
if (!type) {
|
|
237
|
+
return;
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
switch (type) {
|
|
241
|
+
case 'text':
|
|
242
|
+
{
|
|
243
|
+
const textOverlay = overlay as TextOverlay;
|
|
244
|
+
if (!textOverlay.text) {
|
|
245
|
+
return;
|
|
246
|
+
}
|
|
247
|
+
const encoding = textOverlay.encoding || 'auto';
|
|
248
|
+
|
|
249
|
+
entries.push('l-text');
|
|
250
|
+
entries.push(processText(textOverlay.text, encoding));
|
|
251
|
+
}
|
|
252
|
+
break;
|
|
253
|
+
case 'image':
|
|
254
|
+
entries.push('l-image');
|
|
255
|
+
{
|
|
256
|
+
const imageOverlay = overlay as ImageOverlay;
|
|
257
|
+
const encoding = imageOverlay.encoding || 'auto';
|
|
258
|
+
if (imageOverlay.input) {
|
|
259
|
+
entries.push(processInputPath(imageOverlay.input, encoding));
|
|
260
|
+
} else {
|
|
261
|
+
return;
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
break;
|
|
265
|
+
case 'video':
|
|
266
|
+
entries.push('l-video');
|
|
267
|
+
{
|
|
268
|
+
const videoOverlay = overlay as VideoOverlay;
|
|
269
|
+
const encoding = videoOverlay.encoding || 'auto';
|
|
270
|
+
if (videoOverlay.input) {
|
|
271
|
+
entries.push(processInputPath(videoOverlay.input, encoding));
|
|
272
|
+
} else {
|
|
273
|
+
return;
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
break;
|
|
277
|
+
case 'subtitle':
|
|
278
|
+
entries.push('l-subtitle');
|
|
279
|
+
{
|
|
280
|
+
const subtitleOverlay = overlay as SubtitleOverlay;
|
|
281
|
+
const encoding = subtitleOverlay.encoding || 'auto';
|
|
282
|
+
if (subtitleOverlay.input) {
|
|
283
|
+
entries.push(processInputPath(subtitleOverlay.input, encoding));
|
|
284
|
+
} else {
|
|
285
|
+
return;
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
break;
|
|
289
|
+
case 'solidColor':
|
|
290
|
+
entries.push('l-image');
|
|
291
|
+
entries.push(`i-ik_canvas`);
|
|
292
|
+
{
|
|
293
|
+
const solidColorOverlay = overlay as SolidColorOverlay;
|
|
294
|
+
if (solidColorOverlay.color) {
|
|
295
|
+
entries.push(`bg-${solidColorOverlay.color}`);
|
|
296
|
+
} else {
|
|
297
|
+
return;
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
break;
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
const { x, y, focus } = position;
|
|
304
|
+
if (x) {
|
|
305
|
+
entries.push(`lx-${x}`);
|
|
306
|
+
}
|
|
307
|
+
if (y) {
|
|
308
|
+
entries.push(`ly-${y}`);
|
|
309
|
+
}
|
|
310
|
+
if (focus) {
|
|
311
|
+
entries.push(`lfo-${focus}`);
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
const { start, end, duration } = timing;
|
|
315
|
+
if (start) {
|
|
316
|
+
entries.push(`lso-${start}`);
|
|
317
|
+
}
|
|
318
|
+
if (end) {
|
|
319
|
+
entries.push(`leo-${end}`);
|
|
320
|
+
}
|
|
321
|
+
if (duration) {
|
|
322
|
+
entries.push(`ldu-${duration}`);
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
const transformationString = buildTransformationString(transformation);
|
|
326
|
+
|
|
327
|
+
if (transformationString && transformationString.trim() !== '') {
|
|
328
|
+
entries.push(transformationString);
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
entries.push('l-end');
|
|
332
|
+
|
|
333
|
+
return entries.join(transformationUtils.getTransformDelimiter());
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
function buildTransformationString(transformation: Transformation[] | undefined): string {
|
|
337
|
+
if (!Array.isArray(transformation)) {
|
|
338
|
+
return '';
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
var parsedTransforms: string[] = [];
|
|
342
|
+
for (var i = 0, l = transformation.length; i < l; i++) {
|
|
343
|
+
var parsedTransformStep: string[] = [];
|
|
344
|
+
const currentTransform = transformation[i];
|
|
345
|
+
if (!currentTransform) continue;
|
|
346
|
+
|
|
347
|
+
for (var key in currentTransform) {
|
|
348
|
+
let value = currentTransform[key as keyof Transformation];
|
|
349
|
+
if (value === undefined || value === null) {
|
|
350
|
+
continue;
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
if (key === 'overlay' && typeof value === 'object') {
|
|
354
|
+
var rawString = processOverlay(value as Transformation['overlay']);
|
|
355
|
+
if (rawString && rawString.trim() !== '') {
|
|
356
|
+
parsedTransformStep.push(rawString);
|
|
357
|
+
}
|
|
358
|
+
continue; // Always continue as overlay is processed.
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
var transformKey = transformationUtils.getTransformKey(key);
|
|
362
|
+
if (!transformKey) {
|
|
363
|
+
transformKey = key;
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
if (transformKey === '') {
|
|
367
|
+
continue;
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
if (
|
|
371
|
+
[
|
|
372
|
+
'e-grayscale',
|
|
373
|
+
'e-contrast',
|
|
374
|
+
'e-removedotbg',
|
|
375
|
+
'e-bgremove',
|
|
376
|
+
'e-upscale',
|
|
377
|
+
'e-retouch',
|
|
378
|
+
'e-genvar',
|
|
379
|
+
].includes(transformKey)
|
|
380
|
+
) {
|
|
381
|
+
if (value === true || value === '-' || value === 'true') {
|
|
382
|
+
parsedTransformStep.push(transformKey);
|
|
383
|
+
} else {
|
|
384
|
+
// Any other value means that the effect should not be applied
|
|
385
|
+
continue;
|
|
386
|
+
}
|
|
387
|
+
} else if (
|
|
388
|
+
['e-sharpen', 'e-shadow', 'e-gradient', 'e-usm', 'e-dropshadow'].includes(transformKey) &&
|
|
389
|
+
(value.toString().trim() === '' || value === true || value === 'true')
|
|
390
|
+
) {
|
|
391
|
+
parsedTransformStep.push(transformKey);
|
|
392
|
+
} else if (key === 'raw') {
|
|
393
|
+
parsedTransformStep.push(currentTransform[key] as string);
|
|
394
|
+
} else {
|
|
395
|
+
if (transformKey === 'di' || transformKey === 'ff') {
|
|
396
|
+
value = removeTrailingSlash(removeLeadingSlash((value as string) || ''));
|
|
397
|
+
value = value.replace(/\//g, '@@');
|
|
398
|
+
}
|
|
399
|
+
if (transformKey === 'sr' && Array.isArray(value)) {
|
|
400
|
+
value = value.join('_');
|
|
401
|
+
}
|
|
402
|
+
// Special case for trim with empty string - should be treated as true
|
|
403
|
+
if (transformKey === 't' && value.toString().trim() === '') {
|
|
404
|
+
value = 'true';
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
parsedTransformStep.push(
|
|
408
|
+
[transformKey, value].join(transformationUtils.getTransformKeyValueDelimiter()),
|
|
409
|
+
);
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
if (parsedTransformStep.length) {
|
|
413
|
+
parsedTransforms.push(parsedTransformStep.join(transformationUtils.getTransformDelimiter()));
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
return parsedTransforms.join(transformationUtils.getChainTransformDelimiter());
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
/**
|
|
421
|
+
* Calculates the expiry timestamp for URL signing
|
|
422
|
+
*
|
|
423
|
+
* @param seconds - Number of seconds from now when the URL should expire
|
|
424
|
+
* @returns Unix timestamp for expiry, or DEFAULT_TIMESTAMP if invalid/not provided
|
|
425
|
+
*/
|
|
426
|
+
function getSignatureTimestamp(seconds: number | undefined): number {
|
|
427
|
+
if (!seconds || seconds <= 0) return DEFAULT_TIMESTAMP;
|
|
428
|
+
|
|
429
|
+
const sec = parseInt(String(seconds), 10);
|
|
430
|
+
if (!sec || isNaN(sec)) return DEFAULT_TIMESTAMP;
|
|
431
|
+
|
|
432
|
+
const currentTimestamp = Math.floor(new Date().getTime() / 1000);
|
|
433
|
+
return currentTimestamp + sec;
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
/**
|
|
437
|
+
* Generates an HMAC-SHA1 signature for URL signing
|
|
438
|
+
*
|
|
439
|
+
* @param opts - Options containing private key, URL, endpoint, and expiry timestamp
|
|
440
|
+
* @returns Hex-encoded signature, or empty string if required params missing
|
|
441
|
+
*/
|
|
442
|
+
function getSignature(opts: {
|
|
443
|
+
privateKey: string;
|
|
444
|
+
url: string;
|
|
445
|
+
urlEndpoint: string;
|
|
446
|
+
expiryTimestamp: number;
|
|
447
|
+
}): string {
|
|
448
|
+
if (!opts.privateKey || !opts.url || !opts.urlEndpoint) return '';
|
|
449
|
+
|
|
450
|
+
// Create the string to sign: relative path + expiry timestamp
|
|
451
|
+
const stringToSign =
|
|
452
|
+
opts.url.replace(addTrailingSlash(opts.urlEndpoint), '') + String(opts.expiryTimestamp);
|
|
453
|
+
|
|
454
|
+
return createHmacSha1(opts.privateKey, stringToSign);
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
function addTrailingSlash(str: string): string {
|
|
458
|
+
if (typeof str === 'string' && str[str.length - 1] !== '/') {
|
|
459
|
+
str = str + '/';
|
|
460
|
+
}
|
|
461
|
+
return str;
|
|
462
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
2
|
+
|
|
3
|
+
export * from './shared';
|
|
4
|
+
export { Accounts } from './accounts/accounts';
|
|
5
|
+
export { Assets, type AssetListResponse, type AssetListParams } from './assets';
|
|
6
|
+
export { Beta } from './beta/beta';
|
|
7
|
+
export { Cache } from './cache/cache';
|
|
8
|
+
export {
|
|
9
|
+
CustomMetadataFields,
|
|
10
|
+
type CustomMetadataField,
|
|
11
|
+
type CustomMetadataFieldListResponse,
|
|
12
|
+
type CustomMetadataFieldDeleteResponse,
|
|
13
|
+
type CustomMetadataFieldCreateParams,
|
|
14
|
+
type CustomMetadataFieldUpdateParams,
|
|
15
|
+
type CustomMetadataFieldListParams,
|
|
16
|
+
} from './custom-metadata-fields';
|
|
17
|
+
export {
|
|
18
|
+
Files,
|
|
19
|
+
type File,
|
|
20
|
+
type Folder,
|
|
21
|
+
type Metadata,
|
|
22
|
+
type UpdateFileRequest,
|
|
23
|
+
type FileUpdateResponse,
|
|
24
|
+
type FileCopyResponse,
|
|
25
|
+
type FileMoveResponse,
|
|
26
|
+
type FileRenameResponse,
|
|
27
|
+
type FileUploadResponse,
|
|
28
|
+
type FileUpdateParams,
|
|
29
|
+
type FileCopyParams,
|
|
30
|
+
type FileMoveParams,
|
|
31
|
+
type FileRenameParams,
|
|
32
|
+
type FileUploadParams,
|
|
33
|
+
} from './files/files';
|
|
34
|
+
export {
|
|
35
|
+
Folders,
|
|
36
|
+
type FolderCreateResponse,
|
|
37
|
+
type FolderDeleteResponse,
|
|
38
|
+
type FolderCopyResponse,
|
|
39
|
+
type FolderMoveResponse,
|
|
40
|
+
type FolderRenameResponse,
|
|
41
|
+
type FolderCreateParams,
|
|
42
|
+
type FolderDeleteParams,
|
|
43
|
+
type FolderCopyParams,
|
|
44
|
+
type FolderMoveParams,
|
|
45
|
+
type FolderRenameParams,
|
|
46
|
+
} from './folders/folders';
|
|
47
|
+
export {
|
|
48
|
+
Webhooks,
|
|
49
|
+
type BaseWebhookEvent,
|
|
50
|
+
type UploadPostTransformErrorEvent,
|
|
51
|
+
type UploadPostTransformSuccessEvent,
|
|
52
|
+
type UploadPreTransformErrorEvent,
|
|
53
|
+
type UploadPreTransformSuccessEvent,
|
|
54
|
+
type VideoTransformationAcceptedEvent,
|
|
55
|
+
type VideoTransformationErrorEvent,
|
|
56
|
+
type VideoTransformationReadyEvent,
|
|
57
|
+
type UnsafeUnwrapWebhookEvent,
|
|
58
|
+
type UnwrapWebhookEvent,
|
|
59
|
+
} from './webhooks';
|
|
60
|
+
export { Helper } from './helper';
|