@dodopayments/tanstack 0.1.1 → 0.1.3
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/README.md +54 -40
- package/dist/checkout/checkout.d.ts.map +1 -1
- package/dist/index.cjs +385 -60
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +385 -60
- package/dist/index.js.map +1 -1
- package/dist/webhooks/webhooks.d.ts.map +1 -1
- package/package.json +54 -55
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../node_modules/dodopayments/version.mjs","../../../node_modules/dodopayments/error.mjs","../../../node_modules/dodopayments/_shims/registry.mjs","../../../node_modules/dodopayments/_shims/MultipartBody.mjs","../../../node_modules/dodopayments/_shims/web-runtime.mjs","../../../node_modules/dodopayments/_shims/index.mjs","../../../node_modules/dodopayments/uploads.mjs","../../../node_modules/dodopayments/core.mjs","../../../node_modules/dodopayments/pagination.mjs","../../../node_modules/dodopayments/resource.mjs","../../../node_modules/dodopayments/resources/addons.mjs","../../../node_modules/dodopayments/resources/brands.mjs","../../../node_modules/dodopayments/resources/customers/customer-portal.mjs","../../../node_modules/dodopayments/resources/customers/customers.mjs","../../../node_modules/dodopayments/resources/discounts.mjs","../../../node_modules/dodopayments/resources/disputes.mjs","../../../node_modules/dodopayments/resources/invoices/payments.mjs","../../../node_modules/dodopayments/resources/invoices/invoices.mjs","../../../node_modules/dodopayments/resources/license-key-instances.mjs","../../../node_modules/dodopayments/resources/license-keys.mjs","../../../node_modules/dodopayments/resources/licenses.mjs","../../../node_modules/dodopayments/resources/misc.mjs","../../../node_modules/dodopayments/resources/payments.mjs","../../../node_modules/dodopayments/resources/payouts.mjs","../../../node_modules/dodopayments/resources/products/images.mjs","../../../node_modules/dodopayments/resources/products/products.mjs","../../../node_modules/dodopayments/resources/refunds.mjs","../../../node_modules/dodopayments/resources/subscriptions.mjs","../../../node_modules/dodopayments/resources/webhook-events.mjs","../../../node_modules/dodopayments/index.mjs","../../core/dist/checkout/checkout.js","../src/checkout/checkout.ts","../../../node_modules/standardwebhooks/dist/timing_safe_equal.js","../../../node_modules/@stablelib/base64/lib/base64.js","../../../node_modules/fast-sha256/sha256.js","../../../node_modules/standardwebhooks/dist/index.js","../../core/dist/schemas/webhook.js","../../core/dist/webhook/webhook.js","../src/webhooks/webhooks.ts","../src/customer-portal/customer-portal.ts"],"sourcesContent":["export const VERSION = '1.42.0'; // x-release-please-version\n//# sourceMappingURL=version.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { castToError } from \"./core.mjs\";\nexport class DodoPaymentsError extends Error {\n}\nexport class APIError extends DodoPaymentsError {\n constructor(status, error, message, headers) {\n super(`${APIError.makeMessage(status, error, message)}`);\n this.status = status;\n this.headers = headers;\n this.error = error;\n }\n static makeMessage(status, error, message) {\n const msg = error?.message ?\n typeof error.message === 'string' ?\n error.message\n : JSON.stringify(error.message)\n : error ? JSON.stringify(error)\n : message;\n if (status && msg) {\n return `${status} ${msg}`;\n }\n if (status) {\n return `${status} status code (no body)`;\n }\n if (msg) {\n return msg;\n }\n return '(no status code or body)';\n }\n static generate(status, errorResponse, message, headers) {\n if (!status || !headers) {\n return new APIConnectionError({ message, cause: castToError(errorResponse) });\n }\n const error = errorResponse;\n if (status === 400) {\n return new BadRequestError(status, error, message, headers);\n }\n if (status === 401) {\n return new AuthenticationError(status, error, message, headers);\n }\n if (status === 403) {\n return new PermissionDeniedError(status, error, message, headers);\n }\n if (status === 404) {\n return new NotFoundError(status, error, message, headers);\n }\n if (status === 409) {\n return new ConflictError(status, error, message, headers);\n }\n if (status === 422) {\n return new UnprocessableEntityError(status, error, message, headers);\n }\n if (status === 429) {\n return new RateLimitError(status, error, message, headers);\n }\n if (status >= 500) {\n return new InternalServerError(status, error, message, headers);\n }\n return new APIError(status, error, message, headers);\n }\n}\nexport class APIUserAbortError extends APIError {\n constructor({ message } = {}) {\n super(undefined, undefined, message || 'Request was aborted.', undefined);\n }\n}\nexport class APIConnectionError extends APIError {\n constructor({ message, cause }) {\n super(undefined, undefined, message || 'Connection error.', undefined);\n // in some environments the 'cause' property is already declared\n // @ts-ignore\n if (cause)\n this.cause = cause;\n }\n}\nexport class APIConnectionTimeoutError extends APIConnectionError {\n constructor({ message } = {}) {\n super({ message: message ?? 'Request timed out.' });\n }\n}\nexport class BadRequestError extends APIError {\n}\nexport class AuthenticationError extends APIError {\n}\nexport class PermissionDeniedError extends APIError {\n}\nexport class NotFoundError extends APIError {\n}\nexport class ConflictError extends APIError {\n}\nexport class UnprocessableEntityError extends APIError {\n}\nexport class RateLimitError extends APIError {\n}\nexport class InternalServerError extends APIError {\n}\n//# sourceMappingURL=error.mjs.map","export let auto = false;\nexport let kind = undefined;\nexport let fetch = undefined;\nexport let Request = undefined;\nexport let Response = undefined;\nexport let Headers = undefined;\nexport let FormData = undefined;\nexport let Blob = undefined;\nexport let File = undefined;\nexport let ReadableStream = undefined;\nexport let getMultipartRequestOptions = undefined;\nexport let getDefaultAgent = undefined;\nexport let fileFromPath = undefined;\nexport let isFsReadStream = undefined;\nexport function setShims(shims, options = { auto: false }) {\n if (auto) {\n throw new Error(`you must \\`import 'dodopayments/shims/${shims.kind}'\\` before importing anything else from dodopayments`);\n }\n if (kind) {\n throw new Error(`can't \\`import 'dodopayments/shims/${shims.kind}'\\` after \\`import 'dodopayments/shims/${kind}'\\``);\n }\n auto = options.auto;\n kind = shims.kind;\n fetch = shims.fetch;\n Request = shims.Request;\n Response = shims.Response;\n Headers = shims.Headers;\n FormData = shims.FormData;\n Blob = shims.Blob;\n File = shims.File;\n ReadableStream = shims.ReadableStream;\n getMultipartRequestOptions = shims.getMultipartRequestOptions;\n getDefaultAgent = shims.getDefaultAgent;\n fileFromPath = shims.fileFromPath;\n isFsReadStream = shims.isFsReadStream;\n}\n//# sourceMappingURL=registry.mjs.map","/**\n * Disclaimer: modules in _shims aren't intended to be imported by SDK users.\n */\nexport class MultipartBody {\n constructor(body) {\n this.body = body;\n }\n get [Symbol.toStringTag]() {\n return 'MultipartBody';\n }\n}\n//# sourceMappingURL=MultipartBody.mjs.map","import { MultipartBody } from \"./MultipartBody.mjs\";\nexport function getRuntime({ manuallyImported } = {}) {\n const recommendation = manuallyImported ?\n `You may need to use polyfills`\n : `Add one of these imports before your first \\`import … from 'dodopayments'\\`:\n- \\`import 'dodopayments/shims/node'\\` (if you're running on Node)\n- \\`import 'dodopayments/shims/web'\\` (otherwise)\n`;\n let _fetch, _Request, _Response, _Headers;\n try {\n // @ts-ignore\n _fetch = fetch;\n // @ts-ignore\n _Request = Request;\n // @ts-ignore\n _Response = Response;\n // @ts-ignore\n _Headers = Headers;\n }\n catch (error) {\n throw new Error(`this environment is missing the following Web Fetch API type: ${error.message}. ${recommendation}`);\n }\n return {\n kind: 'web',\n fetch: _fetch,\n Request: _Request,\n Response: _Response,\n Headers: _Headers,\n FormData: \n // @ts-ignore\n typeof FormData !== 'undefined' ? FormData : (class FormData {\n // @ts-ignore\n constructor() {\n throw new Error(`file uploads aren't supported in this environment yet as 'FormData' is undefined. ${recommendation}`);\n }\n }),\n Blob: typeof Blob !== 'undefined' ? Blob : (class Blob {\n constructor() {\n throw new Error(`file uploads aren't supported in this environment yet as 'Blob' is undefined. ${recommendation}`);\n }\n }),\n File: \n // @ts-ignore\n typeof File !== 'undefined' ? File : (class File {\n // @ts-ignore\n constructor() {\n throw new Error(`file uploads aren't supported in this environment yet as 'File' is undefined. ${recommendation}`);\n }\n }),\n ReadableStream: \n // @ts-ignore\n typeof ReadableStream !== 'undefined' ? ReadableStream : (class ReadableStream {\n // @ts-ignore\n constructor() {\n throw new Error(`streaming isn't supported in this environment yet as 'ReadableStream' is undefined. ${recommendation}`);\n }\n }),\n getMultipartRequestOptions: async (\n // @ts-ignore\n form, opts) => ({\n ...opts,\n body: new MultipartBody(form),\n }),\n getDefaultAgent: (url) => undefined,\n fileFromPath: () => {\n throw new Error('The `fileFromPath` function is only supported in Node. See the README for more details: https://www.github.com/dodopayments/dodopayments-node#file-uploads');\n },\n isFsReadStream: (value) => false,\n };\n}\n//# sourceMappingURL=web-runtime.mjs.map","/**\n * Disclaimer: modules in _shims aren't intended to be imported by SDK users.\n */\nimport * as shims from './registry.mjs';\nimport * as auto from 'dodopayments/_shims/auto/runtime';\nexport const init = () => {\n if (!shims.kind) shims.setShims(auto.getRuntime(), { auto: true });\n};\nexport * from './registry.mjs';\n\ninit();\n","import { FormData, File, getMultipartRequestOptions, isFsReadStream, } from \"./_shims/index.mjs\";\nexport { fileFromPath } from \"./_shims/index.mjs\";\nexport const isResponseLike = (value) => value != null &&\n typeof value === 'object' &&\n typeof value.url === 'string' &&\n typeof value.blob === 'function';\nexport const isFileLike = (value) => value != null &&\n typeof value === 'object' &&\n typeof value.name === 'string' &&\n typeof value.lastModified === 'number' &&\n isBlobLike(value);\n/**\n * The BlobLike type omits arrayBuffer() because @types/node-fetch@^2.6.4 lacks it; but this check\n * adds the arrayBuffer() method type because it is available and used at runtime\n */\nexport const isBlobLike = (value) => value != null &&\n typeof value === 'object' &&\n typeof value.size === 'number' &&\n typeof value.type === 'string' &&\n typeof value.text === 'function' &&\n typeof value.slice === 'function' &&\n typeof value.arrayBuffer === 'function';\nexport const isUploadable = (value) => {\n return isFileLike(value) || isResponseLike(value) || isFsReadStream(value);\n};\n/**\n * Helper for creating a {@link File} to pass to an SDK upload method from a variety of different data formats\n * @param value the raw content of the file. Can be an {@link Uploadable}, {@link BlobLikePart}, or {@link AsyncIterable} of {@link BlobLikePart}s\n * @param {string=} name the name of the file. If omitted, toFile will try to determine a file name from bits if possible\n * @param {Object=} options additional properties\n * @param {string=} options.type the MIME type of the content\n * @param {number=} options.lastModified the last modified timestamp\n * @returns a {@link File} with the given properties\n */\nexport async function toFile(value, name, options) {\n // If it's a promise, resolve it.\n value = await value;\n // If we've been given a `File` we don't need to do anything\n if (isFileLike(value)) {\n return value;\n }\n if (isResponseLike(value)) {\n const blob = await value.blob();\n name || (name = new URL(value.url).pathname.split(/[\\\\/]/).pop() ?? 'unknown_file');\n // we need to convert the `Blob` into an array buffer because the `Blob` class\n // that `node-fetch` defines is incompatible with the web standard which results\n // in `new File` interpreting it as a string instead of binary data.\n const data = isBlobLike(blob) ? [(await blob.arrayBuffer())] : [blob];\n return new File(data, name, options);\n }\n const bits = await getBytes(value);\n name || (name = getName(value) ?? 'unknown_file');\n if (!options?.type) {\n const type = bits[0]?.type;\n if (typeof type === 'string') {\n options = { ...options, type };\n }\n }\n return new File(bits, name, options);\n}\nasync function getBytes(value) {\n let parts = [];\n if (typeof value === 'string' ||\n ArrayBuffer.isView(value) || // includes Uint8Array, Buffer, etc.\n value instanceof ArrayBuffer) {\n parts.push(value);\n }\n else if (isBlobLike(value)) {\n parts.push(await value.arrayBuffer());\n }\n else if (isAsyncIterableIterator(value) // includes Readable, ReadableStream, etc.\n ) {\n for await (const chunk of value) {\n parts.push(chunk); // TODO, consider validating?\n }\n }\n else {\n throw new Error(`Unexpected data type: ${typeof value}; constructor: ${value?.constructor\n ?.name}; props: ${propsForError(value)}`);\n }\n return parts;\n}\nfunction propsForError(value) {\n const props = Object.getOwnPropertyNames(value);\n return `[${props.map((p) => `\"${p}\"`).join(', ')}]`;\n}\nfunction getName(value) {\n return (getStringFromMaybeBuffer(value.name) ||\n getStringFromMaybeBuffer(value.filename) ||\n // For fs.ReadStream\n getStringFromMaybeBuffer(value.path)?.split(/[\\\\/]/).pop());\n}\nconst getStringFromMaybeBuffer = (x) => {\n if (typeof x === 'string')\n return x;\n if (typeof Buffer !== 'undefined' && x instanceof Buffer)\n return String(x);\n return undefined;\n};\nconst isAsyncIterableIterator = (value) => value != null && typeof value === 'object' && typeof value[Symbol.asyncIterator] === 'function';\nexport const isMultipartBody = (body) => body && typeof body === 'object' && body.body && body[Symbol.toStringTag] === 'MultipartBody';\n/**\n * Returns a multipart/form-data request if any part of the given request body contains a File / Blob value.\n * Otherwise returns the request as is.\n */\nexport const maybeMultipartFormRequestOptions = async (opts) => {\n if (!hasUploadableValue(opts.body))\n return opts;\n const form = await createForm(opts.body);\n return getMultipartRequestOptions(form, opts);\n};\nexport const multipartFormRequestOptions = async (opts) => {\n const form = await createForm(opts.body);\n return getMultipartRequestOptions(form, opts);\n};\nexport const createForm = async (body) => {\n const form = new FormData();\n await Promise.all(Object.entries(body || {}).map(([key, value]) => addFormValue(form, key, value)));\n return form;\n};\nconst hasUploadableValue = (value) => {\n if (isUploadable(value))\n return true;\n if (Array.isArray(value))\n return value.some(hasUploadableValue);\n if (value && typeof value === 'object') {\n for (const k in value) {\n if (hasUploadableValue(value[k]))\n return true;\n }\n }\n return false;\n};\nconst addFormValue = async (form, key, value) => {\n if (value === undefined)\n return;\n if (value == null) {\n throw new TypeError(`Received null for \"${key}\"; to pass null in FormData, you must use the string 'null'`);\n }\n // TODO: make nested formats configurable\n if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {\n form.append(key, String(value));\n }\n else if (isUploadable(value)) {\n const file = await toFile(value);\n form.append(key, file);\n }\n else if (Array.isArray(value)) {\n await Promise.all(value.map((entry) => addFormValue(form, key + '[]', entry)));\n }\n else if (typeof value === 'object') {\n await Promise.all(Object.entries(value).map(([name, prop]) => addFormValue(form, `${key}[${name}]`, prop)));\n }\n else {\n throw new TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${value} instead`);\n }\n};\n//# sourceMappingURL=uploads.mjs.map","var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _APIClient_baseURLOverridden, _AbstractPage_client;\nimport { VERSION } from \"./version.mjs\";\nimport { DodoPaymentsError, APIError, APIConnectionError, APIConnectionTimeoutError, APIUserAbortError, } from \"./error.mjs\";\nimport { kind as shimsKind, getDefaultAgent, fetch, init, } from \"./_shims/index.mjs\";\n// try running side effects outside of _shims/index to workaround https://github.com/vercel/next.js/issues/76881\ninit();\nimport { isBlobLike, isMultipartBody } from \"./uploads.mjs\";\nexport { maybeMultipartFormRequestOptions, multipartFormRequestOptions, createForm, } from \"./uploads.mjs\";\nasync function defaultParseResponse(props) {\n const { response } = props;\n // fetch refuses to read the body when the status code is 204.\n if (response.status === 204) {\n return null;\n }\n if (props.options.__binaryResponse) {\n return response;\n }\n const contentType = response.headers.get('content-type');\n const mediaType = contentType?.split(';')[0]?.trim();\n const isJSON = mediaType?.includes('application/json') || mediaType?.endsWith('+json');\n if (isJSON) {\n const json = await response.json();\n debug('response', response.status, response.url, response.headers, json);\n return json;\n }\n const text = await response.text();\n debug('response', response.status, response.url, response.headers, text);\n // TODO handle blob, arraybuffer, other content types, etc.\n return text;\n}\n/**\n * A subclass of `Promise` providing additional helper methods\n * for interacting with the SDK.\n */\nexport class APIPromise extends Promise {\n constructor(responsePromise, parseResponse = defaultParseResponse) {\n super((resolve) => {\n // this is maybe a bit weird but this has to be a no-op to not implicitly\n // parse the response body; instead .then, .catch, .finally are overridden\n // to parse the response\n resolve(null);\n });\n this.responsePromise = responsePromise;\n this.parseResponse = parseResponse;\n }\n _thenUnwrap(transform) {\n return new APIPromise(this.responsePromise, async (props) => transform(await this.parseResponse(props), props));\n }\n /**\n * Gets the raw `Response` instance instead of parsing the response\n * data.\n *\n * If you want to parse the response body but still get the `Response`\n * instance, you can use {@link withResponse()}.\n *\n * 👋 Getting the wrong TypeScript type for `Response`?\n * Try setting `\"moduleResolution\": \"NodeNext\"` if you can,\n * or add one of these imports before your first `import … from 'dodopayments'`:\n * - `import 'dodopayments/shims/node'` (if you're running on Node)\n * - `import 'dodopayments/shims/web'` (otherwise)\n */\n asResponse() {\n return this.responsePromise.then((p) => p.response);\n }\n /**\n * Gets the parsed response data and the raw `Response` instance.\n *\n * If you just want to get the raw `Response` instance without parsing it,\n * you can use {@link asResponse()}.\n *\n *\n * 👋 Getting the wrong TypeScript type for `Response`?\n * Try setting `\"moduleResolution\": \"NodeNext\"` if you can,\n * or add one of these imports before your first `import … from 'dodopayments'`:\n * - `import 'dodopayments/shims/node'` (if you're running on Node)\n * - `import 'dodopayments/shims/web'` (otherwise)\n */\n async withResponse() {\n const [data, response] = await Promise.all([this.parse(), this.asResponse()]);\n return { data, response };\n }\n parse() {\n if (!this.parsedPromise) {\n this.parsedPromise = this.responsePromise.then(this.parseResponse);\n }\n return this.parsedPromise;\n }\n then(onfulfilled, onrejected) {\n return this.parse().then(onfulfilled, onrejected);\n }\n catch(onrejected) {\n return this.parse().catch(onrejected);\n }\n finally(onfinally) {\n return this.parse().finally(onfinally);\n }\n}\nexport class APIClient {\n constructor({ baseURL, baseURLOverridden, maxRetries = 2, timeout = 60000, // 1 minute\n httpAgent, fetch: overriddenFetch, }) {\n _APIClient_baseURLOverridden.set(this, void 0);\n this.baseURL = baseURL;\n __classPrivateFieldSet(this, _APIClient_baseURLOverridden, baseURLOverridden, \"f\");\n this.maxRetries = validatePositiveInteger('maxRetries', maxRetries);\n this.timeout = validatePositiveInteger('timeout', timeout);\n this.httpAgent = httpAgent;\n this.fetch = overriddenFetch ?? fetch;\n }\n authHeaders(opts) {\n return {};\n }\n /**\n * Override this to add your own default headers, for example:\n *\n * {\n * ...super.defaultHeaders(),\n * Authorization: 'Bearer 123',\n * }\n */\n defaultHeaders(opts) {\n return {\n Accept: 'application/json',\n ...(['head', 'get'].includes(opts.method) ? {} : { 'Content-Type': 'application/json' }),\n 'User-Agent': this.getUserAgent(),\n ...getPlatformHeaders(),\n ...this.authHeaders(opts),\n };\n }\n /**\n * Override this to add your own headers validation:\n */\n validateHeaders(headers, customHeaders) { }\n defaultIdempotencyKey() {\n return `stainless-node-retry-${uuid4()}`;\n }\n get(path, opts) {\n return this.methodRequest('get', path, opts);\n }\n post(path, opts) {\n return this.methodRequest('post', path, opts);\n }\n patch(path, opts) {\n return this.methodRequest('patch', path, opts);\n }\n put(path, opts) {\n return this.methodRequest('put', path, opts);\n }\n delete(path, opts) {\n return this.methodRequest('delete', path, opts);\n }\n methodRequest(method, path, opts) {\n return this.request(Promise.resolve(opts).then(async (opts) => {\n const body = opts && isBlobLike(opts?.body) ? new DataView(await opts.body.arrayBuffer())\n : opts?.body instanceof DataView ? opts.body\n : opts?.body instanceof ArrayBuffer ? new DataView(opts.body)\n : opts && ArrayBuffer.isView(opts?.body) ? new DataView(opts.body.buffer)\n : opts?.body;\n return { method, path, ...opts, body };\n }));\n }\n getAPIList(path, Page, opts) {\n return this.requestAPIList(Page, { method: 'get', path, ...opts });\n }\n calculateContentLength(body) {\n if (typeof body === 'string') {\n if (typeof Buffer !== 'undefined') {\n return Buffer.byteLength(body, 'utf8').toString();\n }\n if (typeof TextEncoder !== 'undefined') {\n const encoder = new TextEncoder();\n const encoded = encoder.encode(body);\n return encoded.length.toString();\n }\n }\n else if (ArrayBuffer.isView(body)) {\n return body.byteLength.toString();\n }\n return null;\n }\n async buildRequest(inputOptions, { retryCount = 0 } = {}) {\n const options = { ...inputOptions };\n const { method, path, query, defaultBaseURL, headers: headers = {} } = options;\n const body = ArrayBuffer.isView(options.body) || (options.__binaryRequest && typeof options.body === 'string') ?\n options.body\n : isMultipartBody(options.body) ? options.body.body\n : options.body ? JSON.stringify(options.body, null, 2)\n : null;\n const contentLength = this.calculateContentLength(body);\n const url = this.buildURL(path, query, defaultBaseURL);\n if ('timeout' in options)\n validatePositiveInteger('timeout', options.timeout);\n options.timeout = options.timeout ?? this.timeout;\n const httpAgent = options.httpAgent ?? this.httpAgent ?? getDefaultAgent(url);\n const minAgentTimeout = options.timeout + 1000;\n if (typeof httpAgent?.options?.timeout === 'number' &&\n minAgentTimeout > (httpAgent.options.timeout ?? 0)) {\n // Allow any given request to bump our agent active socket timeout.\n // This may seem strange, but leaking active sockets should be rare and not particularly problematic,\n // and without mutating agent we would need to create more of them.\n // This tradeoff optimizes for performance.\n httpAgent.options.timeout = minAgentTimeout;\n }\n if (this.idempotencyHeader && method !== 'get') {\n if (!inputOptions.idempotencyKey)\n inputOptions.idempotencyKey = this.defaultIdempotencyKey();\n headers[this.idempotencyHeader] = inputOptions.idempotencyKey;\n }\n const reqHeaders = this.buildHeaders({ options, headers, contentLength, retryCount });\n const req = {\n method,\n ...(body && { body: body }),\n headers: reqHeaders,\n ...(httpAgent && { agent: httpAgent }),\n // @ts-ignore node-fetch uses a custom AbortSignal type that is\n // not compatible with standard web types\n signal: options.signal ?? null,\n };\n return { req, url, timeout: options.timeout };\n }\n buildHeaders({ options, headers, contentLength, retryCount, }) {\n const reqHeaders = {};\n if (contentLength) {\n reqHeaders['content-length'] = contentLength;\n }\n const defaultHeaders = this.defaultHeaders(options);\n applyHeadersMut(reqHeaders, defaultHeaders);\n applyHeadersMut(reqHeaders, headers);\n // let builtin fetch set the Content-Type for multipart bodies\n if (isMultipartBody(options.body) && shimsKind !== 'node') {\n delete reqHeaders['content-type'];\n }\n // Don't set theses headers if they were already set or removed through default headers or by the caller.\n // We check `defaultHeaders` and `headers`, which can contain nulls, instead of `reqHeaders` to account\n // for the removal case.\n if (getHeader(defaultHeaders, 'x-stainless-retry-count') === undefined &&\n getHeader(headers, 'x-stainless-retry-count') === undefined) {\n reqHeaders['x-stainless-retry-count'] = String(retryCount);\n }\n if (getHeader(defaultHeaders, 'x-stainless-timeout') === undefined &&\n getHeader(headers, 'x-stainless-timeout') === undefined &&\n options.timeout) {\n reqHeaders['x-stainless-timeout'] = String(Math.trunc(options.timeout / 1000));\n }\n this.validateHeaders(reqHeaders, headers);\n return reqHeaders;\n }\n /**\n * Used as a callback for mutating the given `FinalRequestOptions` object.\n */\n async prepareOptions(options) { }\n /**\n * Used as a callback for mutating the given `RequestInit` object.\n *\n * This is useful for cases where you want to add certain headers based off of\n * the request properties, e.g. `method` or `url`.\n */\n async prepareRequest(request, { url, options }) { }\n parseHeaders(headers) {\n return (!headers ? {}\n : Symbol.iterator in headers ?\n Object.fromEntries(Array.from(headers).map((header) => [...header]))\n : { ...headers });\n }\n makeStatusError(status, error, message, headers) {\n return APIError.generate(status, error, message, headers);\n }\n request(options, remainingRetries = null) {\n return new APIPromise(this.makeRequest(options, remainingRetries));\n }\n async makeRequest(optionsInput, retriesRemaining) {\n const options = await optionsInput;\n const maxRetries = options.maxRetries ?? this.maxRetries;\n if (retriesRemaining == null) {\n retriesRemaining = maxRetries;\n }\n await this.prepareOptions(options);\n const { req, url, timeout } = await this.buildRequest(options, {\n retryCount: maxRetries - retriesRemaining,\n });\n await this.prepareRequest(req, { url, options });\n debug('request', url, options, req.headers);\n if (options.signal?.aborted) {\n throw new APIUserAbortError();\n }\n const controller = new AbortController();\n const response = await this.fetchWithTimeout(url, req, timeout, controller).catch(castToError);\n if (response instanceof Error) {\n if (options.signal?.aborted) {\n throw new APIUserAbortError();\n }\n if (retriesRemaining) {\n return this.retryRequest(options, retriesRemaining);\n }\n if (response.name === 'AbortError') {\n throw new APIConnectionTimeoutError();\n }\n throw new APIConnectionError({ cause: response });\n }\n const responseHeaders = createResponseHeaders(response.headers);\n if (!response.ok) {\n if (retriesRemaining && this.shouldRetry(response)) {\n const retryMessage = `retrying, ${retriesRemaining} attempts remaining`;\n debug(`response (error; ${retryMessage})`, response.status, url, responseHeaders);\n return this.retryRequest(options, retriesRemaining, responseHeaders);\n }\n const errText = await response.text().catch((e) => castToError(e).message);\n const errJSON = safeJSON(errText);\n const errMessage = errJSON ? undefined : errText;\n const retryMessage = retriesRemaining ? `(error; no more retries left)` : `(error; not retryable)`;\n debug(`response (error; ${retryMessage})`, response.status, url, responseHeaders, errMessage);\n const err = this.makeStatusError(response.status, errJSON, errMessage, responseHeaders);\n throw err;\n }\n return { response, options, controller };\n }\n requestAPIList(Page, options) {\n const request = this.makeRequest(options, null);\n return new PagePromise(this, request, Page);\n }\n buildURL(path, query, defaultBaseURL) {\n const baseURL = (!__classPrivateFieldGet(this, _APIClient_baseURLOverridden, \"f\") && defaultBaseURL) || this.baseURL;\n const url = isAbsoluteURL(path) ?\n new URL(path)\n : new URL(baseURL + (baseURL.endsWith('/') && path.startsWith('/') ? path.slice(1) : path));\n const defaultQuery = this.defaultQuery();\n if (!isEmptyObj(defaultQuery)) {\n query = { ...defaultQuery, ...query };\n }\n if (typeof query === 'object' && query && !Array.isArray(query)) {\n url.search = this.stringifyQuery(query);\n }\n return url.toString();\n }\n stringifyQuery(query) {\n return Object.entries(query)\n .filter(([_, value]) => typeof value !== 'undefined')\n .map(([key, value]) => {\n if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {\n return `${encodeURIComponent(key)}=${encodeURIComponent(value)}`;\n }\n if (value === null) {\n return `${encodeURIComponent(key)}=`;\n }\n throw new DodoPaymentsError(`Cannot stringify type ${typeof value}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`);\n })\n .join('&');\n }\n async fetchWithTimeout(url, init, ms, controller) {\n const { signal, ...options } = init || {};\n if (signal)\n signal.addEventListener('abort', () => controller.abort());\n const timeout = setTimeout(() => controller.abort(), ms);\n const fetchOptions = {\n signal: controller.signal,\n ...options,\n };\n if (fetchOptions.method) {\n // Custom methods like 'patch' need to be uppercased\n // See https://github.com/nodejs/undici/issues/2294\n fetchOptions.method = fetchOptions.method.toUpperCase();\n }\n return (\n // use undefined this binding; fetch errors if bound to something else in browser/cloudflare\n this.fetch.call(undefined, url, fetchOptions).finally(() => {\n clearTimeout(timeout);\n }));\n }\n shouldRetry(response) {\n // Note this is not a standard header.\n const shouldRetryHeader = response.headers.get('x-should-retry');\n // If the server explicitly says whether or not to retry, obey.\n if (shouldRetryHeader === 'true')\n return true;\n if (shouldRetryHeader === 'false')\n return false;\n // Retry on request timeouts.\n if (response.status === 408)\n return true;\n // Retry on lock timeouts.\n if (response.status === 409)\n return true;\n // Retry on rate limits.\n if (response.status === 429)\n return true;\n // Retry internal errors.\n if (response.status >= 500)\n return true;\n return false;\n }\n async retryRequest(options, retriesRemaining, responseHeaders) {\n let timeoutMillis;\n // Note the `retry-after-ms` header may not be standard, but is a good idea and we'd like proactive support for it.\n const retryAfterMillisHeader = responseHeaders?.['retry-after-ms'];\n if (retryAfterMillisHeader) {\n const timeoutMs = parseFloat(retryAfterMillisHeader);\n if (!Number.isNaN(timeoutMs)) {\n timeoutMillis = timeoutMs;\n }\n }\n // About the Retry-After header: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After\n const retryAfterHeader = responseHeaders?.['retry-after'];\n if (retryAfterHeader && !timeoutMillis) {\n const timeoutSeconds = parseFloat(retryAfterHeader);\n if (!Number.isNaN(timeoutSeconds)) {\n timeoutMillis = timeoutSeconds * 1000;\n }\n else {\n timeoutMillis = Date.parse(retryAfterHeader) - Date.now();\n }\n }\n // If the API asks us to wait a certain amount of time (and it's a reasonable amount),\n // just do what it says, but otherwise calculate a default\n if (!(timeoutMillis && 0 <= timeoutMillis && timeoutMillis < 60 * 1000)) {\n const maxRetries = options.maxRetries ?? this.maxRetries;\n timeoutMillis = this.calculateDefaultRetryTimeoutMillis(retriesRemaining, maxRetries);\n }\n await sleep(timeoutMillis);\n return this.makeRequest(options, retriesRemaining - 1);\n }\n calculateDefaultRetryTimeoutMillis(retriesRemaining, maxRetries) {\n const initialRetryDelay = 0.5;\n const maxRetryDelay = 8.0;\n const numRetries = maxRetries - retriesRemaining;\n // Apply exponential backoff, but not more than the max.\n const sleepSeconds = Math.min(initialRetryDelay * Math.pow(2, numRetries), maxRetryDelay);\n // Apply some jitter, take up to at most 25 percent of the retry time.\n const jitter = 1 - Math.random() * 0.25;\n return sleepSeconds * jitter * 1000;\n }\n getUserAgent() {\n return `${this.constructor.name}/JS ${VERSION}`;\n }\n}\n_APIClient_baseURLOverridden = new WeakMap();\nexport class AbstractPage {\n constructor(client, response, body, options) {\n _AbstractPage_client.set(this, void 0);\n __classPrivateFieldSet(this, _AbstractPage_client, client, \"f\");\n this.options = options;\n this.response = response;\n this.body = body;\n }\n hasNextPage() {\n const items = this.getPaginatedItems();\n if (!items.length)\n return false;\n return this.nextPageInfo() != null;\n }\n async getNextPage() {\n const nextInfo = this.nextPageInfo();\n if (!nextInfo) {\n throw new DodoPaymentsError('No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.');\n }\n const nextOptions = { ...this.options };\n if ('params' in nextInfo && typeof nextOptions.query === 'object') {\n nextOptions.query = { ...nextOptions.query, ...nextInfo.params };\n }\n else if ('url' in nextInfo) {\n const params = [...Object.entries(nextOptions.query || {}), ...nextInfo.url.searchParams.entries()];\n for (const [key, value] of params) {\n nextInfo.url.searchParams.set(key, value);\n }\n nextOptions.query = undefined;\n nextOptions.path = nextInfo.url.toString();\n }\n return await __classPrivateFieldGet(this, _AbstractPage_client, \"f\").requestAPIList(this.constructor, nextOptions);\n }\n async *iterPages() {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n let page = this;\n yield page;\n while (page.hasNextPage()) {\n page = await page.getNextPage();\n yield page;\n }\n }\n async *[(_AbstractPage_client = new WeakMap(), Symbol.asyncIterator)]() {\n for await (const page of this.iterPages()) {\n for (const item of page.getPaginatedItems()) {\n yield item;\n }\n }\n }\n}\n/**\n * This subclass of Promise will resolve to an instantiated Page once the request completes.\n *\n * It also implements AsyncIterable to allow auto-paginating iteration on an unawaited list call, eg:\n *\n * for await (const item of client.items.list()) {\n * console.log(item)\n * }\n */\nexport class PagePromise extends APIPromise {\n constructor(client, request, Page) {\n super(request, async (props) => new Page(client, props.response, await defaultParseResponse(props), props.options));\n }\n /**\n * Allow auto-paginating iteration on an unawaited list call, eg:\n *\n * for await (const item of client.items.list()) {\n * console.log(item)\n * }\n */\n async *[Symbol.asyncIterator]() {\n const page = await this;\n for await (const item of page) {\n yield item;\n }\n }\n}\nexport const createResponseHeaders = (headers) => {\n return new Proxy(Object.fromEntries(\n // @ts-ignore\n headers.entries()), {\n get(target, name) {\n const key = name.toString();\n return target[key.toLowerCase()] || target[key];\n },\n });\n};\n// This is required so that we can determine if a given object matches the RequestOptions\n// type at runtime. While this requires duplication, it is enforced by the TypeScript\n// compiler such that any missing / extraneous keys will cause an error.\nconst requestOptionsKeys = {\n method: true,\n path: true,\n query: true,\n body: true,\n headers: true,\n defaultBaseURL: true,\n maxRetries: true,\n stream: true,\n timeout: true,\n httpAgent: true,\n signal: true,\n idempotencyKey: true,\n __binaryRequest: true,\n __binaryResponse: true,\n};\nexport const isRequestOptions = (obj) => {\n return (typeof obj === 'object' &&\n obj !== null &&\n !isEmptyObj(obj) &&\n Object.keys(obj).every((k) => hasOwn(requestOptionsKeys, k)));\n};\nconst getPlatformProperties = () => {\n if (typeof Deno !== 'undefined' && Deno.build != null) {\n return {\n 'X-Stainless-Lang': 'js',\n 'X-Stainless-Package-Version': VERSION,\n 'X-Stainless-OS': normalizePlatform(Deno.build.os),\n 'X-Stainless-Arch': normalizeArch(Deno.build.arch),\n 'X-Stainless-Runtime': 'deno',\n 'X-Stainless-Runtime-Version': typeof Deno.version === 'string' ? Deno.version : Deno.version?.deno ?? 'unknown',\n };\n }\n if (typeof EdgeRuntime !== 'undefined') {\n return {\n 'X-Stainless-Lang': 'js',\n 'X-Stainless-Package-Version': VERSION,\n 'X-Stainless-OS': 'Unknown',\n 'X-Stainless-Arch': `other:${EdgeRuntime}`,\n 'X-Stainless-Runtime': 'edge',\n 'X-Stainless-Runtime-Version': process.version,\n };\n }\n // Check if Node.js\n if (Object.prototype.toString.call(typeof process !== 'undefined' ? process : 0) === '[object process]') {\n return {\n 'X-Stainless-Lang': 'js',\n 'X-Stainless-Package-Version': VERSION,\n 'X-Stainless-OS': normalizePlatform(process.platform),\n 'X-Stainless-Arch': normalizeArch(process.arch),\n 'X-Stainless-Runtime': 'node',\n 'X-Stainless-Runtime-Version': process.version,\n };\n }\n const browserInfo = getBrowserInfo();\n if (browserInfo) {\n return {\n 'X-Stainless-Lang': 'js',\n 'X-Stainless-Package-Version': VERSION,\n 'X-Stainless-OS': 'Unknown',\n 'X-Stainless-Arch': 'unknown',\n 'X-Stainless-Runtime': `browser:${browserInfo.browser}`,\n 'X-Stainless-Runtime-Version': browserInfo.version,\n };\n }\n // TODO add support for Cloudflare workers, etc.\n return {\n 'X-Stainless-Lang': 'js',\n 'X-Stainless-Package-Version': VERSION,\n 'X-Stainless-OS': 'Unknown',\n 'X-Stainless-Arch': 'unknown',\n 'X-Stainless-Runtime': 'unknown',\n 'X-Stainless-Runtime-Version': 'unknown',\n };\n};\n// Note: modified from https://github.com/JS-DevTools/host-environment/blob/b1ab79ecde37db5d6e163c050e54fe7d287d7c92/src/isomorphic.browser.ts\nfunction getBrowserInfo() {\n if (typeof navigator === 'undefined' || !navigator) {\n return null;\n }\n // NOTE: The order matters here!\n const browserPatterns = [\n { key: 'edge', pattern: /Edge(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/ },\n { key: 'ie', pattern: /MSIE(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/ },\n { key: 'ie', pattern: /Trident(?:.*rv\\:(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/ },\n { key: 'chrome', pattern: /Chrome(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/ },\n { key: 'firefox', pattern: /Firefox(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/ },\n { key: 'safari', pattern: /(?:Version\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?(?:\\W+Mobile\\S*)?\\W+Safari/ },\n ];\n // Find the FIRST matching browser\n for (const { key, pattern } of browserPatterns) {\n const match = pattern.exec(navigator.userAgent);\n if (match) {\n const major = match[1] || 0;\n const minor = match[2] || 0;\n const patch = match[3] || 0;\n return { browser: key, version: `${major}.${minor}.${patch}` };\n }\n }\n return null;\n}\nconst normalizeArch = (arch) => {\n // Node docs:\n // - https://nodejs.org/api/process.html#processarch\n // Deno docs:\n // - https://doc.deno.land/deno/stable/~/Deno.build\n if (arch === 'x32')\n return 'x32';\n if (arch === 'x86_64' || arch === 'x64')\n return 'x64';\n if (arch === 'arm')\n return 'arm';\n if (arch === 'aarch64' || arch === 'arm64')\n return 'arm64';\n if (arch)\n return `other:${arch}`;\n return 'unknown';\n};\nconst normalizePlatform = (platform) => {\n // Node platforms:\n // - https://nodejs.org/api/process.html#processplatform\n // Deno platforms:\n // - https://doc.deno.land/deno/stable/~/Deno.build\n // - https://github.com/denoland/deno/issues/14799\n platform = platform.toLowerCase();\n // NOTE: this iOS check is untested and may not work\n // Node does not work natively on IOS, there is a fork at\n // https://github.com/nodejs-mobile/nodejs-mobile\n // however it is unknown at the time of writing how to detect if it is running\n if (platform.includes('ios'))\n return 'iOS';\n if (platform === 'android')\n return 'Android';\n if (platform === 'darwin')\n return 'MacOS';\n if (platform === 'win32')\n return 'Windows';\n if (platform === 'freebsd')\n return 'FreeBSD';\n if (platform === 'openbsd')\n return 'OpenBSD';\n if (platform === 'linux')\n return 'Linux';\n if (platform)\n return `Other:${platform}`;\n return 'Unknown';\n};\nlet _platformHeaders;\nconst getPlatformHeaders = () => {\n return (_platformHeaders ?? (_platformHeaders = getPlatformProperties()));\n};\nexport const safeJSON = (text) => {\n try {\n return JSON.parse(text);\n }\n catch (err) {\n return undefined;\n }\n};\n// https://url.spec.whatwg.org/#url-scheme-string\nconst startsWithSchemeRegexp = /^[a-z][a-z0-9+.-]*:/i;\nconst isAbsoluteURL = (url) => {\n return startsWithSchemeRegexp.test(url);\n};\nexport const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));\nconst validatePositiveInteger = (name, n) => {\n if (typeof n !== 'number' || !Number.isInteger(n)) {\n throw new DodoPaymentsError(`${name} must be an integer`);\n }\n if (n < 0) {\n throw new DodoPaymentsError(`${name} must be a positive integer`);\n }\n return n;\n};\nexport const castToError = (err) => {\n if (err instanceof Error)\n return err;\n if (typeof err === 'object' && err !== null) {\n try {\n return new Error(JSON.stringify(err));\n }\n catch { }\n }\n return new Error(err);\n};\nexport const ensurePresent = (value) => {\n if (value == null)\n throw new DodoPaymentsError(`Expected a value to be given but received ${value} instead.`);\n return value;\n};\n/**\n * Read an environment variable.\n *\n * Trims beginning and trailing whitespace.\n *\n * Will return undefined if the environment variable doesn't exist or cannot be accessed.\n */\nexport const readEnv = (env) => {\n if (typeof process !== 'undefined') {\n return process.env?.[env]?.trim() ?? undefined;\n }\n if (typeof Deno !== 'undefined') {\n return Deno.env?.get?.(env)?.trim();\n }\n return undefined;\n};\nexport const coerceInteger = (value) => {\n if (typeof value === 'number')\n return Math.round(value);\n if (typeof value === 'string')\n return parseInt(value, 10);\n throw new DodoPaymentsError(`Could not coerce ${value} (type: ${typeof value}) into a number`);\n};\nexport const coerceFloat = (value) => {\n if (typeof value === 'number')\n return value;\n if (typeof value === 'string')\n return parseFloat(value);\n throw new DodoPaymentsError(`Could not coerce ${value} (type: ${typeof value}) into a number`);\n};\nexport const coerceBoolean = (value) => {\n if (typeof value === 'boolean')\n return value;\n if (typeof value === 'string')\n return value === 'true';\n return Boolean(value);\n};\nexport const maybeCoerceInteger = (value) => {\n if (value === undefined) {\n return undefined;\n }\n return coerceInteger(value);\n};\nexport const maybeCoerceFloat = (value) => {\n if (value === undefined) {\n return undefined;\n }\n return coerceFloat(value);\n};\nexport const maybeCoerceBoolean = (value) => {\n if (value === undefined) {\n return undefined;\n }\n return coerceBoolean(value);\n};\n// https://stackoverflow.com/a/34491287\nexport function isEmptyObj(obj) {\n if (!obj)\n return true;\n for (const _k in obj)\n return false;\n return true;\n}\n// https://eslint.org/docs/latest/rules/no-prototype-builtins\nexport function hasOwn(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n/**\n * Copies headers from \"newHeaders\" onto \"targetHeaders\",\n * using lower-case for all properties,\n * ignoring any keys with undefined values,\n * and deleting any keys with null values.\n */\nfunction applyHeadersMut(targetHeaders, newHeaders) {\n for (const k in newHeaders) {\n if (!hasOwn(newHeaders, k))\n continue;\n const lowerKey = k.toLowerCase();\n if (!lowerKey)\n continue;\n const val = newHeaders[k];\n if (val === null) {\n delete targetHeaders[lowerKey];\n }\n else if (val !== undefined) {\n targetHeaders[lowerKey] = val;\n }\n }\n}\nexport function debug(action, ...args) {\n if (typeof process !== 'undefined' && process?.env?.['DEBUG'] === 'true') {\n console.log(`DodoPayments:DEBUG:${action}`, ...args);\n }\n}\n/**\n * https://stackoverflow.com/a/2117523\n */\nconst uuid4 = () => {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = (Math.random() * 16) | 0;\n const v = c === 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n};\nexport const isRunningInBrowser = () => {\n return (\n // @ts-ignore\n typeof window !== 'undefined' &&\n // @ts-ignore\n typeof window.document !== 'undefined' &&\n // @ts-ignore\n typeof navigator !== 'undefined');\n};\nexport const isHeadersProtocol = (headers) => {\n return typeof headers?.get === 'function';\n};\nexport const getRequiredHeader = (headers, header) => {\n const foundHeader = getHeader(headers, header);\n if (foundHeader === undefined) {\n throw new Error(`Could not find ${header} header`);\n }\n return foundHeader;\n};\nexport const getHeader = (headers, header) => {\n const lowerCasedHeader = header.toLowerCase();\n if (isHeadersProtocol(headers)) {\n // to deal with the case where the header looks like Stainless-Event-Id\n const intercapsHeader = header[0]?.toUpperCase() +\n header.substring(1).replace(/([^\\w])(\\w)/g, (_m, g1, g2) => g1 + g2.toUpperCase());\n for (const key of [header, lowerCasedHeader, header.toUpperCase(), intercapsHeader]) {\n const value = headers.get(key);\n if (value) {\n return value;\n }\n }\n }\n for (const [key, value] of Object.entries(headers)) {\n if (key.toLowerCase() === lowerCasedHeader) {\n if (Array.isArray(value)) {\n if (value.length <= 1)\n return value[0];\n console.warn(`Received ${value.length} entries for the ${header} header, using the first entry.`);\n return value[0];\n }\n return value;\n }\n }\n return undefined;\n};\n/**\n * Encodes a string to Base64 format.\n */\nexport const toBase64 = (str) => {\n if (!str)\n return '';\n if (typeof Buffer !== 'undefined') {\n return Buffer.from(str).toString('base64');\n }\n if (typeof btoa !== 'undefined') {\n return btoa(str);\n }\n throw new DodoPaymentsError('Cannot generate b64 string; Expected `Buffer` or `btoa` to be defined');\n};\nexport function isObj(obj) {\n return obj != null && typeof obj === 'object' && !Array.isArray(obj);\n}\n//# sourceMappingURL=core.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { AbstractPage } from \"./core.mjs\";\nexport class DefaultPageNumberPagination extends AbstractPage {\n constructor(client, response, body, options) {\n super(client, response, body, options);\n this.items = body.items || [];\n }\n getPaginatedItems() {\n return this.items ?? [];\n }\n // @deprecated Please use `nextPageInfo()` instead\n nextPageParams() {\n const info = this.nextPageInfo();\n if (!info)\n return null;\n if ('params' in info)\n return info.params;\n const params = Object.fromEntries(info.url.searchParams);\n if (!Object.keys(params).length)\n return null;\n return params;\n }\n nextPageInfo() {\n const query = this.options.query;\n const currentPage = query?.page_number ?? 1;\n return { params: { page_number: currentPage + 1 } };\n }\n}\n//# sourceMappingURL=pagination.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nexport class APIResource {\n constructor(client) {\n this._client = client;\n }\n}\n//# sourceMappingURL=resource.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../resource.mjs\";\nimport { isRequestOptions } from \"../core.mjs\";\nimport { DefaultPageNumberPagination } from \"../pagination.mjs\";\nexport class Addons extends APIResource {\n create(body, options) {\n return this._client.post('/addons', { body, ...options });\n }\n retrieve(id, options) {\n return this._client.get(`/addons/${id}`, options);\n }\n update(id, body, options) {\n return this._client.patch(`/addons/${id}`, { body, ...options });\n }\n list(query = {}, options) {\n if (isRequestOptions(query)) {\n return this.list({}, query);\n }\n return this._client.getAPIList('/addons', AddonResponsesDefaultPageNumberPagination, {\n query,\n ...options,\n });\n }\n updateImages(id, options) {\n return this._client.put(`/addons/${id}/images`, options);\n }\n}\nexport class AddonResponsesDefaultPageNumberPagination extends DefaultPageNumberPagination {\n}\nAddons.AddonResponsesDefaultPageNumberPagination = AddonResponsesDefaultPageNumberPagination;\n//# sourceMappingURL=addons.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../resource.mjs\";\nexport class Brands extends APIResource {\n create(body, options) {\n return this._client.post('/brands', { body, ...options });\n }\n /**\n * Thin handler just calls `get_brand` and wraps in `Json(...)`\n */\n retrieve(id, options) {\n return this._client.get(`/brands/${id}`, options);\n }\n update(id, body, options) {\n return this._client.patch(`/brands/${id}`, { body, ...options });\n }\n list(options) {\n return this._client.get('/brands', options);\n }\n updateImages(id, options) {\n return this._client.put(`/brands/${id}/images`, options);\n }\n}\n//# sourceMappingURL=brands.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../resource.mjs\";\nimport { isRequestOptions } from \"../../core.mjs\";\nexport class CustomerPortal extends APIResource {\n create(customerId, params = {}, options) {\n if (isRequestOptions(params)) {\n return this.create(customerId, {}, params);\n }\n const { send_email } = params;\n return this._client.post(`/customers/${customerId}/customer-portal/session`, {\n query: { send_email },\n ...options,\n });\n }\n}\n//# sourceMappingURL=customer-portal.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../resource.mjs\";\nimport { isRequestOptions } from \"../../core.mjs\";\nimport * as CustomerPortalAPI from \"./customer-portal.mjs\";\nimport { CustomerPortal } from \"./customer-portal.mjs\";\nimport { DefaultPageNumberPagination } from \"../../pagination.mjs\";\nexport class Customers extends APIResource {\n constructor() {\n super(...arguments);\n this.customerPortal = new CustomerPortalAPI.CustomerPortal(this._client);\n }\n create(body, options) {\n return this._client.post('/customers', { body, ...options });\n }\n retrieve(customerId, options) {\n return this._client.get(`/customers/${customerId}`, options);\n }\n update(customerId, body, options) {\n return this._client.patch(`/customers/${customerId}`, { body, ...options });\n }\n list(query = {}, options) {\n if (isRequestOptions(query)) {\n return this.list({}, query);\n }\n return this._client.getAPIList('/customers', CustomersDefaultPageNumberPagination, { query, ...options });\n }\n}\nexport class CustomersDefaultPageNumberPagination extends DefaultPageNumberPagination {\n}\nCustomers.CustomersDefaultPageNumberPagination = CustomersDefaultPageNumberPagination;\nCustomers.CustomerPortal = CustomerPortal;\n//# sourceMappingURL=customers.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../resource.mjs\";\nimport { isRequestOptions } from \"../core.mjs\";\nimport { DefaultPageNumberPagination } from \"../pagination.mjs\";\nexport class Discounts extends APIResource {\n /**\n * POST /discounts If `code` is omitted or empty, a random 16-char uppercase code\n * is generated.\n */\n create(body, options) {\n return this._client.post('/discounts', { body, ...options });\n }\n /**\n * GET /discounts/{discount_id}\n */\n retrieve(discountId, options) {\n return this._client.get(`/discounts/${discountId}`, options);\n }\n /**\n * PATCH /discounts/{discount_id}\n */\n update(discountId, body, options) {\n return this._client.patch(`/discounts/${discountId}`, { body, ...options });\n }\n list(query = {}, options) {\n if (isRequestOptions(query)) {\n return this.list({}, query);\n }\n return this._client.getAPIList('/discounts', DiscountsDefaultPageNumberPagination, { query, ...options });\n }\n /**\n * DELETE /discounts/{discount_id}\n */\n delete(discountId, options) {\n return this._client.delete(`/discounts/${discountId}`, {\n ...options,\n headers: { Accept: '*/*', ...options?.headers },\n });\n }\n}\nexport class DiscountsDefaultPageNumberPagination extends DefaultPageNumberPagination {\n}\nDiscounts.DiscountsDefaultPageNumberPagination = DiscountsDefaultPageNumberPagination;\n//# sourceMappingURL=discounts.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../resource.mjs\";\nimport { isRequestOptions } from \"../core.mjs\";\nimport { DefaultPageNumberPagination } from \"../pagination.mjs\";\nexport class Disputes extends APIResource {\n retrieve(disputeId, options) {\n return this._client.get(`/disputes/${disputeId}`, options);\n }\n list(query = {}, options) {\n if (isRequestOptions(query)) {\n return this.list({}, query);\n }\n return this._client.getAPIList('/disputes', DisputeListResponsesDefaultPageNumberPagination, {\n query,\n ...options,\n });\n }\n}\nexport class DisputeListResponsesDefaultPageNumberPagination extends DefaultPageNumberPagination {\n}\nDisputes.DisputeListResponsesDefaultPageNumberPagination = DisputeListResponsesDefaultPageNumberPagination;\n//# sourceMappingURL=disputes.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../resource.mjs\";\nexport class Payments extends APIResource {\n retrieve(paymentId, options) {\n return this._client.get(`/invoices/payments/${paymentId}`, {\n ...options,\n headers: { Accept: 'application/pdf', ...options?.headers },\n __binaryResponse: true,\n });\n }\n}\n//# sourceMappingURL=payments.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../resource.mjs\";\nimport * as PaymentsAPI from \"./payments.mjs\";\nimport { Payments } from \"./payments.mjs\";\nexport class Invoices extends APIResource {\n constructor() {\n super(...arguments);\n this.payments = new PaymentsAPI.Payments(this._client);\n }\n}\nInvoices.Payments = Payments;\n//# sourceMappingURL=invoices.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../resource.mjs\";\nimport { isRequestOptions } from \"../core.mjs\";\nimport { DefaultPageNumberPagination } from \"../pagination.mjs\";\nexport class LicenseKeyInstances extends APIResource {\n /**\n * @example\n * ```ts\n * const licenseKeyInstance =\n * await client.licenseKeyInstances.retrieve('lki_123');\n * ```\n */\n retrieve(id, options) {\n return this._client.get(`/license_key_instances/${id}`, options);\n }\n /**\n * @example\n * ```ts\n * const licenseKeyInstance =\n * await client.licenseKeyInstances.update('lki_123', {\n * name: 'name',\n * });\n * ```\n */\n update(id, body, options) {\n return this._client.patch(`/license_key_instances/${id}`, { body, ...options });\n }\n list(query = {}, options) {\n if (isRequestOptions(query)) {\n return this.list({}, query);\n }\n return this._client.getAPIList('/license_key_instances', LicenseKeyInstancesDefaultPageNumberPagination, {\n query,\n ...options,\n });\n }\n}\nexport class LicenseKeyInstancesDefaultPageNumberPagination extends DefaultPageNumberPagination {\n}\nLicenseKeyInstances.LicenseKeyInstancesDefaultPageNumberPagination =\n LicenseKeyInstancesDefaultPageNumberPagination;\n//# sourceMappingURL=license-key-instances.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../resource.mjs\";\nimport { isRequestOptions } from \"../core.mjs\";\nimport { DefaultPageNumberPagination } from \"../pagination.mjs\";\nexport class LicenseKeys extends APIResource {\n /**\n * @example\n * ```ts\n * const licenseKey = await client.licenseKeys.retrieve(\n * 'lic_123',\n * );\n * ```\n */\n retrieve(id, options) {\n return this._client.get(`/license_keys/${id}`, options);\n }\n /**\n * @example\n * ```ts\n * const licenseKey = await client.licenseKeys.update(\n * 'lic_123',\n * );\n * ```\n */\n update(id, body, options) {\n return this._client.patch(`/license_keys/${id}`, { body, ...options });\n }\n list(query = {}, options) {\n if (isRequestOptions(query)) {\n return this.list({}, query);\n }\n return this._client.getAPIList('/license_keys', LicenseKeysDefaultPageNumberPagination, {\n query,\n ...options,\n });\n }\n}\nexport class LicenseKeysDefaultPageNumberPagination extends DefaultPageNumberPagination {\n}\nLicenseKeys.LicenseKeysDefaultPageNumberPagination = LicenseKeysDefaultPageNumberPagination;\n//# sourceMappingURL=license-keys.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../resource.mjs\";\nexport class Licenses extends APIResource {\n /**\n * @example\n * ```ts\n * const licenseKeyInstance = await client.licenses.activate({\n * license_key: 'license_key',\n * name: 'name',\n * });\n * ```\n */\n activate(body, options) {\n return this._client.post('/licenses/activate', { body, ...options });\n }\n /**\n * @example\n * ```ts\n * await client.licenses.deactivate({\n * license_key: 'license_key',\n * license_key_instance_id: 'license_key_instance_id',\n * });\n * ```\n */\n deactivate(body, options) {\n return this._client.post('/licenses/deactivate', {\n body,\n ...options,\n headers: { Accept: '*/*', ...options?.headers },\n });\n }\n /**\n * @example\n * ```ts\n * const response = await client.licenses.validate({\n * license_key: '2b1f8e2d-c41e-4e8f-b2d3-d9fd61c38f43',\n * });\n * ```\n */\n validate(body, options) {\n return this._client.post('/licenses/validate', { body, ...options });\n }\n}\n//# sourceMappingURL=licenses.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../resource.mjs\";\nexport class Misc extends APIResource {\n listSupportedCountries(options) {\n return this._client.get('/checkout/supported_countries', options);\n }\n}\n//# sourceMappingURL=misc.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../resource.mjs\";\nimport { isRequestOptions } from \"../core.mjs\";\nimport { DefaultPageNumberPagination } from \"../pagination.mjs\";\nexport class Payments extends APIResource {\n create(body, options) {\n return this._client.post('/payments', { body, ...options });\n }\n retrieve(paymentId, options) {\n return this._client.get(`/payments/${paymentId}`, options);\n }\n list(query = {}, options) {\n if (isRequestOptions(query)) {\n return this.list({}, query);\n }\n return this._client.getAPIList('/payments', PaymentListResponsesDefaultPageNumberPagination, {\n query,\n ...options,\n });\n }\n retrieveLineItems(paymentId, options) {\n return this._client.get(`/payments/${paymentId}/line-items`, options);\n }\n}\nexport class PaymentListResponsesDefaultPageNumberPagination extends DefaultPageNumberPagination {\n}\nPayments.PaymentListResponsesDefaultPageNumberPagination = PaymentListResponsesDefaultPageNumberPagination;\n//# sourceMappingURL=payments.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../resource.mjs\";\nimport { isRequestOptions } from \"../core.mjs\";\nimport { DefaultPageNumberPagination } from \"../pagination.mjs\";\nexport class Payouts extends APIResource {\n list(query = {}, options) {\n if (isRequestOptions(query)) {\n return this.list({}, query);\n }\n return this._client.getAPIList('/payouts', PayoutListResponsesDefaultPageNumberPagination, {\n query,\n ...options,\n });\n }\n}\nexport class PayoutListResponsesDefaultPageNumberPagination extends DefaultPageNumberPagination {\n}\nPayouts.PayoutListResponsesDefaultPageNumberPagination = PayoutListResponsesDefaultPageNumberPagination;\n//# sourceMappingURL=payouts.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../resource.mjs\";\nimport { isRequestOptions } from \"../../core.mjs\";\nexport class Images extends APIResource {\n update(id, params = {}, options) {\n if (isRequestOptions(params)) {\n return this.update(id, {}, params);\n }\n const { force_update } = params;\n return this._client.put(`/products/${id}/images`, { query: { force_update }, ...options });\n }\n}\n//# sourceMappingURL=images.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../resource.mjs\";\nimport { isRequestOptions } from \"../../core.mjs\";\nimport * as ImagesAPI from \"./images.mjs\";\nimport { Images } from \"./images.mjs\";\nimport { DefaultPageNumberPagination } from \"../../pagination.mjs\";\nexport class Products extends APIResource {\n constructor() {\n super(...arguments);\n this.images = new ImagesAPI.Images(this._client);\n }\n create(body, options) {\n return this._client.post('/products', { body, ...options });\n }\n retrieve(id, options) {\n return this._client.get(`/products/${id}`, options);\n }\n update(id, body, options) {\n return this._client.patch(`/products/${id}`, {\n body,\n ...options,\n headers: { Accept: '*/*', ...options?.headers },\n });\n }\n list(query = {}, options) {\n if (isRequestOptions(query)) {\n return this.list({}, query);\n }\n return this._client.getAPIList('/products', ProductListResponsesDefaultPageNumberPagination, {\n query,\n ...options,\n });\n }\n delete(id, options) {\n return this._client.delete(`/products/${id}`, {\n ...options,\n headers: { Accept: '*/*', ...options?.headers },\n });\n }\n unarchive(id, options) {\n return this._client.post(`/products/${id}/unarchive`, {\n ...options,\n headers: { Accept: '*/*', ...options?.headers },\n });\n }\n updateFiles(id, body, options) {\n return this._client.put(`/products/${id}/files`, { body, ...options });\n }\n}\nexport class ProductListResponsesDefaultPageNumberPagination extends DefaultPageNumberPagination {\n}\nProducts.ProductListResponsesDefaultPageNumberPagination = ProductListResponsesDefaultPageNumberPagination;\nProducts.Images = Images;\n//# sourceMappingURL=products.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../resource.mjs\";\nimport { isRequestOptions } from \"../core.mjs\";\nimport { DefaultPageNumberPagination } from \"../pagination.mjs\";\nexport class Refunds extends APIResource {\n create(body, options) {\n return this._client.post('/refunds', { body, ...options });\n }\n retrieve(refundId, options) {\n return this._client.get(`/refunds/${refundId}`, options);\n }\n list(query = {}, options) {\n if (isRequestOptions(query)) {\n return this.list({}, query);\n }\n return this._client.getAPIList('/refunds', RefundsDefaultPageNumberPagination, { query, ...options });\n }\n}\nexport class RefundsDefaultPageNumberPagination extends DefaultPageNumberPagination {\n}\nRefunds.RefundsDefaultPageNumberPagination = RefundsDefaultPageNumberPagination;\n//# sourceMappingURL=refunds.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../resource.mjs\";\nimport { isRequestOptions } from \"../core.mjs\";\nimport { DefaultPageNumberPagination } from \"../pagination.mjs\";\nexport class Subscriptions extends APIResource {\n create(body, options) {\n return this._client.post('/subscriptions', { body, ...options });\n }\n retrieve(subscriptionId, options) {\n return this._client.get(`/subscriptions/${subscriptionId}`, options);\n }\n update(subscriptionId, body, options) {\n return this._client.patch(`/subscriptions/${subscriptionId}`, { body, ...options });\n }\n list(query = {}, options) {\n if (isRequestOptions(query)) {\n return this.list({}, query);\n }\n return this._client.getAPIList('/subscriptions', SubscriptionListResponsesDefaultPageNumberPagination, {\n query,\n ...options,\n });\n }\n changePlan(subscriptionId, body, options) {\n return this._client.post(`/subscriptions/${subscriptionId}/change-plan`, {\n body,\n ...options,\n headers: { Accept: '*/*', ...options?.headers },\n });\n }\n charge(subscriptionId, body, options) {\n return this._client.post(`/subscriptions/${subscriptionId}/charge`, { body, ...options });\n }\n}\nexport class SubscriptionListResponsesDefaultPageNumberPagination extends DefaultPageNumberPagination {\n}\nSubscriptions.SubscriptionListResponsesDefaultPageNumberPagination =\n SubscriptionListResponsesDefaultPageNumberPagination;\n//# sourceMappingURL=subscriptions.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../resource.mjs\";\nimport { isRequestOptions } from \"../core.mjs\";\nimport { DefaultPageNumberPagination } from \"../pagination.mjs\";\nexport class WebhookEvents extends APIResource {\n /**\n * @deprecated\n */\n retrieve(webhookEventId, options) {\n return this._client.get(`/webhook_events/${webhookEventId}`, options);\n }\n list(query = {}, options) {\n if (isRequestOptions(query)) {\n return this.list({}, query);\n }\n return this._client.getAPIList('/webhook_events', WebhookEventsDefaultPageNumberPagination, {\n query,\n ...options,\n });\n }\n}\nexport class WebhookEventsDefaultPageNumberPagination extends DefaultPageNumberPagination {\n}\nWebhookEvents.WebhookEventsDefaultPageNumberPagination = WebhookEventsDefaultPageNumberPagination;\n//# sourceMappingURL=webhook-events.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nvar _DodoPayments_instances, _a, _DodoPayments_baseURLOverridden;\nimport * as Core from \"./core.mjs\";\nimport * as Errors from \"./error.mjs\";\nimport * as Pagination from \"./pagination.mjs\";\nimport * as Uploads from \"./uploads.mjs\";\nimport * as API from \"./resources/index.mjs\";\nimport { AddonResponsesDefaultPageNumberPagination, Addons, } from \"./resources/addons.mjs\";\nimport { Brands, } from \"./resources/brands.mjs\";\nimport { Discounts, DiscountsDefaultPageNumberPagination, } from \"./resources/discounts.mjs\";\nimport { DisputeListResponsesDefaultPageNumberPagination, Disputes, } from \"./resources/disputes.mjs\";\nimport { LicenseKeyInstances, LicenseKeyInstancesDefaultPageNumberPagination, } from \"./resources/license-key-instances.mjs\";\nimport { LicenseKeys, LicenseKeysDefaultPageNumberPagination, } from \"./resources/license-keys.mjs\";\nimport { Licenses, } from \"./resources/licenses.mjs\";\nimport { Misc, } from \"./resources/misc.mjs\";\nimport { PaymentListResponsesDefaultPageNumberPagination, Payments, } from \"./resources/payments.mjs\";\nimport { PayoutListResponsesDefaultPageNumberPagination, Payouts, } from \"./resources/payouts.mjs\";\nimport { Refunds, RefundsDefaultPageNumberPagination, } from \"./resources/refunds.mjs\";\nimport { SubscriptionListResponsesDefaultPageNumberPagination, Subscriptions, } from \"./resources/subscriptions.mjs\";\nimport { WebhookEvents, WebhookEventsDefaultPageNumberPagination, } from \"./resources/webhook-events.mjs\";\nimport { Customers, CustomersDefaultPageNumberPagination, } from \"./resources/customers/customers.mjs\";\nimport { Invoices } from \"./resources/invoices/invoices.mjs\";\nimport { ProductListResponsesDefaultPageNumberPagination, Products, } from \"./resources/products/products.mjs\";\nconst environments = {\n live_mode: 'https://live.dodopayments.com',\n test_mode: 'https://test.dodopayments.com',\n};\n/**\n * API Client for interfacing with the Dodo Payments API.\n */\nexport class DodoPayments extends Core.APIClient {\n /**\n * API Client for interfacing with the Dodo Payments API.\n *\n * @param {string | undefined} [opts.bearerToken=process.env['DODO_PAYMENTS_API_KEY'] ?? undefined]\n * @param {Environment} [opts.environment=live_mode] - Specifies the environment URL to use for the API.\n * @param {string} [opts.baseURL=process.env['DODO_PAYMENTS_BASE_URL'] ?? https://live.dodopayments.com] - Override the default base URL for the API.\n * @param {number} [opts.timeout=1 minute] - The maximum amount of time (in milliseconds) the client will wait for a response before timing out.\n * @param {number} [opts.httpAgent] - An HTTP agent used to manage HTTP(s) connections.\n * @param {Core.Fetch} [opts.fetch] - Specify a custom `fetch` function implementation.\n * @param {number} [opts.maxRetries=2] - The maximum number of times the client will retry a request.\n * @param {Core.Headers} opts.defaultHeaders - Default headers to include with every request to the API.\n * @param {Core.DefaultQuery} opts.defaultQuery - Default query parameters to include with every request to the API.\n */\n constructor({ baseURL = Core.readEnv('DODO_PAYMENTS_BASE_URL'), bearerToken = Core.readEnv('DODO_PAYMENTS_API_KEY'), ...opts } = {}) {\n if (bearerToken === undefined) {\n throw new Errors.DodoPaymentsError(\"The DODO_PAYMENTS_API_KEY environment variable is missing or empty; either provide it, or instantiate the DodoPayments client with an bearerToken option, like new DodoPayments({ bearerToken: 'My Bearer Token' }).\");\n }\n const options = {\n bearerToken,\n ...opts,\n baseURL,\n environment: opts.environment ?? 'live_mode',\n };\n if (baseURL && opts.environment) {\n throw new Errors.DodoPaymentsError('Ambiguous URL; The `baseURL` option (or DODO_PAYMENTS_BASE_URL env var) and the `environment` option are given. If you want to use the environment you must pass baseURL: null');\n }\n super({\n baseURL: options.baseURL || environments[options.environment || 'live_mode'],\n baseURLOverridden: baseURL ? baseURL !== environments[options.environment || 'live_mode'] : false,\n timeout: options.timeout ?? 60000 /* 1 minute */,\n httpAgent: options.httpAgent,\n maxRetries: options.maxRetries,\n fetch: options.fetch,\n });\n _DodoPayments_instances.add(this);\n this.payments = new API.Payments(this);\n this.subscriptions = new API.Subscriptions(this);\n this.invoices = new API.Invoices(this);\n this.licenses = new API.Licenses(this);\n this.licenseKeys = new API.LicenseKeys(this);\n this.licenseKeyInstances = new API.LicenseKeyInstances(this);\n this.customers = new API.Customers(this);\n this.refunds = new API.Refunds(this);\n this.disputes = new API.Disputes(this);\n this.payouts = new API.Payouts(this);\n this.webhookEvents = new API.WebhookEvents(this);\n this.products = new API.Products(this);\n this.misc = new API.Misc(this);\n this.discounts = new API.Discounts(this);\n this.addons = new API.Addons(this);\n this.brands = new API.Brands(this);\n this._options = options;\n this.bearerToken = bearerToken;\n }\n defaultQuery() {\n return this._options.defaultQuery;\n }\n defaultHeaders(opts) {\n return {\n ...super.defaultHeaders(opts),\n ...this._options.defaultHeaders,\n };\n }\n authHeaders(opts) {\n return { Authorization: `Bearer ${this.bearerToken}` };\n }\n}\n_a = DodoPayments, _DodoPayments_instances = new WeakSet(), _DodoPayments_baseURLOverridden = function _DodoPayments_baseURLOverridden() {\n return this.baseURL !== environments[this._options.environment || 'live_mode'];\n};\nDodoPayments.DodoPayments = _a;\nDodoPayments.DEFAULT_TIMEOUT = 60000; // 1 minute\nDodoPayments.DodoPaymentsError = Errors.DodoPaymentsError;\nDodoPayments.APIError = Errors.APIError;\nDodoPayments.APIConnectionError = Errors.APIConnectionError;\nDodoPayments.APIConnectionTimeoutError = Errors.APIConnectionTimeoutError;\nDodoPayments.APIUserAbortError = Errors.APIUserAbortError;\nDodoPayments.NotFoundError = Errors.NotFoundError;\nDodoPayments.ConflictError = Errors.ConflictError;\nDodoPayments.RateLimitError = Errors.RateLimitError;\nDodoPayments.BadRequestError = Errors.BadRequestError;\nDodoPayments.AuthenticationError = Errors.AuthenticationError;\nDodoPayments.InternalServerError = Errors.InternalServerError;\nDodoPayments.PermissionDeniedError = Errors.PermissionDeniedError;\nDodoPayments.UnprocessableEntityError = Errors.UnprocessableEntityError;\nDodoPayments.toFile = Uploads.toFile;\nDodoPayments.fileFromPath = Uploads.fileFromPath;\nDodoPayments.Payments = Payments;\nDodoPayments.PaymentListResponsesDefaultPageNumberPagination =\n PaymentListResponsesDefaultPageNumberPagination;\nDodoPayments.Subscriptions = Subscriptions;\nDodoPayments.SubscriptionListResponsesDefaultPageNumberPagination =\n SubscriptionListResponsesDefaultPageNumberPagination;\nDodoPayments.Invoices = Invoices;\nDodoPayments.Licenses = Licenses;\nDodoPayments.LicenseKeys = LicenseKeys;\nDodoPayments.LicenseKeysDefaultPageNumberPagination = LicenseKeysDefaultPageNumberPagination;\nDodoPayments.LicenseKeyInstances = LicenseKeyInstances;\nDodoPayments.LicenseKeyInstancesDefaultPageNumberPagination = LicenseKeyInstancesDefaultPageNumberPagination;\nDodoPayments.Customers = Customers;\nDodoPayments.CustomersDefaultPageNumberPagination = CustomersDefaultPageNumberPagination;\nDodoPayments.Refunds = Refunds;\nDodoPayments.RefundsDefaultPageNumberPagination = RefundsDefaultPageNumberPagination;\nDodoPayments.Disputes = Disputes;\nDodoPayments.DisputeListResponsesDefaultPageNumberPagination =\n DisputeListResponsesDefaultPageNumberPagination;\nDodoPayments.Payouts = Payouts;\nDodoPayments.PayoutListResponsesDefaultPageNumberPagination = PayoutListResponsesDefaultPageNumberPagination;\nDodoPayments.WebhookEvents = WebhookEvents;\nDodoPayments.WebhookEventsDefaultPageNumberPagination = WebhookEventsDefaultPageNumberPagination;\nDodoPayments.Products = Products;\nDodoPayments.ProductListResponsesDefaultPageNumberPagination =\n ProductListResponsesDefaultPageNumberPagination;\nDodoPayments.Misc = Misc;\nDodoPayments.Discounts = Discounts;\nDodoPayments.DiscountsDefaultPageNumberPagination = DiscountsDefaultPageNumberPagination;\nDodoPayments.Addons = Addons;\nDodoPayments.AddonResponsesDefaultPageNumberPagination = AddonResponsesDefaultPageNumberPagination;\nDodoPayments.Brands = Brands;\nexport { toFile, fileFromPath } from \"./uploads.mjs\";\nexport { DodoPaymentsError, APIError, APIConnectionError, APIConnectionTimeoutError, APIUserAbortError, NotFoundError, ConflictError, RateLimitError, BadRequestError, AuthenticationError, InternalServerError, PermissionDeniedError, UnprocessableEntityError, } from \"./error.mjs\";\nexport default DodoPayments;\n//# sourceMappingURL=index.mjs.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { z } from \"zod\";\nimport DodoPayments from \"dodopayments\";\nexport var checkoutQuerySchema = z.object({\n productId: z.string(),\n quantity: z.string().optional(),\n // Customer fields\n fullName: z.string().optional(),\n firstName: z.string().optional(),\n lastName: z.string().optional(),\n email: z.string().optional(),\n country: z.string().optional(),\n addressLine: z.string().optional(),\n city: z.string().optional(),\n state: z.string().optional(),\n zipCode: z.string().optional(),\n // Disable flags\n disableFullName: z.string().optional(),\n disableFirstName: z.string().optional(),\n disableLastName: z.string().optional(),\n disableEmail: z.string().optional(),\n disableCountry: z.string().optional(),\n disableAddressLine: z.string().optional(),\n disableCity: z.string().optional(),\n disableState: z.string().optional(),\n disableZipCode: z.string().optional(),\n // Advanced controls\n paymentCurrency: z.string().optional(),\n showCurrencySelector: z.string().optional(),\n paymentAmount: z.string().optional(),\n showDiscounts: z.string().optional(),\n // Metadata (allow any key starting with metadata_)\n // We'll handle metadata separately in the handler\n});\n// Add Zod schema for dynamic checkout body\nexport var dynamicCheckoutBodySchema = z\n .object({\n // For subscription\n product_id: z.string().optional(),\n quantity: z.number().optional(),\n // For one-time payment\n product_cart: z\n .array(z.object({\n product_id: z.string(),\n quantity: z.number(),\n }))\n .optional(),\n // Common fields\n billing: z.object({\n city: z.string(),\n country: z.string(),\n state: z.string(),\n street: z.string(),\n zipcode: z.string(),\n }),\n customer: z.object({\n customer_id: z.string().optional(),\n email: z.string().optional(),\n name: z.string().optional(),\n }),\n discount_id: z.string().optional(),\n addons: z\n .array(z.object({\n addon_id: z.string(),\n quantity: z.number(),\n }))\n .optional(),\n metadata: z.record(z.string(), z.string()).optional(),\n currency: z.string().optional(),\n // Allow any additional fields (for future compatibility)\n})\n .catchall(z.unknown());\nexport var buildCheckoutUrl = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {\n var inputData, parseResult, success, data, error, _c, productId, quantity_1, fullName, firstName, lastName, email, country, addressLine, city, state, zipCode, disableFullName, disableFirstName, disableLastName, disableEmail, disableCountry, disableAddressLine, disableCity, disableState, disableZipCode, paymentCurrency, showCurrencySelector, paymentAmount, showDiscounts, dodopayments_1, err_1, url, _i, _d, _e, key, value, dyn, product_id, product_cart, quantity, billing, customer, addons, metadata, allowed_payment_method_types, billing_currency, discount_code, on_demand, bodyReturnUrl, show_saved_payment_methods, tax_id, trial_period_days, dodopayments, isSubscription, productIdToFetch, product, err_2, subscriptionPayload, subscription, err_3, cart, paymentPayload, payment, err_4;\n var queryParams = _b.queryParams, body = _b.body, returnUrl = _b.returnUrl, bearerToken = _b.bearerToken, environment = _b.environment, _f = _b.type, type = _f === void 0 ? \"static\" : _f;\n return __generator(this, function (_g) {\n switch (_g.label) {\n case 0:\n inputData = type === \"dynamic\" ? body : queryParams;\n if (type === \"dynamic\") {\n parseResult = dynamicCheckoutBodySchema.safeParse(inputData);\n }\n else {\n parseResult = checkoutQuerySchema.safeParse(inputData);\n }\n success = parseResult.success, data = parseResult.data, error = parseResult.error;\n if (!success) {\n throw new Error(\"Invalid \".concat(type === \"dynamic\" ? \"body\" : \"query parameters\", \".\\n \").concat(error.message));\n }\n if (!(type !== \"dynamic\")) return [3 /*break*/, 5];\n _c = data, productId = _c.productId, quantity_1 = _c.quantity, fullName = _c.fullName, firstName = _c.firstName, lastName = _c.lastName, email = _c.email, country = _c.country, addressLine = _c.addressLine, city = _c.city, state = _c.state, zipCode = _c.zipCode, disableFullName = _c.disableFullName, disableFirstName = _c.disableFirstName, disableLastName = _c.disableLastName, disableEmail = _c.disableEmail, disableCountry = _c.disableCountry, disableAddressLine = _c.disableAddressLine, disableCity = _c.disableCity, disableState = _c.disableState, disableZipCode = _c.disableZipCode, paymentCurrency = _c.paymentCurrency, showCurrencySelector = _c.showCurrencySelector, paymentAmount = _c.paymentAmount, showDiscounts = _c.showDiscounts;\n dodopayments_1 = new DodoPayments({\n bearerToken: bearerToken,\n environment: environment,\n });\n // Check that the product exists for this merchant\n if (!productId)\n throw new Error(\"Missing required field: productId\");\n _g.label = 1;\n case 1:\n _g.trys.push([1, 3, , 4]);\n return [4 /*yield*/, dodopayments_1.products.retrieve(productId)];\n case 2:\n _g.sent();\n return [3 /*break*/, 4];\n case 3:\n err_1 = _g.sent();\n console.error(err_1);\n throw new Error(\"Product not found\");\n case 4:\n url = new URL(\"\".concat(environment === \"test_mode\" ? \"https://test.checkout.dodopayments.com\" : \"https://checkout.dodopayments.com\", \"/buy/\").concat(productId));\n url.searchParams.set(\"quantity\", quantity_1 ? String(quantity_1) : \"1\");\n if (returnUrl)\n url.searchParams.set(\"redirect_url\", returnUrl);\n // Customer/billing fields\n if (fullName)\n url.searchParams.set(\"fullName\", String(fullName));\n if (firstName)\n url.searchParams.set(\"firstName\", String(firstName));\n if (lastName)\n url.searchParams.set(\"lastName\", String(lastName));\n if (email)\n url.searchParams.set(\"email\", String(email));\n if (country)\n url.searchParams.set(\"country\", String(country));\n if (addressLine)\n url.searchParams.set(\"addressLine\", String(addressLine));\n if (city)\n url.searchParams.set(\"city\", String(city));\n if (state)\n url.searchParams.set(\"state\", String(state));\n if (zipCode)\n url.searchParams.set(\"zipCode\", String(zipCode));\n // Disable flags (must be set to 'true' to disable)\n if (disableFullName === \"true\")\n url.searchParams.set(\"disableFullName\", \"true\");\n if (disableFirstName === \"true\")\n url.searchParams.set(\"disableFirstName\", \"true\");\n if (disableLastName === \"true\")\n url.searchParams.set(\"disableLastName\", \"true\");\n if (disableEmail === \"true\")\n url.searchParams.set(\"disableEmail\", \"true\");\n if (disableCountry === \"true\")\n url.searchParams.set(\"disableCountry\", \"true\");\n if (disableAddressLine === \"true\")\n url.searchParams.set(\"disableAddressLine\", \"true\");\n if (disableCity === \"true\")\n url.searchParams.set(\"disableCity\", \"true\");\n if (disableState === \"true\")\n url.searchParams.set(\"disableState\", \"true\");\n if (disableZipCode === \"true\")\n url.searchParams.set(\"disableZipCode\", \"true\");\n // Advanced controls\n if (paymentCurrency)\n url.searchParams.set(\"paymentCurrency\", String(paymentCurrency));\n if (showCurrencySelector)\n url.searchParams.set(\"showCurrencySelector\", String(showCurrencySelector));\n if (paymentAmount)\n url.searchParams.set(\"paymentAmount\", String(paymentAmount));\n if (showDiscounts)\n url.searchParams.set(\"showDiscounts\", String(showDiscounts));\n // Metadata: add all query params starting with metadata_\n for (_i = 0, _d = Object.entries(queryParams || {}); _i < _d.length; _i++) {\n _e = _d[_i], key = _e[0], value = _e[1];\n if (key.startsWith(\"metadata_\") && value && typeof value !== \"object\") {\n url.searchParams.set(key, String(value));\n }\n }\n return [2 /*return*/, url.toString()];\n case 5:\n dyn = data;\n product_id = dyn.product_id, product_cart = dyn.product_cart, quantity = dyn.quantity, billing = dyn.billing, customer = dyn.customer, addons = dyn.addons, metadata = dyn.metadata, allowed_payment_method_types = dyn.allowed_payment_method_types, billing_currency = dyn.billing_currency, discount_code = dyn.discount_code, on_demand = dyn.on_demand, bodyReturnUrl = dyn.return_url, show_saved_payment_methods = dyn.show_saved_payment_methods, tax_id = dyn.tax_id, trial_period_days = dyn.trial_period_days;\n dodopayments = new DodoPayments({\n bearerToken: bearerToken,\n environment: environment,\n });\n isSubscription = false;\n productIdToFetch = product_id;\n if (!product_id && product_cart && product_cart.length > 0) {\n productIdToFetch = product_cart[0].product_id;\n }\n if (!productIdToFetch)\n throw new Error(\"Missing required field: product_id or product_cart[0].product_id\");\n _g.label = 6;\n case 6:\n _g.trys.push([6, 8, , 9]);\n return [4 /*yield*/, dodopayments.products.retrieve(productIdToFetch)];\n case 7:\n product = _g.sent();\n return [3 /*break*/, 9];\n case 8:\n err_2 = _g.sent();\n console.error(err_2);\n throw new Error(\"Product not found\");\n case 9:\n isSubscription = Boolean(product.is_recurring);\n // Required field validation\n if (isSubscription && !product_id)\n throw new Error(\"Missing required field: product_id for subscription\");\n if (!billing)\n throw new Error(\"Missing required field: billing\");\n if (!customer)\n throw new Error(\"Missing required field: customer\");\n if (!isSubscription) return [3 /*break*/, 14];\n subscriptionPayload = {\n billing: billing,\n customer: customer,\n product_id: product_id,\n quantity: quantity ? Number(quantity) : 1,\n };\n if (metadata)\n subscriptionPayload.metadata = metadata;\n if (discount_code)\n subscriptionPayload.discount_code = discount_code;\n if (addons)\n subscriptionPayload.addons = addons;\n if (allowed_payment_method_types)\n subscriptionPayload.allowed_payment_method_types =\n allowed_payment_method_types;\n if (billing_currency)\n subscriptionPayload.billing_currency = billing_currency;\n if (on_demand)\n subscriptionPayload.on_demand = on_demand;\n subscriptionPayload.payment_link = true;\n // Use bodyReturnUrl if present, otherwise use top-level returnUrl\n if (bodyReturnUrl) {\n subscriptionPayload.return_url = bodyReturnUrl;\n }\n else if (returnUrl) {\n subscriptionPayload.return_url = returnUrl;\n }\n if (show_saved_payment_methods)\n subscriptionPayload.show_saved_payment_methods =\n show_saved_payment_methods;\n if (tax_id)\n subscriptionPayload.tax_id = tax_id;\n if (trial_period_days)\n subscriptionPayload.trial_period_days = trial_period_days;\n subscription = void 0;\n _g.label = 10;\n case 10:\n _g.trys.push([10, 12, , 13]);\n return [4 /*yield*/, dodopayments.subscriptions.create(subscriptionPayload)];\n case 11:\n subscription =\n _g.sent();\n return [3 /*break*/, 13];\n case 12:\n err_3 = _g.sent();\n console.error(\"Error when creating subscription\", err_3);\n throw new Error(err_3 instanceof Error ? err_3.message : String(err_3));\n case 13:\n if (!subscription || !subscription.payment_link) {\n throw new Error(\"No payment link returned from Dodo Payments API (subscription). Make sure to set payment_link as true in payload\");\n }\n return [2 /*return*/, subscription.payment_link];\n case 14:\n cart = product_cart;\n if (!cart && product_id) {\n cart = [\n { product_id: product_id, quantity: quantity ? Number(quantity) : 1 },\n ];\n }\n if (!cart || cart.length === 0)\n throw new Error(\"Missing required field: product_cart or product_id\");\n paymentPayload = {\n billing: billing,\n customer: customer,\n product_cart: cart,\n };\n if (metadata)\n paymentPayload.metadata = metadata;\n paymentPayload.payment_link = true;\n if (allowed_payment_method_types)\n paymentPayload.allowed_payment_method_types =\n allowed_payment_method_types;\n if (billing_currency)\n paymentPayload.billing_currency = billing_currency;\n if (discount_code)\n paymentPayload.discount_code = discount_code;\n // Use bodyReturnUrl if present, otherwise use top-level returnUrl\n if (bodyReturnUrl) {\n paymentPayload.return_url = bodyReturnUrl;\n }\n else if (returnUrl) {\n paymentPayload.return_url = returnUrl;\n }\n if (show_saved_payment_methods)\n paymentPayload.show_saved_payment_methods = show_saved_payment_methods;\n if (tax_id)\n paymentPayload.tax_id = tax_id;\n payment = void 0;\n _g.label = 15;\n case 15:\n _g.trys.push([15, 17, , 18]);\n return [4 /*yield*/, dodopayments.payments.create(paymentPayload)];\n case 16:\n payment = _g.sent();\n return [3 /*break*/, 18];\n case 17:\n err_4 = _g.sent();\n console.error(\"Error when creating payment link\", err_4);\n throw new Error(err_4 instanceof Error ? err_4.message : String(err_4));\n case 18:\n if (!payment || !payment.payment_link) {\n throw new Error(\"No payment link returned from Dodo Payments API. Make sure to set payment_link as true in payload.\");\n }\n return [2 /*return*/, payment.payment_link];\n }\n });\n}); };\n","import {\n buildCheckoutUrl,\n CheckoutHandlerConfig,\n checkoutQuerySchema,\n dynamicCheckoutBodySchema,\n} from \"@dodopayments/core/checkout\";\n\n/**\n * TanStack React Start Checkout handler\n * Usage: export const GET = Checkout(config); export const POST = Checkout(config);\n */\nexport function Checkout(config: CheckoutHandlerConfig) {\n return async function (request: Request) {\n if (request.method === \"POST\") {\n // Handle dynamic checkout (POST)\n let body: any;\n try {\n body = await request.json();\n } catch (e) {\n return new Response(\"Invalid JSON body\", { status: 400 });\n }\n \n const { success, data, error } = dynamicCheckoutBodySchema.safeParse(body);\n if (!success) {\n return new Response(`Invalid request body.\\n ${error.message}`, {\n status: 400,\n });\n }\n \n let url = \"\";\n try {\n url = await buildCheckoutUrl({ body: data, ...config});\n } catch (error: any) {\n return new Response(error.message, { status: 400 });\n }\n return Response.redirect(url, 302);\n } else {\n // Handle static checkout (GET)\n const { searchParams } = new URL(request.url);\n const queryParams = Object.fromEntries(searchParams);\n \n if (!queryParams.productId) {\n return new Response(\"Please provide productId query parameter\", {\n status: 400,\n });\n }\n \n const { success, data, error } = checkoutQuerySchema.safeParse(queryParams);\n if (!success) {\n if (error.errors.some((e: any) => e.path.toString() === \"productId\")) {\n return new Response(\"Please provide productId query parameter\", {\n status: 400,\n });\n }\n return new Response(`Invalid query parameters.\\n ${error.message}`, {\n status: 400,\n });\n }\n \n let url = \"\";\n try {\n url = await buildCheckoutUrl({ queryParams: data, ...config });\n } catch (error: any) {\n return new Response(error.message, { status: 400 });\n }\n return Response.redirect(url, 302);\n }\n };\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.timingSafeEqual = void 0;\nfunction assert(expr, msg = \"\") {\n if (!expr) {\n throw new Error(msg);\n }\n}\nfunction timingSafeEqual(a, b) {\n if (a.byteLength !== b.byteLength) {\n return false;\n }\n if (!(a instanceof DataView)) {\n a = new DataView(ArrayBuffer.isView(a) ? a.buffer : a);\n }\n if (!(b instanceof DataView)) {\n b = new DataView(ArrayBuffer.isView(b) ? b.buffer : b);\n }\n assert(a instanceof DataView);\n assert(b instanceof DataView);\n const length = a.byteLength;\n let out = 0;\n let i = -1;\n while (++i < length) {\n out |= a.getUint8(i) ^ b.getUint8(i);\n }\n return out === 0;\n}\nexports.timingSafeEqual = timingSafeEqual;\n//# sourceMappingURL=timing_safe_equal.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Package base64 implements Base64 encoding and decoding.\n */\n// Invalid character used in decoding to indicate\n// that the character to decode is out of range of\n// alphabet and cannot be decoded.\nvar INVALID_BYTE = 256;\n/**\n * Implements standard Base64 encoding.\n *\n * Operates in constant time.\n */\nvar Coder = /** @class */ (function () {\n // TODO(dchest): methods to encode chunk-by-chunk.\n function Coder(_paddingCharacter) {\n if (_paddingCharacter === void 0) { _paddingCharacter = \"=\"; }\n this._paddingCharacter = _paddingCharacter;\n }\n Coder.prototype.encodedLength = function (length) {\n if (!this._paddingCharacter) {\n return (length * 8 + 5) / 6 | 0;\n }\n return (length + 2) / 3 * 4 | 0;\n };\n Coder.prototype.encode = function (data) {\n var out = \"\";\n var i = 0;\n for (; i < data.length - 2; i += 3) {\n var c = (data[i] << 16) | (data[i + 1] << 8) | (data[i + 2]);\n out += this._encodeByte((c >>> 3 * 6) & 63);\n out += this._encodeByte((c >>> 2 * 6) & 63);\n out += this._encodeByte((c >>> 1 * 6) & 63);\n out += this._encodeByte((c >>> 0 * 6) & 63);\n }\n var left = data.length - i;\n if (left > 0) {\n var c = (data[i] << 16) | (left === 2 ? data[i + 1] << 8 : 0);\n out += this._encodeByte((c >>> 3 * 6) & 63);\n out += this._encodeByte((c >>> 2 * 6) & 63);\n if (left === 2) {\n out += this._encodeByte((c >>> 1 * 6) & 63);\n }\n else {\n out += this._paddingCharacter || \"\";\n }\n out += this._paddingCharacter || \"\";\n }\n return out;\n };\n Coder.prototype.maxDecodedLength = function (length) {\n if (!this._paddingCharacter) {\n return (length * 6 + 7) / 8 | 0;\n }\n return length / 4 * 3 | 0;\n };\n Coder.prototype.decodedLength = function (s) {\n return this.maxDecodedLength(s.length - this._getPaddingLength(s));\n };\n Coder.prototype.decode = function (s) {\n if (s.length === 0) {\n return new Uint8Array(0);\n }\n var paddingLength = this._getPaddingLength(s);\n var length = s.length - paddingLength;\n var out = new Uint8Array(this.maxDecodedLength(length));\n var op = 0;\n var i = 0;\n var haveBad = 0;\n var v0 = 0, v1 = 0, v2 = 0, v3 = 0;\n for (; i < length - 4; i += 4) {\n v0 = this._decodeChar(s.charCodeAt(i + 0));\n v1 = this._decodeChar(s.charCodeAt(i + 1));\n v2 = this._decodeChar(s.charCodeAt(i + 2));\n v3 = this._decodeChar(s.charCodeAt(i + 3));\n out[op++] = (v0 << 2) | (v1 >>> 4);\n out[op++] = (v1 << 4) | (v2 >>> 2);\n out[op++] = (v2 << 6) | v3;\n haveBad |= v0 & INVALID_BYTE;\n haveBad |= v1 & INVALID_BYTE;\n haveBad |= v2 & INVALID_BYTE;\n haveBad |= v3 & INVALID_BYTE;\n }\n if (i < length - 1) {\n v0 = this._decodeChar(s.charCodeAt(i));\n v1 = this._decodeChar(s.charCodeAt(i + 1));\n out[op++] = (v0 << 2) | (v1 >>> 4);\n haveBad |= v0 & INVALID_BYTE;\n haveBad |= v1 & INVALID_BYTE;\n }\n if (i < length - 2) {\n v2 = this._decodeChar(s.charCodeAt(i + 2));\n out[op++] = (v1 << 4) | (v2 >>> 2);\n haveBad |= v2 & INVALID_BYTE;\n }\n if (i < length - 3) {\n v3 = this._decodeChar(s.charCodeAt(i + 3));\n out[op++] = (v2 << 6) | v3;\n haveBad |= v3 & INVALID_BYTE;\n }\n if (haveBad !== 0) {\n throw new Error(\"Base64Coder: incorrect characters for decoding\");\n }\n return out;\n };\n // Standard encoding have the following encoded/decoded ranges,\n // which we need to convert between.\n //\n // ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789 + /\n // Index: 0 - 25 26 - 51 52 - 61 62 63\n // ASCII: 65 - 90 97 - 122 48 - 57 43 47\n //\n // Encode 6 bits in b into a new character.\n Coder.prototype._encodeByte = function (b) {\n // Encoding uses constant time operations as follows:\n //\n // 1. Define comparison of A with B using (A - B) >>> 8:\n // if A > B, then result is positive integer\n // if A <= B, then result is 0\n //\n // 2. Define selection of C or 0 using bitwise AND: X & C:\n // if X == 0, then result is 0\n // if X != 0, then result is C\n //\n // 3. Start with the smallest comparison (b >= 0), which is always\n // true, so set the result to the starting ASCII value (65).\n //\n // 4. Continue comparing b to higher ASCII values, and selecting\n // zero if comparison isn't true, otherwise selecting a value\n // to add to result, which:\n //\n // a) undoes the previous addition\n // b) provides new value to add\n //\n var result = b;\n // b >= 0\n result += 65;\n // b > 25\n result += ((25 - b) >>> 8) & ((0 - 65) - 26 + 97);\n // b > 51\n result += ((51 - b) >>> 8) & ((26 - 97) - 52 + 48);\n // b > 61\n result += ((61 - b) >>> 8) & ((52 - 48) - 62 + 43);\n // b > 62\n result += ((62 - b) >>> 8) & ((62 - 43) - 63 + 47);\n return String.fromCharCode(result);\n };\n // Decode a character code into a byte.\n // Must return 256 if character is out of alphabet range.\n Coder.prototype._decodeChar = function (c) {\n // Decoding works similar to encoding: using the same comparison\n // function, but now it works on ranges: result is always incremented\n // by value, but this value becomes zero if the range is not\n // satisfied.\n //\n // Decoding starts with invalid value, 256, which is then\n // subtracted when the range is satisfied. If none of the ranges\n // apply, the function returns 256, which is then checked by\n // the caller to throw error.\n var result = INVALID_BYTE; // start with invalid character\n // c == 43 (c > 42 and c < 44)\n result += (((42 - c) & (c - 44)) >>> 8) & (-INVALID_BYTE + c - 43 + 62);\n // c == 47 (c > 46 and c < 48)\n result += (((46 - c) & (c - 48)) >>> 8) & (-INVALID_BYTE + c - 47 + 63);\n // c > 47 and c < 58\n result += (((47 - c) & (c - 58)) >>> 8) & (-INVALID_BYTE + c - 48 + 52);\n // c > 64 and c < 91\n result += (((64 - c) & (c - 91)) >>> 8) & (-INVALID_BYTE + c - 65 + 0);\n // c > 96 and c < 123\n result += (((96 - c) & (c - 123)) >>> 8) & (-INVALID_BYTE + c - 97 + 26);\n return result;\n };\n Coder.prototype._getPaddingLength = function (s) {\n var paddingLength = 0;\n if (this._paddingCharacter) {\n for (var i = s.length - 1; i >= 0; i--) {\n if (s[i] !== this._paddingCharacter) {\n break;\n }\n paddingLength++;\n }\n if (s.length < 4 || paddingLength > 2) {\n throw new Error(\"Base64Coder: incorrect padding\");\n }\n }\n return paddingLength;\n };\n return Coder;\n}());\nexports.Coder = Coder;\nvar stdCoder = new Coder();\nfunction encode(data) {\n return stdCoder.encode(data);\n}\nexports.encode = encode;\nfunction decode(s) {\n return stdCoder.decode(s);\n}\nexports.decode = decode;\n/**\n * Implements URL-safe Base64 encoding.\n * (Same as Base64, but '+' is replaced with '-', and '/' with '_').\n *\n * Operates in constant time.\n */\nvar URLSafeCoder = /** @class */ (function (_super) {\n __extends(URLSafeCoder, _super);\n function URLSafeCoder() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n // URL-safe encoding have the following encoded/decoded ranges:\n //\n // ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789 - _\n // Index: 0 - 25 26 - 51 52 - 61 62 63\n // ASCII: 65 - 90 97 - 122 48 - 57 45 95\n //\n URLSafeCoder.prototype._encodeByte = function (b) {\n var result = b;\n // b >= 0\n result += 65;\n // b > 25\n result += ((25 - b) >>> 8) & ((0 - 65) - 26 + 97);\n // b > 51\n result += ((51 - b) >>> 8) & ((26 - 97) - 52 + 48);\n // b > 61\n result += ((61 - b) >>> 8) & ((52 - 48) - 62 + 45);\n // b > 62\n result += ((62 - b) >>> 8) & ((62 - 45) - 63 + 95);\n return String.fromCharCode(result);\n };\n URLSafeCoder.prototype._decodeChar = function (c) {\n var result = INVALID_BYTE;\n // c == 45 (c > 44 and c < 46)\n result += (((44 - c) & (c - 46)) >>> 8) & (-INVALID_BYTE + c - 45 + 62);\n // c == 95 (c > 94 and c < 96)\n result += (((94 - c) & (c - 96)) >>> 8) & (-INVALID_BYTE + c - 95 + 63);\n // c > 47 and c < 58\n result += (((47 - c) & (c - 58)) >>> 8) & (-INVALID_BYTE + c - 48 + 52);\n // c > 64 and c < 91\n result += (((64 - c) & (c - 91)) >>> 8) & (-INVALID_BYTE + c - 65 + 0);\n // c > 96 and c < 123\n result += (((96 - c) & (c - 123)) >>> 8) & (-INVALID_BYTE + c - 97 + 26);\n return result;\n };\n return URLSafeCoder;\n}(Coder));\nexports.URLSafeCoder = URLSafeCoder;\nvar urlSafeCoder = new URLSafeCoder();\nfunction encodeURLSafe(data) {\n return urlSafeCoder.encode(data);\n}\nexports.encodeURLSafe = encodeURLSafe;\nfunction decodeURLSafe(s) {\n return urlSafeCoder.decode(s);\n}\nexports.decodeURLSafe = decodeURLSafe;\nexports.encodedLength = function (length) {\n return stdCoder.encodedLength(length);\n};\nexports.maxDecodedLength = function (length) {\n return stdCoder.maxDecodedLength(length);\n};\nexports.decodedLength = function (s) {\n return stdCoder.decodedLength(s);\n};\n//# sourceMappingURL=base64.js.map","(function (root, factory) {\n // Hack to make all exports of this module sha256 function object properties.\n var exports = {};\n factory(exports);\n var sha256 = exports[\"default\"];\n for (var k in exports) {\n sha256[k] = exports[k];\n }\n \n if (typeof module === 'object' && typeof module.exports === 'object') {\n module.exports = sha256;\n } else if (typeof define === 'function' && define.amd) {\n define(function() { return sha256; }); \n } else {\n root.sha256 = sha256;\n }\n})(this, function(exports) {\n\"use strict\";\nexports.__esModule = true;\n// SHA-256 (+ HMAC and PBKDF2) for JavaScript.\n//\n// Written in 2014-2016 by Dmitry Chestnykh.\n// Public domain, no warranty.\n//\n// Functions (accept and return Uint8Arrays):\n//\n// sha256(message) -> hash\n// sha256.hmac(key, message) -> mac\n// sha256.pbkdf2(password, salt, rounds, dkLen) -> dk\n//\n// Classes:\n//\n// new sha256.Hash()\n// new sha256.HMAC(key)\n//\nexports.digestLength = 32;\nexports.blockSize = 64;\n// SHA-256 constants\nvar K = new Uint32Array([\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b,\n 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01,\n 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7,\n 0xc19bf174, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,\n 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, 0x983e5152,\n 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147,\n 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc,\n 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819,\n 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08,\n 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f,\n 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n]);\nfunction hashBlocks(w, v, p, pos, len) {\n var a, b, c, d, e, f, g, h, u, i, j, t1, t2;\n while (len >= 64) {\n a = v[0];\n b = v[1];\n c = v[2];\n d = v[3];\n e = v[4];\n f = v[5];\n g = v[6];\n h = v[7];\n for (i = 0; i < 16; i++) {\n j = pos + i * 4;\n w[i] = (((p[j] & 0xff) << 24) | ((p[j + 1] & 0xff) << 16) |\n ((p[j + 2] & 0xff) << 8) | (p[j + 3] & 0xff));\n }\n for (i = 16; i < 64; i++) {\n u = w[i - 2];\n t1 = (u >>> 17 | u << (32 - 17)) ^ (u >>> 19 | u << (32 - 19)) ^ (u >>> 10);\n u = w[i - 15];\n t2 = (u >>> 7 | u << (32 - 7)) ^ (u >>> 18 | u << (32 - 18)) ^ (u >>> 3);\n w[i] = (t1 + w[i - 7] | 0) + (t2 + w[i - 16] | 0);\n }\n for (i = 0; i < 64; i++) {\n t1 = (((((e >>> 6 | e << (32 - 6)) ^ (e >>> 11 | e << (32 - 11)) ^\n (e >>> 25 | e << (32 - 25))) + ((e & f) ^ (~e & g))) | 0) +\n ((h + ((K[i] + w[i]) | 0)) | 0)) | 0;\n t2 = (((a >>> 2 | a << (32 - 2)) ^ (a >>> 13 | a << (32 - 13)) ^\n (a >>> 22 | a << (32 - 22))) + ((a & b) ^ (a & c) ^ (b & c))) | 0;\n h = g;\n g = f;\n f = e;\n e = (d + t1) | 0;\n d = c;\n c = b;\n b = a;\n a = (t1 + t2) | 0;\n }\n v[0] += a;\n v[1] += b;\n v[2] += c;\n v[3] += d;\n v[4] += e;\n v[5] += f;\n v[6] += g;\n v[7] += h;\n pos += 64;\n len -= 64;\n }\n return pos;\n}\n// Hash implements SHA256 hash algorithm.\nvar Hash = /** @class */ (function () {\n function Hash() {\n this.digestLength = exports.digestLength;\n this.blockSize = exports.blockSize;\n // Note: Int32Array is used instead of Uint32Array for performance reasons.\n this.state = new Int32Array(8); // hash state\n this.temp = new Int32Array(64); // temporary state\n this.buffer = new Uint8Array(128); // buffer for data to hash\n this.bufferLength = 0; // number of bytes in buffer\n this.bytesHashed = 0; // number of total bytes hashed\n this.finished = false; // indicates whether the hash was finalized\n this.reset();\n }\n // Resets hash state making it possible\n // to re-use this instance to hash other data.\n Hash.prototype.reset = function () {\n this.state[0] = 0x6a09e667;\n this.state[1] = 0xbb67ae85;\n this.state[2] = 0x3c6ef372;\n this.state[3] = 0xa54ff53a;\n this.state[4] = 0x510e527f;\n this.state[5] = 0x9b05688c;\n this.state[6] = 0x1f83d9ab;\n this.state[7] = 0x5be0cd19;\n this.bufferLength = 0;\n this.bytesHashed = 0;\n this.finished = false;\n return this;\n };\n // Cleans internal buffers and re-initializes hash state.\n Hash.prototype.clean = function () {\n for (var i = 0; i < this.buffer.length; i++) {\n this.buffer[i] = 0;\n }\n for (var i = 0; i < this.temp.length; i++) {\n this.temp[i] = 0;\n }\n this.reset();\n };\n // Updates hash state with the given data.\n //\n // Optionally, length of the data can be specified to hash\n // fewer bytes than data.length.\n //\n // Throws error when trying to update already finalized hash:\n // instance must be reset to use it again.\n Hash.prototype.update = function (data, dataLength) {\n if (dataLength === void 0) { dataLength = data.length; }\n if (this.finished) {\n throw new Error(\"SHA256: can't update because hash was finished.\");\n }\n var dataPos = 0;\n this.bytesHashed += dataLength;\n if (this.bufferLength > 0) {\n while (this.bufferLength < 64 && dataLength > 0) {\n this.buffer[this.bufferLength++] = data[dataPos++];\n dataLength--;\n }\n if (this.bufferLength === 64) {\n hashBlocks(this.temp, this.state, this.buffer, 0, 64);\n this.bufferLength = 0;\n }\n }\n if (dataLength >= 64) {\n dataPos = hashBlocks(this.temp, this.state, data, dataPos, dataLength);\n dataLength %= 64;\n }\n while (dataLength > 0) {\n this.buffer[this.bufferLength++] = data[dataPos++];\n dataLength--;\n }\n return this;\n };\n // Finalizes hash state and puts hash into out.\n //\n // If hash was already finalized, puts the same value.\n Hash.prototype.finish = function (out) {\n if (!this.finished) {\n var bytesHashed = this.bytesHashed;\n var left = this.bufferLength;\n var bitLenHi = (bytesHashed / 0x20000000) | 0;\n var bitLenLo = bytesHashed << 3;\n var padLength = (bytesHashed % 64 < 56) ? 64 : 128;\n this.buffer[left] = 0x80;\n for (var i = left + 1; i < padLength - 8; i++) {\n this.buffer[i] = 0;\n }\n this.buffer[padLength - 8] = (bitLenHi >>> 24) & 0xff;\n this.buffer[padLength - 7] = (bitLenHi >>> 16) & 0xff;\n this.buffer[padLength - 6] = (bitLenHi >>> 8) & 0xff;\n this.buffer[padLength - 5] = (bitLenHi >>> 0) & 0xff;\n this.buffer[padLength - 4] = (bitLenLo >>> 24) & 0xff;\n this.buffer[padLength - 3] = (bitLenLo >>> 16) & 0xff;\n this.buffer[padLength - 2] = (bitLenLo >>> 8) & 0xff;\n this.buffer[padLength - 1] = (bitLenLo >>> 0) & 0xff;\n hashBlocks(this.temp, this.state, this.buffer, 0, padLength);\n this.finished = true;\n }\n for (var i = 0; i < 8; i++) {\n out[i * 4 + 0] = (this.state[i] >>> 24) & 0xff;\n out[i * 4 + 1] = (this.state[i] >>> 16) & 0xff;\n out[i * 4 + 2] = (this.state[i] >>> 8) & 0xff;\n out[i * 4 + 3] = (this.state[i] >>> 0) & 0xff;\n }\n return this;\n };\n // Returns the final hash digest.\n Hash.prototype.digest = function () {\n var out = new Uint8Array(this.digestLength);\n this.finish(out);\n return out;\n };\n // Internal function for use in HMAC for optimization.\n Hash.prototype._saveState = function (out) {\n for (var i = 0; i < this.state.length; i++) {\n out[i] = this.state[i];\n }\n };\n // Internal function for use in HMAC for optimization.\n Hash.prototype._restoreState = function (from, bytesHashed) {\n for (var i = 0; i < this.state.length; i++) {\n this.state[i] = from[i];\n }\n this.bytesHashed = bytesHashed;\n this.finished = false;\n this.bufferLength = 0;\n };\n return Hash;\n}());\nexports.Hash = Hash;\n// HMAC implements HMAC-SHA256 message authentication algorithm.\nvar HMAC = /** @class */ (function () {\n function HMAC(key) {\n this.inner = new Hash();\n this.outer = new Hash();\n this.blockSize = this.inner.blockSize;\n this.digestLength = this.inner.digestLength;\n var pad = new Uint8Array(this.blockSize);\n if (key.length > this.blockSize) {\n (new Hash()).update(key).finish(pad).clean();\n }\n else {\n for (var i = 0; i < key.length; i++) {\n pad[i] = key[i];\n }\n }\n for (var i = 0; i < pad.length; i++) {\n pad[i] ^= 0x36;\n }\n this.inner.update(pad);\n for (var i = 0; i < pad.length; i++) {\n pad[i] ^= 0x36 ^ 0x5c;\n }\n this.outer.update(pad);\n this.istate = new Uint32Array(8);\n this.ostate = new Uint32Array(8);\n this.inner._saveState(this.istate);\n this.outer._saveState(this.ostate);\n for (var i = 0; i < pad.length; i++) {\n pad[i] = 0;\n }\n }\n // Returns HMAC state to the state initialized with key\n // to make it possible to run HMAC over the other data with the same\n // key without creating a new instance.\n HMAC.prototype.reset = function () {\n this.inner._restoreState(this.istate, this.inner.blockSize);\n this.outer._restoreState(this.ostate, this.outer.blockSize);\n return this;\n };\n // Cleans HMAC state.\n HMAC.prototype.clean = function () {\n for (var i = 0; i < this.istate.length; i++) {\n this.ostate[i] = this.istate[i] = 0;\n }\n this.inner.clean();\n this.outer.clean();\n };\n // Updates state with provided data.\n HMAC.prototype.update = function (data) {\n this.inner.update(data);\n return this;\n };\n // Finalizes HMAC and puts the result in out.\n HMAC.prototype.finish = function (out) {\n if (this.outer.finished) {\n this.outer.finish(out);\n }\n else {\n this.inner.finish(out);\n this.outer.update(out, this.digestLength).finish(out);\n }\n return this;\n };\n // Returns message authentication code.\n HMAC.prototype.digest = function () {\n var out = new Uint8Array(this.digestLength);\n this.finish(out);\n return out;\n };\n return HMAC;\n}());\nexports.HMAC = HMAC;\n// Returns SHA256 hash of data.\nfunction hash(data) {\n var h = (new Hash()).update(data);\n var digest = h.digest();\n h.clean();\n return digest;\n}\nexports.hash = hash;\n// Function hash is both available as module.hash and as default export.\nexports[\"default\"] = hash;\n// Returns HMAC-SHA256 of data under the key.\nfunction hmac(key, data) {\n var h = (new HMAC(key)).update(data);\n var digest = h.digest();\n h.clean();\n return digest;\n}\nexports.hmac = hmac;\n// Fills hkdf buffer like this:\n// T(1) = HMAC-Hash(PRK, T(0) | info | 0x01)\nfunction fillBuffer(buffer, hmac, info, counter) {\n // Counter is a byte value: check if it overflowed.\n var num = counter[0];\n if (num === 0) {\n throw new Error(\"hkdf: cannot expand more\");\n }\n // Prepare HMAC instance for new data with old key.\n hmac.reset();\n // Hash in previous output if it was generated\n // (i.e. counter is greater than 1).\n if (num > 1) {\n hmac.update(buffer);\n }\n // Hash in info if it exists.\n if (info) {\n hmac.update(info);\n }\n // Hash in the counter.\n hmac.update(counter);\n // Output result to buffer and clean HMAC instance.\n hmac.finish(buffer);\n // Increment counter inside typed array, this works properly.\n counter[0]++;\n}\nvar hkdfSalt = new Uint8Array(exports.digestLength); // Filled with zeroes.\nfunction hkdf(key, salt, info, length) {\n if (salt === void 0) { salt = hkdfSalt; }\n if (length === void 0) { length = 32; }\n var counter = new Uint8Array([1]);\n // HKDF-Extract uses salt as HMAC key, and key as data.\n var okm = hmac(salt, key);\n // Initialize HMAC for expanding with extracted key.\n // Ensure no collisions with `hmac` function.\n var hmac_ = new HMAC(okm);\n // Allocate buffer.\n var buffer = new Uint8Array(hmac_.digestLength);\n var bufpos = buffer.length;\n var out = new Uint8Array(length);\n for (var i = 0; i < length; i++) {\n if (bufpos === buffer.length) {\n fillBuffer(buffer, hmac_, info, counter);\n bufpos = 0;\n }\n out[i] = buffer[bufpos++];\n }\n hmac_.clean();\n buffer.fill(0);\n counter.fill(0);\n return out;\n}\nexports.hkdf = hkdf;\n// Derives a key from password and salt using PBKDF2-HMAC-SHA256\n// with the given number of iterations.\n//\n// The number of bytes returned is equal to dkLen.\n//\n// (For better security, avoid dkLen greater than hash length - 32 bytes).\nfunction pbkdf2(password, salt, iterations, dkLen) {\n var prf = new HMAC(password);\n var len = prf.digestLength;\n var ctr = new Uint8Array(4);\n var t = new Uint8Array(len);\n var u = new Uint8Array(len);\n var dk = new Uint8Array(dkLen);\n for (var i = 0; i * len < dkLen; i++) {\n var c = i + 1;\n ctr[0] = (c >>> 24) & 0xff;\n ctr[1] = (c >>> 16) & 0xff;\n ctr[2] = (c >>> 8) & 0xff;\n ctr[3] = (c >>> 0) & 0xff;\n prf.reset();\n prf.update(salt);\n prf.update(ctr);\n prf.finish(u);\n for (var j = 0; j < len; j++) {\n t[j] = u[j];\n }\n for (var j = 2; j <= iterations; j++) {\n prf.reset();\n prf.update(u).finish(u);\n for (var k = 0; k < len; k++) {\n t[k] ^= u[k];\n }\n }\n for (var j = 0; j < len && i * len + j < dkLen; j++) {\n dk[i * len + j] = t[j];\n }\n }\n for (var i = 0; i < len; i++) {\n t[i] = u[i] = 0;\n }\n for (var i = 0; i < 4; i++) {\n ctr[i] = 0;\n }\n prf.clean();\n return dk;\n}\nexports.pbkdf2 = pbkdf2;\n});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Webhook = exports.WebhookVerificationError = void 0;\nconst timing_safe_equal_1 = require(\"./timing_safe_equal\");\nconst base64 = require(\"@stablelib/base64\");\nconst sha256 = require(\"fast-sha256\");\nconst WEBHOOK_TOLERANCE_IN_SECONDS = 5 * 60;\nclass ExtendableError extends Error {\n constructor(message) {\n super(message);\n Object.setPrototypeOf(this, ExtendableError.prototype);\n this.name = \"ExtendableError\";\n this.stack = new Error(message).stack;\n }\n}\nclass WebhookVerificationError extends ExtendableError {\n constructor(message) {\n super(message);\n Object.setPrototypeOf(this, WebhookVerificationError.prototype);\n this.name = \"WebhookVerificationError\";\n }\n}\nexports.WebhookVerificationError = WebhookVerificationError;\nclass Webhook {\n constructor(secret, options) {\n if (!secret) {\n throw new Error(\"Secret can't be empty.\");\n }\n if ((options === null || options === void 0 ? void 0 : options.format) === \"raw\") {\n if (secret instanceof Uint8Array) {\n this.key = secret;\n }\n else {\n this.key = Uint8Array.from(secret, (c) => c.charCodeAt(0));\n }\n }\n else {\n if (typeof secret !== \"string\") {\n throw new Error(\"Expected secret to be of type string\");\n }\n if (secret.startsWith(Webhook.prefix)) {\n secret = secret.substring(Webhook.prefix.length);\n }\n this.key = base64.decode(secret);\n }\n }\n verify(payload, headers_) {\n const headers = {};\n for (const key of Object.keys(headers_)) {\n headers[key.toLowerCase()] = headers_[key];\n }\n const msgId = headers[\"webhook-id\"];\n const msgSignature = headers[\"webhook-signature\"];\n const msgTimestamp = headers[\"webhook-timestamp\"];\n if (!msgSignature || !msgId || !msgTimestamp) {\n throw new WebhookVerificationError(\"Missing required headers\");\n }\n const timestamp = this.verifyTimestamp(msgTimestamp);\n const computedSignature = this.sign(msgId, timestamp, payload);\n const expectedSignature = computedSignature.split(\",\")[1];\n const passedSignatures = msgSignature.split(\" \");\n const encoder = new globalThis.TextEncoder();\n for (const versionedSignature of passedSignatures) {\n const [version, signature] = versionedSignature.split(\",\");\n if (version !== \"v1\") {\n continue;\n }\n if ((0, timing_safe_equal_1.timingSafeEqual)(encoder.encode(signature), encoder.encode(expectedSignature))) {\n return JSON.parse(payload.toString());\n }\n }\n throw new WebhookVerificationError(\"No matching signature found\");\n }\n sign(msgId, timestamp, payload) {\n if (typeof payload === \"string\") {\n }\n else if (payload.constructor.name === \"Buffer\") {\n payload = payload.toString();\n }\n else {\n throw new Error(\"Expected payload to be of type string or Buffer.\");\n }\n const encoder = new TextEncoder();\n const timestampNumber = Math.floor(timestamp.getTime() / 1000);\n const toSign = encoder.encode(`${msgId}.${timestampNumber}.${payload}`);\n const expectedSignature = base64.encode(sha256.hmac(this.key, toSign));\n return `v1,${expectedSignature}`;\n }\n verifyTimestamp(timestampHeader) {\n const now = Math.floor(Date.now() / 1000);\n const timestamp = parseInt(timestampHeader, 10);\n if (isNaN(timestamp)) {\n throw new WebhookVerificationError(\"Invalid Signature Headers\");\n }\n if (now - timestamp > WEBHOOK_TOLERANCE_IN_SECONDS) {\n throw new WebhookVerificationError(\"Message timestamp too old\");\n }\n if (timestamp > now + WEBHOOK_TOLERANCE_IN_SECONDS) {\n throw new WebhookVerificationError(\"Message timestamp too new\");\n }\n return new Date(timestamp * 1000);\n }\n}\nexports.Webhook = Webhook;\nWebhook.prefix = \"whsec_\";\n//# sourceMappingURL=index.js.map","import { z } from \"zod\";\nexport var PaymentSchema = z.object({\n payload_type: z.literal(\"Payment\"),\n billing: z.object({\n city: z.string().nullable(),\n country: z.string().nullable(),\n state: z.string().nullable(),\n street: z.string().nullable(),\n zipcode: z.string().nullable(),\n }),\n brand_id: z.string(),\n business_id: z.string(),\n card_issuing_country: z.string().nullable(),\n card_last_four: z.string().nullable(),\n card_network: z.string().nullable(),\n card_type: z.string().nullable(),\n created_at: z.string().transform(function (d) { return new Date(d); }),\n currency: z.string(),\n customer: z.object({\n customer_id: z.string(),\n email: z.string(),\n name: z.string().nullable(),\n }),\n digital_products_delivered: z.boolean(),\n discount_id: z.string().nullable(),\n disputes: z\n .array(z.object({\n amount: z.string(),\n business_id: z.string(),\n created_at: z.string().transform(function (d) { return new Date(d); }),\n currency: z.string(),\n dispute_id: z.string(),\n dispute_stage: z.enum([\n \"pre_dispute\",\n \"dispute_opened\",\n \"dispute_won\",\n \"dispute_lost\",\n ]),\n dispute_status: z.enum([\n \"dispute_opened\",\n \"dispute_won\",\n \"dispute_lost\",\n \"dispute_accepted\",\n \"dispute_cancelled\",\n \"dispute_challenged\",\n ]),\n payment_id: z.string(),\n remarks: z.string().nullable(),\n }))\n .nullable(),\n error_code: z.string().nullable(),\n error_message: z.string().nullable(),\n metadata: z.record(z.any()).nullable(),\n payment_id: z.string(),\n payment_link: z.string().nullable(),\n payment_method: z.string().nullable(),\n payment_method_type: z.string().nullable(),\n product_cart: z\n .array(z.object({\n product_id: z.string(),\n quantity: z.number(),\n }))\n .nullable(),\n refunds: z\n .array(z.object({\n amount: z.number(),\n business_id: z.string(),\n created_at: z.string().transform(function (d) { return new Date(d); }),\n currency: z.string(),\n is_partial: z.boolean(),\n payment_id: z.string(),\n reason: z.string().nullable(),\n refund_id: z.string(),\n status: z.enum([\"succeeded\", \"failed\", \"pending\"]),\n }))\n .nullable(),\n settlement_amount: z.number(),\n settlement_currency: z.string(),\n settlement_tax: z.number().nullable(),\n status: z.enum([\"succeeded\", \"failed\", \"pending\", \"processing\", \"cancelled\"]),\n subscription_id: z.string().nullable(),\n tax: z.number().nullable(),\n total_amount: z.number(),\n updated_at: z\n .string()\n .transform(function (d) { return new Date(d); })\n .nullable(),\n});\nexport var SubscriptionSchema = z.object({\n payload_type: z.literal(\"Subscription\"),\n addons: z\n .array(z.object({\n addon_id: z.string(),\n quantity: z.number(),\n }))\n .nullable(),\n billing: z.object({\n city: z.string().nullable(),\n country: z.string().nullable(),\n state: z.string().nullable(),\n street: z.string().nullable(),\n zipcode: z.string().nullable(),\n }),\n cancel_at_next_billing_date: z.boolean(),\n cancelled_at: z\n .string()\n .transform(function (d) { return new Date(d); })\n .nullable(),\n created_at: z.string().transform(function (d) { return new Date(d); }),\n currency: z.string(),\n customer: z.object({\n customer_id: z.string(),\n email: z.string(),\n name: z.string().nullable(),\n }),\n discount_id: z.string().nullable(),\n metadata: z.record(z.any()).nullable(),\n next_billing_date: z\n .string()\n .transform(function (d) { return new Date(d); })\n .nullable(),\n on_demand: z.boolean(),\n payment_frequency_count: z.number(),\n payment_frequency_interval: z.enum([\"Day\", \"Week\", \"Month\", \"Year\"]),\n previous_billing_date: z\n .string()\n .transform(function (d) { return new Date(d); })\n .nullable(),\n product_id: z.string(),\n quantity: z.number(),\n recurring_pre_tax_amount: z.number(),\n status: z.enum([\n \"pending\",\n \"active\",\n \"on_hold\",\n \"paused\",\n \"cancelled\",\n \"expired\",\n \"failed\",\n ]),\n subscription_id: z.string(),\n subscription_period_count: z.number(),\n subscription_period_interval: z.enum([\"Day\", \"Week\", \"Month\", \"Year\"]),\n tax_inclusive: z.boolean(),\n trial_period_days: z.number(),\n});\nexport var RefundSchema = z.object({\n payload_type: z.literal(\"Refund\"),\n amount: z.number(),\n business_id: z.string(),\n created_at: z.string().transform(function (d) { return new Date(d); }),\n currency: z.string(),\n is_partial: z.boolean(),\n payment_id: z.string(),\n reason: z.string().nullable(),\n refund_id: z.string(),\n status: z.enum([\"succeeded\", \"failed\", \"pending\"]),\n});\nexport var DisputeSchema = z.object({\n payload_type: z.literal(\"Dispute\"),\n amount: z.string(),\n business_id: z.string(),\n created_at: z.string().transform(function (d) { return new Date(d); }),\n currency: z.string(),\n dispute_id: z.string(),\n dispute_stage: z.enum([\n \"pre_dispute\",\n \"dispute_opened\",\n \"dispute_won\",\n \"dispute_lost\",\n ]),\n dispute_status: z.enum([\n \"dispute_opened\",\n \"dispute_won\",\n \"dispute_lost\",\n \"dispute_accepted\",\n \"dispute_cancelled\",\n \"dispute_challenged\",\n ]),\n payment_id: z.string(),\n remarks: z.string().nullable(),\n});\nexport var LicenseKeySchema = z.object({\n payload_type: z.literal(\"LicenseKey\"),\n activations_limit: z.number(),\n business_id: z.string(),\n created_at: z.string().transform(function (d) { return new Date(d); }),\n customer_id: z.string(),\n expires_at: z\n .string()\n .transform(function (d) { return new Date(d); })\n .nullable(),\n id: z.string(),\n instances_count: z.number(),\n key: z.string(),\n payment_id: z.string(),\n product_id: z.string(),\n status: z.enum([\"active\", \"inactive\", \"expired\"]),\n subscription_id: z.string().nullable(),\n});\nexport var PaymentSucceededPayloadSchema = z.object({\n business_id: z.string(),\n type: z.literal(\"payment.succeeded\"),\n timestamp: z.string().transform(function (d) { return new Date(d); }),\n data: PaymentSchema,\n});\nexport var PaymentFailedPayloadSchema = z.object({\n business_id: z.string(),\n type: z.literal(\"payment.failed\"),\n timestamp: z.string().transform(function (d) { return new Date(d); }),\n data: PaymentSchema,\n});\nexport var PaymentProcessingPayloadSchema = z.object({\n business_id: z.string(),\n type: z.literal(\"payment.processing\"),\n timestamp: z.string().transform(function (d) { return new Date(d); }),\n data: PaymentSchema,\n});\nexport var PaymentCancelledPayloadSchema = z.object({\n business_id: z.string(),\n type: z.literal(\"payment.cancelled\"),\n timestamp: z.string().transform(function (d) { return new Date(d); }),\n data: PaymentSchema,\n});\nexport var RefundSucceededPayloadSchema = z.object({\n business_id: z.string(),\n type: z.literal(\"refund.succeeded\"),\n timestamp: z.string().transform(function (d) { return new Date(d); }),\n data: RefundSchema,\n});\nexport var RefundFailedPayloadSchema = z.object({\n business_id: z.string(),\n type: z.literal(\"refund.failed\"),\n timestamp: z.string().transform(function (d) { return new Date(d); }),\n data: RefundSchema,\n});\nexport var DisputeOpenedPayloadSchema = z.object({\n business_id: z.string(),\n type: z.literal(\"dispute.opened\"),\n timestamp: z.string().transform(function (d) { return new Date(d); }),\n data: DisputeSchema,\n});\nexport var DisputeExpiredPayloadSchema = z.object({\n business_id: z.string(),\n type: z.literal(\"dispute.expired\"),\n timestamp: z.string().transform(function (d) { return new Date(d); }),\n data: DisputeSchema,\n});\nexport var DisputeAcceptedPayloadSchema = z.object({\n business_id: z.string(),\n type: z.literal(\"dispute.accepted\"),\n timestamp: z.string().transform(function (d) { return new Date(d); }),\n data: DisputeSchema,\n});\nexport var DisputeCancelledPayloadSchema = z.object({\n business_id: z.string(),\n type: z.literal(\"dispute.cancelled\"),\n timestamp: z.string().transform(function (d) { return new Date(d); }),\n data: DisputeSchema,\n});\nexport var DisputeChallengedPayloadSchema = z.object({\n business_id: z.string(),\n type: z.literal(\"dispute.challenged\"),\n timestamp: z.string().transform(function (d) { return new Date(d); }),\n data: DisputeSchema,\n});\nexport var DisputeWonPayloadSchema = z.object({\n business_id: z.string(),\n type: z.literal(\"dispute.won\"),\n timestamp: z.string().transform(function (d) { return new Date(d); }),\n data: DisputeSchema,\n});\nexport var DisputeLostPayloadSchema = z.object({\n business_id: z.string(),\n type: z.literal(\"dispute.lost\"),\n timestamp: z.string().transform(function (d) { return new Date(d); }),\n data: DisputeSchema,\n});\nexport var SubscriptionActivePayloadSchema = z.object({\n business_id: z.string(),\n type: z.literal(\"subscription.active\"),\n timestamp: z.string().transform(function (d) { return new Date(d); }),\n data: SubscriptionSchema,\n});\nexport var SubscriptionOnHoldPayloadSchema = z.object({\n business_id: z.string(),\n type: z.literal(\"subscription.on_hold\"),\n timestamp: z.string().transform(function (d) { return new Date(d); }),\n data: SubscriptionSchema,\n});\nexport var SubscriptionRenewedPayloadSchema = z.object({\n business_id: z.string(),\n type: z.literal(\"subscription.renewed\"),\n timestamp: z.string().transform(function (d) { return new Date(d); }),\n data: SubscriptionSchema,\n});\nexport var SubscriptionPausedPayloadSchema = z.object({\n business_id: z.string(),\n type: z.literal(\"subscription.paused\"),\n timestamp: z.string().transform(function (d) { return new Date(d); }),\n data: SubscriptionSchema,\n});\nexport var SubscriptionPlanChangedPayloadSchema = z.object({\n business_id: z.string(),\n type: z.literal(\"subscription.plan_changed\"),\n timestamp: z.string().transform(function (d) { return new Date(d); }),\n data: SubscriptionSchema,\n});\nexport var SubscriptionCancelledPayloadSchema = z.object({\n business_id: z.string(),\n type: z.literal(\"subscription.cancelled\"),\n timestamp: z.string().transform(function (d) { return new Date(d); }),\n data: SubscriptionSchema,\n});\nexport var SubscriptionFailedPayloadSchema = z.object({\n business_id: z.string(),\n type: z.literal(\"subscription.failed\"),\n timestamp: z.string().transform(function (d) { return new Date(d); }),\n data: SubscriptionSchema,\n});\nexport var SubscriptionExpiredPayloadSchema = z.object({\n business_id: z.string(),\n type: z.literal(\"subscription.expired\"),\n timestamp: z.string().transform(function (d) { return new Date(d); }),\n data: SubscriptionSchema,\n});\nexport var LicenseKeyCreatedPayloadSchema = z.object({\n business_id: z.string(),\n type: z.literal(\"license_key.created\"),\n timestamp: z.string().transform(function (d) { return new Date(d); }),\n data: LicenseKeySchema,\n});\nexport var WebhookPayloadSchema = z.discriminatedUnion(\"type\", [\n PaymentSucceededPayloadSchema,\n PaymentFailedPayloadSchema,\n PaymentProcessingPayloadSchema,\n PaymentCancelledPayloadSchema,\n RefundSucceededPayloadSchema,\n RefundFailedPayloadSchema,\n DisputeOpenedPayloadSchema,\n DisputeExpiredPayloadSchema,\n DisputeAcceptedPayloadSchema,\n DisputeCancelledPayloadSchema,\n DisputeChallengedPayloadSchema,\n DisputeWonPayloadSchema,\n DisputeLostPayloadSchema,\n SubscriptionActivePayloadSchema,\n SubscriptionOnHoldPayloadSchema,\n SubscriptionRenewedPayloadSchema,\n SubscriptionPausedPayloadSchema,\n SubscriptionPlanChangedPayloadSchema,\n SubscriptionCancelledPayloadSchema,\n SubscriptionFailedPayloadSchema,\n SubscriptionExpiredPayloadSchema,\n LicenseKeyCreatedPayloadSchema,\n]);\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { WebhookPayloadSchema, } from \"../schemas/webhook\";\nimport { Webhook as StandardWebhook, WebhookVerificationError, } from \"standardwebhooks\";\nexport var handleWebhookPayload = function (payload, config) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!config.onPayload) return [3 /*break*/, 2];\n return [4 /*yield*/, config.onPayload(payload)];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2:\n if (!(payload.type === \"payment.succeeded\" && config.onPaymentSucceeded)) return [3 /*break*/, 4];\n return [4 /*yield*/, config.onPaymentSucceeded(payload)];\n case 3:\n _a.sent();\n _a.label = 4;\n case 4:\n if (!(payload.type === \"payment.failed\" && config.onPaymentFailed)) return [3 /*break*/, 6];\n return [4 /*yield*/, config.onPaymentFailed(payload)];\n case 5:\n _a.sent();\n _a.label = 6;\n case 6:\n if (!(payload.type === \"payment.processing\" && config.onPaymentProcessing)) return [3 /*break*/, 8];\n return [4 /*yield*/, config.onPaymentProcessing(payload)];\n case 7:\n _a.sent();\n _a.label = 8;\n case 8:\n if (!(payload.type === \"payment.cancelled\" && config.onPaymentCancelled)) return [3 /*break*/, 10];\n return [4 /*yield*/, config.onPaymentCancelled(payload)];\n case 9:\n _a.sent();\n _a.label = 10;\n case 10:\n if (!(payload.type === \"refund.succeeded\" && config.onRefundSucceeded)) return [3 /*break*/, 12];\n return [4 /*yield*/, config.onRefundSucceeded(payload)];\n case 11:\n _a.sent();\n _a.label = 12;\n case 12:\n if (!(payload.type === \"refund.failed\" && config.onRefundFailed)) return [3 /*break*/, 14];\n return [4 /*yield*/, config.onRefundFailed(payload)];\n case 13:\n _a.sent();\n _a.label = 14;\n case 14:\n if (!(payload.type === \"dispute.opened\" && config.onDisputeOpened)) return [3 /*break*/, 16];\n return [4 /*yield*/, config.onDisputeOpened(payload)];\n case 15:\n _a.sent();\n _a.label = 16;\n case 16:\n if (!(payload.type === \"dispute.expired\" && config.onDisputeExpired)) return [3 /*break*/, 18];\n return [4 /*yield*/, config.onDisputeExpired(payload)];\n case 17:\n _a.sent();\n _a.label = 18;\n case 18:\n if (!(payload.type === \"dispute.accepted\" && config.onDisputeAccepted)) return [3 /*break*/, 20];\n return [4 /*yield*/, config.onDisputeAccepted(payload)];\n case 19:\n _a.sent();\n _a.label = 20;\n case 20:\n if (!(payload.type === \"dispute.cancelled\" && config.onDisputeCancelled)) return [3 /*break*/, 22];\n return [4 /*yield*/, config.onDisputeCancelled(payload)];\n case 21:\n _a.sent();\n _a.label = 22;\n case 22:\n if (!(payload.type === \"dispute.challenged\" && config.onDisputeChallenged)) return [3 /*break*/, 24];\n return [4 /*yield*/, config.onDisputeChallenged(payload)];\n case 23:\n _a.sent();\n _a.label = 24;\n case 24:\n if (!(payload.type === \"dispute.won\" && config.onDisputeWon)) return [3 /*break*/, 26];\n return [4 /*yield*/, config.onDisputeWon(payload)];\n case 25:\n _a.sent();\n _a.label = 26;\n case 26:\n if (!(payload.type === \"dispute.lost\" && config.onDisputeLost)) return [3 /*break*/, 28];\n return [4 /*yield*/, config.onDisputeLost(payload)];\n case 27:\n _a.sent();\n _a.label = 28;\n case 28:\n if (!(payload.type === \"subscription.active\" && config.onSubscriptionActive)) return [3 /*break*/, 30];\n return [4 /*yield*/, config.onSubscriptionActive(payload)];\n case 29:\n _a.sent();\n _a.label = 30;\n case 30:\n if (!(payload.type === \"subscription.on_hold\" && config.onSubscriptionOnHold)) return [3 /*break*/, 32];\n return [4 /*yield*/, config.onSubscriptionOnHold(payload)];\n case 31:\n _a.sent();\n _a.label = 32;\n case 32:\n if (!(payload.type === \"subscription.renewed\" && config.onSubscriptionRenewed)) return [3 /*break*/, 34];\n return [4 /*yield*/, config.onSubscriptionRenewed(payload)];\n case 33:\n _a.sent();\n _a.label = 34;\n case 34:\n if (!(payload.type === \"subscription.paused\" && config.onSubscriptionPaused)) return [3 /*break*/, 36];\n return [4 /*yield*/, config.onSubscriptionPaused(payload)];\n case 35:\n _a.sent();\n _a.label = 36;\n case 36:\n if (!(payload.type === \"subscription.plan_changed\" &&\n config.onSubscriptionPlanChanged)) return [3 /*break*/, 38];\n return [4 /*yield*/, config.onSubscriptionPlanChanged(payload)];\n case 37:\n _a.sent();\n _a.label = 38;\n case 38:\n if (!(payload.type === \"subscription.cancelled\" &&\n config.onSubscriptionCancelled)) return [3 /*break*/, 40];\n return [4 /*yield*/, config.onSubscriptionCancelled(payload)];\n case 39:\n _a.sent();\n _a.label = 40;\n case 40:\n if (!(payload.type === \"subscription.failed\" && config.onSubscriptionFailed)) return [3 /*break*/, 42];\n return [4 /*yield*/, config.onSubscriptionFailed(payload)];\n case 41:\n _a.sent();\n _a.label = 42;\n case 42:\n if (!(payload.type === \"subscription.expired\" && config.onSubscriptionExpired)) return [3 /*break*/, 44];\n return [4 /*yield*/, config.onSubscriptionExpired(payload)];\n case 43:\n _a.sent();\n _a.label = 44;\n case 44:\n if (!(payload.type === \"license_key.created\" && config.onLicenseKeyCreated)) return [3 /*break*/, 46];\n return [4 /*yield*/, config.onLicenseKeyCreated(payload)];\n case 45:\n _a.sent();\n _a.label = 46;\n case 46: return [2 /*return*/];\n }\n });\n}); };\nexport var verifyWebhookPayload = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {\n var standardWebhook, _c, success, payload, error;\n var webhookKey = _b.webhookKey, headers = _b.headers, body = _b.body;\n return __generator(this, function (_d) {\n standardWebhook = new StandardWebhook(webhookKey);\n try {\n standardWebhook.verify(body, headers);\n }\n catch (e) {\n if (e instanceof WebhookVerificationError) {\n throw new Error(e.message);\n }\n throw e;\n }\n _c = WebhookPayloadSchema.safeParse(JSON.parse(body)), success = _c.success, payload = _c.data, error = _c.error;\n if (!success) {\n throw new Error(error.message);\n }\n return [2 /*return*/, payload];\n });\n}); };\n","import {\n Webhook as StandardWebhook,\n WebhookVerificationError,\n} from \"standardwebhooks\";\nimport {\n type WebhookHandlerConfig,\n handleWebhookPayload,\n} from \"@dodopayments/core/webhook\";\nimport { WebhookPayloadSchema } from \"@dodopayments/core/schemas\";\n\nexport const Webhooks = ({\n webhookKey,\n ...eventHandlers\n}: WebhookHandlerConfig) => {\n const standardWebhook = new StandardWebhook(webhookKey);\n\n return async (request: Request) => {\n if (request.method !== \"POST\") {\n return new Response(\"Method not allowed. Use POST\", { status: 405 });\n }\n\n const headers = {\n \"webhook-id\": request.headers.get(\"webhook-id\") ?? \"\",\n \"webhook-timestamp\": request.headers.get(\"webhook-timestamp\") ?? \"\",\n \"webhook-signature\": request.headers.get(\"webhook-signature\") ?? \"\",\n };\n\n const rawBody = await request.text();\n\n try {\n standardWebhook.verify(rawBody, headers);\n } catch (err) {\n if (err instanceof WebhookVerificationError) {\n return new Response(err.message, { status: 401 });\n }\n\n return new Response(\"Error while verifying webhook\", {\n status: 500,\n });\n }\n\n const {\n success,\n data: payload,\n error,\n } = WebhookPayloadSchema.safeParse(JSON.parse(rawBody));\n\n if (!success) {\n console.error(\"Error parsing webhook payload\", error.issues);\n return new Response(\n `Error parsing webhook payload: ${error.message}`,\n {\n status: 400,\n },\n );\n }\n\n // do not catch errors here, let them bubble up to the user\n // as they will originate from the handlers passed by the user\n await handleWebhookPayload(payload, {\n webhookKey,\n ...eventHandlers,\n });\n\n return new Response(null, { status: 200 });\n };\n};\n","import DodoPayments, { ClientOptions } from \"dodopayments\";\n\nexport type CustomerPortalConfig = Pick<\n ClientOptions,\n \"environment\" | \"bearerToken\"\n>;\n\n/**\n * TanStack React Start Customer Portal handler\n * Usage: export const GET = CustomerPortal(config);\n */\nexport function CustomerPortal({\n bearerToken,\n environment,\n}: CustomerPortalConfig) {\n return async function (request: Request) {\n // Extract customerId from query parameters\n const { searchParams } = new URL(request.url);\n const customerId = searchParams.get(\"customer_id\");\n const params = {\n send_email: false,\n };\n const sendEmail = Boolean(searchParams.get(\"send_email\"));\n if (sendEmail) {\n params.send_email = sendEmail;\n }\n \n if (!customerId) {\n return new Response(\"Missing customerId in query parameters\", {\n status: 400,\n });\n }\n\n const dodopayments = new DodoPayments({\n bearerToken,\n environment,\n });\n\n try {\n const session = await dodopayments.customers.customerPortal.create(\n customerId,\n params,\n );\n return Response.redirect(session.link, 302);\n } catch (error: any) {\n console.error(\"Error creating customer portal session:\", error);\n return new Response(\n `Failed to create customer portal session: ${error.message}`,\n {\n status: 500,\n },\n );\n }\n };\n}\n"],"names":["fetch","File","shims.kind","shims.setShims","auto.getRuntime","this","shimsKind","CustomerPortalAPI.CustomerPortal","CustomerPortal","PaymentsAPI.Payments","Payments","ImagesAPI.Images","Core.APIClient","Core.readEnv","Errors.DodoPaymentsError","API.Payments","API.Subscriptions","API.Invoices","API.Licenses","API.LicenseKeys","API.LicenseKeyInstances","API.Customers","API.Refunds","API.Disputes","API.Payouts","API.WebhookEvents","API.Products","API.Misc","API.Discounts","API.Addons","API.Brands","Errors.APIError","Errors.APIConnectionError","Errors.APIConnectionTimeoutError","Errors.APIUserAbortError","Errors.NotFoundError","Errors.ConflictError","Errors.RateLimitError","Errors.BadRequestError","Errors.AuthenticationError","Errors.InternalServerError","Errors.PermissionDeniedError","Errors.UnprocessableEntityError","Uploads.toFile","Uploads.fileFromPath","__awaiter","__generator","z","base64","require$$0","require$$1","require$$2","StandardWebhook","WebhookVerificationError"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,32,33,34,35]}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../node_modules/dodopayments/version.mjs","../../../node_modules/dodopayments/error.mjs","../../../node_modules/dodopayments/_shims/registry.mjs","../../../node_modules/dodopayments/_shims/MultipartBody.mjs","../../../node_modules/dodopayments/_shims/web-runtime.mjs","../../../node_modules/dodopayments/_shims/index.mjs","../../../node_modules/dodopayments/uploads.mjs","../../../node_modules/dodopayments/core.mjs","../../../node_modules/dodopayments/pagination.mjs","../../../node_modules/dodopayments/resource.mjs","../../../node_modules/dodopayments/resources/addons.mjs","../../../node_modules/dodopayments/resources/brands.mjs","../../../node_modules/dodopayments/resources/checkout-sessions.mjs","../../../node_modules/dodopayments/resources/customers/customer-portal.mjs","../../../node_modules/dodopayments/resources/customers/customers.mjs","../../../node_modules/dodopayments/resources/discounts.mjs","../../../node_modules/dodopayments/resources/disputes.mjs","../../../node_modules/dodopayments/resources/invoices/payments.mjs","../../../node_modules/dodopayments/resources/invoices/invoices.mjs","../../../node_modules/dodopayments/resources/license-key-instances.mjs","../../../node_modules/dodopayments/resources/license-keys.mjs","../../../node_modules/dodopayments/resources/licenses.mjs","../../../node_modules/dodopayments/resources/misc.mjs","../../../node_modules/dodopayments/resources/payments.mjs","../../../node_modules/dodopayments/resources/payouts.mjs","../../../node_modules/dodopayments/resources/products/images.mjs","../../../node_modules/dodopayments/resources/products/products.mjs","../../../node_modules/dodopayments/resources/refunds.mjs","../../../node_modules/dodopayments/resources/subscriptions.mjs","../../../node_modules/dodopayments/resources/webhooks/headers.mjs","../../../node_modules/dodopayments/resources/webhooks/webhooks.mjs","../../../node_modules/dodopayments/resources/webhook-events.mjs","../../../node_modules/dodopayments/index.mjs","../../core/dist/checkout/checkout.js","../src/checkout/checkout.ts","../../../node_modules/standardwebhooks/dist/timing_safe_equal.js","../../../node_modules/@stablelib/base64/lib/base64.js","../../../node_modules/fast-sha256/sha256.js","../../../node_modules/standardwebhooks/dist/index.js","../../core/dist/schemas/webhook.js","../../core/dist/webhook/webhook.js","../src/webhooks/webhooks.ts","../src/customer-portal/customer-portal.ts"],"sourcesContent":["export const VERSION = '1.51.2'; // x-release-please-version\n//# sourceMappingURL=version.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { castToError } from \"./core.mjs\";\nexport class DodoPaymentsError extends Error {\n}\nexport class APIError extends DodoPaymentsError {\n constructor(status, error, message, headers) {\n super(`${APIError.makeMessage(status, error, message)}`);\n this.status = status;\n this.headers = headers;\n this.error = error;\n }\n static makeMessage(status, error, message) {\n const msg = error?.message ?\n typeof error.message === 'string' ?\n error.message\n : JSON.stringify(error.message)\n : error ? JSON.stringify(error)\n : message;\n if (status && msg) {\n return `${status} ${msg}`;\n }\n if (status) {\n return `${status} status code (no body)`;\n }\n if (msg) {\n return msg;\n }\n return '(no status code or body)';\n }\n static generate(status, errorResponse, message, headers) {\n if (!status || !headers) {\n return new APIConnectionError({ message, cause: castToError(errorResponse) });\n }\n const error = errorResponse;\n if (status === 400) {\n return new BadRequestError(status, error, message, headers);\n }\n if (status === 401) {\n return new AuthenticationError(status, error, message, headers);\n }\n if (status === 403) {\n return new PermissionDeniedError(status, error, message, headers);\n }\n if (status === 404) {\n return new NotFoundError(status, error, message, headers);\n }\n if (status === 409) {\n return new ConflictError(status, error, message, headers);\n }\n if (status === 422) {\n return new UnprocessableEntityError(status, error, message, headers);\n }\n if (status === 429) {\n return new RateLimitError(status, error, message, headers);\n }\n if (status >= 500) {\n return new InternalServerError(status, error, message, headers);\n }\n return new APIError(status, error, message, headers);\n }\n}\nexport class APIUserAbortError extends APIError {\n constructor({ message } = {}) {\n super(undefined, undefined, message || 'Request was aborted.', undefined);\n }\n}\nexport class APIConnectionError extends APIError {\n constructor({ message, cause }) {\n super(undefined, undefined, message || 'Connection error.', undefined);\n // in some environments the 'cause' property is already declared\n // @ts-ignore\n if (cause)\n this.cause = cause;\n }\n}\nexport class APIConnectionTimeoutError extends APIConnectionError {\n constructor({ message } = {}) {\n super({ message: message ?? 'Request timed out.' });\n }\n}\nexport class BadRequestError extends APIError {\n}\nexport class AuthenticationError extends APIError {\n}\nexport class PermissionDeniedError extends APIError {\n}\nexport class NotFoundError extends APIError {\n}\nexport class ConflictError extends APIError {\n}\nexport class UnprocessableEntityError extends APIError {\n}\nexport class RateLimitError extends APIError {\n}\nexport class InternalServerError extends APIError {\n}\n//# sourceMappingURL=error.mjs.map","export let auto = false;\nexport let kind = undefined;\nexport let fetch = undefined;\nexport let Request = undefined;\nexport let Response = undefined;\nexport let Headers = undefined;\nexport let FormData = undefined;\nexport let Blob = undefined;\nexport let File = undefined;\nexport let ReadableStream = undefined;\nexport let getMultipartRequestOptions = undefined;\nexport let getDefaultAgent = undefined;\nexport let fileFromPath = undefined;\nexport let isFsReadStream = undefined;\nexport function setShims(shims, options = { auto: false }) {\n if (auto) {\n throw new Error(`you must \\`import 'dodopayments/shims/${shims.kind}'\\` before importing anything else from dodopayments`);\n }\n if (kind) {\n throw new Error(`can't \\`import 'dodopayments/shims/${shims.kind}'\\` after \\`import 'dodopayments/shims/${kind}'\\``);\n }\n auto = options.auto;\n kind = shims.kind;\n fetch = shims.fetch;\n Request = shims.Request;\n Response = shims.Response;\n Headers = shims.Headers;\n FormData = shims.FormData;\n Blob = shims.Blob;\n File = shims.File;\n ReadableStream = shims.ReadableStream;\n getMultipartRequestOptions = shims.getMultipartRequestOptions;\n getDefaultAgent = shims.getDefaultAgent;\n fileFromPath = shims.fileFromPath;\n isFsReadStream = shims.isFsReadStream;\n}\n//# sourceMappingURL=registry.mjs.map","/**\n * Disclaimer: modules in _shims aren't intended to be imported by SDK users.\n */\nexport class MultipartBody {\n constructor(body) {\n this.body = body;\n }\n get [Symbol.toStringTag]() {\n return 'MultipartBody';\n }\n}\n//# sourceMappingURL=MultipartBody.mjs.map","import { MultipartBody } from \"./MultipartBody.mjs\";\nexport function getRuntime({ manuallyImported } = {}) {\n const recommendation = manuallyImported ?\n `You may need to use polyfills`\n : `Add one of these imports before your first \\`import … from 'dodopayments'\\`:\n- \\`import 'dodopayments/shims/node'\\` (if you're running on Node)\n- \\`import 'dodopayments/shims/web'\\` (otherwise)\n`;\n let _fetch, _Request, _Response, _Headers;\n try {\n // @ts-ignore\n _fetch = fetch;\n // @ts-ignore\n _Request = Request;\n // @ts-ignore\n _Response = Response;\n // @ts-ignore\n _Headers = Headers;\n }\n catch (error) {\n throw new Error(`this environment is missing the following Web Fetch API type: ${error.message}. ${recommendation}`);\n }\n return {\n kind: 'web',\n fetch: _fetch,\n Request: _Request,\n Response: _Response,\n Headers: _Headers,\n FormData: \n // @ts-ignore\n typeof FormData !== 'undefined' ? FormData : (class FormData {\n // @ts-ignore\n constructor() {\n throw new Error(`file uploads aren't supported in this environment yet as 'FormData' is undefined. ${recommendation}`);\n }\n }),\n Blob: typeof Blob !== 'undefined' ? Blob : (class Blob {\n constructor() {\n throw new Error(`file uploads aren't supported in this environment yet as 'Blob' is undefined. ${recommendation}`);\n }\n }),\n File: \n // @ts-ignore\n typeof File !== 'undefined' ? File : (class File {\n // @ts-ignore\n constructor() {\n throw new Error(`file uploads aren't supported in this environment yet as 'File' is undefined. ${recommendation}`);\n }\n }),\n ReadableStream: \n // @ts-ignore\n typeof ReadableStream !== 'undefined' ? ReadableStream : (class ReadableStream {\n // @ts-ignore\n constructor() {\n throw new Error(`streaming isn't supported in this environment yet as 'ReadableStream' is undefined. ${recommendation}`);\n }\n }),\n getMultipartRequestOptions: async (\n // @ts-ignore\n form, opts) => ({\n ...opts,\n body: new MultipartBody(form),\n }),\n getDefaultAgent: (url) => undefined,\n fileFromPath: () => {\n throw new Error('The `fileFromPath` function is only supported in Node. See the README for more details: https://www.github.com/dodopayments/dodopayments-node#file-uploads');\n },\n isFsReadStream: (value) => false,\n };\n}\n//# sourceMappingURL=web-runtime.mjs.map","/**\n * Disclaimer: modules in _shims aren't intended to be imported by SDK users.\n */\nimport * as shims from './registry.mjs';\nimport * as auto from 'dodopayments/_shims/auto/runtime';\nexport const init = () => {\n if (!shims.kind) shims.setShims(auto.getRuntime(), { auto: true });\n};\nexport * from './registry.mjs';\n\ninit();\n","import { FormData, File, getMultipartRequestOptions, isFsReadStream, } from \"./_shims/index.mjs\";\nexport { fileFromPath } from \"./_shims/index.mjs\";\nexport const isResponseLike = (value) => value != null &&\n typeof value === 'object' &&\n typeof value.url === 'string' &&\n typeof value.blob === 'function';\nexport const isFileLike = (value) => value != null &&\n typeof value === 'object' &&\n typeof value.name === 'string' &&\n typeof value.lastModified === 'number' &&\n isBlobLike(value);\n/**\n * The BlobLike type omits arrayBuffer() because @types/node-fetch@^2.6.4 lacks it; but this check\n * adds the arrayBuffer() method type because it is available and used at runtime\n */\nexport const isBlobLike = (value) => value != null &&\n typeof value === 'object' &&\n typeof value.size === 'number' &&\n typeof value.type === 'string' &&\n typeof value.text === 'function' &&\n typeof value.slice === 'function' &&\n typeof value.arrayBuffer === 'function';\nexport const isUploadable = (value) => {\n return isFileLike(value) || isResponseLike(value) || isFsReadStream(value);\n};\n/**\n * Helper for creating a {@link File} to pass to an SDK upload method from a variety of different data formats\n * @param value the raw content of the file. Can be an {@link Uploadable}, {@link BlobLikePart}, or {@link AsyncIterable} of {@link BlobLikePart}s\n * @param {string=} name the name of the file. If omitted, toFile will try to determine a file name from bits if possible\n * @param {Object=} options additional properties\n * @param {string=} options.type the MIME type of the content\n * @param {number=} options.lastModified the last modified timestamp\n * @returns a {@link File} with the given properties\n */\nexport async function toFile(value, name, options) {\n // If it's a promise, resolve it.\n value = await value;\n // If we've been given a `File` we don't need to do anything\n if (isFileLike(value)) {\n return value;\n }\n if (isResponseLike(value)) {\n const blob = await value.blob();\n name || (name = new URL(value.url).pathname.split(/[\\\\/]/).pop() ?? 'unknown_file');\n // we need to convert the `Blob` into an array buffer because the `Blob` class\n // that `node-fetch` defines is incompatible with the web standard which results\n // in `new File` interpreting it as a string instead of binary data.\n const data = isBlobLike(blob) ? [(await blob.arrayBuffer())] : [blob];\n return new File(data, name, options);\n }\n const bits = await getBytes(value);\n name || (name = getName(value) ?? 'unknown_file');\n if (!options?.type) {\n const type = bits[0]?.type;\n if (typeof type === 'string') {\n options = { ...options, type };\n }\n }\n return new File(bits, name, options);\n}\nasync function getBytes(value) {\n let parts = [];\n if (typeof value === 'string' ||\n ArrayBuffer.isView(value) || // includes Uint8Array, Buffer, etc.\n value instanceof ArrayBuffer) {\n parts.push(value);\n }\n else if (isBlobLike(value)) {\n parts.push(await value.arrayBuffer());\n }\n else if (isAsyncIterableIterator(value) // includes Readable, ReadableStream, etc.\n ) {\n for await (const chunk of value) {\n parts.push(chunk); // TODO, consider validating?\n }\n }\n else {\n throw new Error(`Unexpected data type: ${typeof value}; constructor: ${value?.constructor\n ?.name}; props: ${propsForError(value)}`);\n }\n return parts;\n}\nfunction propsForError(value) {\n const props = Object.getOwnPropertyNames(value);\n return `[${props.map((p) => `\"${p}\"`).join(', ')}]`;\n}\nfunction getName(value) {\n return (getStringFromMaybeBuffer(value.name) ||\n getStringFromMaybeBuffer(value.filename) ||\n // For fs.ReadStream\n getStringFromMaybeBuffer(value.path)?.split(/[\\\\/]/).pop());\n}\nconst getStringFromMaybeBuffer = (x) => {\n if (typeof x === 'string')\n return x;\n if (typeof Buffer !== 'undefined' && x instanceof Buffer)\n return String(x);\n return undefined;\n};\nconst isAsyncIterableIterator = (value) => value != null && typeof value === 'object' && typeof value[Symbol.asyncIterator] === 'function';\nexport const isMultipartBody = (body) => body && typeof body === 'object' && body.body && body[Symbol.toStringTag] === 'MultipartBody';\n/**\n * Returns a multipart/form-data request if any part of the given request body contains a File / Blob value.\n * Otherwise returns the request as is.\n */\nexport const maybeMultipartFormRequestOptions = async (opts) => {\n if (!hasUploadableValue(opts.body))\n return opts;\n const form = await createForm(opts.body);\n return getMultipartRequestOptions(form, opts);\n};\nexport const multipartFormRequestOptions = async (opts) => {\n const form = await createForm(opts.body);\n return getMultipartRequestOptions(form, opts);\n};\nexport const createForm = async (body) => {\n const form = new FormData();\n await Promise.all(Object.entries(body || {}).map(([key, value]) => addFormValue(form, key, value)));\n return form;\n};\nconst hasUploadableValue = (value) => {\n if (isUploadable(value))\n return true;\n if (Array.isArray(value))\n return value.some(hasUploadableValue);\n if (value && typeof value === 'object') {\n for (const k in value) {\n if (hasUploadableValue(value[k]))\n return true;\n }\n }\n return false;\n};\nconst addFormValue = async (form, key, value) => {\n if (value === undefined)\n return;\n if (value == null) {\n throw new TypeError(`Received null for \"${key}\"; to pass null in FormData, you must use the string 'null'`);\n }\n // TODO: make nested formats configurable\n if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {\n form.append(key, String(value));\n }\n else if (isUploadable(value)) {\n const file = await toFile(value);\n form.append(key, file);\n }\n else if (Array.isArray(value)) {\n await Promise.all(value.map((entry) => addFormValue(form, key + '[]', entry)));\n }\n else if (typeof value === 'object') {\n await Promise.all(Object.entries(value).map(([name, prop]) => addFormValue(form, `${key}[${name}]`, prop)));\n }\n else {\n throw new TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${value} instead`);\n }\n};\n//# sourceMappingURL=uploads.mjs.map","var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _APIClient_baseURLOverridden, _AbstractPage_client;\nimport { VERSION } from \"./version.mjs\";\nimport { DodoPaymentsError, APIError, APIConnectionError, APIConnectionTimeoutError, APIUserAbortError, } from \"./error.mjs\";\nimport { kind as shimsKind, getDefaultAgent, fetch, init, } from \"./_shims/index.mjs\";\n// try running side effects outside of _shims/index to workaround https://github.com/vercel/next.js/issues/76881\ninit();\nimport { isBlobLike, isMultipartBody } from \"./uploads.mjs\";\nexport { maybeMultipartFormRequestOptions, multipartFormRequestOptions, createForm, } from \"./uploads.mjs\";\nasync function defaultParseResponse(props) {\n const { response } = props;\n // fetch refuses to read the body when the status code is 204.\n if (response.status === 204) {\n return null;\n }\n if (props.options.__binaryResponse) {\n return response;\n }\n const contentType = response.headers.get('content-type');\n const mediaType = contentType?.split(';')[0]?.trim();\n const isJSON = mediaType?.includes('application/json') || mediaType?.endsWith('+json');\n if (isJSON) {\n const json = await response.json();\n debug('response', response.status, response.url, response.headers, json);\n return json;\n }\n const text = await response.text();\n debug('response', response.status, response.url, response.headers, text);\n // TODO handle blob, arraybuffer, other content types, etc.\n return text;\n}\n/**\n * A subclass of `Promise` providing additional helper methods\n * for interacting with the SDK.\n */\nexport class APIPromise extends Promise {\n constructor(responsePromise, parseResponse = defaultParseResponse) {\n super((resolve) => {\n // this is maybe a bit weird but this has to be a no-op to not implicitly\n // parse the response body; instead .then, .catch, .finally are overridden\n // to parse the response\n resolve(null);\n });\n this.responsePromise = responsePromise;\n this.parseResponse = parseResponse;\n }\n _thenUnwrap(transform) {\n return new APIPromise(this.responsePromise, async (props) => transform(await this.parseResponse(props), props));\n }\n /**\n * Gets the raw `Response` instance instead of parsing the response\n * data.\n *\n * If you want to parse the response body but still get the `Response`\n * instance, you can use {@link withResponse()}.\n *\n * 👋 Getting the wrong TypeScript type for `Response`?\n * Try setting `\"moduleResolution\": \"NodeNext\"` if you can,\n * or add one of these imports before your first `import … from 'dodopayments'`:\n * - `import 'dodopayments/shims/node'` (if you're running on Node)\n * - `import 'dodopayments/shims/web'` (otherwise)\n */\n asResponse() {\n return this.responsePromise.then((p) => p.response);\n }\n /**\n * Gets the parsed response data and the raw `Response` instance.\n *\n * If you just want to get the raw `Response` instance without parsing it,\n * you can use {@link asResponse()}.\n *\n *\n * 👋 Getting the wrong TypeScript type for `Response`?\n * Try setting `\"moduleResolution\": \"NodeNext\"` if you can,\n * or add one of these imports before your first `import … from 'dodopayments'`:\n * - `import 'dodopayments/shims/node'` (if you're running on Node)\n * - `import 'dodopayments/shims/web'` (otherwise)\n */\n async withResponse() {\n const [data, response] = await Promise.all([this.parse(), this.asResponse()]);\n return { data, response };\n }\n parse() {\n if (!this.parsedPromise) {\n this.parsedPromise = this.responsePromise.then(this.parseResponse);\n }\n return this.parsedPromise;\n }\n then(onfulfilled, onrejected) {\n return this.parse().then(onfulfilled, onrejected);\n }\n catch(onrejected) {\n return this.parse().catch(onrejected);\n }\n finally(onfinally) {\n return this.parse().finally(onfinally);\n }\n}\nexport class APIClient {\n constructor({ baseURL, baseURLOverridden, maxRetries = 2, timeout = 60000, // 1 minute\n httpAgent, fetch: overriddenFetch, }) {\n _APIClient_baseURLOverridden.set(this, void 0);\n this.baseURL = baseURL;\n __classPrivateFieldSet(this, _APIClient_baseURLOverridden, baseURLOverridden, \"f\");\n this.maxRetries = validatePositiveInteger('maxRetries', maxRetries);\n this.timeout = validatePositiveInteger('timeout', timeout);\n this.httpAgent = httpAgent;\n this.fetch = overriddenFetch ?? fetch;\n }\n authHeaders(opts) {\n return {};\n }\n /**\n * Override this to add your own default headers, for example:\n *\n * {\n * ...super.defaultHeaders(),\n * Authorization: 'Bearer 123',\n * }\n */\n defaultHeaders(opts) {\n return {\n Accept: 'application/json',\n ...(['head', 'get'].includes(opts.method) ? {} : { 'Content-Type': 'application/json' }),\n 'User-Agent': this.getUserAgent(),\n ...getPlatformHeaders(),\n ...this.authHeaders(opts),\n };\n }\n /**\n * Override this to add your own headers validation:\n */\n validateHeaders(headers, customHeaders) { }\n defaultIdempotencyKey() {\n return `stainless-node-retry-${uuid4()}`;\n }\n get(path, opts) {\n return this.methodRequest('get', path, opts);\n }\n post(path, opts) {\n return this.methodRequest('post', path, opts);\n }\n patch(path, opts) {\n return this.methodRequest('patch', path, opts);\n }\n put(path, opts) {\n return this.methodRequest('put', path, opts);\n }\n delete(path, opts) {\n return this.methodRequest('delete', path, opts);\n }\n methodRequest(method, path, opts) {\n return this.request(Promise.resolve(opts).then(async (opts) => {\n const body = opts && isBlobLike(opts?.body) ? new DataView(await opts.body.arrayBuffer())\n : opts?.body instanceof DataView ? opts.body\n : opts?.body instanceof ArrayBuffer ? new DataView(opts.body)\n : opts && ArrayBuffer.isView(opts?.body) ? new DataView(opts.body.buffer)\n : opts?.body;\n return { method, path, ...opts, body };\n }));\n }\n getAPIList(path, Page, opts) {\n return this.requestAPIList(Page, { method: 'get', path, ...opts });\n }\n calculateContentLength(body) {\n if (typeof body === 'string') {\n if (typeof Buffer !== 'undefined') {\n return Buffer.byteLength(body, 'utf8').toString();\n }\n if (typeof TextEncoder !== 'undefined') {\n const encoder = new TextEncoder();\n const encoded = encoder.encode(body);\n return encoded.length.toString();\n }\n }\n else if (ArrayBuffer.isView(body)) {\n return body.byteLength.toString();\n }\n return null;\n }\n async buildRequest(inputOptions, { retryCount = 0 } = {}) {\n const options = { ...inputOptions };\n const { method, path, query, defaultBaseURL, headers: headers = {} } = options;\n const body = ArrayBuffer.isView(options.body) || (options.__binaryRequest && typeof options.body === 'string') ?\n options.body\n : isMultipartBody(options.body) ? options.body.body\n : options.body ? JSON.stringify(options.body, null, 2)\n : null;\n const contentLength = this.calculateContentLength(body);\n const url = this.buildURL(path, query, defaultBaseURL);\n if ('timeout' in options)\n validatePositiveInteger('timeout', options.timeout);\n options.timeout = options.timeout ?? this.timeout;\n const httpAgent = options.httpAgent ?? this.httpAgent ?? getDefaultAgent(url);\n const minAgentTimeout = options.timeout + 1000;\n if (typeof httpAgent?.options?.timeout === 'number' &&\n minAgentTimeout > (httpAgent.options.timeout ?? 0)) {\n // Allow any given request to bump our agent active socket timeout.\n // This may seem strange, but leaking active sockets should be rare and not particularly problematic,\n // and without mutating agent we would need to create more of them.\n // This tradeoff optimizes for performance.\n httpAgent.options.timeout = minAgentTimeout;\n }\n if (this.idempotencyHeader && method !== 'get') {\n if (!inputOptions.idempotencyKey)\n inputOptions.idempotencyKey = this.defaultIdempotencyKey();\n headers[this.idempotencyHeader] = inputOptions.idempotencyKey;\n }\n const reqHeaders = this.buildHeaders({ options, headers, contentLength, retryCount });\n const req = {\n method,\n ...(body && { body: body }),\n headers: reqHeaders,\n ...(httpAgent && { agent: httpAgent }),\n // @ts-ignore node-fetch uses a custom AbortSignal type that is\n // not compatible with standard web types\n signal: options.signal ?? null,\n };\n return { req, url, timeout: options.timeout };\n }\n buildHeaders({ options, headers, contentLength, retryCount, }) {\n const reqHeaders = {};\n if (contentLength) {\n reqHeaders['content-length'] = contentLength;\n }\n const defaultHeaders = this.defaultHeaders(options);\n applyHeadersMut(reqHeaders, defaultHeaders);\n applyHeadersMut(reqHeaders, headers);\n // let builtin fetch set the Content-Type for multipart bodies\n if (isMultipartBody(options.body) && shimsKind !== 'node') {\n delete reqHeaders['content-type'];\n }\n // Don't set theses headers if they were already set or removed through default headers or by the caller.\n // We check `defaultHeaders` and `headers`, which can contain nulls, instead of `reqHeaders` to account\n // for the removal case.\n if (getHeader(defaultHeaders, 'x-stainless-retry-count') === undefined &&\n getHeader(headers, 'x-stainless-retry-count') === undefined) {\n reqHeaders['x-stainless-retry-count'] = String(retryCount);\n }\n if (getHeader(defaultHeaders, 'x-stainless-timeout') === undefined &&\n getHeader(headers, 'x-stainless-timeout') === undefined &&\n options.timeout) {\n reqHeaders['x-stainless-timeout'] = String(Math.trunc(options.timeout / 1000));\n }\n this.validateHeaders(reqHeaders, headers);\n return reqHeaders;\n }\n /**\n * Used as a callback for mutating the given `FinalRequestOptions` object.\n */\n async prepareOptions(options) { }\n /**\n * Used as a callback for mutating the given `RequestInit` object.\n *\n * This is useful for cases where you want to add certain headers based off of\n * the request properties, e.g. `method` or `url`.\n */\n async prepareRequest(request, { url, options }) { }\n parseHeaders(headers) {\n return (!headers ? {}\n : Symbol.iterator in headers ?\n Object.fromEntries(Array.from(headers).map((header) => [...header]))\n : { ...headers });\n }\n makeStatusError(status, error, message, headers) {\n return APIError.generate(status, error, message, headers);\n }\n request(options, remainingRetries = null) {\n return new APIPromise(this.makeRequest(options, remainingRetries));\n }\n async makeRequest(optionsInput, retriesRemaining) {\n const options = await optionsInput;\n const maxRetries = options.maxRetries ?? this.maxRetries;\n if (retriesRemaining == null) {\n retriesRemaining = maxRetries;\n }\n await this.prepareOptions(options);\n const { req, url, timeout } = await this.buildRequest(options, {\n retryCount: maxRetries - retriesRemaining,\n });\n await this.prepareRequest(req, { url, options });\n debug('request', url, options, req.headers);\n if (options.signal?.aborted) {\n throw new APIUserAbortError();\n }\n const controller = new AbortController();\n const response = await this.fetchWithTimeout(url, req, timeout, controller).catch(castToError);\n if (response instanceof Error) {\n if (options.signal?.aborted) {\n throw new APIUserAbortError();\n }\n if (retriesRemaining) {\n return this.retryRequest(options, retriesRemaining);\n }\n if (response.name === 'AbortError') {\n throw new APIConnectionTimeoutError();\n }\n throw new APIConnectionError({ cause: response });\n }\n const responseHeaders = createResponseHeaders(response.headers);\n if (!response.ok) {\n if (retriesRemaining && this.shouldRetry(response)) {\n const retryMessage = `retrying, ${retriesRemaining} attempts remaining`;\n debug(`response (error; ${retryMessage})`, response.status, url, responseHeaders);\n return this.retryRequest(options, retriesRemaining, responseHeaders);\n }\n const errText = await response.text().catch((e) => castToError(e).message);\n const errJSON = safeJSON(errText);\n const errMessage = errJSON ? undefined : errText;\n const retryMessage = retriesRemaining ? `(error; no more retries left)` : `(error; not retryable)`;\n debug(`response (error; ${retryMessage})`, response.status, url, responseHeaders, errMessage);\n const err = this.makeStatusError(response.status, errJSON, errMessage, responseHeaders);\n throw err;\n }\n return { response, options, controller };\n }\n requestAPIList(Page, options) {\n const request = this.makeRequest(options, null);\n return new PagePromise(this, request, Page);\n }\n buildURL(path, query, defaultBaseURL) {\n const baseURL = (!__classPrivateFieldGet(this, _APIClient_baseURLOverridden, \"f\") && defaultBaseURL) || this.baseURL;\n const url = isAbsoluteURL(path) ?\n new URL(path)\n : new URL(baseURL + (baseURL.endsWith('/') && path.startsWith('/') ? path.slice(1) : path));\n const defaultQuery = this.defaultQuery();\n if (!isEmptyObj(defaultQuery)) {\n query = { ...defaultQuery, ...query };\n }\n if (typeof query === 'object' && query && !Array.isArray(query)) {\n url.search = this.stringifyQuery(query);\n }\n return url.toString();\n }\n stringifyQuery(query) {\n return Object.entries(query)\n .filter(([_, value]) => typeof value !== 'undefined')\n .map(([key, value]) => {\n if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {\n return `${encodeURIComponent(key)}=${encodeURIComponent(value)}`;\n }\n if (value === null) {\n return `${encodeURIComponent(key)}=`;\n }\n throw new DodoPaymentsError(`Cannot stringify type ${typeof value}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`);\n })\n .join('&');\n }\n async fetchWithTimeout(url, init, ms, controller) {\n const { signal, ...options } = init || {};\n if (signal)\n signal.addEventListener('abort', () => controller.abort());\n const timeout = setTimeout(() => controller.abort(), ms);\n const fetchOptions = {\n signal: controller.signal,\n ...options,\n };\n if (fetchOptions.method) {\n // Custom methods like 'patch' need to be uppercased\n // See https://github.com/nodejs/undici/issues/2294\n fetchOptions.method = fetchOptions.method.toUpperCase();\n }\n return (\n // use undefined this binding; fetch errors if bound to something else in browser/cloudflare\n this.fetch.call(undefined, url, fetchOptions).finally(() => {\n clearTimeout(timeout);\n }));\n }\n shouldRetry(response) {\n // Note this is not a standard header.\n const shouldRetryHeader = response.headers.get('x-should-retry');\n // If the server explicitly says whether or not to retry, obey.\n if (shouldRetryHeader === 'true')\n return true;\n if (shouldRetryHeader === 'false')\n return false;\n // Retry on request timeouts.\n if (response.status === 408)\n return true;\n // Retry on lock timeouts.\n if (response.status === 409)\n return true;\n // Retry on rate limits.\n if (response.status === 429)\n return true;\n // Retry internal errors.\n if (response.status >= 500)\n return true;\n return false;\n }\n async retryRequest(options, retriesRemaining, responseHeaders) {\n let timeoutMillis;\n // Note the `retry-after-ms` header may not be standard, but is a good idea and we'd like proactive support for it.\n const retryAfterMillisHeader = responseHeaders?.['retry-after-ms'];\n if (retryAfterMillisHeader) {\n const timeoutMs = parseFloat(retryAfterMillisHeader);\n if (!Number.isNaN(timeoutMs)) {\n timeoutMillis = timeoutMs;\n }\n }\n // About the Retry-After header: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After\n const retryAfterHeader = responseHeaders?.['retry-after'];\n if (retryAfterHeader && !timeoutMillis) {\n const timeoutSeconds = parseFloat(retryAfterHeader);\n if (!Number.isNaN(timeoutSeconds)) {\n timeoutMillis = timeoutSeconds * 1000;\n }\n else {\n timeoutMillis = Date.parse(retryAfterHeader) - Date.now();\n }\n }\n // If the API asks us to wait a certain amount of time (and it's a reasonable amount),\n // just do what it says, but otherwise calculate a default\n if (!(timeoutMillis && 0 <= timeoutMillis && timeoutMillis < 60 * 1000)) {\n const maxRetries = options.maxRetries ?? this.maxRetries;\n timeoutMillis = this.calculateDefaultRetryTimeoutMillis(retriesRemaining, maxRetries);\n }\n await sleep(timeoutMillis);\n return this.makeRequest(options, retriesRemaining - 1);\n }\n calculateDefaultRetryTimeoutMillis(retriesRemaining, maxRetries) {\n const initialRetryDelay = 0.5;\n const maxRetryDelay = 8.0;\n const numRetries = maxRetries - retriesRemaining;\n // Apply exponential backoff, but not more than the max.\n const sleepSeconds = Math.min(initialRetryDelay * Math.pow(2, numRetries), maxRetryDelay);\n // Apply some jitter, take up to at most 25 percent of the retry time.\n const jitter = 1 - Math.random() * 0.25;\n return sleepSeconds * jitter * 1000;\n }\n getUserAgent() {\n return `${this.constructor.name}/JS ${VERSION}`;\n }\n}\n_APIClient_baseURLOverridden = new WeakMap();\nexport class AbstractPage {\n constructor(client, response, body, options) {\n _AbstractPage_client.set(this, void 0);\n __classPrivateFieldSet(this, _AbstractPage_client, client, \"f\");\n this.options = options;\n this.response = response;\n this.body = body;\n }\n hasNextPage() {\n const items = this.getPaginatedItems();\n if (!items.length)\n return false;\n return this.nextPageInfo() != null;\n }\n async getNextPage() {\n const nextInfo = this.nextPageInfo();\n if (!nextInfo) {\n throw new DodoPaymentsError('No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.');\n }\n const nextOptions = { ...this.options };\n if ('params' in nextInfo && typeof nextOptions.query === 'object') {\n nextOptions.query = { ...nextOptions.query, ...nextInfo.params };\n }\n else if ('url' in nextInfo) {\n const params = [...Object.entries(nextOptions.query || {}), ...nextInfo.url.searchParams.entries()];\n for (const [key, value] of params) {\n nextInfo.url.searchParams.set(key, value);\n }\n nextOptions.query = undefined;\n nextOptions.path = nextInfo.url.toString();\n }\n return await __classPrivateFieldGet(this, _AbstractPage_client, \"f\").requestAPIList(this.constructor, nextOptions);\n }\n async *iterPages() {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n let page = this;\n yield page;\n while (page.hasNextPage()) {\n page = await page.getNextPage();\n yield page;\n }\n }\n async *[(_AbstractPage_client = new WeakMap(), Symbol.asyncIterator)]() {\n for await (const page of this.iterPages()) {\n for (const item of page.getPaginatedItems()) {\n yield item;\n }\n }\n }\n}\n/**\n * This subclass of Promise will resolve to an instantiated Page once the request completes.\n *\n * It also implements AsyncIterable to allow auto-paginating iteration on an unawaited list call, eg:\n *\n * for await (const item of client.items.list()) {\n * console.log(item)\n * }\n */\nexport class PagePromise extends APIPromise {\n constructor(client, request, Page) {\n super(request, async (props) => new Page(client, props.response, await defaultParseResponse(props), props.options));\n }\n /**\n * Allow auto-paginating iteration on an unawaited list call, eg:\n *\n * for await (const item of client.items.list()) {\n * console.log(item)\n * }\n */\n async *[Symbol.asyncIterator]() {\n const page = await this;\n for await (const item of page) {\n yield item;\n }\n }\n}\nexport const createResponseHeaders = (headers) => {\n return new Proxy(Object.fromEntries(\n // @ts-ignore\n headers.entries()), {\n get(target, name) {\n const key = name.toString();\n return target[key.toLowerCase()] || target[key];\n },\n });\n};\n// This is required so that we can determine if a given object matches the RequestOptions\n// type at runtime. While this requires duplication, it is enforced by the TypeScript\n// compiler such that any missing / extraneous keys will cause an error.\nconst requestOptionsKeys = {\n method: true,\n path: true,\n query: true,\n body: true,\n headers: true,\n defaultBaseURL: true,\n maxRetries: true,\n stream: true,\n timeout: true,\n httpAgent: true,\n signal: true,\n idempotencyKey: true,\n __binaryRequest: true,\n __binaryResponse: true,\n};\nexport const isRequestOptions = (obj) => {\n return (typeof obj === 'object' &&\n obj !== null &&\n !isEmptyObj(obj) &&\n Object.keys(obj).every((k) => hasOwn(requestOptionsKeys, k)));\n};\nconst getPlatformProperties = () => {\n if (typeof Deno !== 'undefined' && Deno.build != null) {\n return {\n 'X-Stainless-Lang': 'js',\n 'X-Stainless-Package-Version': VERSION,\n 'X-Stainless-OS': normalizePlatform(Deno.build.os),\n 'X-Stainless-Arch': normalizeArch(Deno.build.arch),\n 'X-Stainless-Runtime': 'deno',\n 'X-Stainless-Runtime-Version': typeof Deno.version === 'string' ? Deno.version : Deno.version?.deno ?? 'unknown',\n };\n }\n if (typeof EdgeRuntime !== 'undefined') {\n return {\n 'X-Stainless-Lang': 'js',\n 'X-Stainless-Package-Version': VERSION,\n 'X-Stainless-OS': 'Unknown',\n 'X-Stainless-Arch': `other:${EdgeRuntime}`,\n 'X-Stainless-Runtime': 'edge',\n 'X-Stainless-Runtime-Version': process.version,\n };\n }\n // Check if Node.js\n if (Object.prototype.toString.call(typeof process !== 'undefined' ? process : 0) === '[object process]') {\n return {\n 'X-Stainless-Lang': 'js',\n 'X-Stainless-Package-Version': VERSION,\n 'X-Stainless-OS': normalizePlatform(process.platform),\n 'X-Stainless-Arch': normalizeArch(process.arch),\n 'X-Stainless-Runtime': 'node',\n 'X-Stainless-Runtime-Version': process.version,\n };\n }\n const browserInfo = getBrowserInfo();\n if (browserInfo) {\n return {\n 'X-Stainless-Lang': 'js',\n 'X-Stainless-Package-Version': VERSION,\n 'X-Stainless-OS': 'Unknown',\n 'X-Stainless-Arch': 'unknown',\n 'X-Stainless-Runtime': `browser:${browserInfo.browser}`,\n 'X-Stainless-Runtime-Version': browserInfo.version,\n };\n }\n // TODO add support for Cloudflare workers, etc.\n return {\n 'X-Stainless-Lang': 'js',\n 'X-Stainless-Package-Version': VERSION,\n 'X-Stainless-OS': 'Unknown',\n 'X-Stainless-Arch': 'unknown',\n 'X-Stainless-Runtime': 'unknown',\n 'X-Stainless-Runtime-Version': 'unknown',\n };\n};\n// Note: modified from https://github.com/JS-DevTools/host-environment/blob/b1ab79ecde37db5d6e163c050e54fe7d287d7c92/src/isomorphic.browser.ts\nfunction getBrowserInfo() {\n if (typeof navigator === 'undefined' || !navigator) {\n return null;\n }\n // NOTE: The order matters here!\n const browserPatterns = [\n { key: 'edge', pattern: /Edge(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/ },\n { key: 'ie', pattern: /MSIE(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/ },\n { key: 'ie', pattern: /Trident(?:.*rv\\:(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/ },\n { key: 'chrome', pattern: /Chrome(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/ },\n { key: 'firefox', pattern: /Firefox(?:\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?/ },\n { key: 'safari', pattern: /(?:Version\\W+(\\d+)\\.(\\d+)(?:\\.(\\d+))?)?(?:\\W+Mobile\\S*)?\\W+Safari/ },\n ];\n // Find the FIRST matching browser\n for (const { key, pattern } of browserPatterns) {\n const match = pattern.exec(navigator.userAgent);\n if (match) {\n const major = match[1] || 0;\n const minor = match[2] || 0;\n const patch = match[3] || 0;\n return { browser: key, version: `${major}.${minor}.${patch}` };\n }\n }\n return null;\n}\nconst normalizeArch = (arch) => {\n // Node docs:\n // - https://nodejs.org/api/process.html#processarch\n // Deno docs:\n // - https://doc.deno.land/deno/stable/~/Deno.build\n if (arch === 'x32')\n return 'x32';\n if (arch === 'x86_64' || arch === 'x64')\n return 'x64';\n if (arch === 'arm')\n return 'arm';\n if (arch === 'aarch64' || arch === 'arm64')\n return 'arm64';\n if (arch)\n return `other:${arch}`;\n return 'unknown';\n};\nconst normalizePlatform = (platform) => {\n // Node platforms:\n // - https://nodejs.org/api/process.html#processplatform\n // Deno platforms:\n // - https://doc.deno.land/deno/stable/~/Deno.build\n // - https://github.com/denoland/deno/issues/14799\n platform = platform.toLowerCase();\n // NOTE: this iOS check is untested and may not work\n // Node does not work natively on IOS, there is a fork at\n // https://github.com/nodejs-mobile/nodejs-mobile\n // however it is unknown at the time of writing how to detect if it is running\n if (platform.includes('ios'))\n return 'iOS';\n if (platform === 'android')\n return 'Android';\n if (platform === 'darwin')\n return 'MacOS';\n if (platform === 'win32')\n return 'Windows';\n if (platform === 'freebsd')\n return 'FreeBSD';\n if (platform === 'openbsd')\n return 'OpenBSD';\n if (platform === 'linux')\n return 'Linux';\n if (platform)\n return `Other:${platform}`;\n return 'Unknown';\n};\nlet _platformHeaders;\nconst getPlatformHeaders = () => {\n return (_platformHeaders ?? (_platformHeaders = getPlatformProperties()));\n};\nexport const safeJSON = (text) => {\n try {\n return JSON.parse(text);\n }\n catch (err) {\n return undefined;\n }\n};\n// https://url.spec.whatwg.org/#url-scheme-string\nconst startsWithSchemeRegexp = /^[a-z][a-z0-9+.-]*:/i;\nconst isAbsoluteURL = (url) => {\n return startsWithSchemeRegexp.test(url);\n};\nexport const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));\nconst validatePositiveInteger = (name, n) => {\n if (typeof n !== 'number' || !Number.isInteger(n)) {\n throw new DodoPaymentsError(`${name} must be an integer`);\n }\n if (n < 0) {\n throw new DodoPaymentsError(`${name} must be a positive integer`);\n }\n return n;\n};\nexport const castToError = (err) => {\n if (err instanceof Error)\n return err;\n if (typeof err === 'object' && err !== null) {\n try {\n return new Error(JSON.stringify(err));\n }\n catch { }\n }\n return new Error(err);\n};\nexport const ensurePresent = (value) => {\n if (value == null)\n throw new DodoPaymentsError(`Expected a value to be given but received ${value} instead.`);\n return value;\n};\n/**\n * Read an environment variable.\n *\n * Trims beginning and trailing whitespace.\n *\n * Will return undefined if the environment variable doesn't exist or cannot be accessed.\n */\nexport const readEnv = (env) => {\n if (typeof process !== 'undefined') {\n return process.env?.[env]?.trim() ?? undefined;\n }\n if (typeof Deno !== 'undefined') {\n return Deno.env?.get?.(env)?.trim();\n }\n return undefined;\n};\nexport const coerceInteger = (value) => {\n if (typeof value === 'number')\n return Math.round(value);\n if (typeof value === 'string')\n return parseInt(value, 10);\n throw new DodoPaymentsError(`Could not coerce ${value} (type: ${typeof value}) into a number`);\n};\nexport const coerceFloat = (value) => {\n if (typeof value === 'number')\n return value;\n if (typeof value === 'string')\n return parseFloat(value);\n throw new DodoPaymentsError(`Could not coerce ${value} (type: ${typeof value}) into a number`);\n};\nexport const coerceBoolean = (value) => {\n if (typeof value === 'boolean')\n return value;\n if (typeof value === 'string')\n return value === 'true';\n return Boolean(value);\n};\nexport const maybeCoerceInteger = (value) => {\n if (value === undefined) {\n return undefined;\n }\n return coerceInteger(value);\n};\nexport const maybeCoerceFloat = (value) => {\n if (value === undefined) {\n return undefined;\n }\n return coerceFloat(value);\n};\nexport const maybeCoerceBoolean = (value) => {\n if (value === undefined) {\n return undefined;\n }\n return coerceBoolean(value);\n};\n// https://stackoverflow.com/a/34491287\nexport function isEmptyObj(obj) {\n if (!obj)\n return true;\n for (const _k in obj)\n return false;\n return true;\n}\n// https://eslint.org/docs/latest/rules/no-prototype-builtins\nexport function hasOwn(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n/**\n * Copies headers from \"newHeaders\" onto \"targetHeaders\",\n * using lower-case for all properties,\n * ignoring any keys with undefined values,\n * and deleting any keys with null values.\n */\nfunction applyHeadersMut(targetHeaders, newHeaders) {\n for (const k in newHeaders) {\n if (!hasOwn(newHeaders, k))\n continue;\n const lowerKey = k.toLowerCase();\n if (!lowerKey)\n continue;\n const val = newHeaders[k];\n if (val === null) {\n delete targetHeaders[lowerKey];\n }\n else if (val !== undefined) {\n targetHeaders[lowerKey] = val;\n }\n }\n}\nexport function debug(action, ...args) {\n if (typeof process !== 'undefined' && process?.env?.['DEBUG'] === 'true') {\n console.log(`DodoPayments:DEBUG:${action}`, ...args);\n }\n}\n/**\n * https://stackoverflow.com/a/2117523\n */\nconst uuid4 = () => {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = (Math.random() * 16) | 0;\n const v = c === 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n};\nexport const isRunningInBrowser = () => {\n return (\n // @ts-ignore\n typeof window !== 'undefined' &&\n // @ts-ignore\n typeof window.document !== 'undefined' &&\n // @ts-ignore\n typeof navigator !== 'undefined');\n};\nexport const isHeadersProtocol = (headers) => {\n return typeof headers?.get === 'function';\n};\nexport const getRequiredHeader = (headers, header) => {\n const foundHeader = getHeader(headers, header);\n if (foundHeader === undefined) {\n throw new Error(`Could not find ${header} header`);\n }\n return foundHeader;\n};\nexport const getHeader = (headers, header) => {\n const lowerCasedHeader = header.toLowerCase();\n if (isHeadersProtocol(headers)) {\n // to deal with the case where the header looks like Stainless-Event-Id\n const intercapsHeader = header[0]?.toUpperCase() +\n header.substring(1).replace(/([^\\w])(\\w)/g, (_m, g1, g2) => g1 + g2.toUpperCase());\n for (const key of [header, lowerCasedHeader, header.toUpperCase(), intercapsHeader]) {\n const value = headers.get(key);\n if (value) {\n return value;\n }\n }\n }\n for (const [key, value] of Object.entries(headers)) {\n if (key.toLowerCase() === lowerCasedHeader) {\n if (Array.isArray(value)) {\n if (value.length <= 1)\n return value[0];\n console.warn(`Received ${value.length} entries for the ${header} header, using the first entry.`);\n return value[0];\n }\n return value;\n }\n }\n return undefined;\n};\n/**\n * Encodes a string to Base64 format.\n */\nexport const toBase64 = (str) => {\n if (!str)\n return '';\n if (typeof Buffer !== 'undefined') {\n return Buffer.from(str).toString('base64');\n }\n if (typeof btoa !== 'undefined') {\n return btoa(str);\n }\n throw new DodoPaymentsError('Cannot generate b64 string; Expected `Buffer` or `btoa` to be defined');\n};\nexport function isObj(obj) {\n return obj != null && typeof obj === 'object' && !Array.isArray(obj);\n}\n//# sourceMappingURL=core.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { AbstractPage } from \"./core.mjs\";\nexport class DefaultPageNumberPagination extends AbstractPage {\n constructor(client, response, body, options) {\n super(client, response, body, options);\n this.items = body.items || [];\n }\n getPaginatedItems() {\n return this.items ?? [];\n }\n // @deprecated Please use `nextPageInfo()` instead\n nextPageParams() {\n const info = this.nextPageInfo();\n if (!info)\n return null;\n if ('params' in info)\n return info.params;\n const params = Object.fromEntries(info.url.searchParams);\n if (!Object.keys(params).length)\n return null;\n return params;\n }\n nextPageInfo() {\n const query = this.options.query;\n const currentPage = query?.page_number ?? 1;\n return { params: { page_number: currentPage + 1 } };\n }\n}\nexport class CursorPagePagination extends AbstractPage {\n constructor(client, response, body, options) {\n super(client, response, body, options);\n this.data = body.data || [];\n this.iterator = body.iterator || '';\n this.done = body.done || false;\n }\n getPaginatedItems() {\n return this.data ?? [];\n }\n hasNextPage() {\n if (this.done === false) {\n return false;\n }\n return super.hasNextPage();\n }\n // @deprecated Please use `nextPageInfo()` instead\n nextPageParams() {\n const info = this.nextPageInfo();\n if (!info)\n return null;\n if ('params' in info)\n return info.params;\n const params = Object.fromEntries(info.url.searchParams);\n if (!Object.keys(params).length)\n return null;\n return params;\n }\n nextPageInfo() {\n const cursor = this.iterator;\n if (!cursor) {\n return null;\n }\n return {\n params: {\n iterator: cursor,\n },\n };\n }\n}\n//# sourceMappingURL=pagination.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nexport class APIResource {\n constructor(client) {\n this._client = client;\n }\n}\n//# sourceMappingURL=resource.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../resource.mjs\";\nimport { isRequestOptions } from \"../core.mjs\";\nimport { DefaultPageNumberPagination } from \"../pagination.mjs\";\nexport class Addons extends APIResource {\n create(body, options) {\n return this._client.post('/addons', { body, ...options });\n }\n retrieve(id, options) {\n return this._client.get(`/addons/${id}`, options);\n }\n update(id, body, options) {\n return this._client.patch(`/addons/${id}`, { body, ...options });\n }\n list(query = {}, options) {\n if (isRequestOptions(query)) {\n return this.list({}, query);\n }\n return this._client.getAPIList('/addons', AddonResponsesDefaultPageNumberPagination, {\n query,\n ...options,\n });\n }\n updateImages(id, options) {\n return this._client.put(`/addons/${id}/images`, options);\n }\n}\nexport class AddonResponsesDefaultPageNumberPagination extends DefaultPageNumberPagination {\n}\nAddons.AddonResponsesDefaultPageNumberPagination = AddonResponsesDefaultPageNumberPagination;\n//# sourceMappingURL=addons.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../resource.mjs\";\nexport class Brands extends APIResource {\n create(body, options) {\n return this._client.post('/brands', { body, ...options });\n }\n /**\n * Thin handler just calls `get_brand` and wraps in `Json(...)`\n */\n retrieve(id, options) {\n return this._client.get(`/brands/${id}`, options);\n }\n update(id, body, options) {\n return this._client.patch(`/brands/${id}`, { body, ...options });\n }\n list(options) {\n return this._client.get('/brands', options);\n }\n updateImages(id, options) {\n return this._client.put(`/brands/${id}/images`, options);\n }\n}\n//# sourceMappingURL=brands.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../resource.mjs\";\nexport class CheckoutSessions extends APIResource {\n create(body, options) {\n return this._client.post('/checkouts', { body, ...options });\n }\n}\n//# sourceMappingURL=checkout-sessions.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../resource.mjs\";\nimport { isRequestOptions } from \"../../core.mjs\";\nexport class CustomerPortal extends APIResource {\n create(customerId, params = {}, options) {\n if (isRequestOptions(params)) {\n return this.create(customerId, {}, params);\n }\n const { send_email } = params;\n return this._client.post(`/customers/${customerId}/customer-portal/session`, {\n query: { send_email },\n ...options,\n });\n }\n}\n//# sourceMappingURL=customer-portal.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../resource.mjs\";\nimport { isRequestOptions } from \"../../core.mjs\";\nimport * as CustomerPortalAPI from \"./customer-portal.mjs\";\nimport { CustomerPortal } from \"./customer-portal.mjs\";\nimport { DefaultPageNumberPagination } from \"../../pagination.mjs\";\nexport class Customers extends APIResource {\n constructor() {\n super(...arguments);\n this.customerPortal = new CustomerPortalAPI.CustomerPortal(this._client);\n }\n create(body, options) {\n return this._client.post('/customers', { body, ...options });\n }\n retrieve(customerId, options) {\n return this._client.get(`/customers/${customerId}`, options);\n }\n update(customerId, body, options) {\n return this._client.patch(`/customers/${customerId}`, { body, ...options });\n }\n list(query = {}, options) {\n if (isRequestOptions(query)) {\n return this.list({}, query);\n }\n return this._client.getAPIList('/customers', CustomersDefaultPageNumberPagination, { query, ...options });\n }\n}\nexport class CustomersDefaultPageNumberPagination extends DefaultPageNumberPagination {\n}\nCustomers.CustomersDefaultPageNumberPagination = CustomersDefaultPageNumberPagination;\nCustomers.CustomerPortal = CustomerPortal;\n//# sourceMappingURL=customers.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../resource.mjs\";\nimport { isRequestOptions } from \"../core.mjs\";\nimport { DefaultPageNumberPagination } from \"../pagination.mjs\";\nexport class Discounts extends APIResource {\n /**\n * POST /discounts If `code` is omitted or empty, a random 16-char uppercase code\n * is generated.\n */\n create(body, options) {\n return this._client.post('/discounts', { body, ...options });\n }\n /**\n * GET /discounts/{discount_id}\n */\n retrieve(discountId, options) {\n return this._client.get(`/discounts/${discountId}`, options);\n }\n /**\n * PATCH /discounts/{discount_id}\n */\n update(discountId, body, options) {\n return this._client.patch(`/discounts/${discountId}`, { body, ...options });\n }\n list(query = {}, options) {\n if (isRequestOptions(query)) {\n return this.list({}, query);\n }\n return this._client.getAPIList('/discounts', DiscountsDefaultPageNumberPagination, { query, ...options });\n }\n /**\n * DELETE /discounts/{discount_id}\n */\n delete(discountId, options) {\n return this._client.delete(`/discounts/${discountId}`, {\n ...options,\n headers: { Accept: '*/*', ...options?.headers },\n });\n }\n}\nexport class DiscountsDefaultPageNumberPagination extends DefaultPageNumberPagination {\n}\nDiscounts.DiscountsDefaultPageNumberPagination = DiscountsDefaultPageNumberPagination;\n//# sourceMappingURL=discounts.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../resource.mjs\";\nimport { isRequestOptions } from \"../core.mjs\";\nimport { DefaultPageNumberPagination } from \"../pagination.mjs\";\nexport class Disputes extends APIResource {\n retrieve(disputeId, options) {\n return this._client.get(`/disputes/${disputeId}`, options);\n }\n list(query = {}, options) {\n if (isRequestOptions(query)) {\n return this.list({}, query);\n }\n return this._client.getAPIList('/disputes', DisputeListResponsesDefaultPageNumberPagination, {\n query,\n ...options,\n });\n }\n}\nexport class DisputeListResponsesDefaultPageNumberPagination extends DefaultPageNumberPagination {\n}\nDisputes.DisputeListResponsesDefaultPageNumberPagination = DisputeListResponsesDefaultPageNumberPagination;\n//# sourceMappingURL=disputes.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../resource.mjs\";\nexport class Payments extends APIResource {\n retrieve(paymentId, options) {\n return this._client.get(`/invoices/payments/${paymentId}`, {\n ...options,\n headers: { Accept: 'application/pdf', ...options?.headers },\n __binaryResponse: true,\n });\n }\n}\n//# sourceMappingURL=payments.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../resource.mjs\";\nimport * as PaymentsAPI from \"./payments.mjs\";\nimport { Payments } from \"./payments.mjs\";\nexport class Invoices extends APIResource {\n constructor() {\n super(...arguments);\n this.payments = new PaymentsAPI.Payments(this._client);\n }\n}\nInvoices.Payments = Payments;\n//# sourceMappingURL=invoices.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../resource.mjs\";\nimport { isRequestOptions } from \"../core.mjs\";\nimport { DefaultPageNumberPagination } from \"../pagination.mjs\";\nexport class LicenseKeyInstances extends APIResource {\n /**\n * @example\n * ```ts\n * const licenseKeyInstance =\n * await client.licenseKeyInstances.retrieve('lki_123');\n * ```\n */\n retrieve(id, options) {\n return this._client.get(`/license_key_instances/${id}`, options);\n }\n /**\n * @example\n * ```ts\n * const licenseKeyInstance =\n * await client.licenseKeyInstances.update('lki_123', {\n * name: 'name',\n * });\n * ```\n */\n update(id, body, options) {\n return this._client.patch(`/license_key_instances/${id}`, { body, ...options });\n }\n list(query = {}, options) {\n if (isRequestOptions(query)) {\n return this.list({}, query);\n }\n return this._client.getAPIList('/license_key_instances', LicenseKeyInstancesDefaultPageNumberPagination, {\n query,\n ...options,\n });\n }\n}\nexport class LicenseKeyInstancesDefaultPageNumberPagination extends DefaultPageNumberPagination {\n}\nLicenseKeyInstances.LicenseKeyInstancesDefaultPageNumberPagination =\n LicenseKeyInstancesDefaultPageNumberPagination;\n//# sourceMappingURL=license-key-instances.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../resource.mjs\";\nimport { isRequestOptions } from \"../core.mjs\";\nimport { DefaultPageNumberPagination } from \"../pagination.mjs\";\nexport class LicenseKeys extends APIResource {\n /**\n * @example\n * ```ts\n * const licenseKey = await client.licenseKeys.retrieve(\n * 'lic_123',\n * );\n * ```\n */\n retrieve(id, options) {\n return this._client.get(`/license_keys/${id}`, options);\n }\n /**\n * @example\n * ```ts\n * const licenseKey = await client.licenseKeys.update(\n * 'lic_123',\n * );\n * ```\n */\n update(id, body, options) {\n return this._client.patch(`/license_keys/${id}`, { body, ...options });\n }\n list(query = {}, options) {\n if (isRequestOptions(query)) {\n return this.list({}, query);\n }\n return this._client.getAPIList('/license_keys', LicenseKeysDefaultPageNumberPagination, {\n query,\n ...options,\n });\n }\n}\nexport class LicenseKeysDefaultPageNumberPagination extends DefaultPageNumberPagination {\n}\nLicenseKeys.LicenseKeysDefaultPageNumberPagination = LicenseKeysDefaultPageNumberPagination;\n//# sourceMappingURL=license-keys.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../resource.mjs\";\nexport class Licenses extends APIResource {\n /**\n * @example\n * ```ts\n * const licenseKeyInstance = await client.licenses.activate({\n * license_key: 'license_key',\n * name: 'name',\n * });\n * ```\n */\n activate(body, options) {\n return this._client.post('/licenses/activate', { body, ...options });\n }\n /**\n * @example\n * ```ts\n * await client.licenses.deactivate({\n * license_key: 'license_key',\n * license_key_instance_id: 'license_key_instance_id',\n * });\n * ```\n */\n deactivate(body, options) {\n return this._client.post('/licenses/deactivate', {\n body,\n ...options,\n headers: { Accept: '*/*', ...options?.headers },\n });\n }\n /**\n * @example\n * ```ts\n * const response = await client.licenses.validate({\n * license_key: '2b1f8e2d-c41e-4e8f-b2d3-d9fd61c38f43',\n * });\n * ```\n */\n validate(body, options) {\n return this._client.post('/licenses/validate', { body, ...options });\n }\n}\n//# sourceMappingURL=licenses.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../resource.mjs\";\nexport class Misc extends APIResource {\n listSupportedCountries(options) {\n return this._client.get('/checkout/supported_countries', options);\n }\n}\n//# sourceMappingURL=misc.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../resource.mjs\";\nimport { isRequestOptions } from \"../core.mjs\";\nimport { DefaultPageNumberPagination } from \"../pagination.mjs\";\nexport class Payments extends APIResource {\n create(body, options) {\n return this._client.post('/payments', { body, ...options });\n }\n retrieve(paymentId, options) {\n return this._client.get(`/payments/${paymentId}`, options);\n }\n list(query = {}, options) {\n if (isRequestOptions(query)) {\n return this.list({}, query);\n }\n return this._client.getAPIList('/payments', PaymentListResponsesDefaultPageNumberPagination, {\n query,\n ...options,\n });\n }\n retrieveLineItems(paymentId, options) {\n return this._client.get(`/payments/${paymentId}/line-items`, options);\n }\n}\nexport class PaymentListResponsesDefaultPageNumberPagination extends DefaultPageNumberPagination {\n}\nPayments.PaymentListResponsesDefaultPageNumberPagination = PaymentListResponsesDefaultPageNumberPagination;\n//# sourceMappingURL=payments.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../resource.mjs\";\nimport { isRequestOptions } from \"../core.mjs\";\nimport { DefaultPageNumberPagination } from \"../pagination.mjs\";\nexport class Payouts extends APIResource {\n list(query = {}, options) {\n if (isRequestOptions(query)) {\n return this.list({}, query);\n }\n return this._client.getAPIList('/payouts', PayoutListResponsesDefaultPageNumberPagination, {\n query,\n ...options,\n });\n }\n}\nexport class PayoutListResponsesDefaultPageNumberPagination extends DefaultPageNumberPagination {\n}\nPayouts.PayoutListResponsesDefaultPageNumberPagination = PayoutListResponsesDefaultPageNumberPagination;\n//# sourceMappingURL=payouts.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../resource.mjs\";\nimport { isRequestOptions } from \"../../core.mjs\";\nexport class Images extends APIResource {\n update(id, params = {}, options) {\n if (isRequestOptions(params)) {\n return this.update(id, {}, params);\n }\n const { force_update } = params;\n return this._client.put(`/products/${id}/images`, { query: { force_update }, ...options });\n }\n}\n//# sourceMappingURL=images.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../resource.mjs\";\nimport { isRequestOptions } from \"../../core.mjs\";\nimport * as ImagesAPI from \"./images.mjs\";\nimport { Images } from \"./images.mjs\";\nimport { DefaultPageNumberPagination } from \"../../pagination.mjs\";\nexport class Products extends APIResource {\n constructor() {\n super(...arguments);\n this.images = new ImagesAPI.Images(this._client);\n }\n create(body, options) {\n return this._client.post('/products', { body, ...options });\n }\n retrieve(id, options) {\n return this._client.get(`/products/${id}`, options);\n }\n update(id, body, options) {\n return this._client.patch(`/products/${id}`, {\n body,\n ...options,\n headers: { Accept: '*/*', ...options?.headers },\n });\n }\n list(query = {}, options) {\n if (isRequestOptions(query)) {\n return this.list({}, query);\n }\n return this._client.getAPIList('/products', ProductListResponsesDefaultPageNumberPagination, {\n query,\n ...options,\n });\n }\n delete(id, options) {\n return this._client.delete(`/products/${id}`, {\n ...options,\n headers: { Accept: '*/*', ...options?.headers },\n });\n }\n unarchive(id, options) {\n return this._client.post(`/products/${id}/unarchive`, {\n ...options,\n headers: { Accept: '*/*', ...options?.headers },\n });\n }\n updateFiles(id, body, options) {\n return this._client.put(`/products/${id}/files`, { body, ...options });\n }\n}\nexport class ProductListResponsesDefaultPageNumberPagination extends DefaultPageNumberPagination {\n}\nProducts.ProductListResponsesDefaultPageNumberPagination = ProductListResponsesDefaultPageNumberPagination;\nProducts.Images = Images;\n//# sourceMappingURL=products.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../resource.mjs\";\nimport { isRequestOptions } from \"../core.mjs\";\nimport { DefaultPageNumberPagination } from \"../pagination.mjs\";\nexport class Refunds extends APIResource {\n create(body, options) {\n return this._client.post('/refunds', { body, ...options });\n }\n retrieve(refundId, options) {\n return this._client.get(`/refunds/${refundId}`, options);\n }\n list(query = {}, options) {\n if (isRequestOptions(query)) {\n return this.list({}, query);\n }\n return this._client.getAPIList('/refunds', RefundsDefaultPageNumberPagination, { query, ...options });\n }\n}\nexport class RefundsDefaultPageNumberPagination extends DefaultPageNumberPagination {\n}\nRefunds.RefundsDefaultPageNumberPagination = RefundsDefaultPageNumberPagination;\n//# sourceMappingURL=refunds.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../resource.mjs\";\nimport { isRequestOptions } from \"../core.mjs\";\nimport { DefaultPageNumberPagination } from \"../pagination.mjs\";\nexport class Subscriptions extends APIResource {\n create(body, options) {\n return this._client.post('/subscriptions', { body, ...options });\n }\n retrieve(subscriptionId, options) {\n return this._client.get(`/subscriptions/${subscriptionId}`, options);\n }\n update(subscriptionId, body, options) {\n return this._client.patch(`/subscriptions/${subscriptionId}`, { body, ...options });\n }\n list(query = {}, options) {\n if (isRequestOptions(query)) {\n return this.list({}, query);\n }\n return this._client.getAPIList('/subscriptions', SubscriptionListResponsesDefaultPageNumberPagination, {\n query,\n ...options,\n });\n }\n changePlan(subscriptionId, body, options) {\n return this._client.post(`/subscriptions/${subscriptionId}/change-plan`, {\n body,\n ...options,\n headers: { Accept: '*/*', ...options?.headers },\n });\n }\n charge(subscriptionId, body, options) {\n return this._client.post(`/subscriptions/${subscriptionId}/charge`, { body, ...options });\n }\n}\nexport class SubscriptionListResponsesDefaultPageNumberPagination extends DefaultPageNumberPagination {\n}\nSubscriptions.SubscriptionListResponsesDefaultPageNumberPagination =\n SubscriptionListResponsesDefaultPageNumberPagination;\n//# sourceMappingURL=subscriptions.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../resource.mjs\";\nexport class Headers extends APIResource {\n /**\n * Get a webhook by id\n */\n retrieve(webhookId, options) {\n return this._client.get(`/webhooks/${webhookId}/headers`, options);\n }\n /**\n * Patch a webhook by id\n */\n update(webhookId, body, options) {\n return this._client.patch(`/webhooks/${webhookId}/headers`, {\n body,\n ...options,\n headers: { Accept: '*/*', ...options?.headers },\n });\n }\n}\n//# sourceMappingURL=headers.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../../resource.mjs\";\nimport { isRequestOptions } from \"../../core.mjs\";\nimport * as HeadersAPI from \"./headers.mjs\";\nimport { Headers } from \"./headers.mjs\";\nimport { CursorPagePagination } from \"../../pagination.mjs\";\nexport class Webhooks extends APIResource {\n constructor() {\n super(...arguments);\n this.headers = new HeadersAPI.Headers(this._client);\n }\n /**\n * Create a new webhook\n */\n create(body, options) {\n return this._client.post('/webhooks', { body, ...options });\n }\n /**\n * Get a webhook by id\n */\n retrieve(webhookId, options) {\n return this._client.get(`/webhooks/${webhookId}`, options);\n }\n /**\n * Patch a webhook by id\n */\n update(webhookId, body, options) {\n return this._client.patch(`/webhooks/${webhookId}`, { body, ...options });\n }\n list(query = {}, options) {\n if (isRequestOptions(query)) {\n return this.list({}, query);\n }\n return this._client.getAPIList('/webhooks', WebhookDetailsCursorPagePagination, { query, ...options });\n }\n /**\n * Delete a webhook by id\n */\n delete(webhookId, options) {\n return this._client.delete(`/webhooks/${webhookId}`, {\n ...options,\n headers: { Accept: '*/*', ...options?.headers },\n });\n }\n /**\n * Get webhook secret by id\n */\n retrieveSecret(webhookId, options) {\n return this._client.get(`/webhooks/${webhookId}/secret`, options);\n }\n}\nexport class WebhookDetailsCursorPagePagination extends CursorPagePagination {\n}\nWebhooks.WebhookDetailsCursorPagePagination = WebhookDetailsCursorPagePagination;\nWebhooks.Headers = Headers;\n//# sourceMappingURL=webhooks.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nimport { APIResource } from \"../resource.mjs\";\nexport class WebhookEvents extends APIResource {\n}\n//# sourceMappingURL=webhook-events.mjs.map","// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.\nvar _DodoPayments_instances, _a, _DodoPayments_baseURLOverridden;\nimport * as Core from \"./core.mjs\";\nimport * as Errors from \"./error.mjs\";\nimport * as Pagination from \"./pagination.mjs\";\nimport * as Uploads from \"./uploads.mjs\";\nimport * as API from \"./resources/index.mjs\";\nimport { AddonResponsesDefaultPageNumberPagination, Addons, } from \"./resources/addons.mjs\";\nimport { Brands, } from \"./resources/brands.mjs\";\nimport { CheckoutSessions, } from \"./resources/checkout-sessions.mjs\";\nimport { Discounts, DiscountsDefaultPageNumberPagination, } from \"./resources/discounts.mjs\";\nimport { DisputeListResponsesDefaultPageNumberPagination, Disputes, } from \"./resources/disputes.mjs\";\nimport { LicenseKeyInstances, LicenseKeyInstancesDefaultPageNumberPagination, } from \"./resources/license-key-instances.mjs\";\nimport { LicenseKeys, LicenseKeysDefaultPageNumberPagination, } from \"./resources/license-keys.mjs\";\nimport { Licenses, } from \"./resources/licenses.mjs\";\nimport { Misc, } from \"./resources/misc.mjs\";\nimport { PaymentListResponsesDefaultPageNumberPagination, Payments, } from \"./resources/payments.mjs\";\nimport { PayoutListResponsesDefaultPageNumberPagination, Payouts, } from \"./resources/payouts.mjs\";\nimport { Refunds, RefundsDefaultPageNumberPagination, } from \"./resources/refunds.mjs\";\nimport { SubscriptionListResponsesDefaultPageNumberPagination, Subscriptions, } from \"./resources/subscriptions.mjs\";\nimport { WebhookEvents } from \"./resources/webhook-events.mjs\";\nimport { Customers, CustomersDefaultPageNumberPagination, } from \"./resources/customers/customers.mjs\";\nimport { Invoices } from \"./resources/invoices/invoices.mjs\";\nimport { ProductListResponsesDefaultPageNumberPagination, Products, } from \"./resources/products/products.mjs\";\nimport { WebhookDetailsCursorPagePagination, Webhooks, } from \"./resources/webhooks/webhooks.mjs\";\nconst environments = {\n live_mode: 'https://live.dodopayments.com',\n test_mode: 'https://test.dodopayments.com',\n};\n/**\n * API Client for interfacing with the Dodo Payments API.\n */\nexport class DodoPayments extends Core.APIClient {\n /**\n * API Client for interfacing with the Dodo Payments API.\n *\n * @param {string | undefined} [opts.bearerToken=process.env['DODO_PAYMENTS_API_KEY'] ?? undefined]\n * @param {Environment} [opts.environment=live_mode] - Specifies the environment URL to use for the API.\n * @param {string} [opts.baseURL=process.env['DODO_PAYMENTS_BASE_URL'] ?? https://live.dodopayments.com] - Override the default base URL for the API.\n * @param {number} [opts.timeout=1 minute] - The maximum amount of time (in milliseconds) the client will wait for a response before timing out.\n * @param {number} [opts.httpAgent] - An HTTP agent used to manage HTTP(s) connections.\n * @param {Core.Fetch} [opts.fetch] - Specify a custom `fetch` function implementation.\n * @param {number} [opts.maxRetries=2] - The maximum number of times the client will retry a request.\n * @param {Core.Headers} opts.defaultHeaders - Default headers to include with every request to the API.\n * @param {Core.DefaultQuery} opts.defaultQuery - Default query parameters to include with every request to the API.\n */\n constructor({ baseURL = Core.readEnv('DODO_PAYMENTS_BASE_URL'), bearerToken = Core.readEnv('DODO_PAYMENTS_API_KEY'), ...opts } = {}) {\n if (bearerToken === undefined) {\n throw new Errors.DodoPaymentsError(\"The DODO_PAYMENTS_API_KEY environment variable is missing or empty; either provide it, or instantiate the DodoPayments client with an bearerToken option, like new DodoPayments({ bearerToken: 'My Bearer Token' }).\");\n }\n const options = {\n bearerToken,\n ...opts,\n baseURL,\n environment: opts.environment ?? 'live_mode',\n };\n if (baseURL && opts.environment) {\n throw new Errors.DodoPaymentsError('Ambiguous URL; The `baseURL` option (or DODO_PAYMENTS_BASE_URL env var) and the `environment` option are given. If you want to use the environment you must pass baseURL: null');\n }\n super({\n baseURL: options.baseURL || environments[options.environment || 'live_mode'],\n baseURLOverridden: baseURL ? baseURL !== environments[options.environment || 'live_mode'] : false,\n timeout: options.timeout ?? 60000 /* 1 minute */,\n httpAgent: options.httpAgent,\n maxRetries: options.maxRetries,\n fetch: options.fetch,\n });\n _DodoPayments_instances.add(this);\n this.checkoutSessions = new API.CheckoutSessions(this);\n this.payments = new API.Payments(this);\n this.subscriptions = new API.Subscriptions(this);\n this.invoices = new API.Invoices(this);\n this.licenses = new API.Licenses(this);\n this.licenseKeys = new API.LicenseKeys(this);\n this.licenseKeyInstances = new API.LicenseKeyInstances(this);\n this.customers = new API.Customers(this);\n this.refunds = new API.Refunds(this);\n this.disputes = new API.Disputes(this);\n this.payouts = new API.Payouts(this);\n this.webhookEvents = new API.WebhookEvents(this);\n this.products = new API.Products(this);\n this.misc = new API.Misc(this);\n this.discounts = new API.Discounts(this);\n this.addons = new API.Addons(this);\n this.brands = new API.Brands(this);\n this.webhooks = new API.Webhooks(this);\n this._options = options;\n this.bearerToken = bearerToken;\n }\n defaultQuery() {\n return this._options.defaultQuery;\n }\n defaultHeaders(opts) {\n return {\n ...super.defaultHeaders(opts),\n ...this._options.defaultHeaders,\n };\n }\n authHeaders(opts) {\n return { Authorization: `Bearer ${this.bearerToken}` };\n }\n}\n_a = DodoPayments, _DodoPayments_instances = new WeakSet(), _DodoPayments_baseURLOverridden = function _DodoPayments_baseURLOverridden() {\n return this.baseURL !== environments[this._options.environment || 'live_mode'];\n};\nDodoPayments.DodoPayments = _a;\nDodoPayments.DEFAULT_TIMEOUT = 60000; // 1 minute\nDodoPayments.DodoPaymentsError = Errors.DodoPaymentsError;\nDodoPayments.APIError = Errors.APIError;\nDodoPayments.APIConnectionError = Errors.APIConnectionError;\nDodoPayments.APIConnectionTimeoutError = Errors.APIConnectionTimeoutError;\nDodoPayments.APIUserAbortError = Errors.APIUserAbortError;\nDodoPayments.NotFoundError = Errors.NotFoundError;\nDodoPayments.ConflictError = Errors.ConflictError;\nDodoPayments.RateLimitError = Errors.RateLimitError;\nDodoPayments.BadRequestError = Errors.BadRequestError;\nDodoPayments.AuthenticationError = Errors.AuthenticationError;\nDodoPayments.InternalServerError = Errors.InternalServerError;\nDodoPayments.PermissionDeniedError = Errors.PermissionDeniedError;\nDodoPayments.UnprocessableEntityError = Errors.UnprocessableEntityError;\nDodoPayments.toFile = Uploads.toFile;\nDodoPayments.fileFromPath = Uploads.fileFromPath;\nDodoPayments.CheckoutSessions = CheckoutSessions;\nDodoPayments.Payments = Payments;\nDodoPayments.PaymentListResponsesDefaultPageNumberPagination =\n PaymentListResponsesDefaultPageNumberPagination;\nDodoPayments.Subscriptions = Subscriptions;\nDodoPayments.SubscriptionListResponsesDefaultPageNumberPagination =\n SubscriptionListResponsesDefaultPageNumberPagination;\nDodoPayments.Invoices = Invoices;\nDodoPayments.Licenses = Licenses;\nDodoPayments.LicenseKeys = LicenseKeys;\nDodoPayments.LicenseKeysDefaultPageNumberPagination = LicenseKeysDefaultPageNumberPagination;\nDodoPayments.LicenseKeyInstances = LicenseKeyInstances;\nDodoPayments.LicenseKeyInstancesDefaultPageNumberPagination = LicenseKeyInstancesDefaultPageNumberPagination;\nDodoPayments.Customers = Customers;\nDodoPayments.CustomersDefaultPageNumberPagination = CustomersDefaultPageNumberPagination;\nDodoPayments.Refunds = Refunds;\nDodoPayments.RefundsDefaultPageNumberPagination = RefundsDefaultPageNumberPagination;\nDodoPayments.Disputes = Disputes;\nDodoPayments.DisputeListResponsesDefaultPageNumberPagination =\n DisputeListResponsesDefaultPageNumberPagination;\nDodoPayments.Payouts = Payouts;\nDodoPayments.PayoutListResponsesDefaultPageNumberPagination = PayoutListResponsesDefaultPageNumberPagination;\nDodoPayments.WebhookEvents = WebhookEvents;\nDodoPayments.Products = Products;\nDodoPayments.ProductListResponsesDefaultPageNumberPagination =\n ProductListResponsesDefaultPageNumberPagination;\nDodoPayments.Misc = Misc;\nDodoPayments.Discounts = Discounts;\nDodoPayments.DiscountsDefaultPageNumberPagination = DiscountsDefaultPageNumberPagination;\nDodoPayments.Addons = Addons;\nDodoPayments.AddonResponsesDefaultPageNumberPagination = AddonResponsesDefaultPageNumberPagination;\nDodoPayments.Brands = Brands;\nDodoPayments.Webhooks = Webhooks;\nDodoPayments.WebhookDetailsCursorPagePagination = WebhookDetailsCursorPagePagination;\nexport { toFile, fileFromPath } from \"./uploads.mjs\";\nexport { DodoPaymentsError, APIError, APIConnectionError, APIConnectionTimeoutError, APIUserAbortError, NotFoundError, ConflictError, RateLimitError, BadRequestError, AuthenticationError, InternalServerError, PermissionDeniedError, UnprocessableEntityError, } from \"./error.mjs\";\nexport default DodoPayments;\n//# sourceMappingURL=index.mjs.map","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { z } from \"zod\";\nimport DodoPayments from \"dodopayments\";\nexport var checkoutQuerySchema = z\n .object({\n productId: z.string(),\n quantity: z.string().optional(),\n // Customer fields\n fullName: z.string().optional(),\n firstName: z.string().optional(),\n lastName: z.string().optional(),\n email: z.string().optional(),\n country: z.string().optional(),\n addressLine: z.string().optional(),\n city: z.string().optional(),\n state: z.string().optional(),\n zipCode: z.string().optional(),\n // Disable flags\n disableFullName: z.string().optional(),\n disableFirstName: z.string().optional(),\n disableLastName: z.string().optional(),\n disableEmail: z.string().optional(),\n disableCountry: z.string().optional(),\n disableAddressLine: z.string().optional(),\n disableCity: z.string().optional(),\n disableState: z.string().optional(),\n disableZipCode: z.string().optional(),\n // Advanced controls\n paymentCurrency: z.string().optional(),\n showCurrencySelector: z.string().optional(),\n paymentAmount: z.string().optional(),\n showDiscounts: z.string().optional(),\n // Metadata (allow any key starting with metadata_)\n // We'll handle metadata separately in the handler\n})\n .catchall(z.unknown());\n// Add Zod schema for dynamic checkout body\nexport var dynamicCheckoutBodySchema = z\n .object({\n // For subscription\n product_id: z.string().optional(),\n quantity: z.number().optional(),\n // For one-time payment\n product_cart: z\n .array(z.object({\n product_id: z.string(),\n quantity: z.number(),\n }))\n .optional(),\n // Common fields\n billing: z.object({\n city: z.string(),\n country: z.string(),\n state: z.string(),\n street: z.string(),\n zipcode: z.string(),\n }),\n customer: z.object({\n customer_id: z.string().optional(),\n email: z.string().optional(),\n name: z.string().optional(),\n }),\n discount_id: z.string().optional(),\n addons: z\n .array(z.object({\n addon_id: z.string(),\n quantity: z.number(),\n }))\n .optional(),\n metadata: z.record(z.string(), z.string()).optional(),\n currency: z.string().optional(),\n // Allow any additional fields (for future compatibility)\n})\n .catchall(z.unknown());\n// ========================================\n// CHECKOUT SESSIONS SCHEMAS & TYPES\n// ========================================\n// Product cart item schema for checkout sessions\nexport var checkoutSessionProductCartItemSchema = z.object({\n product_id: z.string().min(1, \"Product ID is required\"),\n quantity: z.number().int().positive(\"Quantity must be a positive integer\"),\n});\n// Customer information schema for checkout sessions\nexport var checkoutSessionCustomerSchema = z\n .object({\n email: z.string().email().optional(),\n name: z.string().min(1).optional(),\n phone_number: z.string().optional(),\n})\n .optional();\n// Billing address schema for checkout sessions\nexport var checkoutSessionBillingAddressSchema = z\n .object({\n street: z.string().optional(),\n city: z.string().optional(),\n state: z.string().optional(),\n country: z.string().length(2, \"Country must be a 2-letter ISO code\"),\n zipcode: z.string().optional(),\n})\n .optional();\n// Payment method types enum based on Dodo Payments documentation\nexport var paymentMethodTypeSchema = z.enum([\n \"credit\",\n \"debit\",\n \"upi_collect\",\n \"upi_intent\",\n \"apple_pay\",\n \"google_pay\",\n \"amazon_pay\",\n \"klarna\",\n \"affirm\",\n \"afterpay_clearpay\",\n \"sepa\",\n \"ach\",\n]);\n// Customization options schema\nexport var checkoutSessionCustomizationSchema = z\n .object({\n theme: z.enum([\"light\", \"dark\", \"system\"]).optional(),\n show_order_details: z.boolean().optional(),\n show_on_demand_tag: z.boolean().optional(),\n})\n .optional();\n// Feature flags schema\nexport var checkoutSessionFeatureFlagsSchema = z\n .object({\n allow_currency_selection: z.boolean().optional(),\n allow_discount_code: z.boolean().optional(),\n allow_phone_number_collection: z.boolean().optional(),\n allow_tax_id: z.boolean().optional(),\n always_create_new_customer: z.boolean().optional(),\n})\n .optional();\n// Subscription data schema\nexport var checkoutSessionSubscriptionDataSchema = z\n .object({\n trial_period_days: z.number().int().nonnegative().optional(),\n})\n .optional();\n// Main checkout session payload schema\nexport var checkoutSessionPayloadSchema = z.object({\n // Required fields\n product_cart: z\n .array(checkoutSessionProductCartItemSchema)\n .min(1, \"At least one product is required\"),\n // Optional fields\n customer: checkoutSessionCustomerSchema,\n billing_address: checkoutSessionBillingAddressSchema,\n return_url: z.string().url().optional(),\n allowed_payment_method_types: z.array(paymentMethodTypeSchema).optional(),\n billing_currency: z\n .string()\n .length(3, \"Currency must be a 3-letter ISO code\")\n .optional(),\n show_saved_payment_methods: z.boolean().optional(),\n confirm: z.boolean().optional(),\n discount_code: z.string().optional(),\n metadata: z.record(z.string(), z.string()).optional(),\n customization: checkoutSessionCustomizationSchema,\n feature_flags: checkoutSessionFeatureFlagsSchema,\n subscription_data: checkoutSessionSubscriptionDataSchema,\n});\n// Checkout session response schema\nexport var checkoutSessionResponseSchema = z.object({\n session_id: z.string().min(1, \"Session ID is required\"),\n checkout_url: z.string().url(\"Invalid checkout URL\"),\n});\n/**\n * Creates a new Dodo Payments Checkout Session using the modern /checkouts endpoint.\n * This function provides a clean, type-safe interface to the Checkout Sessions API.\n *\n * @param payload - The checkout session data, validated against CheckoutSessionPayloadSchema\n * @param config - Dodo Payments client configuration (bearerToken, environment)\n * @returns Promise<CheckoutSessionResponse> - The checkout session with session_id and checkout_url\n *\n * @throws {Error} When payload validation fails or API request fails\n *\n * @example\n * ```typescript\n * const session = await createCheckoutSession({\n * product_cart: [{ product_id: 'prod_123', quantity: 1 }],\n * customer: { email: 'customer@example.com' },\n * return_url: 'https://yoursite.com/success'\n * }, {\n * bearerToken: process.env.DODO_PAYMENTS_API_KEY,\n * environment: 'test_mode'\n * });\n *\n * ```\n */\nexport var createCheckoutSession = function (payload, config) { return __awaiter(void 0, void 0, void 0, function () {\n var validation, dodopayments, sdkPayload, session, responseValidation, error_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n validation = checkoutSessionPayloadSchema.safeParse(payload);\n if (!validation.success) {\n throw new Error(\"Invalid checkout session payload: \".concat(validation.error.issues\n .map(function (issue) { return \"\".concat(issue.path.join(\".\"), \": \").concat(issue.message); })\n .join(\", \")));\n }\n dodopayments = new DodoPayments({\n bearerToken: config.bearerToken,\n environment: config.environment,\n });\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n sdkPayload = __assign(__assign({}, validation.data), (validation.data.billing_address && {\n billing_address: __assign(__assign({}, validation.data.billing_address), { country: validation.data.billing_address.country }),\n }));\n return [4 /*yield*/, dodopayments.checkoutSessions.create(sdkPayload)];\n case 2:\n session = _a.sent();\n responseValidation = checkoutSessionResponseSchema.safeParse(session);\n if (!responseValidation.success) {\n throw new Error(\"Invalid checkout session response from API: \".concat(responseValidation.error.issues\n .map(function (issue) { return \"\".concat(issue.path.join(\".\"), \": \").concat(issue.message); })\n .join(\", \")));\n }\n return [2 /*return*/, responseValidation.data];\n case 3:\n error_1 = _a.sent();\n if (error_1 instanceof Error) {\n console.error(\"Dodo Payments Checkout Session API Error:\", {\n message: error_1.message,\n payload: validation.data,\n config: {\n environment: config.environment,\n hasBearerToken: !!config.bearerToken,\n },\n });\n // Re-throw with a more user-friendly message\n throw new Error(\"Failed to create checkout session: \".concat(error_1.message));\n }\n // Handle non-Error objects\n console.error(\"Unknown error creating checkout session:\", error_1);\n throw new Error(\"Failed to create checkout session due to an unknown error\");\n case 4: return [2 /*return*/];\n }\n });\n}); };\nexport var buildCheckoutUrl = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {\n var session, inputData, parseResult, success, data, error, _c, productId, quantity_1, fullName, firstName, lastName, email, country, addressLine, city, state, zipCode, disableFullName, disableFirstName, disableLastName, disableEmail, disableCountry, disableAddressLine, disableCity, disableState, disableZipCode, paymentCurrency, showCurrencySelector, paymentAmount, showDiscounts, dodopayments_1, err_1, url, _i, _d, _e, key, value, dyn, product_id, product_cart, quantity, billing, customer, addons, metadata, allowed_payment_method_types, billing_currency, discount_code, on_demand, bodyReturnUrl, show_saved_payment_methods, tax_id, trial_period_days, dodopayments, isSubscription, productIdToFetch, product, err_2, subscriptionPayload, subscription, err_3, cart, paymentPayload, payment, err_4;\n var queryParams = _b.queryParams, body = _b.body, sessionPayload = _b.sessionPayload, returnUrl = _b.returnUrl, bearerToken = _b.bearerToken, environment = _b.environment, _f = _b.type, type = _f === void 0 ? \"static\" : _f;\n return __generator(this, function (_g) {\n switch (_g.label) {\n case 0:\n if (!(type === \"session\")) return [3 /*break*/, 2];\n if (!sessionPayload) {\n throw new Error(\"sessionPayload is required when type is 'session'\");\n }\n return [4 /*yield*/, createCheckoutSession(sessionPayload, {\n bearerToken: bearerToken,\n environment: environment,\n })];\n case 1:\n session = _g.sent();\n return [2 /*return*/, session.checkout_url];\n case 2:\n inputData = type === \"dynamic\" ? body : queryParams;\n if (type === \"dynamic\") {\n parseResult = dynamicCheckoutBodySchema.safeParse(inputData);\n }\n else {\n parseResult = checkoutQuerySchema.safeParse(inputData);\n }\n success = parseResult.success, data = parseResult.data, error = parseResult.error;\n if (!success) {\n throw new Error(\"Invalid \".concat(type === \"dynamic\" ? \"body\" : \"query parameters\", \".\\n \").concat(error.message));\n }\n if (!(type !== \"dynamic\")) return [3 /*break*/, 7];\n _c = data, productId = _c.productId, quantity_1 = _c.quantity, fullName = _c.fullName, firstName = _c.firstName, lastName = _c.lastName, email = _c.email, country = _c.country, addressLine = _c.addressLine, city = _c.city, state = _c.state, zipCode = _c.zipCode, disableFullName = _c.disableFullName, disableFirstName = _c.disableFirstName, disableLastName = _c.disableLastName, disableEmail = _c.disableEmail, disableCountry = _c.disableCountry, disableAddressLine = _c.disableAddressLine, disableCity = _c.disableCity, disableState = _c.disableState, disableZipCode = _c.disableZipCode, paymentCurrency = _c.paymentCurrency, showCurrencySelector = _c.showCurrencySelector, paymentAmount = _c.paymentAmount, showDiscounts = _c.showDiscounts;\n dodopayments_1 = new DodoPayments({\n bearerToken: bearerToken,\n environment: environment,\n });\n // Check that the product exists for this merchant\n if (!productId)\n throw new Error(\"Missing required field: productId\");\n _g.label = 3;\n case 3:\n _g.trys.push([3, 5, , 6]);\n return [4 /*yield*/, dodopayments_1.products.retrieve(productId)];\n case 4:\n _g.sent();\n return [3 /*break*/, 6];\n case 5:\n err_1 = _g.sent();\n console.error(err_1);\n throw new Error(\"Product not found\");\n case 6:\n url = new URL(\"\".concat(environment === \"test_mode\" ? \"https://test.checkout.dodopayments.com\" : \"https://checkout.dodopayments.com\", \"/buy/\").concat(productId));\n url.searchParams.set(\"quantity\", quantity_1 ? String(quantity_1) : \"1\");\n if (returnUrl)\n url.searchParams.set(\"redirect_url\", returnUrl);\n // Customer/billing fields\n if (fullName)\n url.searchParams.set(\"fullName\", String(fullName));\n if (firstName)\n url.searchParams.set(\"firstName\", String(firstName));\n if (lastName)\n url.searchParams.set(\"lastName\", String(lastName));\n if (email)\n url.searchParams.set(\"email\", String(email));\n if (country)\n url.searchParams.set(\"country\", String(country));\n if (addressLine)\n url.searchParams.set(\"addressLine\", String(addressLine));\n if (city)\n url.searchParams.set(\"city\", String(city));\n if (state)\n url.searchParams.set(\"state\", String(state));\n if (zipCode)\n url.searchParams.set(\"zipCode\", String(zipCode));\n // Disable flags (must be set to 'true' to disable)\n if (disableFullName === \"true\")\n url.searchParams.set(\"disableFullName\", \"true\");\n if (disableFirstName === \"true\")\n url.searchParams.set(\"disableFirstName\", \"true\");\n if (disableLastName === \"true\")\n url.searchParams.set(\"disableLastName\", \"true\");\n if (disableEmail === \"true\")\n url.searchParams.set(\"disableEmail\", \"true\");\n if (disableCountry === \"true\")\n url.searchParams.set(\"disableCountry\", \"true\");\n if (disableAddressLine === \"true\")\n url.searchParams.set(\"disableAddressLine\", \"true\");\n if (disableCity === \"true\")\n url.searchParams.set(\"disableCity\", \"true\");\n if (disableState === \"true\")\n url.searchParams.set(\"disableState\", \"true\");\n if (disableZipCode === \"true\")\n url.searchParams.set(\"disableZipCode\", \"true\");\n // Advanced controls\n if (paymentCurrency)\n url.searchParams.set(\"paymentCurrency\", String(paymentCurrency));\n if (showCurrencySelector)\n url.searchParams.set(\"showCurrencySelector\", String(showCurrencySelector));\n if (paymentAmount)\n url.searchParams.set(\"paymentAmount\", String(paymentAmount));\n if (showDiscounts)\n url.searchParams.set(\"showDiscounts\", String(showDiscounts));\n // Metadata: add all query params starting with metadata_\n for (_i = 0, _d = Object.entries(queryParams || {}); _i < _d.length; _i++) {\n _e = _d[_i], key = _e[0], value = _e[1];\n if (key.startsWith(\"metadata_\") && value && typeof value !== \"object\") {\n url.searchParams.set(key, String(value));\n }\n }\n return [2 /*return*/, url.toString()];\n case 7:\n dyn = data;\n product_id = dyn.product_id, product_cart = dyn.product_cart, quantity = dyn.quantity, billing = dyn.billing, customer = dyn.customer, addons = dyn.addons, metadata = dyn.metadata, allowed_payment_method_types = dyn.allowed_payment_method_types, billing_currency = dyn.billing_currency, discount_code = dyn.discount_code, on_demand = dyn.on_demand, bodyReturnUrl = dyn.return_url, show_saved_payment_methods = dyn.show_saved_payment_methods, tax_id = dyn.tax_id, trial_period_days = dyn.trial_period_days;\n dodopayments = new DodoPayments({\n bearerToken: bearerToken,\n environment: environment,\n });\n isSubscription = false;\n productIdToFetch = product_id;\n if (!product_id && product_cart && product_cart.length > 0) {\n productIdToFetch = product_cart[0].product_id;\n }\n if (!productIdToFetch)\n throw new Error(\"Missing required field: product_id or product_cart[0].product_id\");\n _g.label = 8;\n case 8:\n _g.trys.push([8, 10, , 11]);\n return [4 /*yield*/, dodopayments.products.retrieve(productIdToFetch)];\n case 9:\n product = _g.sent();\n return [3 /*break*/, 11];\n case 10:\n err_2 = _g.sent();\n console.error(err_2);\n throw new Error(\"Product not found\");\n case 11:\n isSubscription = Boolean(product.is_recurring);\n // Required field validation\n if (isSubscription && !product_id)\n throw new Error(\"Missing required field: product_id for subscription\");\n if (!billing)\n throw new Error(\"Missing required field: billing\");\n if (!customer)\n throw new Error(\"Missing required field: customer\");\n if (!isSubscription) return [3 /*break*/, 16];\n subscriptionPayload = {\n billing: billing,\n customer: customer,\n product_id: product_id,\n quantity: quantity ? Number(quantity) : 1,\n };\n if (metadata)\n subscriptionPayload.metadata = metadata;\n if (discount_code)\n subscriptionPayload.discount_code = discount_code;\n if (addons)\n subscriptionPayload.addons = addons;\n if (allowed_payment_method_types)\n subscriptionPayload.allowed_payment_method_types =\n allowed_payment_method_types;\n if (billing_currency)\n subscriptionPayload.billing_currency = billing_currency;\n if (on_demand)\n subscriptionPayload.on_demand = on_demand;\n subscriptionPayload.payment_link = true;\n // Use bodyReturnUrl if present, otherwise use top-level returnUrl\n if (bodyReturnUrl) {\n subscriptionPayload.return_url = bodyReturnUrl;\n }\n else if (returnUrl) {\n subscriptionPayload.return_url = returnUrl;\n }\n if (show_saved_payment_methods)\n subscriptionPayload.show_saved_payment_methods =\n show_saved_payment_methods;\n if (tax_id)\n subscriptionPayload.tax_id = tax_id;\n if (trial_period_days)\n subscriptionPayload.trial_period_days = trial_period_days;\n subscription = void 0;\n _g.label = 12;\n case 12:\n _g.trys.push([12, 14, , 15]);\n return [4 /*yield*/, dodopayments.subscriptions.create(subscriptionPayload)];\n case 13:\n subscription =\n _g.sent();\n return [3 /*break*/, 15];\n case 14:\n err_3 = _g.sent();\n console.error(\"Error when creating subscription\", err_3);\n throw new Error(err_3 instanceof Error ? err_3.message : String(err_3));\n case 15:\n if (!subscription || !subscription.payment_link) {\n throw new Error(\"No payment link returned from Dodo Payments API (subscription). Make sure to set payment_link as true in payload\");\n }\n return [2 /*return*/, subscription.payment_link];\n case 16:\n cart = product_cart;\n if (!cart && product_id) {\n cart = [\n { product_id: product_id, quantity: quantity ? Number(quantity) : 1 },\n ];\n }\n if (!cart || cart.length === 0)\n throw new Error(\"Missing required field: product_cart or product_id\");\n paymentPayload = {\n billing: billing,\n customer: customer,\n product_cart: cart,\n };\n if (metadata)\n paymentPayload.metadata = metadata;\n paymentPayload.payment_link = true;\n if (allowed_payment_method_types)\n paymentPayload.allowed_payment_method_types =\n allowed_payment_method_types;\n if (billing_currency)\n paymentPayload.billing_currency = billing_currency;\n if (discount_code)\n paymentPayload.discount_code = discount_code;\n // Use bodyReturnUrl if present, otherwise use top-level returnUrl\n if (bodyReturnUrl) {\n paymentPayload.return_url = bodyReturnUrl;\n }\n else if (returnUrl) {\n paymentPayload.return_url = returnUrl;\n }\n if (show_saved_payment_methods)\n paymentPayload.show_saved_payment_methods = show_saved_payment_methods;\n if (tax_id)\n paymentPayload.tax_id = tax_id;\n payment = void 0;\n _g.label = 17;\n case 17:\n _g.trys.push([17, 19, , 20]);\n return [4 /*yield*/, dodopayments.payments.create(paymentPayload)];\n case 18:\n payment = _g.sent();\n return [3 /*break*/, 20];\n case 19:\n err_4 = _g.sent();\n console.error(\"Error when creating payment link\", err_4);\n throw new Error(err_4 instanceof Error ? err_4.message : String(err_4));\n case 20:\n if (!payment || !payment.payment_link) {\n throw new Error(\"No payment link returned from Dodo Payments API. Make sure to set payment_link as true in payload.\");\n }\n return [2 /*return*/, payment.payment_link];\n }\n });\n}); };\n","import {\n buildCheckoutUrl,\n CheckoutHandlerConfig,\n checkoutQuerySchema,\n dynamicCheckoutBodySchema,\n checkoutSessionPayloadSchema,\n} from \"@dodopayments/core/checkout\";\n\n/**\n * TanStack React Start Checkout handler\n * Usage: export const GET = Checkout(config); export const POST = Checkout(config);\n */\nexport function Checkout(config: CheckoutHandlerConfig) {\n return async function (request: Request) {\n if (request.method === \"POST\") {\n // Handle dynamic checkout and checkout sessions (POST)\n let body: any;\n try {\n body = await request.json();\n } catch (e) {\n return new Response(\"Invalid JSON body\", { status: 400 });\n }\n\n if (config.type === \"dynamic\") {\n // Handle dynamic checkout\n const { success, data, error } =\n dynamicCheckoutBodySchema.safeParse(body);\n if (!success) {\n return new Response(`Invalid request body.\\n ${error.message}`, {\n status: 400,\n });\n }\n\n let url = \"\";\n try {\n url = await buildCheckoutUrl({\n body: data,\n ...config,\n type: \"dynamic\",\n });\n } catch (error: any) {\n return new Response(error.message, { status: 400 });\n }\n return Response.json({ checkout_url: url });\n } else {\n // Handle checkout session\n const { success, data, error } =\n checkoutSessionPayloadSchema.safeParse(body);\n if (!success) {\n return new Response(\n `Invalid checkout session payload.\\n ${error.message}`,\n {\n status: 400,\n },\n );\n }\n\n let url = \"\";\n try {\n url = await buildCheckoutUrl({\n sessionPayload: data,\n ...config,\n type: \"session\",\n });\n } catch (error: any) {\n return new Response(error.message, { status: 400 });\n }\n return Response.json({ checkout_url: url });\n }\n } else {\n // Handle static checkout (GET)\n const { searchParams } = new URL(request.url);\n const queryParams = Object.fromEntries(searchParams);\n\n if (!queryParams.productId) {\n return new Response(\"Please provide productId query parameter\", {\n status: 400,\n });\n }\n\n const { success, data, error } =\n checkoutQuerySchema.safeParse(queryParams);\n if (!success) {\n if (error.errors.some((e: any) => e.path.toString() === \"productId\")) {\n return new Response(\"Please provide productId query parameter\", {\n status: 400,\n });\n }\n return new Response(`Invalid query parameters.\\n ${error.message}`, {\n status: 400,\n });\n }\n\n let url = \"\";\n try {\n url = await buildCheckoutUrl({ queryParams: data, ...config });\n } catch (error: any) {\n return new Response(error.message, { status: 400 });\n }\n return Response.json({ checkout_url: url });\n }\n };\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.timingSafeEqual = void 0;\nfunction assert(expr, msg = \"\") {\n if (!expr) {\n throw new Error(msg);\n }\n}\nfunction timingSafeEqual(a, b) {\n if (a.byteLength !== b.byteLength) {\n return false;\n }\n if (!(a instanceof DataView)) {\n a = new DataView(ArrayBuffer.isView(a) ? a.buffer : a);\n }\n if (!(b instanceof DataView)) {\n b = new DataView(ArrayBuffer.isView(b) ? b.buffer : b);\n }\n assert(a instanceof DataView);\n assert(b instanceof DataView);\n const length = a.byteLength;\n let out = 0;\n let i = -1;\n while (++i < length) {\n out |= a.getUint8(i) ^ b.getUint8(i);\n }\n return out === 0;\n}\nexports.timingSafeEqual = timingSafeEqual;\n//# sourceMappingURL=timing_safe_equal.js.map","\"use strict\";\n// Copyright (C) 2016 Dmitry Chestnykh\n// MIT License. See LICENSE file for details.\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * Package base64 implements Base64 encoding and decoding.\n */\n// Invalid character used in decoding to indicate\n// that the character to decode is out of range of\n// alphabet and cannot be decoded.\nvar INVALID_BYTE = 256;\n/**\n * Implements standard Base64 encoding.\n *\n * Operates in constant time.\n */\nvar Coder = /** @class */ (function () {\n // TODO(dchest): methods to encode chunk-by-chunk.\n function Coder(_paddingCharacter) {\n if (_paddingCharacter === void 0) { _paddingCharacter = \"=\"; }\n this._paddingCharacter = _paddingCharacter;\n }\n Coder.prototype.encodedLength = function (length) {\n if (!this._paddingCharacter) {\n return (length * 8 + 5) / 6 | 0;\n }\n return (length + 2) / 3 * 4 | 0;\n };\n Coder.prototype.encode = function (data) {\n var out = \"\";\n var i = 0;\n for (; i < data.length - 2; i += 3) {\n var c = (data[i] << 16) | (data[i + 1] << 8) | (data[i + 2]);\n out += this._encodeByte((c >>> 3 * 6) & 63);\n out += this._encodeByte((c >>> 2 * 6) & 63);\n out += this._encodeByte((c >>> 1 * 6) & 63);\n out += this._encodeByte((c >>> 0 * 6) & 63);\n }\n var left = data.length - i;\n if (left > 0) {\n var c = (data[i] << 16) | (left === 2 ? data[i + 1] << 8 : 0);\n out += this._encodeByte((c >>> 3 * 6) & 63);\n out += this._encodeByte((c >>> 2 * 6) & 63);\n if (left === 2) {\n out += this._encodeByte((c >>> 1 * 6) & 63);\n }\n else {\n out += this._paddingCharacter || \"\";\n }\n out += this._paddingCharacter || \"\";\n }\n return out;\n };\n Coder.prototype.maxDecodedLength = function (length) {\n if (!this._paddingCharacter) {\n return (length * 6 + 7) / 8 | 0;\n }\n return length / 4 * 3 | 0;\n };\n Coder.prototype.decodedLength = function (s) {\n return this.maxDecodedLength(s.length - this._getPaddingLength(s));\n };\n Coder.prototype.decode = function (s) {\n if (s.length === 0) {\n return new Uint8Array(0);\n }\n var paddingLength = this._getPaddingLength(s);\n var length = s.length - paddingLength;\n var out = new Uint8Array(this.maxDecodedLength(length));\n var op = 0;\n var i = 0;\n var haveBad = 0;\n var v0 = 0, v1 = 0, v2 = 0, v3 = 0;\n for (; i < length - 4; i += 4) {\n v0 = this._decodeChar(s.charCodeAt(i + 0));\n v1 = this._decodeChar(s.charCodeAt(i + 1));\n v2 = this._decodeChar(s.charCodeAt(i + 2));\n v3 = this._decodeChar(s.charCodeAt(i + 3));\n out[op++] = (v0 << 2) | (v1 >>> 4);\n out[op++] = (v1 << 4) | (v2 >>> 2);\n out[op++] = (v2 << 6) | v3;\n haveBad |= v0 & INVALID_BYTE;\n haveBad |= v1 & INVALID_BYTE;\n haveBad |= v2 & INVALID_BYTE;\n haveBad |= v3 & INVALID_BYTE;\n }\n if (i < length - 1) {\n v0 = this._decodeChar(s.charCodeAt(i));\n v1 = this._decodeChar(s.charCodeAt(i + 1));\n out[op++] = (v0 << 2) | (v1 >>> 4);\n haveBad |= v0 & INVALID_BYTE;\n haveBad |= v1 & INVALID_BYTE;\n }\n if (i < length - 2) {\n v2 = this._decodeChar(s.charCodeAt(i + 2));\n out[op++] = (v1 << 4) | (v2 >>> 2);\n haveBad |= v2 & INVALID_BYTE;\n }\n if (i < length - 3) {\n v3 = this._decodeChar(s.charCodeAt(i + 3));\n out[op++] = (v2 << 6) | v3;\n haveBad |= v3 & INVALID_BYTE;\n }\n if (haveBad !== 0) {\n throw new Error(\"Base64Coder: incorrect characters for decoding\");\n }\n return out;\n };\n // Standard encoding have the following encoded/decoded ranges,\n // which we need to convert between.\n //\n // ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789 + /\n // Index: 0 - 25 26 - 51 52 - 61 62 63\n // ASCII: 65 - 90 97 - 122 48 - 57 43 47\n //\n // Encode 6 bits in b into a new character.\n Coder.prototype._encodeByte = function (b) {\n // Encoding uses constant time operations as follows:\n //\n // 1. Define comparison of A with B using (A - B) >>> 8:\n // if A > B, then result is positive integer\n // if A <= B, then result is 0\n //\n // 2. Define selection of C or 0 using bitwise AND: X & C:\n // if X == 0, then result is 0\n // if X != 0, then result is C\n //\n // 3. Start with the smallest comparison (b >= 0), which is always\n // true, so set the result to the starting ASCII value (65).\n //\n // 4. Continue comparing b to higher ASCII values, and selecting\n // zero if comparison isn't true, otherwise selecting a value\n // to add to result, which:\n //\n // a) undoes the previous addition\n // b) provides new value to add\n //\n var result = b;\n // b >= 0\n result += 65;\n // b > 25\n result += ((25 - b) >>> 8) & ((0 - 65) - 26 + 97);\n // b > 51\n result += ((51 - b) >>> 8) & ((26 - 97) - 52 + 48);\n // b > 61\n result += ((61 - b) >>> 8) & ((52 - 48) - 62 + 43);\n // b > 62\n result += ((62 - b) >>> 8) & ((62 - 43) - 63 + 47);\n return String.fromCharCode(result);\n };\n // Decode a character code into a byte.\n // Must return 256 if character is out of alphabet range.\n Coder.prototype._decodeChar = function (c) {\n // Decoding works similar to encoding: using the same comparison\n // function, but now it works on ranges: result is always incremented\n // by value, but this value becomes zero if the range is not\n // satisfied.\n //\n // Decoding starts with invalid value, 256, which is then\n // subtracted when the range is satisfied. If none of the ranges\n // apply, the function returns 256, which is then checked by\n // the caller to throw error.\n var result = INVALID_BYTE; // start with invalid character\n // c == 43 (c > 42 and c < 44)\n result += (((42 - c) & (c - 44)) >>> 8) & (-INVALID_BYTE + c - 43 + 62);\n // c == 47 (c > 46 and c < 48)\n result += (((46 - c) & (c - 48)) >>> 8) & (-INVALID_BYTE + c - 47 + 63);\n // c > 47 and c < 58\n result += (((47 - c) & (c - 58)) >>> 8) & (-INVALID_BYTE + c - 48 + 52);\n // c > 64 and c < 91\n result += (((64 - c) & (c - 91)) >>> 8) & (-INVALID_BYTE + c - 65 + 0);\n // c > 96 and c < 123\n result += (((96 - c) & (c - 123)) >>> 8) & (-INVALID_BYTE + c - 97 + 26);\n return result;\n };\n Coder.prototype._getPaddingLength = function (s) {\n var paddingLength = 0;\n if (this._paddingCharacter) {\n for (var i = s.length - 1; i >= 0; i--) {\n if (s[i] !== this._paddingCharacter) {\n break;\n }\n paddingLength++;\n }\n if (s.length < 4 || paddingLength > 2) {\n throw new Error(\"Base64Coder: incorrect padding\");\n }\n }\n return paddingLength;\n };\n return Coder;\n}());\nexports.Coder = Coder;\nvar stdCoder = new Coder();\nfunction encode(data) {\n return stdCoder.encode(data);\n}\nexports.encode = encode;\nfunction decode(s) {\n return stdCoder.decode(s);\n}\nexports.decode = decode;\n/**\n * Implements URL-safe Base64 encoding.\n * (Same as Base64, but '+' is replaced with '-', and '/' with '_').\n *\n * Operates in constant time.\n */\nvar URLSafeCoder = /** @class */ (function (_super) {\n __extends(URLSafeCoder, _super);\n function URLSafeCoder() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n // URL-safe encoding have the following encoded/decoded ranges:\n //\n // ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789 - _\n // Index: 0 - 25 26 - 51 52 - 61 62 63\n // ASCII: 65 - 90 97 - 122 48 - 57 45 95\n //\n URLSafeCoder.prototype._encodeByte = function (b) {\n var result = b;\n // b >= 0\n result += 65;\n // b > 25\n result += ((25 - b) >>> 8) & ((0 - 65) - 26 + 97);\n // b > 51\n result += ((51 - b) >>> 8) & ((26 - 97) - 52 + 48);\n // b > 61\n result += ((61 - b) >>> 8) & ((52 - 48) - 62 + 45);\n // b > 62\n result += ((62 - b) >>> 8) & ((62 - 45) - 63 + 95);\n return String.fromCharCode(result);\n };\n URLSafeCoder.prototype._decodeChar = function (c) {\n var result = INVALID_BYTE;\n // c == 45 (c > 44 and c < 46)\n result += (((44 - c) & (c - 46)) >>> 8) & (-INVALID_BYTE + c - 45 + 62);\n // c == 95 (c > 94 and c < 96)\n result += (((94 - c) & (c - 96)) >>> 8) & (-INVALID_BYTE + c - 95 + 63);\n // c > 47 and c < 58\n result += (((47 - c) & (c - 58)) >>> 8) & (-INVALID_BYTE + c - 48 + 52);\n // c > 64 and c < 91\n result += (((64 - c) & (c - 91)) >>> 8) & (-INVALID_BYTE + c - 65 + 0);\n // c > 96 and c < 123\n result += (((96 - c) & (c - 123)) >>> 8) & (-INVALID_BYTE + c - 97 + 26);\n return result;\n };\n return URLSafeCoder;\n}(Coder));\nexports.URLSafeCoder = URLSafeCoder;\nvar urlSafeCoder = new URLSafeCoder();\nfunction encodeURLSafe(data) {\n return urlSafeCoder.encode(data);\n}\nexports.encodeURLSafe = encodeURLSafe;\nfunction decodeURLSafe(s) {\n return urlSafeCoder.decode(s);\n}\nexports.decodeURLSafe = decodeURLSafe;\nexports.encodedLength = function (length) {\n return stdCoder.encodedLength(length);\n};\nexports.maxDecodedLength = function (length) {\n return stdCoder.maxDecodedLength(length);\n};\nexports.decodedLength = function (s) {\n return stdCoder.decodedLength(s);\n};\n//# sourceMappingURL=base64.js.map","(function (root, factory) {\n // Hack to make all exports of this module sha256 function object properties.\n var exports = {};\n factory(exports);\n var sha256 = exports[\"default\"];\n for (var k in exports) {\n sha256[k] = exports[k];\n }\n \n if (typeof module === 'object' && typeof module.exports === 'object') {\n module.exports = sha256;\n } else if (typeof define === 'function' && define.amd) {\n define(function() { return sha256; }); \n } else {\n root.sha256 = sha256;\n }\n})(this, function(exports) {\n\"use strict\";\nexports.__esModule = true;\n// SHA-256 (+ HMAC and PBKDF2) for JavaScript.\n//\n// Written in 2014-2016 by Dmitry Chestnykh.\n// Public domain, no warranty.\n//\n// Functions (accept and return Uint8Arrays):\n//\n// sha256(message) -> hash\n// sha256.hmac(key, message) -> mac\n// sha256.pbkdf2(password, salt, rounds, dkLen) -> dk\n//\n// Classes:\n//\n// new sha256.Hash()\n// new sha256.HMAC(key)\n//\nexports.digestLength = 32;\nexports.blockSize = 64;\n// SHA-256 constants\nvar K = new Uint32Array([\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b,\n 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01,\n 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7,\n 0xc19bf174, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,\n 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, 0x983e5152,\n 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147,\n 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc,\n 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819,\n 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08,\n 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f,\n 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n]);\nfunction hashBlocks(w, v, p, pos, len) {\n var a, b, c, d, e, f, g, h, u, i, j, t1, t2;\n while (len >= 64) {\n a = v[0];\n b = v[1];\n c = v[2];\n d = v[3];\n e = v[4];\n f = v[5];\n g = v[6];\n h = v[7];\n for (i = 0; i < 16; i++) {\n j = pos + i * 4;\n w[i] = (((p[j] & 0xff) << 24) | ((p[j + 1] & 0xff) << 16) |\n ((p[j + 2] & 0xff) << 8) | (p[j + 3] & 0xff));\n }\n for (i = 16; i < 64; i++) {\n u = w[i - 2];\n t1 = (u >>> 17 | u << (32 - 17)) ^ (u >>> 19 | u << (32 - 19)) ^ (u >>> 10);\n u = w[i - 15];\n t2 = (u >>> 7 | u << (32 - 7)) ^ (u >>> 18 | u << (32 - 18)) ^ (u >>> 3);\n w[i] = (t1 + w[i - 7] | 0) + (t2 + w[i - 16] | 0);\n }\n for (i = 0; i < 64; i++) {\n t1 = (((((e >>> 6 | e << (32 - 6)) ^ (e >>> 11 | e << (32 - 11)) ^\n (e >>> 25 | e << (32 - 25))) + ((e & f) ^ (~e & g))) | 0) +\n ((h + ((K[i] + w[i]) | 0)) | 0)) | 0;\n t2 = (((a >>> 2 | a << (32 - 2)) ^ (a >>> 13 | a << (32 - 13)) ^\n (a >>> 22 | a << (32 - 22))) + ((a & b) ^ (a & c) ^ (b & c))) | 0;\n h = g;\n g = f;\n f = e;\n e = (d + t1) | 0;\n d = c;\n c = b;\n b = a;\n a = (t1 + t2) | 0;\n }\n v[0] += a;\n v[1] += b;\n v[2] += c;\n v[3] += d;\n v[4] += e;\n v[5] += f;\n v[6] += g;\n v[7] += h;\n pos += 64;\n len -= 64;\n }\n return pos;\n}\n// Hash implements SHA256 hash algorithm.\nvar Hash = /** @class */ (function () {\n function Hash() {\n this.digestLength = exports.digestLength;\n this.blockSize = exports.blockSize;\n // Note: Int32Array is used instead of Uint32Array for performance reasons.\n this.state = new Int32Array(8); // hash state\n this.temp = new Int32Array(64); // temporary state\n this.buffer = new Uint8Array(128); // buffer for data to hash\n this.bufferLength = 0; // number of bytes in buffer\n this.bytesHashed = 0; // number of total bytes hashed\n this.finished = false; // indicates whether the hash was finalized\n this.reset();\n }\n // Resets hash state making it possible\n // to re-use this instance to hash other data.\n Hash.prototype.reset = function () {\n this.state[0] = 0x6a09e667;\n this.state[1] = 0xbb67ae85;\n this.state[2] = 0x3c6ef372;\n this.state[3] = 0xa54ff53a;\n this.state[4] = 0x510e527f;\n this.state[5] = 0x9b05688c;\n this.state[6] = 0x1f83d9ab;\n this.state[7] = 0x5be0cd19;\n this.bufferLength = 0;\n this.bytesHashed = 0;\n this.finished = false;\n return this;\n };\n // Cleans internal buffers and re-initializes hash state.\n Hash.prototype.clean = function () {\n for (var i = 0; i < this.buffer.length; i++) {\n this.buffer[i] = 0;\n }\n for (var i = 0; i < this.temp.length; i++) {\n this.temp[i] = 0;\n }\n this.reset();\n };\n // Updates hash state with the given data.\n //\n // Optionally, length of the data can be specified to hash\n // fewer bytes than data.length.\n //\n // Throws error when trying to update already finalized hash:\n // instance must be reset to use it again.\n Hash.prototype.update = function (data, dataLength) {\n if (dataLength === void 0) { dataLength = data.length; }\n if (this.finished) {\n throw new Error(\"SHA256: can't update because hash was finished.\");\n }\n var dataPos = 0;\n this.bytesHashed += dataLength;\n if (this.bufferLength > 0) {\n while (this.bufferLength < 64 && dataLength > 0) {\n this.buffer[this.bufferLength++] = data[dataPos++];\n dataLength--;\n }\n if (this.bufferLength === 64) {\n hashBlocks(this.temp, this.state, this.buffer, 0, 64);\n this.bufferLength = 0;\n }\n }\n if (dataLength >= 64) {\n dataPos = hashBlocks(this.temp, this.state, data, dataPos, dataLength);\n dataLength %= 64;\n }\n while (dataLength > 0) {\n this.buffer[this.bufferLength++] = data[dataPos++];\n dataLength--;\n }\n return this;\n };\n // Finalizes hash state and puts hash into out.\n //\n // If hash was already finalized, puts the same value.\n Hash.prototype.finish = function (out) {\n if (!this.finished) {\n var bytesHashed = this.bytesHashed;\n var left = this.bufferLength;\n var bitLenHi = (bytesHashed / 0x20000000) | 0;\n var bitLenLo = bytesHashed << 3;\n var padLength = (bytesHashed % 64 < 56) ? 64 : 128;\n this.buffer[left] = 0x80;\n for (var i = left + 1; i < padLength - 8; i++) {\n this.buffer[i] = 0;\n }\n this.buffer[padLength - 8] = (bitLenHi >>> 24) & 0xff;\n this.buffer[padLength - 7] = (bitLenHi >>> 16) & 0xff;\n this.buffer[padLength - 6] = (bitLenHi >>> 8) & 0xff;\n this.buffer[padLength - 5] = (bitLenHi >>> 0) & 0xff;\n this.buffer[padLength - 4] = (bitLenLo >>> 24) & 0xff;\n this.buffer[padLength - 3] = (bitLenLo >>> 16) & 0xff;\n this.buffer[padLength - 2] = (bitLenLo >>> 8) & 0xff;\n this.buffer[padLength - 1] = (bitLenLo >>> 0) & 0xff;\n hashBlocks(this.temp, this.state, this.buffer, 0, padLength);\n this.finished = true;\n }\n for (var i = 0; i < 8; i++) {\n out[i * 4 + 0] = (this.state[i] >>> 24) & 0xff;\n out[i * 4 + 1] = (this.state[i] >>> 16) & 0xff;\n out[i * 4 + 2] = (this.state[i] >>> 8) & 0xff;\n out[i * 4 + 3] = (this.state[i] >>> 0) & 0xff;\n }\n return this;\n };\n // Returns the final hash digest.\n Hash.prototype.digest = function () {\n var out = new Uint8Array(this.digestLength);\n this.finish(out);\n return out;\n };\n // Internal function for use in HMAC for optimization.\n Hash.prototype._saveState = function (out) {\n for (var i = 0; i < this.state.length; i++) {\n out[i] = this.state[i];\n }\n };\n // Internal function for use in HMAC for optimization.\n Hash.prototype._restoreState = function (from, bytesHashed) {\n for (var i = 0; i < this.state.length; i++) {\n this.state[i] = from[i];\n }\n this.bytesHashed = bytesHashed;\n this.finished = false;\n this.bufferLength = 0;\n };\n return Hash;\n}());\nexports.Hash = Hash;\n// HMAC implements HMAC-SHA256 message authentication algorithm.\nvar HMAC = /** @class */ (function () {\n function HMAC(key) {\n this.inner = new Hash();\n this.outer = new Hash();\n this.blockSize = this.inner.blockSize;\n this.digestLength = this.inner.digestLength;\n var pad = new Uint8Array(this.blockSize);\n if (key.length > this.blockSize) {\n (new Hash()).update(key).finish(pad).clean();\n }\n else {\n for (var i = 0; i < key.length; i++) {\n pad[i] = key[i];\n }\n }\n for (var i = 0; i < pad.length; i++) {\n pad[i] ^= 0x36;\n }\n this.inner.update(pad);\n for (var i = 0; i < pad.length; i++) {\n pad[i] ^= 0x36 ^ 0x5c;\n }\n this.outer.update(pad);\n this.istate = new Uint32Array(8);\n this.ostate = new Uint32Array(8);\n this.inner._saveState(this.istate);\n this.outer._saveState(this.ostate);\n for (var i = 0; i < pad.length; i++) {\n pad[i] = 0;\n }\n }\n // Returns HMAC state to the state initialized with key\n // to make it possible to run HMAC over the other data with the same\n // key without creating a new instance.\n HMAC.prototype.reset = function () {\n this.inner._restoreState(this.istate, this.inner.blockSize);\n this.outer._restoreState(this.ostate, this.outer.blockSize);\n return this;\n };\n // Cleans HMAC state.\n HMAC.prototype.clean = function () {\n for (var i = 0; i < this.istate.length; i++) {\n this.ostate[i] = this.istate[i] = 0;\n }\n this.inner.clean();\n this.outer.clean();\n };\n // Updates state with provided data.\n HMAC.prototype.update = function (data) {\n this.inner.update(data);\n return this;\n };\n // Finalizes HMAC and puts the result in out.\n HMAC.prototype.finish = function (out) {\n if (this.outer.finished) {\n this.outer.finish(out);\n }\n else {\n this.inner.finish(out);\n this.outer.update(out, this.digestLength).finish(out);\n }\n return this;\n };\n // Returns message authentication code.\n HMAC.prototype.digest = function () {\n var out = new Uint8Array(this.digestLength);\n this.finish(out);\n return out;\n };\n return HMAC;\n}());\nexports.HMAC = HMAC;\n// Returns SHA256 hash of data.\nfunction hash(data) {\n var h = (new Hash()).update(data);\n var digest = h.digest();\n h.clean();\n return digest;\n}\nexports.hash = hash;\n// Function hash is both available as module.hash and as default export.\nexports[\"default\"] = hash;\n// Returns HMAC-SHA256 of data under the key.\nfunction hmac(key, data) {\n var h = (new HMAC(key)).update(data);\n var digest = h.digest();\n h.clean();\n return digest;\n}\nexports.hmac = hmac;\n// Fills hkdf buffer like this:\n// T(1) = HMAC-Hash(PRK, T(0) | info | 0x01)\nfunction fillBuffer(buffer, hmac, info, counter) {\n // Counter is a byte value: check if it overflowed.\n var num = counter[0];\n if (num === 0) {\n throw new Error(\"hkdf: cannot expand more\");\n }\n // Prepare HMAC instance for new data with old key.\n hmac.reset();\n // Hash in previous output if it was generated\n // (i.e. counter is greater than 1).\n if (num > 1) {\n hmac.update(buffer);\n }\n // Hash in info if it exists.\n if (info) {\n hmac.update(info);\n }\n // Hash in the counter.\n hmac.update(counter);\n // Output result to buffer and clean HMAC instance.\n hmac.finish(buffer);\n // Increment counter inside typed array, this works properly.\n counter[0]++;\n}\nvar hkdfSalt = new Uint8Array(exports.digestLength); // Filled with zeroes.\nfunction hkdf(key, salt, info, length) {\n if (salt === void 0) { salt = hkdfSalt; }\n if (length === void 0) { length = 32; }\n var counter = new Uint8Array([1]);\n // HKDF-Extract uses salt as HMAC key, and key as data.\n var okm = hmac(salt, key);\n // Initialize HMAC for expanding with extracted key.\n // Ensure no collisions with `hmac` function.\n var hmac_ = new HMAC(okm);\n // Allocate buffer.\n var buffer = new Uint8Array(hmac_.digestLength);\n var bufpos = buffer.length;\n var out = new Uint8Array(length);\n for (var i = 0; i < length; i++) {\n if (bufpos === buffer.length) {\n fillBuffer(buffer, hmac_, info, counter);\n bufpos = 0;\n }\n out[i] = buffer[bufpos++];\n }\n hmac_.clean();\n buffer.fill(0);\n counter.fill(0);\n return out;\n}\nexports.hkdf = hkdf;\n// Derives a key from password and salt using PBKDF2-HMAC-SHA256\n// with the given number of iterations.\n//\n// The number of bytes returned is equal to dkLen.\n//\n// (For better security, avoid dkLen greater than hash length - 32 bytes).\nfunction pbkdf2(password, salt, iterations, dkLen) {\n var prf = new HMAC(password);\n var len = prf.digestLength;\n var ctr = new Uint8Array(4);\n var t = new Uint8Array(len);\n var u = new Uint8Array(len);\n var dk = new Uint8Array(dkLen);\n for (var i = 0; i * len < dkLen; i++) {\n var c = i + 1;\n ctr[0] = (c >>> 24) & 0xff;\n ctr[1] = (c >>> 16) & 0xff;\n ctr[2] = (c >>> 8) & 0xff;\n ctr[3] = (c >>> 0) & 0xff;\n prf.reset();\n prf.update(salt);\n prf.update(ctr);\n prf.finish(u);\n for (var j = 0; j < len; j++) {\n t[j] = u[j];\n }\n for (var j = 2; j <= iterations; j++) {\n prf.reset();\n prf.update(u).finish(u);\n for (var k = 0; k < len; k++) {\n t[k] ^= u[k];\n }\n }\n for (var j = 0; j < len && i * len + j < dkLen; j++) {\n dk[i * len + j] = t[j];\n }\n }\n for (var i = 0; i < len; i++) {\n t[i] = u[i] = 0;\n }\n for (var i = 0; i < 4; i++) {\n ctr[i] = 0;\n }\n prf.clean();\n return dk;\n}\nexports.pbkdf2 = pbkdf2;\n});\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Webhook = exports.WebhookVerificationError = void 0;\nconst timing_safe_equal_1 = require(\"./timing_safe_equal\");\nconst base64 = require(\"@stablelib/base64\");\nconst sha256 = require(\"fast-sha256\");\nconst WEBHOOK_TOLERANCE_IN_SECONDS = 5 * 60;\nclass ExtendableError extends Error {\n constructor(message) {\n super(message);\n Object.setPrototypeOf(this, ExtendableError.prototype);\n this.name = \"ExtendableError\";\n this.stack = new Error(message).stack;\n }\n}\nclass WebhookVerificationError extends ExtendableError {\n constructor(message) {\n super(message);\n Object.setPrototypeOf(this, WebhookVerificationError.prototype);\n this.name = \"WebhookVerificationError\";\n }\n}\nexports.WebhookVerificationError = WebhookVerificationError;\nclass Webhook {\n constructor(secret, options) {\n if (!secret) {\n throw new Error(\"Secret can't be empty.\");\n }\n if ((options === null || options === void 0 ? void 0 : options.format) === \"raw\") {\n if (secret instanceof Uint8Array) {\n this.key = secret;\n }\n else {\n this.key = Uint8Array.from(secret, (c) => c.charCodeAt(0));\n }\n }\n else {\n if (typeof secret !== \"string\") {\n throw new Error(\"Expected secret to be of type string\");\n }\n if (secret.startsWith(Webhook.prefix)) {\n secret = secret.substring(Webhook.prefix.length);\n }\n this.key = base64.decode(secret);\n }\n }\n verify(payload, headers_) {\n const headers = {};\n for (const key of Object.keys(headers_)) {\n headers[key.toLowerCase()] = headers_[key];\n }\n const msgId = headers[\"webhook-id\"];\n const msgSignature = headers[\"webhook-signature\"];\n const msgTimestamp = headers[\"webhook-timestamp\"];\n if (!msgSignature || !msgId || !msgTimestamp) {\n throw new WebhookVerificationError(\"Missing required headers\");\n }\n const timestamp = this.verifyTimestamp(msgTimestamp);\n const computedSignature = this.sign(msgId, timestamp, payload);\n const expectedSignature = computedSignature.split(\",\")[1];\n const passedSignatures = msgSignature.split(\" \");\n const encoder = new globalThis.TextEncoder();\n for (const versionedSignature of passedSignatures) {\n const [version, signature] = versionedSignature.split(\",\");\n if (version !== \"v1\") {\n continue;\n }\n if ((0, timing_safe_equal_1.timingSafeEqual)(encoder.encode(signature), encoder.encode(expectedSignature))) {\n return JSON.parse(payload.toString());\n }\n }\n throw new WebhookVerificationError(\"No matching signature found\");\n }\n sign(msgId, timestamp, payload) {\n if (typeof payload === \"string\") {\n }\n else if (payload.constructor.name === \"Buffer\") {\n payload = payload.toString();\n }\n else {\n throw new Error(\"Expected payload to be of type string or Buffer.\");\n }\n const encoder = new TextEncoder();\n const timestampNumber = Math.floor(timestamp.getTime() / 1000);\n const toSign = encoder.encode(`${msgId}.${timestampNumber}.${payload}`);\n const expectedSignature = base64.encode(sha256.hmac(this.key, toSign));\n return `v1,${expectedSignature}`;\n }\n verifyTimestamp(timestampHeader) {\n const now = Math.floor(Date.now() / 1000);\n const timestamp = parseInt(timestampHeader, 10);\n if (isNaN(timestamp)) {\n throw new WebhookVerificationError(\"Invalid Signature Headers\");\n }\n if (now - timestamp > WEBHOOK_TOLERANCE_IN_SECONDS) {\n throw new WebhookVerificationError(\"Message timestamp too old\");\n }\n if (timestamp > now + WEBHOOK_TOLERANCE_IN_SECONDS) {\n throw new WebhookVerificationError(\"Message timestamp too new\");\n }\n return new Date(timestamp * 1000);\n }\n}\nexports.Webhook = Webhook;\nWebhook.prefix = \"whsec_\";\n//# sourceMappingURL=index.js.map","import { z } from \"zod\";\nexport var PaymentSchema = z.object({\n payload_type: z.literal(\"Payment\"),\n billing: z.object({\n city: z.string().nullable(),\n country: z.string().nullable(),\n state: z.string().nullable(),\n street: z.string().nullable(),\n zipcode: z.string().nullable(),\n }),\n brand_id: z.string(),\n business_id: z.string(),\n card_issuing_country: z.string().nullable(),\n card_last_four: z.string().nullable(),\n card_network: z.string().nullable(),\n card_type: z.string().nullable(),\n created_at: z.string().transform(function (d) { return new Date(d); }),\n currency: z.string(),\n customer: z.object({\n customer_id: z.string(),\n email: z.string(),\n name: z.string().nullable(),\n }),\n digital_products_delivered: z.boolean(),\n discount_id: z.string().nullable(),\n disputes: z\n .array(z.object({\n amount: z.string(),\n business_id: z.string(),\n created_at: z.string().transform(function (d) { return new Date(d); }),\n currency: z.string(),\n dispute_id: z.string(),\n dispute_stage: z.enum([\n \"pre_dispute\",\n \"dispute_opened\",\n \"dispute_won\",\n \"dispute_lost\",\n ]),\n dispute_status: z.enum([\n \"dispute_opened\",\n \"dispute_won\",\n \"dispute_lost\",\n \"dispute_accepted\",\n \"dispute_cancelled\",\n \"dispute_challenged\",\n ]),\n payment_id: z.string(),\n remarks: z.string().nullable(),\n }))\n .nullable(),\n error_code: z.string().nullable(),\n error_message: z.string().nullable(),\n metadata: z.record(z.any()).nullable(),\n payment_id: z.string(),\n payment_link: z.string().nullable(),\n payment_method: z.string().nullable(),\n payment_method_type: z.string().nullable(),\n product_cart: z\n .array(z.object({\n product_id: z.string(),\n quantity: z.number(),\n }))\n .nullable(),\n refunds: z\n .array(z.object({\n amount: z.number(),\n business_id: z.string(),\n created_at: z.string().transform(function (d) { return new Date(d); }),\n currency: z.string(),\n is_partial: z.boolean(),\n payment_id: z.string(),\n reason: z.string().nullable(),\n refund_id: z.string(),\n status: z.enum([\"succeeded\", \"failed\", \"pending\"]),\n }))\n .nullable(),\n settlement_amount: z.number(),\n settlement_currency: z.string(),\n settlement_tax: z.number().nullable(),\n status: z.enum([\"succeeded\", \"failed\", \"pending\", \"processing\", \"cancelled\"]),\n subscription_id: z.string().nullable(),\n tax: z.number().nullable(),\n total_amount: z.number(),\n updated_at: z\n .string()\n .transform(function (d) { return new Date(d); })\n .nullable(),\n});\nexport var SubscriptionSchema = z.object({\n payload_type: z.literal(\"Subscription\"),\n addons: z\n .array(z.object({\n addon_id: z.string(),\n quantity: z.number(),\n }))\n .nullable(),\n billing: z.object({\n city: z.string().nullable(),\n country: z.string().nullable(),\n state: z.string().nullable(),\n street: z.string().nullable(),\n zipcode: z.string().nullable(),\n }),\n cancel_at_next_billing_date: z.boolean(),\n cancelled_at: z\n .string()\n .transform(function (d) { return new Date(d); })\n .nullable(),\n created_at: z.string().transform(function (d) { return new Date(d); }),\n currency: z.string(),\n customer: z.object({\n customer_id: z.string(),\n email: z.string(),\n name: z.string().nullable(),\n }),\n discount_id: z.string().nullable(),\n metadata: z.record(z.any()).nullable(),\n next_billing_date: z\n .string()\n .transform(function (d) { return new Date(d); })\n .nullable(),\n on_demand: z.boolean(),\n payment_frequency_count: z.number(),\n payment_frequency_interval: z.enum([\"Day\", \"Week\", \"Month\", \"Year\"]),\n previous_billing_date: z\n .string()\n .transform(function (d) { return new Date(d); })\n .nullable(),\n product_id: z.string(),\n quantity: z.number(),\n recurring_pre_tax_amount: z.number(),\n status: z.enum([\n \"pending\",\n \"active\",\n \"on_hold\",\n \"paused\",\n \"cancelled\",\n \"expired\",\n \"failed\",\n ]),\n subscription_id: z.string(),\n subscription_period_count: z.number(),\n subscription_period_interval: z.enum([\"Day\", \"Week\", \"Month\", \"Year\"]),\n tax_inclusive: z.boolean(),\n trial_period_days: z.number(),\n});\nexport var RefundSchema = z.object({\n payload_type: z.literal(\"Refund\"),\n amount: z.number(),\n business_id: z.string(),\n created_at: z.string().transform(function (d) { return new Date(d); }),\n currency: z.string(),\n is_partial: z.boolean(),\n payment_id: z.string(),\n reason: z.string().nullable(),\n refund_id: z.string(),\n status: z.enum([\"succeeded\", \"failed\", \"pending\"]),\n});\nexport var DisputeSchema = z.object({\n payload_type: z.literal(\"Dispute\"),\n amount: z.string(),\n business_id: z.string(),\n created_at: z.string().transform(function (d) { return new Date(d); }),\n currency: z.string(),\n dispute_id: z.string(),\n dispute_stage: z.enum([\n \"pre_dispute\",\n \"dispute_opened\",\n \"dispute_won\",\n \"dispute_lost\",\n ]),\n dispute_status: z.enum([\n \"dispute_opened\",\n \"dispute_won\",\n \"dispute_lost\",\n \"dispute_accepted\",\n \"dispute_cancelled\",\n \"dispute_challenged\",\n ]),\n payment_id: z.string(),\n remarks: z.string().nullable(),\n});\nexport var LicenseKeySchema = z.object({\n payload_type: z.literal(\"LicenseKey\"),\n activations_limit: z.number(),\n business_id: z.string(),\n created_at: z.string().transform(function (d) { return new Date(d); }),\n customer_id: z.string(),\n expires_at: z\n .string()\n .transform(function (d) { return new Date(d); })\n .nullable(),\n id: z.string(),\n instances_count: z.number(),\n key: z.string(),\n payment_id: z.string(),\n product_id: z.string(),\n status: z.enum([\"active\", \"inactive\", \"expired\"]),\n subscription_id: z.string().nullable(),\n});\nexport var PaymentSucceededPayloadSchema = z.object({\n business_id: z.string(),\n type: z.literal(\"payment.succeeded\"),\n timestamp: z.string().transform(function (d) { return new Date(d); }),\n data: PaymentSchema,\n});\nexport var PaymentFailedPayloadSchema = z.object({\n business_id: z.string(),\n type: z.literal(\"payment.failed\"),\n timestamp: z.string().transform(function (d) { return new Date(d); }),\n data: PaymentSchema,\n});\nexport var PaymentProcessingPayloadSchema = z.object({\n business_id: z.string(),\n type: z.literal(\"payment.processing\"),\n timestamp: z.string().transform(function (d) { return new Date(d); }),\n data: PaymentSchema,\n});\nexport var PaymentCancelledPayloadSchema = z.object({\n business_id: z.string(),\n type: z.literal(\"payment.cancelled\"),\n timestamp: z.string().transform(function (d) { return new Date(d); }),\n data: PaymentSchema,\n});\nexport var RefundSucceededPayloadSchema = z.object({\n business_id: z.string(),\n type: z.literal(\"refund.succeeded\"),\n timestamp: z.string().transform(function (d) { return new Date(d); }),\n data: RefundSchema,\n});\nexport var RefundFailedPayloadSchema = z.object({\n business_id: z.string(),\n type: z.literal(\"refund.failed\"),\n timestamp: z.string().transform(function (d) { return new Date(d); }),\n data: RefundSchema,\n});\nexport var DisputeOpenedPayloadSchema = z.object({\n business_id: z.string(),\n type: z.literal(\"dispute.opened\"),\n timestamp: z.string().transform(function (d) { return new Date(d); }),\n data: DisputeSchema,\n});\nexport var DisputeExpiredPayloadSchema = z.object({\n business_id: z.string(),\n type: z.literal(\"dispute.expired\"),\n timestamp: z.string().transform(function (d) { return new Date(d); }),\n data: DisputeSchema,\n});\nexport var DisputeAcceptedPayloadSchema = z.object({\n business_id: z.string(),\n type: z.literal(\"dispute.accepted\"),\n timestamp: z.string().transform(function (d) { return new Date(d); }),\n data: DisputeSchema,\n});\nexport var DisputeCancelledPayloadSchema = z.object({\n business_id: z.string(),\n type: z.literal(\"dispute.cancelled\"),\n timestamp: z.string().transform(function (d) { return new Date(d); }),\n data: DisputeSchema,\n});\nexport var DisputeChallengedPayloadSchema = z.object({\n business_id: z.string(),\n type: z.literal(\"dispute.challenged\"),\n timestamp: z.string().transform(function (d) { return new Date(d); }),\n data: DisputeSchema,\n});\nexport var DisputeWonPayloadSchema = z.object({\n business_id: z.string(),\n type: z.literal(\"dispute.won\"),\n timestamp: z.string().transform(function (d) { return new Date(d); }),\n data: DisputeSchema,\n});\nexport var DisputeLostPayloadSchema = z.object({\n business_id: z.string(),\n type: z.literal(\"dispute.lost\"),\n timestamp: z.string().transform(function (d) { return new Date(d); }),\n data: DisputeSchema,\n});\nexport var SubscriptionActivePayloadSchema = z.object({\n business_id: z.string(),\n type: z.literal(\"subscription.active\"),\n timestamp: z.string().transform(function (d) { return new Date(d); }),\n data: SubscriptionSchema,\n});\nexport var SubscriptionOnHoldPayloadSchema = z.object({\n business_id: z.string(),\n type: z.literal(\"subscription.on_hold\"),\n timestamp: z.string().transform(function (d) { return new Date(d); }),\n data: SubscriptionSchema,\n});\nexport var SubscriptionRenewedPayloadSchema = z.object({\n business_id: z.string(),\n type: z.literal(\"subscription.renewed\"),\n timestamp: z.string().transform(function (d) { return new Date(d); }),\n data: SubscriptionSchema,\n});\nexport var SubscriptionPausedPayloadSchema = z.object({\n business_id: z.string(),\n type: z.literal(\"subscription.paused\"),\n timestamp: z.string().transform(function (d) { return new Date(d); }),\n data: SubscriptionSchema,\n});\nexport var SubscriptionPlanChangedPayloadSchema = z.object({\n business_id: z.string(),\n type: z.literal(\"subscription.plan_changed\"),\n timestamp: z.string().transform(function (d) { return new Date(d); }),\n data: SubscriptionSchema,\n});\nexport var SubscriptionCancelledPayloadSchema = z.object({\n business_id: z.string(),\n type: z.literal(\"subscription.cancelled\"),\n timestamp: z.string().transform(function (d) { return new Date(d); }),\n data: SubscriptionSchema,\n});\nexport var SubscriptionFailedPayloadSchema = z.object({\n business_id: z.string(),\n type: z.literal(\"subscription.failed\"),\n timestamp: z.string().transform(function (d) { return new Date(d); }),\n data: SubscriptionSchema,\n});\nexport var SubscriptionExpiredPayloadSchema = z.object({\n business_id: z.string(),\n type: z.literal(\"subscription.expired\"),\n timestamp: z.string().transform(function (d) { return new Date(d); }),\n data: SubscriptionSchema,\n});\nexport var LicenseKeyCreatedPayloadSchema = z.object({\n business_id: z.string(),\n type: z.literal(\"license_key.created\"),\n timestamp: z.string().transform(function (d) { return new Date(d); }),\n data: LicenseKeySchema,\n});\nexport var WebhookPayloadSchema = z.discriminatedUnion(\"type\", [\n PaymentSucceededPayloadSchema,\n PaymentFailedPayloadSchema,\n PaymentProcessingPayloadSchema,\n PaymentCancelledPayloadSchema,\n RefundSucceededPayloadSchema,\n RefundFailedPayloadSchema,\n DisputeOpenedPayloadSchema,\n DisputeExpiredPayloadSchema,\n DisputeAcceptedPayloadSchema,\n DisputeCancelledPayloadSchema,\n DisputeChallengedPayloadSchema,\n DisputeWonPayloadSchema,\n DisputeLostPayloadSchema,\n SubscriptionActivePayloadSchema,\n SubscriptionOnHoldPayloadSchema,\n SubscriptionRenewedPayloadSchema,\n SubscriptionPausedPayloadSchema,\n SubscriptionPlanChangedPayloadSchema,\n SubscriptionCancelledPayloadSchema,\n SubscriptionFailedPayloadSchema,\n SubscriptionExpiredPayloadSchema,\n LicenseKeyCreatedPayloadSchema,\n]);\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { WebhookPayloadSchema, } from \"../schemas/webhook\";\nimport { Webhook as StandardWebhook, WebhookVerificationError, } from \"standardwebhooks\";\nexport var handleWebhookPayload = function (payload, config) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!config.onPayload) return [3 /*break*/, 2];\n return [4 /*yield*/, config.onPayload(payload)];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2:\n if (!(payload.type === \"payment.succeeded\" && config.onPaymentSucceeded)) return [3 /*break*/, 4];\n return [4 /*yield*/, config.onPaymentSucceeded(payload)];\n case 3:\n _a.sent();\n _a.label = 4;\n case 4:\n if (!(payload.type === \"payment.failed\" && config.onPaymentFailed)) return [3 /*break*/, 6];\n return [4 /*yield*/, config.onPaymentFailed(payload)];\n case 5:\n _a.sent();\n _a.label = 6;\n case 6:\n if (!(payload.type === \"payment.processing\" && config.onPaymentProcessing)) return [3 /*break*/, 8];\n return [4 /*yield*/, config.onPaymentProcessing(payload)];\n case 7:\n _a.sent();\n _a.label = 8;\n case 8:\n if (!(payload.type === \"payment.cancelled\" && config.onPaymentCancelled)) return [3 /*break*/, 10];\n return [4 /*yield*/, config.onPaymentCancelled(payload)];\n case 9:\n _a.sent();\n _a.label = 10;\n case 10:\n if (!(payload.type === \"refund.succeeded\" && config.onRefundSucceeded)) return [3 /*break*/, 12];\n return [4 /*yield*/, config.onRefundSucceeded(payload)];\n case 11:\n _a.sent();\n _a.label = 12;\n case 12:\n if (!(payload.type === \"refund.failed\" && config.onRefundFailed)) return [3 /*break*/, 14];\n return [4 /*yield*/, config.onRefundFailed(payload)];\n case 13:\n _a.sent();\n _a.label = 14;\n case 14:\n if (!(payload.type === \"dispute.opened\" && config.onDisputeOpened)) return [3 /*break*/, 16];\n return [4 /*yield*/, config.onDisputeOpened(payload)];\n case 15:\n _a.sent();\n _a.label = 16;\n case 16:\n if (!(payload.type === \"dispute.expired\" && config.onDisputeExpired)) return [3 /*break*/, 18];\n return [4 /*yield*/, config.onDisputeExpired(payload)];\n case 17:\n _a.sent();\n _a.label = 18;\n case 18:\n if (!(payload.type === \"dispute.accepted\" && config.onDisputeAccepted)) return [3 /*break*/, 20];\n return [4 /*yield*/, config.onDisputeAccepted(payload)];\n case 19:\n _a.sent();\n _a.label = 20;\n case 20:\n if (!(payload.type === \"dispute.cancelled\" && config.onDisputeCancelled)) return [3 /*break*/, 22];\n return [4 /*yield*/, config.onDisputeCancelled(payload)];\n case 21:\n _a.sent();\n _a.label = 22;\n case 22:\n if (!(payload.type === \"dispute.challenged\" && config.onDisputeChallenged)) return [3 /*break*/, 24];\n return [4 /*yield*/, config.onDisputeChallenged(payload)];\n case 23:\n _a.sent();\n _a.label = 24;\n case 24:\n if (!(payload.type === \"dispute.won\" && config.onDisputeWon)) return [3 /*break*/, 26];\n return [4 /*yield*/, config.onDisputeWon(payload)];\n case 25:\n _a.sent();\n _a.label = 26;\n case 26:\n if (!(payload.type === \"dispute.lost\" && config.onDisputeLost)) return [3 /*break*/, 28];\n return [4 /*yield*/, config.onDisputeLost(payload)];\n case 27:\n _a.sent();\n _a.label = 28;\n case 28:\n if (!(payload.type === \"subscription.active\" && config.onSubscriptionActive)) return [3 /*break*/, 30];\n return [4 /*yield*/, config.onSubscriptionActive(payload)];\n case 29:\n _a.sent();\n _a.label = 30;\n case 30:\n if (!(payload.type === \"subscription.on_hold\" && config.onSubscriptionOnHold)) return [3 /*break*/, 32];\n return [4 /*yield*/, config.onSubscriptionOnHold(payload)];\n case 31:\n _a.sent();\n _a.label = 32;\n case 32:\n if (!(payload.type === \"subscription.renewed\" && config.onSubscriptionRenewed)) return [3 /*break*/, 34];\n return [4 /*yield*/, config.onSubscriptionRenewed(payload)];\n case 33:\n _a.sent();\n _a.label = 34;\n case 34:\n if (!(payload.type === \"subscription.paused\" && config.onSubscriptionPaused)) return [3 /*break*/, 36];\n return [4 /*yield*/, config.onSubscriptionPaused(payload)];\n case 35:\n _a.sent();\n _a.label = 36;\n case 36:\n if (!(payload.type === \"subscription.plan_changed\" &&\n config.onSubscriptionPlanChanged)) return [3 /*break*/, 38];\n return [4 /*yield*/, config.onSubscriptionPlanChanged(payload)];\n case 37:\n _a.sent();\n _a.label = 38;\n case 38:\n if (!(payload.type === \"subscription.cancelled\" &&\n config.onSubscriptionCancelled)) return [3 /*break*/, 40];\n return [4 /*yield*/, config.onSubscriptionCancelled(payload)];\n case 39:\n _a.sent();\n _a.label = 40;\n case 40:\n if (!(payload.type === \"subscription.failed\" && config.onSubscriptionFailed)) return [3 /*break*/, 42];\n return [4 /*yield*/, config.onSubscriptionFailed(payload)];\n case 41:\n _a.sent();\n _a.label = 42;\n case 42:\n if (!(payload.type === \"subscription.expired\" && config.onSubscriptionExpired)) return [3 /*break*/, 44];\n return [4 /*yield*/, config.onSubscriptionExpired(payload)];\n case 43:\n _a.sent();\n _a.label = 44;\n case 44:\n if (!(payload.type === \"license_key.created\" && config.onLicenseKeyCreated)) return [3 /*break*/, 46];\n return [4 /*yield*/, config.onLicenseKeyCreated(payload)];\n case 45:\n _a.sent();\n _a.label = 46;\n case 46: return [2 /*return*/];\n }\n });\n}); };\nexport var verifyWebhookPayload = function (_a) { return __awaiter(void 0, [_a], void 0, function (_b) {\n var standardWebhook, _c, success, payload, error;\n var webhookKey = _b.webhookKey, headers = _b.headers, body = _b.body;\n return __generator(this, function (_d) {\n standardWebhook = new StandardWebhook(webhookKey);\n try {\n standardWebhook.verify(body, headers);\n }\n catch (e) {\n if (e instanceof WebhookVerificationError) {\n throw new Error(e.message);\n }\n throw e;\n }\n _c = WebhookPayloadSchema.safeParse(JSON.parse(body)), success = _c.success, payload = _c.data, error = _c.error;\n if (!success) {\n throw new Error(error.message);\n }\n return [2 /*return*/, payload];\n });\n}); };\n","import {\n Webhook as StandardWebhook,\n WebhookVerificationError,\n} from \"standardwebhooks\";\nimport {\n type WebhookHandlerConfig,\n handleWebhookPayload,\n} from \"@dodopayments/core/webhook\";\nimport { WebhookPayloadSchema } from \"@dodopayments/core/schemas\";\n\nexport const Webhooks = ({\n webhookKey,\n ...eventHandlers\n}: WebhookHandlerConfig) => {\n const standardWebhook = new StandardWebhook(webhookKey);\n\n return async (request: Request) => {\n if (request.method !== \"POST\") {\n return new Response(\"Method not allowed. Use POST\", { status: 405 });\n }\n\n const headers = {\n \"webhook-id\": request.headers.get(\"webhook-id\") ?? \"\",\n \"webhook-timestamp\": request.headers.get(\"webhook-timestamp\") ?? \"\",\n \"webhook-signature\": request.headers.get(\"webhook-signature\") ?? \"\",\n };\n\n const rawBody = await request.text();\n\n try {\n standardWebhook.verify(rawBody, headers);\n } catch (err) {\n if (err instanceof WebhookVerificationError) {\n return new Response(err.message, { status: 401 });\n }\n\n return new Response(\"Error while verifying webhook\", {\n status: 500,\n });\n }\n\n const {\n success,\n data: payload,\n error,\n } = WebhookPayloadSchema.safeParse(JSON.parse(rawBody));\n\n if (!success) {\n console.error(\"Error parsing webhook payload\", error.issues);\n return new Response(`Error parsing webhook payload: ${error.message}`, {\n status: 400,\n });\n }\n\n // do not catch errors here, let them bubble up to the user\n // as they will originate from the handlers passed by the user\n await handleWebhookPayload(payload, {\n webhookKey,\n ...eventHandlers,\n });\n\n return new Response(null, { status: 200 });\n };\n};\n","import DodoPayments, { ClientOptions } from \"dodopayments\";\n\nexport type CustomerPortalConfig = Pick<\n ClientOptions,\n \"environment\" | \"bearerToken\"\n>;\n\n/**\n * TanStack React Start Customer Portal handler\n * Usage: export const GET = CustomerPortal(config);\n */\nexport function CustomerPortal({\n bearerToken,\n environment,\n}: CustomerPortalConfig) {\n return async function (request: Request) {\n // Extract customerId from query parameters\n const { searchParams } = new URL(request.url);\n const customerId = searchParams.get(\"customer_id\");\n const params = {\n send_email: false,\n };\n const sendEmail = Boolean(searchParams.get(\"send_email\"));\n if (sendEmail) {\n params.send_email = sendEmail;\n }\n\n if (!customerId) {\n return new Response(\"Missing customerId in query parameters\", {\n status: 400,\n });\n }\n\n const dodopayments = new DodoPayments({\n bearerToken,\n environment,\n });\n\n try {\n const session = await dodopayments.customers.customerPortal.create(\n customerId,\n params,\n );\n return Response.redirect(session.link, 302);\n } catch (error: any) {\n console.error(\"Error creating customer portal session:\", error);\n return new Response(\n `Failed to create customer portal session: ${error.message}`,\n {\n status: 500,\n },\n );\n }\n };\n}\n"],"names":["fetch","File","shims.kind","shims.setShims","auto.getRuntime","this","shimsKind","CustomerPortalAPI.CustomerPortal","CustomerPortal","PaymentsAPI.Payments","Payments","ImagesAPI.Images","HeadersAPI.Headers","Webhooks","Headers","Core.APIClient","Core.readEnv","Errors.DodoPaymentsError","API.CheckoutSessions","API.Payments","API.Subscriptions","API.Invoices","API.Licenses","API.LicenseKeys","API.LicenseKeyInstances","API.Customers","API.Refunds","API.Disputes","API.Payouts","API.WebhookEvents","API.Products","API.Misc","API.Discounts","API.Addons","API.Brands","API.Webhooks","Errors.APIError","Errors.APIConnectionError","Errors.APIConnectionTimeoutError","Errors.APIUserAbortError","Errors.NotFoundError","Errors.ConflictError","Errors.RateLimitError","Errors.BadRequestError","Errors.AuthenticationError","Errors.InternalServerError","Errors.PermissionDeniedError","Errors.UnprocessableEntityError","Uploads.toFile","Uploads.fileFromPath","__awaiter","__generator","z","base64","require$$0","require$$1","require$$2","StandardWebhook","WebhookVerificationError"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,35,36,37,38]}
|