@stacksjs/payments 0.64.6 → 0.65.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/drivers/stripe.d.ts +42 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +2 -2
- package/dist/index.js.map +28 -16
- package/package.json +10 -16
- package/src/drivers/stripe.ts +70 -29
package/dist/index.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../../../../node_modules/es-errors/index.js", "../../../../../node_modules/es-errors/eval.js", "../../../../../node_modules/es-errors/range.js", "../../../../../node_modules/es-errors/ref.js", "../../../../../node_modules/es-errors/syntax.js", "../../../../../node_modules/es-errors/type.js", "../../../../../node_modules/es-errors/uri.js", "../../../../../node_modules/has-symbols/shams.js", "../../../../../node_modules/has-symbols/index.js", "../../../../../node_modules/has-proto/index.js", "../../../../../node_modules/function-bind/implementation.js", "../../../../../node_modules/function-bind/index.js", "../../../../../node_modules/hasown/index.js", "../../../../../node_modules/get-intrinsic/index.js", "../../../../../node_modules/es-define-property/index.js", "../../../../../node_modules/gopd/index.js", "../../../../../node_modules/define-data-property/index.js", "../../../../../node_modules/has-property-descriptors/index.js", "../../../../../node_modules/set-function-length/index.js", "../../../../../node_modules/call-bind/index.js", "../../../../../node_modules/call-bind/callBound.js", "../../../../../node_modules/object-inspect/util.inspect.js", "../../../../../node_modules/object-inspect/index.js", "../../../../../node_modules/side-channel/index.js", "../../../../../node_modules/qs/lib/formats.js", "../../../../../node_modules/qs/lib/utils.js", "../../../../../node_modules/qs/lib/stringify.js", "../../../../../node_modules/qs/lib/parse.js", "../../../../../node_modules/qs/lib/index.js", "../../../../../node_modules/stripe/esm/net/HttpClient.js", "../../../../../node_modules/stripe/esm/net/FetchHttpClient.js", "../../../../../node_modules/stripe/esm/crypto/CryptoProvider.js", "../../../../../node_modules/stripe/esm/crypto/SubtleCryptoProvider.js", "../../../../../node_modules/stripe/esm/platform/PlatformFunctions.js", "../../../../../node_modules/stripe/esm/StripeEmitter.js", "../../../../../node_modules/stripe/esm/platform/WebPlatformFunctions.js", "../../../../../node_modules/stripe/esm/Error.js", "../../../../../node_modules/stripe/esm/utils.js", "../../../../../node_modules/stripe/esm/RequestSender.js", "../../../../../node_modules/stripe/esm/autoPagination.js", "../../../../../node_modules/stripe/esm/StripeMethod.js", "../../../../../node_modules/stripe/esm/StripeResource.js", "../../../../../node_modules/stripe/esm/Webhooks.js", "../../../../../node_modules/stripe/esm/apiVersion.js", "../../../../../node_modules/stripe/esm/ResourceNamespace.js", "../../../../../node_modules/stripe/esm/resources/FinancialConnections/Accounts.js", "../../../../../node_modules/stripe/esm/resources/Entitlements/ActiveEntitlements.js", "../../../../../node_modules/stripe/esm/resources/Billing/Alerts.js", "../../../../../node_modules/stripe/esm/resources/TestHelpers/Issuing/Authorizations.js", "../../../../../node_modules/stripe/esm/resources/Issuing/Authorizations.js", "../../../../../node_modules/stripe/esm/resources/Tax/Calculations.js", "../../../../../node_modules/stripe/esm/resources/Issuing/Cardholders.js", "../../../../../node_modules/stripe/esm/resources/TestHelpers/Issuing/Cards.js", "../../../../../node_modules/stripe/esm/resources/Issuing/Cards.js", "../../../../../node_modules/stripe/esm/resources/BillingPortal/Configurations.js", "../../../../../node_modules/stripe/esm/resources/Terminal/Configurations.js", "../../../../../node_modules/stripe/esm/resources/TestHelpers/ConfirmationTokens.js", "../../../../../node_modules/stripe/esm/resources/Terminal/ConnectionTokens.js", "../../../../../node_modules/stripe/esm/resources/Treasury/CreditReversals.js", "../../../../../node_modules/stripe/esm/resources/TestHelpers/Customers.js", "../../../../../node_modules/stripe/esm/resources/Treasury/DebitReversals.js", "../../../../../node_modules/stripe/esm/resources/Issuing/Disputes.js", "../../../../../node_modules/stripe/esm/resources/Radar/EarlyFraudWarnings.js", "../../../../../node_modules/stripe/esm/resources/Entitlements/Features.js", "../../../../../node_modules/stripe/esm/resources/Treasury/FinancialAccounts.js", "../../../../../node_modules/stripe/esm/resources/TestHelpers/Treasury/InboundTransfers.js", "../../../../../node_modules/stripe/esm/resources/Treasury/InboundTransfers.js", "../../../../../node_modules/stripe/esm/resources/Terminal/Locations.js", "../../../../../node_modules/stripe/esm/resources/Billing/MeterEventAdjustments.js", "../../../../../node_modules/stripe/esm/resources/Billing/MeterEvents.js", "../../../../../node_modules/stripe/esm/resources/Billing/Meters.js", "../../../../../node_modules/stripe/esm/resources/Climate/Orders.js", "../../../../../node_modules/stripe/esm/resources/TestHelpers/Treasury/OutboundPayments.js", "../../../../../node_modules/stripe/esm/resources/Treasury/OutboundPayments.js", "../../../../../node_modules/stripe/esm/resources/TestHelpers/Treasury/OutboundTransfers.js", "../../../../../node_modules/stripe/esm/resources/Treasury/OutboundTransfers.js", "../../../../../node_modules/stripe/esm/resources/TestHelpers/Issuing/PersonalizationDesigns.js", "../../../../../node_modules/stripe/esm/resources/Issuing/PersonalizationDesigns.js", "../../../../../node_modules/stripe/esm/resources/Issuing/PhysicalBundles.js", "../../../../../node_modules/stripe/esm/resources/Climate/Products.js", "../../../../../node_modules/stripe/esm/resources/TestHelpers/Terminal/Readers.js", "../../../../../node_modules/stripe/esm/resources/Terminal/Readers.js", "../../../../../node_modules/stripe/esm/resources/TestHelpers/Treasury/ReceivedCredits.js", "../../../../../node_modules/stripe/esm/resources/Treasury/ReceivedCredits.js", "../../../../../node_modules/stripe/esm/resources/TestHelpers/Treasury/ReceivedDebits.js", "../../../../../node_modules/stripe/esm/resources/Treasury/ReceivedDebits.js", "../../../../../node_modules/stripe/esm/resources/TestHelpers/Refunds.js", "../../../../../node_modules/stripe/esm/resources/Tax/Registrations.js", "../../../../../node_modules/stripe/esm/resources/Reporting/ReportRuns.js", "../../../../../node_modules/stripe/esm/resources/Reporting/ReportTypes.js", "../../../../../node_modules/stripe/esm/resources/Forwarding/Requests.js", "../../../../../node_modules/stripe/esm/resources/Sigma/ScheduledQueryRuns.js", "../../../../../node_modules/stripe/esm/resources/Apps/Secrets.js", "../../../../../node_modules/stripe/esm/resources/BillingPortal/Sessions.js", "../../../../../node_modules/stripe/esm/resources/Checkout/Sessions.js", "../../../../../node_modules/stripe/esm/resources/FinancialConnections/Sessions.js", "../../../../../node_modules/stripe/esm/resources/Tax/Settings.js", "../../../../../node_modules/stripe/esm/resources/Climate/Suppliers.js", "../../../../../node_modules/stripe/esm/resources/TestHelpers/TestClocks.js", "../../../../../node_modules/stripe/esm/resources/Issuing/Tokens.js", "../../../../../node_modules/stripe/esm/resources/Treasury/TransactionEntries.js", "../../../../../node_modules/stripe/esm/resources/TestHelpers/Issuing/Transactions.js", "../../../../../node_modules/stripe/esm/resources/FinancialConnections/Transactions.js", "../../../../../node_modules/stripe/esm/resources/Issuing/Transactions.js", "../../../../../node_modules/stripe/esm/resources/Tax/Transactions.js", "../../../../../node_modules/stripe/esm/resources/Treasury/Transactions.js", "../../../../../node_modules/stripe/esm/resources/Radar/ValueListItems.js", "../../../../../node_modules/stripe/esm/resources/Radar/ValueLists.js", "../../../../../node_modules/stripe/esm/resources/Identity/VerificationReports.js", "../../../../../node_modules/stripe/esm/resources/Identity/VerificationSessions.js", "../../../../../node_modules/stripe/esm/resources/Accounts.js", "../../../../../node_modules/stripe/esm/resources/AccountLinks.js", "../../../../../node_modules/stripe/esm/resources/AccountSessions.js", "../../../../../node_modules/stripe/esm/resources/ApplePayDomains.js", "../../../../../node_modules/stripe/esm/resources/ApplicationFees.js", "../../../../../node_modules/stripe/esm/resources/Balance.js", "../../../../../node_modules/stripe/esm/resources/BalanceTransactions.js", "../../../../../node_modules/stripe/esm/resources/Charges.js", "../../../../../node_modules/stripe/esm/resources/ConfirmationTokens.js", "../../../../../node_modules/stripe/esm/resources/CountrySpecs.js", "../../../../../node_modules/stripe/esm/resources/Coupons.js", "../../../../../node_modules/stripe/esm/resources/CreditNotes.js", "../../../../../node_modules/stripe/esm/resources/CustomerSessions.js", "../../../../../node_modules/stripe/esm/resources/Customers.js", "../../../../../node_modules/stripe/esm/resources/Disputes.js", "../../../../../node_modules/stripe/esm/resources/EphemeralKeys.js", "../../../../../node_modules/stripe/esm/resources/Events.js", "../../../../../node_modules/stripe/esm/resources/ExchangeRates.js", "../../../../../node_modules/stripe/esm/resources/FileLinks.js", "../../../../../node_modules/stripe/esm/multipart.js", "../../../../../node_modules/stripe/esm/resources/Files.js", "../../../../../node_modules/stripe/esm/resources/InvoiceItems.js", "../../../../../node_modules/stripe/esm/resources/Invoices.js", "../../../../../node_modules/stripe/esm/resources/Mandates.js", "../../../../../node_modules/stripe/esm/resources/OAuth.js", "../../../../../node_modules/stripe/esm/resources/PaymentIntents.js", "../../../../../node_modules/stripe/esm/resources/PaymentLinks.js", "../../../../../node_modules/stripe/esm/resources/PaymentMethodConfigurations.js", "../../../../../node_modules/stripe/esm/resources/PaymentMethodDomains.js", "../../../../../node_modules/stripe/esm/resources/PaymentMethods.js", "../../../../../node_modules/stripe/esm/resources/Payouts.js", "../../../../../node_modules/stripe/esm/resources/Plans.js", "../../../../../node_modules/stripe/esm/resources/Prices.js", "../../../../../node_modules/stripe/esm/resources/Products.js", "../../../../../node_modules/stripe/esm/resources/PromotionCodes.js", "../../../../../node_modules/stripe/esm/resources/Quotes.js", "../../../../../node_modules/stripe/esm/resources/Refunds.js", "../../../../../node_modules/stripe/esm/resources/Reviews.js", "../../../../../node_modules/stripe/esm/resources/SetupAttempts.js", "../../../../../node_modules/stripe/esm/resources/SetupIntents.js", "../../../../../node_modules/stripe/esm/resources/ShippingRates.js", "../../../../../node_modules/stripe/esm/resources/Sources.js", "../../../../../node_modules/stripe/esm/resources/SubscriptionItems.js", "../../../../../node_modules/stripe/esm/resources/SubscriptionSchedules.js", "../../../../../node_modules/stripe/esm/resources/Subscriptions.js", "../../../../../node_modules/stripe/esm/resources/TaxCodes.js", "../../../../../node_modules/stripe/esm/resources/TaxIds.js", "../../../../../node_modules/stripe/esm/resources/TaxRates.js", "../../../../../node_modules/stripe/esm/resources/Tokens.js", "../../../../../node_modules/stripe/esm/resources/Topups.js", "../../../../../node_modules/stripe/esm/resources/Transfers.js", "../../../../../node_modules/stripe/esm/resources/WebhookEndpoints.js", "../../../../../node_modules/stripe/esm/resources.js", "../../../../../node_modules/stripe/esm/stripe.core.js", "../../../../../node_modules/stripe/esm/stripe.esm.worker.js", "../src/drivers/stripe.ts"],
|
|
3
|
+
"sources": ["../../../../../node_modules/es-errors/index.js", "../../../../../node_modules/es-errors/eval.js", "../../../../../node_modules/es-errors/range.js", "../../../../../node_modules/es-errors/ref.js", "../../../../../node_modules/es-errors/syntax.js", "../../../../../node_modules/es-errors/type.js", "../../../../../node_modules/es-errors/uri.js", "../../../../../node_modules/has-symbols/shams.js", "../../../../../node_modules/has-symbols/index.js", "../../../../../node_modules/has-proto/index.js", "../../../../../node_modules/function-bind/implementation.js", "../../../../../node_modules/function-bind/index.js", "../../../../../node_modules/hasown/index.js", "../../../../../node_modules/get-intrinsic/index.js", "../../../../../node_modules/es-define-property/index.js", "../../../../../node_modules/gopd/index.js", "../../../../../node_modules/define-data-property/index.js", "../../../../../node_modules/has-property-descriptors/index.js", "../../../../../node_modules/set-function-length/index.js", "../../../../../node_modules/call-bind/index.js", "../../../../../node_modules/call-bind/callBound.js", "../../../../../node_modules/object-inspect/util.inspect.js", "../../../../../node_modules/object-inspect/index.js", "../../../../../node_modules/side-channel/index.js", "../../../../../node_modules/qs/lib/formats.js", "../../../../../node_modules/qs/lib/utils.js", "../../../../../node_modules/qs/lib/stringify.js", "../../../../../node_modules/qs/lib/parse.js", "../../../../../node_modules/qs/lib/index.js", "../../../../../node_modules/stripe/esm/net/HttpClient.js", "../../../../../node_modules/stripe/esm/net/FetchHttpClient.js", "../../../../../node_modules/stripe/esm/crypto/CryptoProvider.js", "../../../../../node_modules/stripe/esm/crypto/SubtleCryptoProvider.js", "../../../../../node_modules/stripe/esm/platform/PlatformFunctions.js", "../../../../../node_modules/stripe/esm/StripeEmitter.js", "../../../../../node_modules/stripe/esm/platform/WebPlatformFunctions.js", "../../../../../node_modules/stripe/esm/Error.js", "../../../../../node_modules/stripe/esm/utils.js", "../../../../../node_modules/stripe/esm/RequestSender.js", "../../../../../node_modules/stripe/esm/autoPagination.js", "../../../../../node_modules/stripe/esm/StripeMethod.js", "../../../../../node_modules/stripe/esm/StripeResource.js", "../../../../../node_modules/stripe/esm/Webhooks.js", "../../../../../node_modules/stripe/esm/apiVersion.js", "../../../../../node_modules/stripe/esm/ResourceNamespace.js", "../../../../../node_modules/stripe/esm/resources/FinancialConnections/Accounts.js", "../../../../../node_modules/stripe/esm/resources/Entitlements/ActiveEntitlements.js", "../../../../../node_modules/stripe/esm/resources/Billing/Alerts.js", "../../../../../node_modules/stripe/esm/resources/TestHelpers/Issuing/Authorizations.js", "../../../../../node_modules/stripe/esm/resources/Issuing/Authorizations.js", "../../../../../node_modules/stripe/esm/resources/Tax/Calculations.js", "../../../../../node_modules/stripe/esm/resources/Issuing/Cardholders.js", "../../../../../node_modules/stripe/esm/resources/TestHelpers/Issuing/Cards.js", "../../../../../node_modules/stripe/esm/resources/Issuing/Cards.js", "../../../../../node_modules/stripe/esm/resources/BillingPortal/Configurations.js", "../../../../../node_modules/stripe/esm/resources/Terminal/Configurations.js", "../../../../../node_modules/stripe/esm/resources/TestHelpers/ConfirmationTokens.js", "../../../../../node_modules/stripe/esm/resources/Terminal/ConnectionTokens.js", "../../../../../node_modules/stripe/esm/resources/Billing/CreditBalanceSummary.js", "../../../../../node_modules/stripe/esm/resources/Billing/CreditBalanceTransactions.js", "../../../../../node_modules/stripe/esm/resources/Billing/CreditGrants.js", "../../../../../node_modules/stripe/esm/resources/Treasury/CreditReversals.js", "../../../../../node_modules/stripe/esm/resources/TestHelpers/Customers.js", "../../../../../node_modules/stripe/esm/resources/Treasury/DebitReversals.js", "../../../../../node_modules/stripe/esm/resources/Issuing/Disputes.js", "../../../../../node_modules/stripe/esm/resources/Radar/EarlyFraudWarnings.js", "../../../../../node_modules/stripe/esm/resources/Entitlements/Features.js", "../../../../../node_modules/stripe/esm/resources/Treasury/FinancialAccounts.js", "../../../../../node_modules/stripe/esm/resources/TestHelpers/Treasury/InboundTransfers.js", "../../../../../node_modules/stripe/esm/resources/Treasury/InboundTransfers.js", "../../../../../node_modules/stripe/esm/resources/Terminal/Locations.js", "../../../../../node_modules/stripe/esm/resources/Billing/MeterEventAdjustments.js", "../../../../../node_modules/stripe/esm/resources/Billing/MeterEvents.js", "../../../../../node_modules/stripe/esm/resources/Billing/Meters.js", "../../../../../node_modules/stripe/esm/resources/Climate/Orders.js", "../../../../../node_modules/stripe/esm/resources/TestHelpers/Treasury/OutboundPayments.js", "../../../../../node_modules/stripe/esm/resources/Treasury/OutboundPayments.js", "../../../../../node_modules/stripe/esm/resources/TestHelpers/Treasury/OutboundTransfers.js", "../../../../../node_modules/stripe/esm/resources/Treasury/OutboundTransfers.js", "../../../../../node_modules/stripe/esm/resources/TestHelpers/Issuing/PersonalizationDesigns.js", "../../../../../node_modules/stripe/esm/resources/Issuing/PersonalizationDesigns.js", "../../../../../node_modules/stripe/esm/resources/Issuing/PhysicalBundles.js", "../../../../../node_modules/stripe/esm/resources/Climate/Products.js", "../../../../../node_modules/stripe/esm/resources/TestHelpers/Terminal/Readers.js", "../../../../../node_modules/stripe/esm/resources/Terminal/Readers.js", "../../../../../node_modules/stripe/esm/resources/TestHelpers/Treasury/ReceivedCredits.js", "../../../../../node_modules/stripe/esm/resources/Treasury/ReceivedCredits.js", "../../../../../node_modules/stripe/esm/resources/TestHelpers/Treasury/ReceivedDebits.js", "../../../../../node_modules/stripe/esm/resources/Treasury/ReceivedDebits.js", "../../../../../node_modules/stripe/esm/resources/TestHelpers/Refunds.js", "../../../../../node_modules/stripe/esm/resources/Tax/Registrations.js", "../../../../../node_modules/stripe/esm/resources/Reporting/ReportRuns.js", "../../../../../node_modules/stripe/esm/resources/Reporting/ReportTypes.js", "../../../../../node_modules/stripe/esm/resources/Forwarding/Requests.js", "../../../../../node_modules/stripe/esm/resources/Sigma/ScheduledQueryRuns.js", "../../../../../node_modules/stripe/esm/resources/Apps/Secrets.js", "../../../../../node_modules/stripe/esm/resources/BillingPortal/Sessions.js", "../../../../../node_modules/stripe/esm/resources/Checkout/Sessions.js", "../../../../../node_modules/stripe/esm/resources/FinancialConnections/Sessions.js", "../../../../../node_modules/stripe/esm/resources/Tax/Settings.js", "../../../../../node_modules/stripe/esm/resources/Climate/Suppliers.js", "../../../../../node_modules/stripe/esm/resources/TestHelpers/TestClocks.js", "../../../../../node_modules/stripe/esm/resources/Issuing/Tokens.js", "../../../../../node_modules/stripe/esm/resources/Treasury/TransactionEntries.js", "../../../../../node_modules/stripe/esm/resources/TestHelpers/Issuing/Transactions.js", "../../../../../node_modules/stripe/esm/resources/FinancialConnections/Transactions.js", "../../../../../node_modules/stripe/esm/resources/Issuing/Transactions.js", "../../../../../node_modules/stripe/esm/resources/Tax/Transactions.js", "../../../../../node_modules/stripe/esm/resources/Treasury/Transactions.js", "../../../../../node_modules/stripe/esm/resources/Radar/ValueListItems.js", "../../../../../node_modules/stripe/esm/resources/Radar/ValueLists.js", "../../../../../node_modules/stripe/esm/resources/Identity/VerificationReports.js", "../../../../../node_modules/stripe/esm/resources/Identity/VerificationSessions.js", "../../../../../node_modules/stripe/esm/resources/Accounts.js", "../../../../../node_modules/stripe/esm/resources/AccountLinks.js", "../../../../../node_modules/stripe/esm/resources/AccountSessions.js", "../../../../../node_modules/stripe/esm/resources/ApplePayDomains.js", "../../../../../node_modules/stripe/esm/resources/ApplicationFees.js", "../../../../../node_modules/stripe/esm/resources/Balance.js", "../../../../../node_modules/stripe/esm/resources/BalanceTransactions.js", "../../../../../node_modules/stripe/esm/resources/Charges.js", "../../../../../node_modules/stripe/esm/resources/ConfirmationTokens.js", "../../../../../node_modules/stripe/esm/resources/CountrySpecs.js", "../../../../../node_modules/stripe/esm/resources/Coupons.js", "../../../../../node_modules/stripe/esm/resources/CreditNotes.js", "../../../../../node_modules/stripe/esm/resources/CustomerSessions.js", "../../../../../node_modules/stripe/esm/resources/Customers.js", "../../../../../node_modules/stripe/esm/resources/Disputes.js", "../../../../../node_modules/stripe/esm/resources/EphemeralKeys.js", "../../../../../node_modules/stripe/esm/resources/Events.js", "../../../../../node_modules/stripe/esm/resources/ExchangeRates.js", "../../../../../node_modules/stripe/esm/resources/FileLinks.js", "../../../../../node_modules/stripe/esm/multipart.js", "../../../../../node_modules/stripe/esm/resources/Files.js", "../../../../../node_modules/stripe/esm/resources/InvoiceItems.js", "../../../../../node_modules/stripe/esm/resources/InvoiceRenderingTemplates.js", "../../../../../node_modules/stripe/esm/resources/Invoices.js", "../../../../../node_modules/stripe/esm/resources/Mandates.js", "../../../../../node_modules/stripe/esm/resources/OAuth.js", "../../../../../node_modules/stripe/esm/resources/PaymentIntents.js", "../../../../../node_modules/stripe/esm/resources/PaymentLinks.js", "../../../../../node_modules/stripe/esm/resources/PaymentMethodConfigurations.js", "../../../../../node_modules/stripe/esm/resources/PaymentMethodDomains.js", "../../../../../node_modules/stripe/esm/resources/PaymentMethods.js", "../../../../../node_modules/stripe/esm/resources/Payouts.js", "../../../../../node_modules/stripe/esm/resources/Plans.js", "../../../../../node_modules/stripe/esm/resources/Prices.js", "../../../../../node_modules/stripe/esm/resources/Products.js", "../../../../../node_modules/stripe/esm/resources/PromotionCodes.js", "../../../../../node_modules/stripe/esm/resources/Quotes.js", "../../../../../node_modules/stripe/esm/resources/Refunds.js", "../../../../../node_modules/stripe/esm/resources/Reviews.js", "../../../../../node_modules/stripe/esm/resources/SetupAttempts.js", "../../../../../node_modules/stripe/esm/resources/SetupIntents.js", "../../../../../node_modules/stripe/esm/resources/ShippingRates.js", "../../../../../node_modules/stripe/esm/resources/Sources.js", "../../../../../node_modules/stripe/esm/resources/SubscriptionItems.js", "../../../../../node_modules/stripe/esm/resources/SubscriptionSchedules.js", "../../../../../node_modules/stripe/esm/resources/Subscriptions.js", "../../../../../node_modules/stripe/esm/resources/TaxCodes.js", "../../../../../node_modules/stripe/esm/resources/TaxIds.js", "../../../../../node_modules/stripe/esm/resources/TaxRates.js", "../../../../../node_modules/stripe/esm/resources/Tokens.js", "../../../../../node_modules/stripe/esm/resources/Topups.js", "../../../../../node_modules/stripe/esm/resources/Transfers.js", "../../../../../node_modules/stripe/esm/resources/V2/Billing/MeterEventSession.js", "../../../../../node_modules/stripe/esm/resources/V2/Billing/MeterEventAdjustments.js", "../../../../../node_modules/stripe/esm/resources/V2/Billing/MeterEventStream.js", "../../../../../node_modules/stripe/esm/resources/V2/Billing/MeterEvents.js", "../../../../../node_modules/stripe/esm/resources/V2/Billing.js", "../../../../../node_modules/stripe/esm/resources/V2/Core/Events.js", "../../../../../node_modules/stripe/esm/resources/V2/Core.js", "../../../../../node_modules/stripe/esm/resources/V2.js", "../../../../../node_modules/stripe/esm/resources/WebhookEndpoints.js", "../../../../../node_modules/stripe/esm/resources.js", "../../../../../node_modules/stripe/esm/stripe.core.js", "../../../../../node_modules/stripe/esm/stripe.esm.worker.js", "../src/drivers/stripe.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Error;\n",
|
|
6
6
|
"'use strict';\n\n/** @type {import('./eval')} */\nmodule.exports = EvalError;\n",
|
|
@@ -33,19 +33,19 @@
|
|
|
33
33
|
"'use strict';\n\nvar stringify = require('./stringify');\nvar parse = require('./parse');\nvar formats = require('./formats');\n\nmodule.exports = {\n formats: formats,\n parse: parse,\n stringify: stringify\n};\n",
|
|
34
34
|
"/**\n * Encapsulates the logic for issuing a request to the Stripe API.\n *\n * A custom HTTP client should should implement:\n * 1. A response class which extends HttpClientResponse and wraps around their\n * own internal representation of a response.\n * 2. A client class which extends HttpClient and implements all methods,\n * returning their own response class when making requests.\n */\nexport class HttpClient {\n /** The client name used for diagnostics. */\n getClientName() {\n throw new Error('getClientName not implemented.');\n }\n makeRequest(host, port, path, method, headers, requestData, protocol, timeout) {\n throw new Error('makeRequest not implemented.');\n }\n /** Helper to make a consistent timeout error across implementations. */\n static makeTimeoutError() {\n const timeoutErr = new TypeError(HttpClient.TIMEOUT_ERROR_CODE);\n timeoutErr.code = HttpClient.TIMEOUT_ERROR_CODE;\n return timeoutErr;\n }\n}\n// Public API accessible via Stripe.HttpClient\nHttpClient.CONNECTION_CLOSED_ERROR_CODES = ['ECONNRESET', 'EPIPE'];\nHttpClient.TIMEOUT_ERROR_CODE = 'ETIMEDOUT';\nexport class HttpClientResponse {\n constructor(statusCode, headers) {\n this._statusCode = statusCode;\n this._headers = headers;\n }\n getStatusCode() {\n return this._statusCode;\n }\n getHeaders() {\n return this._headers;\n }\n getRawResponse() {\n throw new Error('getRawResponse not implemented.');\n }\n toStream(streamCompleteCallback) {\n throw new Error('toStream not implemented.');\n }\n toJSON() {\n throw new Error('toJSON not implemented.');\n }\n}\n",
|
|
35
35
|
"import { HttpClient, HttpClientResponse, } from './HttpClient.js';\n/**\n * HTTP client which uses a `fetch` function to issue requests.\n *\n * By default relies on the global `fetch` function, but an optional function\n * can be passed in. If passing in a function, it is expected to match the Web\n * Fetch API. As an example, this could be the function provided by the\n * node-fetch package (https://github.com/node-fetch/node-fetch).\n */\nexport class FetchHttpClient extends HttpClient {\n constructor(fetchFn) {\n super();\n // Default to global fetch if available\n if (!fetchFn) {\n if (!globalThis.fetch) {\n throw new Error('fetch() function not provided and is not defined in the global scope. ' +\n 'You must provide a fetch implementation.');\n }\n fetchFn = globalThis.fetch;\n }\n // Both timeout behaviors differs from Node:\n // - Fetch uses a single timeout for the entire length of the request.\n // - Node is more fine-grained and resets the timeout after each stage of the request.\n if (globalThis.AbortController) {\n // Utilise native AbortController if available\n // AbortController was added in Node v15.0.0, v14.17.0\n this._fetchFn = FetchHttpClient.makeFetchWithAbortTimeout(fetchFn);\n }\n else {\n // Fall back to racing against a timeout promise if not available in the runtime\n // This does not actually cancel the underlying fetch operation or resources\n this._fetchFn = FetchHttpClient.makeFetchWithRaceTimeout(fetchFn);\n }\n }\n static makeFetchWithRaceTimeout(fetchFn) {\n return (url, init, timeout) => {\n let pendingTimeoutId;\n const timeoutPromise = new Promise((_, reject) => {\n pendingTimeoutId = setTimeout(() => {\n pendingTimeoutId = null;\n reject(HttpClient.makeTimeoutError());\n }, timeout);\n });\n const fetchPromise = fetchFn(url, init);\n return Promise.race([fetchPromise, timeoutPromise]).finally(() => {\n if (pendingTimeoutId) {\n clearTimeout(pendingTimeoutId);\n }\n });\n };\n }\n static makeFetchWithAbortTimeout(fetchFn) {\n return async (url, init, timeout) => {\n // Use AbortController because AbortSignal.timeout() was added later in Node v17.3.0, v16.14.0\n const abort = new AbortController();\n let timeoutId = setTimeout(() => {\n timeoutId = null;\n abort.abort(HttpClient.makeTimeoutError());\n }, timeout);\n try {\n return await fetchFn(url, Object.assign(Object.assign({}, init), { signal: abort.signal }));\n }\n catch (err) {\n // Some implementations, like node-fetch, do not respect the reason passed to AbortController.abort()\n // and instead it always throws an AbortError\n // We catch this case to normalise all timeout errors\n if (err.name === 'AbortError') {\n throw HttpClient.makeTimeoutError();\n }\n else {\n throw err;\n }\n }\n finally {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n }\n };\n }\n /** @override. */\n getClientName() {\n return 'fetch';\n }\n async makeRequest(host, port, path, method, headers, requestData, protocol, timeout) {\n const isInsecureConnection = protocol === 'http';\n const url = new URL(path, `${isInsecureConnection ? 'http' : 'https'}://${host}`);\n url.port = port;\n // For methods which expect payloads, we should always pass a body value\n // even when it is empty. Without this, some JS runtimes (eg. Deno) will\n // inject a second Content-Length header. See https://github.com/stripe/stripe-node/issues/1519\n // for more details.\n const methodHasPayload = method == 'POST' || method == 'PUT' || method == 'PATCH';\n const body = requestData || (methodHasPayload ? '' : undefined);\n const res = await this._fetchFn(url.toString(), {\n method,\n // @ts-ignore\n headers,\n // @ts-ignore\n body,\n }, timeout);\n return new FetchHttpClientResponse(res);\n }\n}\nexport class FetchHttpClientResponse extends HttpClientResponse {\n constructor(res) {\n super(res.status, FetchHttpClientResponse._transformHeadersToObject(res.headers));\n this._res = res;\n }\n getRawResponse() {\n return this._res;\n }\n toStream(streamCompleteCallback) {\n // Unfortunately `fetch` does not have event handlers for when the stream is\n // completely read. We therefore invoke the streamCompleteCallback right\n // away. This callback emits a response event with metadata and completes\n // metrics, so it's ok to do this without waiting for the stream to be\n // completely read.\n streamCompleteCallback();\n // Fetch's `body` property is expected to be a readable stream of the body.\n return this._res.body;\n }\n toJSON() {\n return this._res.json();\n }\n static _transformHeadersToObject(headers) {\n // Fetch uses a Headers instance so this must be converted to a barebones\n // JS object to meet the HttpClient interface.\n const headersObj = {};\n for (const entry of headers) {\n if (!Array.isArray(entry) || entry.length != 2) {\n throw new Error('Response objects produced by the fetch function given to FetchHttpClient do not have an iterable headers map. Response#headers should be an iterable object.');\n }\n headersObj[entry[0]] = entry[1];\n }\n return headersObj;\n }\n}\n",
|
|
36
|
-
"/**\n * Interface encapsulating the various crypto computations used by the library,\n * allowing pluggable underlying crypto implementations.\n */\nexport class CryptoProvider {\n /**\n * Computes a SHA-256 HMAC given a secret and a payload (encoded in UTF-8).\n * The output HMAC should be encoded in hexadecimal.\n *\n * Sample values for implementations:\n * - computeHMACSignature('', 'test_secret') => 'f7f9bd47fb987337b5796fdc1fdb9ba221d0d5396814bfcaf9521f43fd8927fd'\n * - computeHMACSignature('\\ud83d\\ude00', 'test_secret') => '837da296d05c4fe31f61d5d7ead035099d9585a5bcde87de952012a78f0b0c43\n */\n computeHMACSignature(payload, secret) {\n throw new Error('computeHMACSignature not implemented.');\n }\n /**\n * Asynchronous version of `computeHMACSignature`. Some implementations may\n * only allow support async signature computation.\n *\n * Computes a SHA-256 HMAC given a secret and a payload (encoded in UTF-8).\n * The output HMAC should be encoded in hexadecimal.\n *\n * Sample values for implementations:\n * - computeHMACSignature('', 'test_secret') => 'f7f9bd47fb987337b5796fdc1fdb9ba221d0d5396814bfcaf9521f43fd8927fd'\n * - computeHMACSignature('\\ud83d\\ude00', 'test_secret') => '837da296d05c4fe31f61d5d7ead035099d9585a5bcde87de952012a78f0b0c43\n */\n computeHMACSignatureAsync(payload, secret) {\n throw new Error('computeHMACSignatureAsync not implemented.');\n }\n}\n/**\n * If the crypto provider only supports asynchronous operations,\n * throw CryptoProviderOnlySupportsAsyncError instead of\n * a generic error so that the caller can choose to provide\n * a more helpful error message to direct the user to use\n * an asynchronous pathway.\n */\nexport class CryptoProviderOnlySupportsAsyncError extends Error {\n}\n",
|
|
37
|
-
"import { CryptoProvider, CryptoProviderOnlySupportsAsyncError, } from './CryptoProvider.js';\n/**\n * `CryptoProvider which uses the SubtleCrypto interface of the Web Crypto API.\n *\n * This only supports asynchronous operations.\n */\nexport class SubtleCryptoProvider extends CryptoProvider {\n constructor(subtleCrypto) {\n super();\n // If no subtle crypto is interface, default to the global namespace. This\n // is to allow custom interfaces (eg. using the Node webcrypto interface in\n // tests).\n this.subtleCrypto = subtleCrypto || crypto.subtle;\n }\n /** @override */\n computeHMACSignature(payload, secret) {\n throw new CryptoProviderOnlySupportsAsyncError('SubtleCryptoProvider cannot be used in a synchronous context.');\n }\n /** @override */\n async computeHMACSignatureAsync(payload, secret) {\n const encoder = new TextEncoder();\n const key = await this.subtleCrypto.importKey('raw', encoder.encode(secret), {\n name: 'HMAC',\n hash: { name: 'SHA-256' },\n }, false, ['sign']);\n const signatureBuffer = await this.subtleCrypto.sign('hmac', key, encoder.encode(payload));\n // crypto.subtle returns the signature in base64 format. This must be\n // encoded in hex to match the CryptoProvider contract. We map each byte in\n // the buffer to its corresponding hex octet and then combine into a string.\n const signatureBytes = new Uint8Array(signatureBuffer);\n const signatureHexCodes = new Array(signatureBytes.length);\n for (let i = 0; i < signatureBytes.length; i++) {\n signatureHexCodes[i] = byteHexMapping[signatureBytes[i]];\n }\n return signatureHexCodes.join('');\n }\n}\n// Cached mapping of byte to hex representation. We do this once to avoid re-\n// computing every time we need to convert the result of a signature to hex.\nconst byteHexMapping = new Array(256);\nfor (let i = 0; i < byteHexMapping.length; i++) {\n byteHexMapping[i] = i.toString(16).padStart(2, '0');\n}\n",
|
|
36
|
+
"/**\n * Interface encapsulating the various crypto computations used by the library,\n * allowing pluggable underlying crypto implementations.\n */\nexport class CryptoProvider {\n /**\n * Computes a SHA-256 HMAC given a secret and a payload (encoded in UTF-8).\n * The output HMAC should be encoded in hexadecimal.\n *\n * Sample values for implementations:\n * - computeHMACSignature('', 'test_secret') => 'f7f9bd47fb987337b5796fdc1fdb9ba221d0d5396814bfcaf9521f43fd8927fd'\n * - computeHMACSignature('\\ud83d\\ude00', 'test_secret') => '837da296d05c4fe31f61d5d7ead035099d9585a5bcde87de952012a78f0b0c43\n */\n computeHMACSignature(payload, secret) {\n throw new Error('computeHMACSignature not implemented.');\n }\n /**\n * Asynchronous version of `computeHMACSignature`. Some implementations may\n * only allow support async signature computation.\n *\n * Computes a SHA-256 HMAC given a secret and a payload (encoded in UTF-8).\n * The output HMAC should be encoded in hexadecimal.\n *\n * Sample values for implementations:\n * - computeHMACSignature('', 'test_secret') => 'f7f9bd47fb987337b5796fdc1fdb9ba221d0d5396814bfcaf9521f43fd8927fd'\n * - computeHMACSignature('\\ud83d\\ude00', 'test_secret') => '837da296d05c4fe31f61d5d7ead035099d9585a5bcde87de952012a78f0b0c43\n */\n computeHMACSignatureAsync(payload, secret) {\n throw new Error('computeHMACSignatureAsync not implemented.');\n }\n /**\n * Computes a SHA-256 hash of the data.\n */\n computeSHA256Async(data) {\n throw new Error('computeSHA256 not implemented.');\n }\n}\n/**\n * If the crypto provider only supports asynchronous operations,\n * throw CryptoProviderOnlySupportsAsyncError instead of\n * a generic error so that the caller can choose to provide\n * a more helpful error message to direct the user to use\n * an asynchronous pathway.\n */\nexport class CryptoProviderOnlySupportsAsyncError extends Error {\n}\n",
|
|
37
|
+
"import { CryptoProvider, CryptoProviderOnlySupportsAsyncError, } from './CryptoProvider.js';\n/**\n * `CryptoProvider which uses the SubtleCrypto interface of the Web Crypto API.\n *\n * This only supports asynchronous operations.\n */\nexport class SubtleCryptoProvider extends CryptoProvider {\n constructor(subtleCrypto) {\n super();\n // If no subtle crypto is interface, default to the global namespace. This\n // is to allow custom interfaces (eg. using the Node webcrypto interface in\n // tests).\n this.subtleCrypto = subtleCrypto || crypto.subtle;\n }\n /** @override */\n computeHMACSignature(payload, secret) {\n throw new CryptoProviderOnlySupportsAsyncError('SubtleCryptoProvider cannot be used in a synchronous context.');\n }\n /** @override */\n async computeHMACSignatureAsync(payload, secret) {\n const encoder = new TextEncoder();\n const key = await this.subtleCrypto.importKey('raw', encoder.encode(secret), {\n name: 'HMAC',\n hash: { name: 'SHA-256' },\n }, false, ['sign']);\n const signatureBuffer = await this.subtleCrypto.sign('hmac', key, encoder.encode(payload));\n // crypto.subtle returns the signature in base64 format. This must be\n // encoded in hex to match the CryptoProvider contract. We map each byte in\n // the buffer to its corresponding hex octet and then combine into a string.\n const signatureBytes = new Uint8Array(signatureBuffer);\n const signatureHexCodes = new Array(signatureBytes.length);\n for (let i = 0; i < signatureBytes.length; i++) {\n signatureHexCodes[i] = byteHexMapping[signatureBytes[i]];\n }\n return signatureHexCodes.join('');\n }\n /** @override */\n async computeSHA256Async(data) {\n return new Uint8Array(await this.subtleCrypto.digest('SHA-256', data));\n }\n}\n// Cached mapping of byte to hex representation. We do this once to avoid re-\n// computing every time we need to convert the result of a signature to hex.\nconst byteHexMapping = new Array(256);\nfor (let i = 0; i < byteHexMapping.length; i++) {\n byteHexMapping[i] = i.toString(16).padStart(2, '0');\n}\n",
|
|
38
38
|
"import { FetchHttpClient } from '../net/FetchHttpClient.js';\nimport { SubtleCryptoProvider } from '../crypto/SubtleCryptoProvider.js';\n/**\n * Interface encapsulating various utility functions whose\n * implementations depend on the platform / JS runtime.\n */\nexport class PlatformFunctions {\n constructor() {\n this._fetchFn = null;\n this._agent = null;\n }\n /**\n * Gets uname with Node's built-in `exec` function, if available.\n */\n getUname() {\n throw new Error('getUname not implemented.');\n }\n /**\n * Generates a v4 UUID. See https://stackoverflow.com/a/2117523\n */\n 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 }\n /**\n * Compares strings in constant time.\n */\n secureCompare(a, b) {\n // return early here if buffer lengths are not equal\n if (a.length !== b.length) {\n return false;\n }\n const len = a.length;\n let result = 0;\n for (let i = 0; i < len; ++i) {\n result |= a.charCodeAt(i) ^ b.charCodeAt(i);\n }\n return result === 0;\n }\n /**\n * Creates an event emitter.\n */\n createEmitter() {\n throw new Error('createEmitter not implemented.');\n }\n /**\n * Checks if the request data is a stream. If so, read the entire stream\n * to a buffer and return the buffer.\n */\n tryBufferData(data) {\n throw new Error('tryBufferData not implemented.');\n }\n /**\n * Creates an HTTP client which uses the Node `http` and `https` packages\n * to issue requests.\n */\n createNodeHttpClient(agent) {\n throw new Error('createNodeHttpClient not implemented.');\n }\n /**\n * Creates an HTTP client for issuing Stripe API requests which uses the Web\n * Fetch API.\n *\n * A fetch function can optionally be passed in as a parameter. If none is\n * passed, will default to the default `fetch` function in the global scope.\n */\n createFetchHttpClient(fetchFn) {\n return new FetchHttpClient(fetchFn);\n }\n /**\n * Creates an HTTP client using runtime-specific APIs.\n */\n createDefaultHttpClient() {\n throw new Error('createDefaultHttpClient not implemented.');\n }\n /**\n * Creates a CryptoProvider which uses the Node `crypto` package for its computations.\n */\n createNodeCryptoProvider() {\n throw new Error('createNodeCryptoProvider not implemented.');\n }\n /**\n * Creates a CryptoProvider which uses the SubtleCrypto interface of the Web Crypto API.\n */\n createSubtleCryptoProvider(subtleCrypto) {\n return new SubtleCryptoProvider(subtleCrypto);\n }\n createDefaultCryptoProvider() {\n throw new Error('createDefaultCryptoProvider not implemented.');\n }\n}\n",
|
|
39
39
|
"/**\n * @private\n * (For internal use in stripe-node.)\n * Wrapper around the Event Web API.\n */\nclass _StripeEvent extends Event {\n constructor(eventName, data) {\n super(eventName);\n this.data = data;\n }\n}\n/** Minimal EventEmitter wrapper around EventTarget. */\nexport class StripeEmitter {\n constructor() {\n this.eventTarget = new EventTarget();\n this.listenerMapping = new Map();\n }\n on(eventName, listener) {\n const listenerWrapper = (event) => {\n listener(event.data);\n };\n this.listenerMapping.set(listener, listenerWrapper);\n return this.eventTarget.addEventListener(eventName, listenerWrapper);\n }\n removeListener(eventName, listener) {\n const listenerWrapper = this.listenerMapping.get(listener);\n this.listenerMapping.delete(listener);\n return this.eventTarget.removeEventListener(eventName, listenerWrapper);\n }\n once(eventName, listener) {\n const listenerWrapper = (event) => {\n listener(event.data);\n };\n this.listenerMapping.set(listener, listenerWrapper);\n return this.eventTarget.addEventListener(eventName, listenerWrapper, {\n once: true,\n });\n }\n emit(eventName, data) {\n return this.eventTarget.dispatchEvent(new _StripeEvent(eventName, data));\n }\n}\n",
|
|
40
40
|
"import { PlatformFunctions } from './PlatformFunctions.js';\nimport { StripeEmitter } from '../StripeEmitter.js';\n/**\n * Specializes WebPlatformFunctions using APIs available in Web workers.\n */\nexport class WebPlatformFunctions extends PlatformFunctions {\n /** @override */\n getUname() {\n return Promise.resolve(null);\n }\n /** @override */\n createEmitter() {\n return new StripeEmitter();\n }\n /** @override */\n tryBufferData(data) {\n if (data.file.data instanceof ReadableStream) {\n throw new Error('Uploading a file as a stream is not supported in non-Node environments. Please open or upvote an issue at github.com/stripe/stripe-node if you use this, detailing your use-case.');\n }\n return Promise.resolve(data);\n }\n /** @override */\n createNodeHttpClient() {\n throw new Error('Stripe: `createNodeHttpClient()` is not available in non-Node environments. Please use `createFetchHttpClient()` instead.');\n }\n /** @override */\n createDefaultHttpClient() {\n return super.createFetchHttpClient();\n }\n /** @override */\n createNodeCryptoProvider() {\n throw new Error('Stripe: `createNodeCryptoProvider()` is not available in non-Node environments. Please use `createSubtleCryptoProvider()` instead.');\n }\n /** @override */\n createDefaultCryptoProvider() {\n return this.createSubtleCryptoProvider();\n }\n}\n",
|
|
41
|
-
"/* eslint-disable camelcase */\nexport const
|
|
42
|
-
"import * as qs from 'qs';\nconst OPTIONS_KEYS = [\n 'apiKey',\n 'idempotencyKey',\n 'stripeAccount',\n 'apiVersion',\n 'maxNetworkRetries',\n 'timeout',\n 'host',\n];\nexport function isOptionsHash(o) {\n return (o &&\n typeof o === 'object' &&\n OPTIONS_KEYS.some((prop) => Object.prototype.hasOwnProperty.call(o, prop)));\n}\n/**\n * Stringifies an Object, accommodating nested objects\n * (forming the conventional key 'parent[child]=value')\n */\nexport function stringifyRequestData(data) {\n return (qs\n .stringify(data, {\n serializeDate: (d) => Math.floor(d.getTime() / 1000).toString(),\n })\n // Don't use strict form encoding by changing the square bracket control\n // characters back to their literals. This is fine by the server, and\n // makes these parameter strings easier to read.\n .replace(/%5B/g, '[')\n .replace(/%5D/g, ']'));\n}\n/**\n * Outputs a new function with interpolated object property values.\n * Use like so:\n * const fn = makeURLInterpolator('some/url/{param1}/{param2}');\n * fn({ param1: 123, param2: 456 }); // => 'some/url/123/456'\n */\nexport const makeURLInterpolator = (() => {\n const rc = {\n '\\n': '\\\\n',\n '\"': '\\\\\"',\n '\\u2028': '\\\\u2028',\n '\\u2029': '\\\\u2029',\n };\n return (str) => {\n const cleanString = str.replace(/[\"\\n\\r\\u2028\\u2029]/g, ($0) => rc[$0]);\n return (outputs) => {\n return cleanString.replace(/\\{([\\s\\S]+?)\\}/g, ($0, $1) => \n // @ts-ignore\n encodeURIComponent(outputs[$1] || ''));\n };\n };\n})();\nexport function extractUrlParams(path) {\n const params = path.match(/\\{\\w+\\}/g);\n if (!params) {\n return [];\n }\n return params.map((param) => param.replace(/[{}]/g, ''));\n}\n/**\n * Return the data argument from a list of arguments\n *\n * @param {object[]} args\n * @returns {object}\n */\nexport function getDataFromArgs(args) {\n if (!Array.isArray(args) || !args[0] || typeof args[0] !== 'object') {\n return {};\n }\n if (!isOptionsHash(args[0])) {\n return args.shift();\n }\n const argKeys = Object.keys(args[0]);\n const optionKeysInArgs = argKeys.filter((key) => OPTIONS_KEYS.includes(key));\n // In some cases options may be the provided as the first argument.\n // Here we're detecting a case where there are two distinct arguments\n // (the first being args and the second options) and with known\n // option keys in the first so that we can warn the user about it.\n if (optionKeysInArgs.length > 0 &&\n optionKeysInArgs.length !== argKeys.length) {\n emitWarning(`Options found in arguments (${optionKeysInArgs.join(', ')}). Did you mean to pass an options object? See https://github.com/stripe/stripe-node/wiki/Passing-Options.`);\n }\n return {};\n}\n/**\n * Return the options hash from a list of arguments\n */\nexport function getOptionsFromArgs(args) {\n const opts = {\n auth: null,\n host: null,\n headers: {},\n settings: {},\n };\n if (args.length > 0) {\n const arg = args[args.length - 1];\n if (typeof arg === 'string') {\n opts.auth = args.pop();\n }\n else if (isOptionsHash(arg)) {\n const params = Object.assign({}, args.pop());\n const extraKeys = Object.keys(params).filter((key) => !OPTIONS_KEYS.includes(key));\n if (extraKeys.length) {\n emitWarning(`Invalid options found (${extraKeys.join(', ')}); ignoring.`);\n }\n if (params.apiKey) {\n opts.auth = params.apiKey;\n }\n if (params.idempotencyKey) {\n opts.headers['Idempotency-Key'] = params.idempotencyKey;\n }\n if (params.stripeAccount) {\n opts.headers['Stripe-Account'] = params.stripeAccount;\n }\n if (params.apiVersion) {\n opts.headers['Stripe-Version'] = params.apiVersion;\n }\n if (Number.isInteger(params.maxNetworkRetries)) {\n opts.settings.maxNetworkRetries = params.maxNetworkRetries;\n }\n if (Number.isInteger(params.timeout)) {\n opts.settings.timeout = params.timeout;\n }\n if (params.host) {\n opts.host = params.host;\n }\n }\n }\n return opts;\n}\n/**\n * Provide simple \"Class\" extension mechanism.\n * <!-- Public API accessible via Stripe.StripeResource.extend -->\n */\nexport function protoExtend(sub) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const Super = this;\n const Constructor = Object.prototype.hasOwnProperty.call(sub, 'constructor')\n ? sub.constructor\n : function (...args) {\n Super.apply(this, args);\n };\n // This initialization logic is somewhat sensitive to be compatible with\n // divergent JS implementations like the one found in Qt. See here for more\n // context:\n //\n // https://github.com/stripe/stripe-node/pull/334\n Object.assign(Constructor, Super);\n Constructor.prototype = Object.create(Super.prototype);\n Object.assign(Constructor.prototype, sub);\n return Constructor;\n}\n/**\n * Remove empty values from an object\n */\nexport function removeNullish(obj) {\n if (typeof obj !== 'object') {\n throw new Error('Argument must be an object');\n }\n return Object.keys(obj).reduce((result, key) => {\n if (obj[key] != null) {\n result[key] = obj[key];\n }\n return result;\n }, {});\n}\n/**\n * Normalize standard HTTP Headers:\n * {'foo-bar': 'hi'}\n * becomes\n * {'Foo-Bar': 'hi'}\n */\nexport function normalizeHeaders(obj) {\n if (!(obj && typeof obj === 'object')) {\n return obj;\n }\n return Object.keys(obj).reduce((result, header) => {\n result[normalizeHeader(header)] = obj[header];\n return result;\n }, {});\n}\n/**\n * Stolen from https://github.com/marten-de-vries/header-case-normalizer/blob/master/index.js#L36-L41\n * without the exceptions which are irrelevant to us.\n */\nexport function normalizeHeader(header) {\n return header\n .split('-')\n .map((text) => text.charAt(0).toUpperCase() + text.substr(1).toLowerCase())\n .join('-');\n}\nexport function callbackifyPromiseWithTimeout(promise, callback) {\n if (callback) {\n // Ensure callback is called outside of promise stack.\n return promise.then((res) => {\n setTimeout(() => {\n callback(null, res);\n }, 0);\n }, (err) => {\n setTimeout(() => {\n callback(err, null);\n }, 0);\n });\n }\n return promise;\n}\n/**\n * Allow for special capitalization cases (such as OAuth)\n */\nexport function pascalToCamelCase(name) {\n if (name === 'OAuth') {\n return 'oauth';\n }\n else {\n return name[0].toLowerCase() + name.substring(1);\n }\n}\nexport function emitWarning(warning) {\n if (typeof process.emitWarning !== 'function') {\n return console.warn(`Stripe: ${warning}`); /* eslint-disable-line no-console */\n }\n return process.emitWarning(warning, 'Stripe');\n}\nexport function isObject(obj) {\n const type = typeof obj;\n return (type === 'function' || type === 'object') && !!obj;\n}\n// For use in multipart requests\nexport function flattenAndStringify(data) {\n const result = {};\n const step = (obj, prevKey) => {\n Object.keys(obj).forEach((key) => {\n // @ts-ignore\n const value = obj[key];\n const newKey = prevKey ? `${prevKey}[${key}]` : key;\n if (isObject(value)) {\n if (!(value instanceof Uint8Array) &&\n !Object.prototype.hasOwnProperty.call(value, 'data')) {\n // Non-buffer non-file Objects are recursively flattened\n return step(value, newKey);\n }\n else {\n // Buffers and file objects are stored without modification\n result[newKey] = value;\n }\n }\n else {\n // Primitives are converted to strings\n result[newKey] = String(value);\n }\n });\n };\n step(data, null);\n return result;\n}\nexport function validateInteger(name, n, defaultVal) {\n if (!Number.isInteger(n)) {\n if (defaultVal !== undefined) {\n return defaultVal;\n }\n else {\n throw new Error(`${name} must be an integer`);\n }\n }\n return n;\n}\nexport function determineProcessUserAgentProperties() {\n return typeof process === 'undefined'\n ? {}\n : {\n lang_version: process.version,\n platform: process.platform,\n };\n}\n/**\n * Joins an array of Uint8Arrays into a single Uint8Array\n */\nexport function concat(arrays) {\n const totalLength = arrays.reduce((len, array) => len + array.length, 0);\n const merged = new Uint8Array(totalLength);\n let offset = 0;\n arrays.forEach((array) => {\n merged.set(array, offset);\n offset += array.length;\n });\n return merged;\n}\n",
|
|
43
|
-
"import { StripeAPIError, StripeAuthenticationError, StripeConnectionError, StripeError, StripePermissionError, StripeRateLimitError, } from './Error.js';\nimport { emitWarning, normalizeHeaders, removeNullish, stringifyRequestData, } from './utils.js';\nimport { HttpClient } from './net/HttpClient.js';\nconst MAX_RETRY_AFTER_WAIT = 60;\nexport class RequestSender {\n constructor(stripe, maxBufferedRequestMetric) {\n this._stripe = stripe;\n this._maxBufferedRequestMetric = maxBufferedRequestMetric;\n }\n _addHeadersDirectlyToObject(obj, headers) {\n // For convenience, make some headers easily accessible on\n // lastResponse.\n // NOTE: Stripe responds with lowercase header names/keys.\n obj.requestId = headers['request-id'];\n obj.stripeAccount = obj.stripeAccount || headers['stripe-account'];\n obj.apiVersion = obj.apiVersion || headers['stripe-version'];\n obj.idempotencyKey = obj.idempotencyKey || headers['idempotency-key'];\n }\n _makeResponseEvent(requestEvent, statusCode, headers) {\n const requestEndTime = Date.now();\n const requestDurationMs = requestEndTime - requestEvent.request_start_time;\n return removeNullish({\n api_version: headers['stripe-version'],\n account: headers['stripe-account'],\n idempotency_key: headers['idempotency-key'],\n method: requestEvent.method,\n path: requestEvent.path,\n status: statusCode,\n request_id: this._getRequestId(headers),\n elapsed: requestDurationMs,\n request_start_time: requestEvent.request_start_time,\n request_end_time: requestEndTime,\n });\n }\n _getRequestId(headers) {\n return headers['request-id'];\n }\n /**\n * Used by methods with spec.streaming === true. For these methods, we do not\n * buffer successful responses into memory or do parse them into stripe\n * objects, we delegate that all of that to the user and pass back the raw\n * http.Response object to the callback.\n *\n * (Unsuccessful responses shouldn't make it here, they should\n * still be buffered/parsed and handled by _jsonResponseHandler -- see\n * makeRequest)\n */\n _streamingResponseHandler(requestEvent, usage, callback) {\n return (res) => {\n const headers = res.getHeaders();\n const streamCompleteCallback = () => {\n const responseEvent = this._makeResponseEvent(requestEvent, res.getStatusCode(), headers);\n this._stripe._emitter.emit('response', responseEvent);\n this._recordRequestMetrics(this._getRequestId(headers), responseEvent.elapsed, usage);\n };\n const stream = res.toStream(streamCompleteCallback);\n // This is here for backwards compatibility, as the stream is a raw\n // HTTP response in Node and the legacy behavior was to mutate this\n // response.\n this._addHeadersDirectlyToObject(stream, headers);\n return callback(null, stream);\n };\n }\n /**\n * Default handler for Stripe responses. Buffers the response into memory,\n * parses the JSON and returns it (i.e. passes it to the callback) if there\n * is no \"error\" field. Otherwise constructs/passes an appropriate Error.\n */\n _jsonResponseHandler(requestEvent, usage, callback) {\n return (res) => {\n const headers = res.getHeaders();\n const requestId = this._getRequestId(headers);\n const statusCode = res.getStatusCode();\n const responseEvent = this._makeResponseEvent(requestEvent, statusCode, headers);\n this._stripe._emitter.emit('response', responseEvent);\n res\n .toJSON()\n .then((jsonResponse) => {\n if (jsonResponse.error) {\n let err;\n // Convert OAuth error responses into a standard format\n // so that the rest of the error logic can be shared\n if (typeof jsonResponse.error === 'string') {\n jsonResponse.error = {\n type: jsonResponse.error,\n message: jsonResponse.error_description,\n };\n }\n jsonResponse.error.headers = headers;\n jsonResponse.error.statusCode = statusCode;\n jsonResponse.error.requestId = requestId;\n if (statusCode === 401) {\n err = new StripeAuthenticationError(jsonResponse.error);\n }\n else if (statusCode === 403) {\n err = new StripePermissionError(jsonResponse.error);\n }\n else if (statusCode === 429) {\n err = new StripeRateLimitError(jsonResponse.error);\n }\n else {\n err = StripeError.generate(jsonResponse.error);\n }\n throw err;\n }\n return jsonResponse;\n }, (e) => {\n throw new StripeAPIError({\n message: 'Invalid JSON received from the Stripe API',\n exception: e,\n requestId: headers['request-id'],\n });\n })\n .then((jsonResponse) => {\n this._recordRequestMetrics(requestId, responseEvent.elapsed, usage);\n // Expose raw response object.\n const rawResponse = res.getRawResponse();\n this._addHeadersDirectlyToObject(rawResponse, headers);\n Object.defineProperty(jsonResponse, 'lastResponse', {\n enumerable: false,\n writable: false,\n value: rawResponse,\n });\n callback(null, jsonResponse);\n }, (e) => callback(e, null));\n };\n }\n static _generateConnectionErrorMessage(requestRetries) {\n return `An error occurred with our connection to Stripe.${requestRetries > 0 ? ` Request was retried ${requestRetries} times.` : ''}`;\n }\n // For more on when and how to retry API requests, see https://stripe.com/docs/error-handling#safely-retrying-requests-with-idempotency\n static _shouldRetry(res, numRetries, maxRetries, error) {\n if (error &&\n numRetries === 0 &&\n HttpClient.CONNECTION_CLOSED_ERROR_CODES.includes(error.code)) {\n return true;\n }\n // Do not retry if we are out of retries.\n if (numRetries >= maxRetries) {\n return false;\n }\n // Retry on connection error.\n if (!res) {\n return true;\n }\n // The API may ask us not to retry (e.g., if doing so would be a no-op)\n // or advise us to retry (e.g., in cases of lock timeouts); we defer to that.\n if (res.getHeaders()['stripe-should-retry'] === 'false') {\n return false;\n }\n if (res.getHeaders()['stripe-should-retry'] === 'true') {\n return true;\n }\n // Retry on conflict errors.\n if (res.getStatusCode() === 409) {\n return true;\n }\n // Retry on 500, 503, and other internal errors.\n //\n // Note that we expect the stripe-should-retry header to be false\n // in most cases when a 500 is returned, since our idempotency framework\n // would typically replay it anyway.\n if (res.getStatusCode() >= 500) {\n return true;\n }\n return false;\n }\n _getSleepTimeInMS(numRetries, retryAfter = null) {\n const initialNetworkRetryDelay = this._stripe.getInitialNetworkRetryDelay();\n const maxNetworkRetryDelay = this._stripe.getMaxNetworkRetryDelay();\n // Apply exponential backoff with initialNetworkRetryDelay on the\n // number of numRetries so far as inputs. Do not allow the number to exceed\n // maxNetworkRetryDelay.\n let sleepSeconds = Math.min(initialNetworkRetryDelay * Math.pow(numRetries - 1, 2), maxNetworkRetryDelay);\n // Apply some jitter by randomizing the value in the range of\n // (sleepSeconds / 2) to (sleepSeconds).\n sleepSeconds *= 0.5 * (1 + Math.random());\n // But never sleep less than the base sleep seconds.\n sleepSeconds = Math.max(initialNetworkRetryDelay, sleepSeconds);\n // And never sleep less than the time the API asks us to wait, assuming it's a reasonable ask.\n if (Number.isInteger(retryAfter) && retryAfter <= MAX_RETRY_AFTER_WAIT) {\n sleepSeconds = Math.max(sleepSeconds, retryAfter);\n }\n return sleepSeconds * 1000;\n }\n // Max retries can be set on a per request basis. Favor those over the global setting\n _getMaxNetworkRetries(settings = {}) {\n return settings.maxNetworkRetries !== undefined &&\n Number.isInteger(settings.maxNetworkRetries)\n ? settings.maxNetworkRetries\n : this._stripe.getMaxNetworkRetries();\n }\n _defaultIdempotencyKey(method, settings) {\n // If this is a POST and we allow multiple retries, ensure an idempotency key.\n const maxRetries = this._getMaxNetworkRetries(settings);\n if (method === 'POST' && maxRetries > 0) {\n return `stripe-node-retry-${this._stripe._platformFunctions.uuid4()}`;\n }\n return null;\n }\n _makeHeaders(auth, contentLength, apiVersion, clientUserAgent, method, userSuppliedHeaders, userSuppliedSettings) {\n const defaultHeaders = {\n // Use specified auth token or use default from this stripe instance:\n Authorization: auth ? `Bearer ${auth}` : this._stripe.getApiField('auth'),\n Accept: 'application/json',\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'User-Agent': this._getUserAgentString(),\n 'X-Stripe-Client-User-Agent': clientUserAgent,\n 'X-Stripe-Client-Telemetry': this._getTelemetryHeader(),\n 'Stripe-Version': apiVersion,\n 'Stripe-Account': this._stripe.getApiField('stripeAccount'),\n 'Idempotency-Key': this._defaultIdempotencyKey(method, userSuppliedSettings),\n };\n // As per https://datatracker.ietf.org/doc/html/rfc7230#section-3.3.2:\n // A user agent SHOULD send a Content-Length in a request message when\n // no Transfer-Encoding is sent and the request method defines a meaning\n // for an enclosed payload body. For example, a Content-Length header\n // field is normally sent in a POST request even when the value is 0\n // (indicating an empty payload body). A user agent SHOULD NOT send a\n // Content-Length header field when the request message does not contain\n // a payload body and the method semantics do not anticipate such a\n // body.\n //\n // These method types are expected to have bodies and so we should always\n // include a Content-Length.\n const methodHasPayload = method == 'POST' || method == 'PUT' || method == 'PATCH';\n // If a content length was specified, we always include it regardless of\n // whether the method semantics anticipate such a body. This keeps us\n // consistent with historical behavior. We do however want to warn on this\n // and fix these cases as they are semantically incorrect.\n if (methodHasPayload || contentLength) {\n if (!methodHasPayload) {\n emitWarning(`${method} method had non-zero contentLength but no payload is expected for this verb`);\n }\n defaultHeaders['Content-Length'] = contentLength;\n }\n return Object.assign(removeNullish(defaultHeaders), \n // If the user supplied, say 'idempotency-key', override instead of appending by ensuring caps are the same.\n normalizeHeaders(userSuppliedHeaders));\n }\n _getUserAgentString() {\n const packageVersion = this._stripe.getConstant('PACKAGE_VERSION');\n const appInfo = this._stripe._appInfo\n ? this._stripe.getAppInfoAsString()\n : '';\n return `Stripe/v1 NodeBindings/${packageVersion} ${appInfo}`.trim();\n }\n _getTelemetryHeader() {\n if (this._stripe.getTelemetryEnabled() &&\n this._stripe._prevRequestMetrics.length > 0) {\n const metrics = this._stripe._prevRequestMetrics.shift();\n return JSON.stringify({\n last_request_metrics: metrics,\n });\n }\n }\n _recordRequestMetrics(requestId, requestDurationMs, usage) {\n if (this._stripe.getTelemetryEnabled() && requestId) {\n if (this._stripe._prevRequestMetrics.length > this._maxBufferedRequestMetric) {\n emitWarning('Request metrics buffer is full, dropping telemetry message.');\n }\n else {\n const m = {\n request_id: requestId,\n request_duration_ms: requestDurationMs,\n };\n if (usage && usage.length > 0) {\n m.usage = usage;\n }\n this._stripe._prevRequestMetrics.push(m);\n }\n }\n }\n _request(method, host, path, data, auth, options = {}, usage = [], callback, requestDataProcessor = null) {\n let requestData;\n const retryRequest = (requestFn, apiVersion, headers, requestRetries, retryAfter) => {\n return setTimeout(requestFn, this._getSleepTimeInMS(requestRetries, retryAfter), apiVersion, headers, requestRetries + 1);\n };\n const makeRequest = (apiVersion, headers, numRetries) => {\n // timeout can be set on a per-request basis. Favor that over the global setting\n const timeout = options.settings &&\n options.settings.timeout &&\n Number.isInteger(options.settings.timeout) &&\n options.settings.timeout >= 0\n ? options.settings.timeout\n : this._stripe.getApiField('timeout');\n const req = this._stripe\n .getApiField('httpClient')\n .makeRequest(host || this._stripe.getApiField('host'), this._stripe.getApiField('port'), path, method, headers, requestData, this._stripe.getApiField('protocol'), timeout);\n const requestStartTime = Date.now();\n // @ts-ignore\n const requestEvent = removeNullish({\n api_version: apiVersion,\n account: headers['Stripe-Account'],\n idempotency_key: headers['Idempotency-Key'],\n method,\n path,\n request_start_time: requestStartTime,\n });\n const requestRetries = numRetries || 0;\n const maxRetries = this._getMaxNetworkRetries(options.settings || {});\n this._stripe._emitter.emit('request', requestEvent);\n req\n .then((res) => {\n if (RequestSender._shouldRetry(res, requestRetries, maxRetries)) {\n return retryRequest(makeRequest, apiVersion, headers, requestRetries, \n // @ts-ignore\n res.getHeaders()['retry-after']);\n }\n else if (options.streaming && res.getStatusCode() < 400) {\n return this._streamingResponseHandler(requestEvent, usage, callback)(res);\n }\n else {\n return this._jsonResponseHandler(requestEvent, usage, callback)(res);\n }\n })\n .catch((error) => {\n if (RequestSender._shouldRetry(null, requestRetries, maxRetries, error)) {\n return retryRequest(makeRequest, apiVersion, headers, requestRetries, null);\n }\n else {\n const isTimeoutError = error.code && error.code === HttpClient.TIMEOUT_ERROR_CODE;\n return callback(new StripeConnectionError({\n message: isTimeoutError\n ? `Request aborted due to timeout being reached (${timeout}ms)`\n : RequestSender._generateConnectionErrorMessage(requestRetries),\n // @ts-ignore\n detail: error,\n }));\n }\n });\n };\n const prepareAndMakeRequest = (error, data) => {\n if (error) {\n return callback(error);\n }\n requestData = data;\n this._stripe.getClientUserAgent((clientUserAgent) => {\n var _a, _b;\n const apiVersion = this._stripe.getApiField('version');\n const headers = this._makeHeaders(auth, requestData.length, apiVersion, clientUserAgent, method, (_a = options.headers) !== null && _a !== void 0 ? _a : null, (_b = options.settings) !== null && _b !== void 0 ? _b : {});\n makeRequest(apiVersion, headers, 0);\n });\n };\n if (requestDataProcessor) {\n requestDataProcessor(method, data, options.headers, prepareAndMakeRequest);\n }\n else {\n prepareAndMakeRequest(null, stringifyRequestData(data || {}));\n }\n }\n}\n",
|
|
44
|
-
"import { callbackifyPromiseWithTimeout, getDataFromArgs } from './utils.js';\nclass StripeIterator {\n constructor(firstPagePromise, requestArgs, spec, stripeResource) {\n this.index = 0;\n this.pagePromise = firstPagePromise;\n this.promiseCache = { currentPromise: null };\n this.requestArgs = requestArgs;\n this.spec = spec;\n this.stripeResource = stripeResource;\n }\n async iterate(pageResult) {\n if (!(pageResult &&\n pageResult.data &&\n typeof pageResult.data.length === 'number')) {\n throw Error('Unexpected: Stripe API response does not have a well-formed `data` array.');\n }\n const reverseIteration = isReverseIteration(this.requestArgs);\n if (this.index < pageResult.data.length) {\n const idx = reverseIteration\n ? pageResult.data.length - 1 - this.index\n : this.index;\n const value = pageResult.data[idx];\n this.index += 1;\n return { value, done: false };\n }\n else if (pageResult.has_more) {\n // Reset counter, request next page, and recurse.\n this.index = 0;\n this.pagePromise = this.getNextPage(pageResult);\n const nextPageResult = await this.pagePromise;\n return this.iterate(nextPageResult);\n }\n return { done: true, value: undefined };\n }\n /** @abstract */\n getNextPage(_pageResult) {\n throw new Error('Unimplemented');\n }\n async _next() {\n return this.iterate(await this.pagePromise);\n }\n next() {\n /**\n * If a user calls `.next()` multiple times in parallel,\n * return the same result until something has resolved\n * to prevent page-turning race conditions.\n */\n if (this.promiseCache.currentPromise) {\n return this.promiseCache.currentPromise;\n }\n const nextPromise = (async () => {\n const ret = await this._next();\n this.promiseCache.currentPromise = null;\n return ret;\n })();\n this.promiseCache.currentPromise = nextPromise;\n return nextPromise;\n }\n}\nclass ListIterator extends StripeIterator {\n getNextPage(pageResult) {\n const reverseIteration = isReverseIteration(this.requestArgs);\n const lastId = getLastId(pageResult, reverseIteration);\n return this.stripeResource._makeRequest(this.requestArgs, this.spec, {\n [reverseIteration ? 'ending_before' : 'starting_after']: lastId,\n });\n }\n}\nclass SearchIterator extends StripeIterator {\n getNextPage(pageResult) {\n if (!pageResult.next_page) {\n throw Error('Unexpected: Stripe API response does not have a well-formed `next_page` field, but `has_more` was true.');\n }\n return this.stripeResource._makeRequest(this.requestArgs, this.spec, {\n page: pageResult.next_page,\n });\n }\n}\nexport const makeAutoPaginationMethods = (stripeResource, requestArgs, spec, firstPagePromise) => {\n if (spec.methodType === 'search') {\n return makeAutoPaginationMethodsFromIterator(new SearchIterator(firstPagePromise, requestArgs, spec, stripeResource));\n }\n if (spec.methodType === 'list') {\n return makeAutoPaginationMethodsFromIterator(new ListIterator(firstPagePromise, requestArgs, spec, stripeResource));\n }\n return null;\n};\nconst makeAutoPaginationMethodsFromIterator = (iterator) => {\n const autoPagingEach = makeAutoPagingEach((...args) => iterator.next(...args));\n const autoPagingToArray = makeAutoPagingToArray(autoPagingEach);\n const autoPaginationMethods = {\n autoPagingEach,\n autoPagingToArray,\n // Async iterator functions:\n next: () => iterator.next(),\n return: () => {\n // This is required for `break`.\n return {};\n },\n [getAsyncIteratorSymbol()]: () => {\n return autoPaginationMethods;\n },\n };\n return autoPaginationMethods;\n};\n/**\n * ----------------\n * Private Helpers:\n * ----------------\n */\nfunction getAsyncIteratorSymbol() {\n if (typeof Symbol !== 'undefined' && Symbol.asyncIterator) {\n return Symbol.asyncIterator;\n }\n // Follow the convention from libraries like iterall: https://github.com/leebyron/iterall#asynciterator-1\n return '@@asyncIterator';\n}\nfunction getDoneCallback(args) {\n if (args.length < 2) {\n return null;\n }\n const onDone = args[1];\n if (typeof onDone !== 'function') {\n throw Error(`The second argument to autoPagingEach, if present, must be a callback function; received ${typeof onDone}`);\n }\n return onDone;\n}\n/**\n * We allow four forms of the `onItem` callback (the middle two being equivalent),\n *\n * 1. `.autoPagingEach((item) => { doSomething(item); return false; });`\n * 2. `.autoPagingEach(async (item) => { await doSomething(item); return false; });`\n * 3. `.autoPagingEach((item) => doSomething(item).then(() => false));`\n * 4. `.autoPagingEach((item, next) => { doSomething(item); next(false); });`\n *\n * In addition to standard validation, this helper\n * coalesces the former forms into the latter form.\n */\nfunction getItemCallback(args) {\n if (args.length === 0) {\n return undefined;\n }\n const onItem = args[0];\n if (typeof onItem !== 'function') {\n throw Error(`The first argument to autoPagingEach, if present, must be a callback function; received ${typeof onItem}`);\n }\n // 4. `.autoPagingEach((item, next) => { doSomething(item); next(false); });`\n if (onItem.length === 2) {\n return onItem;\n }\n if (onItem.length > 2) {\n throw Error(`The \\`onItem\\` callback function passed to autoPagingEach must accept at most two arguments; got ${onItem}`);\n }\n // This magically handles all three of these usecases (the latter two being functionally identical):\n // 1. `.autoPagingEach((item) => { doSomething(item); return false; });`\n // 2. `.autoPagingEach(async (item) => { await doSomething(item); return false; });`\n // 3. `.autoPagingEach((item) => doSomething(item).then(() => false));`\n return function _onItem(item, next) {\n const shouldContinue = onItem(item);\n next(shouldContinue);\n };\n}\nfunction getLastId(listResult, reverseIteration) {\n const lastIdx = reverseIteration ? 0 : listResult.data.length - 1;\n const lastItem = listResult.data[lastIdx];\n const lastId = lastItem && lastItem.id;\n if (!lastId) {\n throw Error('Unexpected: No `id` found on the last item while auto-paging a list.');\n }\n return lastId;\n}\nfunction makeAutoPagingEach(asyncIteratorNext) {\n return function autoPagingEach( /* onItem?, onDone? */) {\n const args = [].slice.call(arguments);\n const onItem = getItemCallback(args);\n const onDone = getDoneCallback(args);\n if (args.length > 2) {\n throw Error(`autoPagingEach takes up to two arguments; received ${args}`);\n }\n const autoPagePromise = wrapAsyncIteratorWithCallback(asyncIteratorNext, \n // @ts-ignore we might need a null check\n onItem);\n return callbackifyPromiseWithTimeout(autoPagePromise, onDone);\n };\n}\nfunction makeAutoPagingToArray(autoPagingEach) {\n return function autoPagingToArray(opts, onDone) {\n const limit = opts && opts.limit;\n if (!limit) {\n throw Error('You must pass a `limit` option to autoPagingToArray, e.g., `autoPagingToArray({limit: 1000});`.');\n }\n if (limit > 10000) {\n throw Error('You cannot specify a limit of more than 10,000 items to fetch in `autoPagingToArray`; use `autoPagingEach` to iterate through longer lists.');\n }\n const promise = new Promise((resolve, reject) => {\n const items = [];\n autoPagingEach((item) => {\n items.push(item);\n if (items.length >= limit) {\n return false;\n }\n })\n .then(() => {\n resolve(items);\n })\n .catch(reject);\n });\n // @ts-ignore\n return callbackifyPromiseWithTimeout(promise, onDone);\n };\n}\nfunction wrapAsyncIteratorWithCallback(asyncIteratorNext, onItem) {\n return new Promise((resolve, reject) => {\n function handleIteration(iterResult) {\n if (iterResult.done) {\n resolve();\n return;\n }\n const item = iterResult.value;\n return new Promise((next) => {\n // Bit confusing, perhaps; we pass a `resolve` fn\n // to the user, so they can decide when and if to continue.\n // They can return false, or a promise which resolves to false, to break.\n onItem(item, next);\n }).then((shouldContinue) => {\n if (shouldContinue === false) {\n return handleIteration({ done: true, value: undefined });\n }\n else {\n return asyncIteratorNext().then(handleIteration);\n }\n });\n }\n asyncIteratorNext()\n .then(handleIteration)\n .catch(reject);\n });\n}\nfunction isReverseIteration(requestArgs) {\n const args = [].slice.call(requestArgs);\n const dataFromArgs = getDataFromArgs(args);\n return !!dataFromArgs.ending_before;\n}\n",
|
|
41
|
+
"/* eslint-disable camelcase */\n/* eslint-disable no-warning-comments */\nexport const generateV1Error = (rawStripeError) => {\n switch (rawStripeError.type) {\n case 'card_error':\n return new StripeCardError(rawStripeError);\n case 'invalid_request_error':\n return new StripeInvalidRequestError(rawStripeError);\n case 'api_error':\n return new StripeAPIError(rawStripeError);\n case 'authentication_error':\n return new StripeAuthenticationError(rawStripeError);\n case 'rate_limit_error':\n return new StripeRateLimitError(rawStripeError);\n case 'idempotency_error':\n return new StripeIdempotencyError(rawStripeError);\n case 'invalid_grant':\n return new StripeInvalidGrantError(rawStripeError);\n default:\n return new StripeUnknownError(rawStripeError);\n }\n};\n// eslint-disable-next-line complexity\nexport const generateV2Error = (rawStripeError) => {\n switch (rawStripeError.type) {\n // switchCases: The beginning of the section generated from our OpenAPI spec\n case 'temporary_session_expired':\n return new TemporarySessionExpiredError(rawStripeError);\n // switchCases: The end of the section generated from our OpenAPI spec\n }\n // Special handling for requests with missing required fields in V2 APIs.\n // invalid_field response in V2 APIs returns the field 'code' instead of 'type'.\n switch (rawStripeError.code) {\n case 'invalid_fields':\n return new StripeInvalidRequestError(rawStripeError);\n }\n return generateV1Error(rawStripeError);\n};\n/**\n * StripeError is the base error from which all other more specific Stripe errors derive.\n * Specifically for errors returned from Stripe's REST API.\n */\nexport class StripeError extends Error {\n constructor(raw = {}, type = null) {\n super(raw.message);\n this.type = type || this.constructor.name;\n this.raw = raw;\n this.rawType = raw.type;\n this.code = raw.code;\n this.doc_url = raw.doc_url;\n this.param = raw.param;\n this.detail = raw.detail;\n this.headers = raw.headers;\n this.requestId = raw.requestId;\n this.statusCode = raw.statusCode;\n // @ts-ignore\n this.message = raw.message;\n this.userMessage = raw.user_message;\n this.charge = raw.charge;\n this.decline_code = raw.decline_code;\n this.payment_intent = raw.payment_intent;\n this.payment_method = raw.payment_method;\n this.payment_method_type = raw.payment_method_type;\n this.setup_intent = raw.setup_intent;\n this.source = raw.source;\n }\n}\n/**\n * Helper factory which takes raw stripe errors and outputs wrapping instances\n */\nStripeError.generate = generateV1Error;\n// Specific Stripe Error types:\n/**\n * CardError is raised when a user enters a card that can't be charged for\n * some reason.\n */\nexport class StripeCardError extends StripeError {\n constructor(raw = {}) {\n super(raw, 'StripeCardError');\n }\n}\n/**\n * InvalidRequestError is raised when a request is initiated with invalid\n * parameters.\n */\nexport class StripeInvalidRequestError extends StripeError {\n constructor(raw = {}) {\n super(raw, 'StripeInvalidRequestError');\n }\n}\n/**\n * APIError is a generic error that may be raised in cases where none of the\n * other named errors cover the problem. It could also be raised in the case\n * that a new error has been introduced in the API, but this version of the\n * Node.JS SDK doesn't know how to handle it.\n */\nexport class StripeAPIError extends StripeError {\n constructor(raw = {}) {\n super(raw, 'StripeAPIError');\n }\n}\n/**\n * AuthenticationError is raised when invalid credentials are used to connect\n * to Stripe's servers.\n */\nexport class StripeAuthenticationError extends StripeError {\n constructor(raw = {}) {\n super(raw, 'StripeAuthenticationError');\n }\n}\n/**\n * PermissionError is raised in cases where access was attempted on a resource\n * that wasn't allowed.\n */\nexport class StripePermissionError extends StripeError {\n constructor(raw = {}) {\n super(raw, 'StripePermissionError');\n }\n}\n/**\n * RateLimitError is raised in cases where an account is putting too much load\n * on Stripe's API servers (usually by performing too many requests). Please\n * back off on request rate.\n */\nexport class StripeRateLimitError extends StripeError {\n constructor(raw = {}) {\n super(raw, 'StripeRateLimitError');\n }\n}\n/**\n * StripeConnectionError is raised in the event that the SDK can't connect to\n * Stripe's servers. That can be for a variety of different reasons from a\n * downed network to a bad TLS certificate.\n */\nexport class StripeConnectionError extends StripeError {\n constructor(raw = {}) {\n super(raw, 'StripeConnectionError');\n }\n}\n/**\n * SignatureVerificationError is raised when the signature verification for a\n * webhook fails\n */\nexport class StripeSignatureVerificationError extends StripeError {\n constructor(header, payload, raw = {}) {\n super(raw, 'StripeSignatureVerificationError');\n this.header = header;\n this.payload = payload;\n }\n}\n/**\n * IdempotencyError is raised in cases where an idempotency key was used\n * improperly.\n */\nexport class StripeIdempotencyError extends StripeError {\n constructor(raw = {}) {\n super(raw, 'StripeIdempotencyError');\n }\n}\n/**\n * InvalidGrantError is raised when a specified code doesn't exist, is\n * expired, has been used, or doesn't belong to you; a refresh token doesn't\n * exist, or doesn't belong to you; or if an API key's mode (live or test)\n * doesn't match the mode of a code or refresh token.\n */\nexport class StripeInvalidGrantError extends StripeError {\n constructor(raw = {}) {\n super(raw, 'StripeInvalidGrantError');\n }\n}\n/**\n * Any other error from Stripe not specifically captured above\n */\nexport class StripeUnknownError extends StripeError {\n constructor(raw = {}) {\n super(raw, 'StripeUnknownError');\n }\n}\n// classDefinitions: The beginning of the section generated from our OpenAPI spec\nexport class TemporarySessionExpiredError extends StripeError {\n constructor(rawStripeError = {}) {\n super(rawStripeError, 'TemporarySessionExpiredError');\n }\n}\n// classDefinitions: The end of the section generated from our OpenAPI spec\n",
|
|
42
|
+
"import * as qs from 'qs';\nconst OPTIONS_KEYS = [\n 'apiKey',\n 'idempotencyKey',\n 'stripeAccount',\n 'apiVersion',\n 'maxNetworkRetries',\n 'timeout',\n 'host',\n 'authenticator',\n 'stripeContext',\n 'additionalHeaders',\n];\nexport function isOptionsHash(o) {\n return (o &&\n typeof o === 'object' &&\n OPTIONS_KEYS.some((prop) => Object.prototype.hasOwnProperty.call(o, prop)));\n}\n/**\n * Stringifies an Object, accommodating nested objects\n * (forming the conventional key 'parent[child]=value')\n */\nexport function queryStringifyRequestData(data, apiMode) {\n return (qs\n .stringify(data, {\n serializeDate: (d) => Math.floor(d.getTime() / 1000).toString(),\n arrayFormat: apiMode == 'v2' ? 'repeat' : 'indices',\n })\n // Don't use strict form encoding by changing the square bracket control\n // characters back to their literals. This is fine by the server, and\n // makes these parameter strings easier to read.\n .replace(/%5B/g, '[')\n .replace(/%5D/g, ']'));\n}\n/**\n * Outputs a new function with interpolated object property values.\n * Use like so:\n * const fn = makeURLInterpolator('some/url/{param1}/{param2}');\n * fn({ param1: 123, param2: 456 }); // => 'some/url/123/456'\n */\nexport const makeURLInterpolator = (() => {\n const rc = {\n '\\n': '\\\\n',\n '\"': '\\\\\"',\n '\\u2028': '\\\\u2028',\n '\\u2029': '\\\\u2029',\n };\n return (str) => {\n const cleanString = str.replace(/[\"\\n\\r\\u2028\\u2029]/g, ($0) => rc[$0]);\n return (outputs) => {\n return cleanString.replace(/\\{([\\s\\S]+?)\\}/g, ($0, $1) => \n // @ts-ignore\n encodeURIComponent(outputs[$1] || ''));\n };\n };\n})();\nexport function extractUrlParams(path) {\n const params = path.match(/\\{\\w+\\}/g);\n if (!params) {\n return [];\n }\n return params.map((param) => param.replace(/[{}]/g, ''));\n}\n/**\n * Return the data argument from a list of arguments\n *\n * @param {object[]} args\n * @returns {object}\n */\nexport function getDataFromArgs(args) {\n if (!Array.isArray(args) || !args[0] || typeof args[0] !== 'object') {\n return {};\n }\n if (!isOptionsHash(args[0])) {\n return args.shift();\n }\n const argKeys = Object.keys(args[0]);\n const optionKeysInArgs = argKeys.filter((key) => OPTIONS_KEYS.includes(key));\n // In some cases options may be the provided as the first argument.\n // Here we're detecting a case where there are two distinct arguments\n // (the first being args and the second options) and with known\n // option keys in the first so that we can warn the user about it.\n if (optionKeysInArgs.length > 0 &&\n optionKeysInArgs.length !== argKeys.length) {\n emitWarning(`Options found in arguments (${optionKeysInArgs.join(', ')}). Did you mean to pass an options object? See https://github.com/stripe/stripe-node/wiki/Passing-Options.`);\n }\n return {};\n}\n/**\n * Return the options hash from a list of arguments\n */\nexport function getOptionsFromArgs(args) {\n const opts = {\n host: null,\n headers: {},\n settings: {},\n };\n if (args.length > 0) {\n const arg = args[args.length - 1];\n if (typeof arg === 'string') {\n opts.authenticator = createApiKeyAuthenticator(args.pop());\n }\n else if (isOptionsHash(arg)) {\n const params = Object.assign({}, args.pop());\n const extraKeys = Object.keys(params).filter((key) => !OPTIONS_KEYS.includes(key));\n if (extraKeys.length) {\n emitWarning(`Invalid options found (${extraKeys.join(', ')}); ignoring.`);\n }\n if (params.apiKey) {\n opts.authenticator = createApiKeyAuthenticator(params.apiKey);\n }\n if (params.idempotencyKey) {\n opts.headers['Idempotency-Key'] = params.idempotencyKey;\n }\n if (params.stripeAccount) {\n opts.headers['Stripe-Account'] = params.stripeAccount;\n }\n if (params.stripeContext) {\n if (opts.headers['Stripe-Account']) {\n throw new Error(\"Can't specify both stripeAccount and stripeContext.\");\n }\n opts.headers['Stripe-Context'] = params.stripeContext;\n }\n if (params.apiVersion) {\n opts.headers['Stripe-Version'] = params.apiVersion;\n }\n if (Number.isInteger(params.maxNetworkRetries)) {\n opts.settings.maxNetworkRetries = params.maxNetworkRetries;\n }\n if (Number.isInteger(params.timeout)) {\n opts.settings.timeout = params.timeout;\n }\n if (params.host) {\n opts.host = params.host;\n }\n if (params.authenticator) {\n if (params.apiKey) {\n throw new Error(\"Can't specify both apiKey and authenticator.\");\n }\n if (typeof params.authenticator !== 'function') {\n throw new Error('The authenticator must be a function ' +\n 'receiving a request as the first parameter.');\n }\n opts.authenticator = params.authenticator;\n }\n if (params.additionalHeaders) {\n opts.headers = params.additionalHeaders;\n }\n }\n }\n return opts;\n}\n/**\n * Provide simple \"Class\" extension mechanism.\n * <!-- Public API accessible via Stripe.StripeResource.extend -->\n */\nexport function protoExtend(sub) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const Super = this;\n const Constructor = Object.prototype.hasOwnProperty.call(sub, 'constructor')\n ? sub.constructor\n : function (...args) {\n Super.apply(this, args);\n };\n // This initialization logic is somewhat sensitive to be compatible with\n // divergent JS implementations like the one found in Qt. See here for more\n // context:\n //\n // https://github.com/stripe/stripe-node/pull/334\n Object.assign(Constructor, Super);\n Constructor.prototype = Object.create(Super.prototype);\n Object.assign(Constructor.prototype, sub);\n return Constructor;\n}\n/**\n * Remove empty values from an object\n */\nexport function removeNullish(obj) {\n if (typeof obj !== 'object') {\n throw new Error('Argument must be an object');\n }\n return Object.keys(obj).reduce((result, key) => {\n if (obj[key] != null) {\n result[key] = obj[key];\n }\n return result;\n }, {});\n}\n/**\n * Normalize standard HTTP Headers:\n * {'foo-bar': 'hi'}\n * becomes\n * {'Foo-Bar': 'hi'}\n */\nexport function normalizeHeaders(obj) {\n if (!(obj && typeof obj === 'object')) {\n return obj;\n }\n return Object.keys(obj).reduce((result, header) => {\n result[normalizeHeader(header)] = obj[header];\n return result;\n }, {});\n}\n/**\n * Stolen from https://github.com/marten-de-vries/header-case-normalizer/blob/master/index.js#L36-L41\n * without the exceptions which are irrelevant to us.\n */\nexport function normalizeHeader(header) {\n return header\n .split('-')\n .map((text) => text.charAt(0).toUpperCase() + text.substr(1).toLowerCase())\n .join('-');\n}\nexport function callbackifyPromiseWithTimeout(promise, callback) {\n if (callback) {\n // Ensure callback is called outside of promise stack.\n return promise.then((res) => {\n setTimeout(() => {\n callback(null, res);\n }, 0);\n }, (err) => {\n setTimeout(() => {\n callback(err, null);\n }, 0);\n });\n }\n return promise;\n}\n/**\n * Allow for special capitalization cases (such as OAuth)\n */\nexport function pascalToCamelCase(name) {\n if (name === 'OAuth') {\n return 'oauth';\n }\n else {\n return name[0].toLowerCase() + name.substring(1);\n }\n}\nexport function emitWarning(warning) {\n if (typeof process.emitWarning !== 'function') {\n return console.warn(`Stripe: ${warning}`); /* eslint-disable-line no-console */\n }\n return process.emitWarning(warning, 'Stripe');\n}\nexport function isObject(obj) {\n const type = typeof obj;\n return (type === 'function' || type === 'object') && !!obj;\n}\n// For use in multipart requests\nexport function flattenAndStringify(data) {\n const result = {};\n const step = (obj, prevKey) => {\n Object.entries(obj).forEach(([key, value]) => {\n const newKey = prevKey ? `${prevKey}[${key}]` : key;\n if (isObject(value)) {\n if (!(value instanceof Uint8Array) &&\n !Object.prototype.hasOwnProperty.call(value, 'data')) {\n // Non-buffer non-file Objects are recursively flattened\n return step(value, newKey);\n }\n else {\n // Buffers and file objects are stored without modification\n result[newKey] = value;\n }\n }\n else {\n // Primitives are converted to strings\n result[newKey] = String(value);\n }\n });\n };\n step(data, null);\n return result;\n}\nexport function validateInteger(name, n, defaultVal) {\n if (!Number.isInteger(n)) {\n if (defaultVal !== undefined) {\n return defaultVal;\n }\n else {\n throw new Error(`${name} must be an integer`);\n }\n }\n return n;\n}\nexport function determineProcessUserAgentProperties() {\n return typeof process === 'undefined'\n ? {}\n : {\n lang_version: process.version,\n platform: process.platform,\n };\n}\nexport function createApiKeyAuthenticator(apiKey) {\n const authenticator = (request) => {\n request.headers.Authorization = 'Bearer ' + apiKey;\n return Promise.resolve();\n };\n // For testing\n authenticator._apiKey = apiKey;\n return authenticator;\n}\n/**\n * Joins an array of Uint8Arrays into a single Uint8Array\n */\nexport function concat(arrays) {\n const totalLength = arrays.reduce((len, array) => len + array.length, 0);\n const merged = new Uint8Array(totalLength);\n let offset = 0;\n arrays.forEach((array) => {\n merged.set(array, offset);\n offset += array.length;\n });\n return merged;\n}\n/**\n * Replaces Date objects with Unix timestamps\n */\nfunction dateTimeReplacer(key, value) {\n if (this[key] instanceof Date) {\n return Math.floor(this[key].getTime() / 1000).toString();\n }\n return value;\n}\n/**\n * JSON stringifies an Object, replacing Date objects with Unix timestamps\n */\nexport function jsonStringifyRequestData(data) {\n return JSON.stringify(data, dateTimeReplacer);\n}\n/**\n * Inspects the given path to determine if the endpoint is for v1 or v2 API\n */\nexport function getAPIMode(path) {\n if (!path) {\n return 'v1';\n }\n return path.startsWith('/v2') ? 'v2' : 'v1';\n}\n",
|
|
43
|
+
"import { StripeAPIError, StripeAuthenticationError, StripeConnectionError, StripeError, StripePermissionError, StripeRateLimitError, generateV1Error, generateV2Error, } from './Error.js';\nimport { HttpClient } from './net/HttpClient.js';\nimport { emitWarning, jsonStringifyRequestData, normalizeHeaders, queryStringifyRequestData, removeNullish, getAPIMode, getOptionsFromArgs, getDataFromArgs, } from './utils.js';\nconst MAX_RETRY_AFTER_WAIT = 60;\nexport class RequestSender {\n constructor(stripe, maxBufferedRequestMetric) {\n this._stripe = stripe;\n this._maxBufferedRequestMetric = maxBufferedRequestMetric;\n }\n _addHeadersDirectlyToObject(obj, headers) {\n // For convenience, make some headers easily accessible on\n // lastResponse.\n // NOTE: Stripe responds with lowercase header names/keys.\n obj.requestId = headers['request-id'];\n obj.stripeAccount = obj.stripeAccount || headers['stripe-account'];\n obj.apiVersion = obj.apiVersion || headers['stripe-version'];\n obj.idempotencyKey = obj.idempotencyKey || headers['idempotency-key'];\n }\n _makeResponseEvent(requestEvent, statusCode, headers) {\n const requestEndTime = Date.now();\n const requestDurationMs = requestEndTime - requestEvent.request_start_time;\n return removeNullish({\n api_version: headers['stripe-version'],\n account: headers['stripe-account'],\n idempotency_key: headers['idempotency-key'],\n method: requestEvent.method,\n path: requestEvent.path,\n status: statusCode,\n request_id: this._getRequestId(headers),\n elapsed: requestDurationMs,\n request_start_time: requestEvent.request_start_time,\n request_end_time: requestEndTime,\n });\n }\n _getRequestId(headers) {\n return headers['request-id'];\n }\n /**\n * Used by methods with spec.streaming === true. For these methods, we do not\n * buffer successful responses into memory or do parse them into stripe\n * objects, we delegate that all of that to the user and pass back the raw\n * http.Response object to the callback.\n *\n * (Unsuccessful responses shouldn't make it here, they should\n * still be buffered/parsed and handled by _jsonResponseHandler -- see\n * makeRequest)\n */\n _streamingResponseHandler(requestEvent, usage, callback) {\n return (res) => {\n const headers = res.getHeaders();\n const streamCompleteCallback = () => {\n const responseEvent = this._makeResponseEvent(requestEvent, res.getStatusCode(), headers);\n this._stripe._emitter.emit('response', responseEvent);\n this._recordRequestMetrics(this._getRequestId(headers), responseEvent.elapsed, usage);\n };\n const stream = res.toStream(streamCompleteCallback);\n // This is here for backwards compatibility, as the stream is a raw\n // HTTP response in Node and the legacy behavior was to mutate this\n // response.\n this._addHeadersDirectlyToObject(stream, headers);\n return callback(null, stream);\n };\n }\n /**\n * Default handler for Stripe responses. Buffers the response into memory,\n * parses the JSON and returns it (i.e. passes it to the callback) if there\n * is no \"error\" field. Otherwise constructs/passes an appropriate Error.\n */\n _jsonResponseHandler(requestEvent, apiMode, usage, callback) {\n return (res) => {\n const headers = res.getHeaders();\n const requestId = this._getRequestId(headers);\n const statusCode = res.getStatusCode();\n const responseEvent = this._makeResponseEvent(requestEvent, statusCode, headers);\n this._stripe._emitter.emit('response', responseEvent);\n res\n .toJSON()\n .then((jsonResponse) => {\n if (jsonResponse.error) {\n let err;\n // Convert OAuth error responses into a standard format\n // so that the rest of the error logic can be shared\n if (typeof jsonResponse.error === 'string') {\n jsonResponse.error = {\n type: jsonResponse.error,\n message: jsonResponse.error_description,\n };\n }\n jsonResponse.error.headers = headers;\n jsonResponse.error.statusCode = statusCode;\n jsonResponse.error.requestId = requestId;\n if (statusCode === 401) {\n err = new StripeAuthenticationError(jsonResponse.error);\n }\n else if (statusCode === 403) {\n err = new StripePermissionError(jsonResponse.error);\n }\n else if (statusCode === 429) {\n err = new StripeRateLimitError(jsonResponse.error);\n }\n else if (apiMode === 'v2') {\n err = generateV2Error(jsonResponse.error);\n }\n else {\n err = generateV1Error(jsonResponse.error);\n }\n throw err;\n }\n return jsonResponse;\n }, (e) => {\n throw new StripeAPIError({\n message: 'Invalid JSON received from the Stripe API',\n exception: e,\n requestId: headers['request-id'],\n });\n })\n .then((jsonResponse) => {\n this._recordRequestMetrics(requestId, responseEvent.elapsed, usage);\n // Expose raw response object.\n const rawResponse = res.getRawResponse();\n this._addHeadersDirectlyToObject(rawResponse, headers);\n Object.defineProperty(jsonResponse, 'lastResponse', {\n enumerable: false,\n writable: false,\n value: rawResponse,\n });\n callback(null, jsonResponse);\n }, (e) => callback(e, null));\n };\n }\n static _generateConnectionErrorMessage(requestRetries) {\n return `An error occurred with our connection to Stripe.${requestRetries > 0 ? ` Request was retried ${requestRetries} times.` : ''}`;\n }\n // For more on when and how to retry API requests, see https://stripe.com/docs/error-handling#safely-retrying-requests-with-idempotency\n static _shouldRetry(res, numRetries, maxRetries, error) {\n if (error &&\n numRetries === 0 &&\n HttpClient.CONNECTION_CLOSED_ERROR_CODES.includes(error.code)) {\n return true;\n }\n // Do not retry if we are out of retries.\n if (numRetries >= maxRetries) {\n return false;\n }\n // Retry on connection error.\n if (!res) {\n return true;\n }\n // The API may ask us not to retry (e.g., if doing so would be a no-op)\n // or advise us to retry (e.g., in cases of lock timeouts); we defer to that.\n if (res.getHeaders()['stripe-should-retry'] === 'false') {\n return false;\n }\n if (res.getHeaders()['stripe-should-retry'] === 'true') {\n return true;\n }\n // Retry on conflict errors.\n if (res.getStatusCode() === 409) {\n return true;\n }\n // Retry on 500, 503, and other internal errors.\n //\n // Note that we expect the stripe-should-retry header to be false\n // in most cases when a 500 is returned, since our idempotency framework\n // would typically replay it anyway.\n if (res.getStatusCode() >= 500) {\n return true;\n }\n return false;\n }\n _getSleepTimeInMS(numRetries, retryAfter = null) {\n const initialNetworkRetryDelay = this._stripe.getInitialNetworkRetryDelay();\n const maxNetworkRetryDelay = this._stripe.getMaxNetworkRetryDelay();\n // Apply exponential backoff with initialNetworkRetryDelay on the\n // number of numRetries so far as inputs. Do not allow the number to exceed\n // maxNetworkRetryDelay.\n let sleepSeconds = Math.min(initialNetworkRetryDelay * Math.pow(2, numRetries - 1), maxNetworkRetryDelay);\n // Apply some jitter by randomizing the value in the range of\n // (sleepSeconds / 2) to (sleepSeconds).\n sleepSeconds *= 0.5 * (1 + Math.random());\n // But never sleep less than the base sleep seconds.\n sleepSeconds = Math.max(initialNetworkRetryDelay, sleepSeconds);\n // And never sleep less than the time the API asks us to wait, assuming it's a reasonable ask.\n if (Number.isInteger(retryAfter) && retryAfter <= MAX_RETRY_AFTER_WAIT) {\n sleepSeconds = Math.max(sleepSeconds, retryAfter);\n }\n return sleepSeconds * 1000;\n }\n // Max retries can be set on a per request basis. Favor those over the global setting\n _getMaxNetworkRetries(settings = {}) {\n return settings.maxNetworkRetries !== undefined &&\n Number.isInteger(settings.maxNetworkRetries)\n ? settings.maxNetworkRetries\n : this._stripe.getMaxNetworkRetries();\n }\n _defaultIdempotencyKey(method, settings, apiMode) {\n // If this is a POST and we allow multiple retries, ensure an idempotency key.\n const maxRetries = this._getMaxNetworkRetries(settings);\n const genKey = () => `stripe-node-retry-${this._stripe._platformFunctions.uuid4()}`;\n // more verbose than it needs to be, but gives clear separation between V1 and V2 behavior\n if (apiMode === 'v2') {\n if (method === 'POST' || method === 'DELETE') {\n return genKey();\n }\n }\n else if (apiMode === 'v1') {\n if (method === 'POST' && maxRetries > 0) {\n return genKey();\n }\n }\n return null;\n }\n _makeHeaders({ contentType, contentLength, apiVersion, clientUserAgent, method, userSuppliedHeaders, userSuppliedSettings, stripeAccount, stripeContext, apiMode, }) {\n const defaultHeaders = {\n Accept: 'application/json',\n 'Content-Type': contentType,\n 'User-Agent': this._getUserAgentString(apiMode),\n 'X-Stripe-Client-User-Agent': clientUserAgent,\n 'X-Stripe-Client-Telemetry': this._getTelemetryHeader(),\n 'Stripe-Version': apiVersion,\n 'Stripe-Account': stripeAccount,\n 'Stripe-Context': stripeContext,\n 'Idempotency-Key': this._defaultIdempotencyKey(method, userSuppliedSettings, apiMode),\n };\n // As per https://datatracker.ietf.org/doc/html/rfc7230#section-3.3.2:\n // A user agent SHOULD send a Content-Length in a request message when\n // no Transfer-Encoding is sent and the request method defines a meaning\n // for an enclosed payload body. For example, a Content-Length header\n // field is normally sent in a POST request even when the value is 0\n // (indicating an empty payload body). A user agent SHOULD NOT send a\n // Content-Length header field when the request message does not contain\n // a payload body and the method semantics do not anticipate such a\n // body.\n //\n // These method types are expected to have bodies and so we should always\n // include a Content-Length.\n const methodHasPayload = method == 'POST' || method == 'PUT' || method == 'PATCH';\n // If a content length was specified, we always include it regardless of\n // whether the method semantics anticipate such a body. This keeps us\n // consistent with historical behavior. We do however want to warn on this\n // and fix these cases as they are semantically incorrect.\n if (methodHasPayload || contentLength) {\n if (!methodHasPayload) {\n emitWarning(`${method} method had non-zero contentLength but no payload is expected for this verb`);\n }\n defaultHeaders['Content-Length'] = contentLength;\n }\n return Object.assign(removeNullish(defaultHeaders), \n // If the user supplied, say 'idempotency-key', override instead of appending by ensuring caps are the same.\n normalizeHeaders(userSuppliedHeaders));\n }\n _getUserAgentString(apiMode) {\n const packageVersion = this._stripe.getConstant('PACKAGE_VERSION');\n const appInfo = this._stripe._appInfo\n ? this._stripe.getAppInfoAsString()\n : '';\n return `Stripe/${apiMode} NodeBindings/${packageVersion} ${appInfo}`.trim();\n }\n _getTelemetryHeader() {\n if (this._stripe.getTelemetryEnabled() &&\n this._stripe._prevRequestMetrics.length > 0) {\n const metrics = this._stripe._prevRequestMetrics.shift();\n return JSON.stringify({\n last_request_metrics: metrics,\n });\n }\n }\n _recordRequestMetrics(requestId, requestDurationMs, usage) {\n if (this._stripe.getTelemetryEnabled() && requestId) {\n if (this._stripe._prevRequestMetrics.length > this._maxBufferedRequestMetric) {\n emitWarning('Request metrics buffer is full, dropping telemetry message.');\n }\n else {\n const m = {\n request_id: requestId,\n request_duration_ms: requestDurationMs,\n };\n if (usage && usage.length > 0) {\n m.usage = usage;\n }\n this._stripe._prevRequestMetrics.push(m);\n }\n }\n }\n _rawRequest(method, path, params, options) {\n const requestPromise = new Promise((resolve, reject) => {\n let opts;\n try {\n const requestMethod = method.toUpperCase();\n if (requestMethod !== 'POST' &&\n params &&\n Object.keys(params).length !== 0) {\n throw new Error('rawRequest only supports params on POST requests. Please pass null and add your parameters to path.');\n }\n const args = [].slice.call([params, options]);\n // Pull request data and options (headers, auth) from args.\n const dataFromArgs = getDataFromArgs(args);\n const data = Object.assign({}, dataFromArgs);\n const calculatedOptions = getOptionsFromArgs(args);\n const headers = calculatedOptions.headers;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const authenticator = calculatedOptions.authenticator;\n opts = {\n requestMethod,\n requestPath: path,\n bodyData: data,\n queryData: {},\n authenticator,\n headers,\n host: null,\n streaming: false,\n settings: {},\n usage: ['raw_request'],\n };\n }\n catch (err) {\n reject(err);\n return;\n }\n function requestCallback(err, response) {\n if (err) {\n reject(err);\n }\n else {\n resolve(response);\n }\n }\n const { headers, settings } = opts;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const authenticator = opts.authenticator;\n this._request(opts.requestMethod, opts.host, path, opts.bodyData, authenticator, { headers, settings, streaming: opts.streaming }, opts.usage, requestCallback);\n });\n return requestPromise;\n }\n _request(method, host, path, data, authenticator, options, usage = [], callback, requestDataProcessor = null) {\n var _a;\n let requestData;\n authenticator = (_a = authenticator !== null && authenticator !== void 0 ? authenticator : this._stripe._authenticator) !== null && _a !== void 0 ? _a : null;\n const apiMode = getAPIMode(path);\n const retryRequest = (requestFn, apiVersion, headers, requestRetries, retryAfter) => {\n return setTimeout(requestFn, this._getSleepTimeInMS(requestRetries, retryAfter), apiVersion, headers, requestRetries + 1);\n };\n const makeRequest = (apiVersion, headers, numRetries) => {\n // timeout can be set on a per-request basis. Favor that over the global setting\n const timeout = options.settings &&\n options.settings.timeout &&\n Number.isInteger(options.settings.timeout) &&\n options.settings.timeout >= 0\n ? options.settings.timeout\n : this._stripe.getApiField('timeout');\n const request = {\n host: host || this._stripe.getApiField('host'),\n port: this._stripe.getApiField('port'),\n path: path,\n method: method,\n headers: Object.assign({}, headers),\n body: requestData,\n protocol: this._stripe.getApiField('protocol'),\n };\n authenticator(request)\n .then(() => {\n const req = this._stripe\n .getApiField('httpClient')\n .makeRequest(request.host, request.port, request.path, request.method, request.headers, request.body, request.protocol, timeout);\n const requestStartTime = Date.now();\n // @ts-ignore\n const requestEvent = removeNullish({\n api_version: apiVersion,\n account: headers['Stripe-Account'],\n idempotency_key: headers['Idempotency-Key'],\n method,\n path,\n request_start_time: requestStartTime,\n });\n const requestRetries = numRetries || 0;\n const maxRetries = this._getMaxNetworkRetries(options.settings || {});\n this._stripe._emitter.emit('request', requestEvent);\n req\n .then((res) => {\n if (RequestSender._shouldRetry(res, requestRetries, maxRetries)) {\n return retryRequest(makeRequest, apiVersion, headers, requestRetries, \n // @ts-ignore\n res.getHeaders()['retry-after']);\n }\n else if (options.streaming && res.getStatusCode() < 400) {\n return this._streamingResponseHandler(requestEvent, usage, callback)(res);\n }\n else {\n return this._jsonResponseHandler(requestEvent, apiMode, usage, callback)(res);\n }\n })\n .catch((error) => {\n if (RequestSender._shouldRetry(null, requestRetries, maxRetries, error)) {\n return retryRequest(makeRequest, apiVersion, headers, requestRetries, null);\n }\n else {\n const isTimeoutError = error.code && error.code === HttpClient.TIMEOUT_ERROR_CODE;\n return callback(new StripeConnectionError({\n message: isTimeoutError\n ? `Request aborted due to timeout being reached (${timeout}ms)`\n : RequestSender._generateConnectionErrorMessage(requestRetries),\n // @ts-ignore\n detail: error,\n }));\n }\n });\n })\n .catch((e) => {\n throw new StripeError({\n message: 'Unable to authenticate the request',\n exception: e,\n });\n });\n };\n const prepareAndMakeRequest = (error, data) => {\n if (error) {\n return callback(error);\n }\n requestData = data;\n this._stripe.getClientUserAgent((clientUserAgent) => {\n const apiVersion = this._stripe.getApiField('version');\n const headers = this._makeHeaders({\n contentType: apiMode == 'v2'\n ? 'application/json'\n : 'application/x-www-form-urlencoded',\n contentLength: requestData.length,\n apiVersion: apiVersion,\n clientUserAgent,\n method,\n userSuppliedHeaders: options.headers,\n userSuppliedSettings: options.settings,\n stripeAccount: apiMode == 'v2' ? null : this._stripe.getApiField('stripeAccount'),\n stripeContext: apiMode == 'v2' ? this._stripe.getApiField('stripeContext') : null,\n apiMode: apiMode,\n });\n makeRequest(apiVersion, headers, 0);\n });\n };\n if (requestDataProcessor) {\n requestDataProcessor(method, data, options.headers, prepareAndMakeRequest);\n }\n else {\n let stringifiedData;\n if (apiMode == 'v2') {\n stringifiedData = data ? jsonStringifyRequestData(data) : '';\n }\n else {\n stringifiedData = queryStringifyRequestData(data || {}, apiMode);\n }\n prepareAndMakeRequest(null, stringifiedData);\n }\n }\n}\n",
|
|
44
|
+
"import { callbackifyPromiseWithTimeout, getDataFromArgs, getAPIMode, } from './utils.js';\nclass V1Iterator {\n constructor(firstPagePromise, requestArgs, spec, stripeResource) {\n this.index = 0;\n this.pagePromise = firstPagePromise;\n this.promiseCache = { currentPromise: null };\n this.requestArgs = requestArgs;\n this.spec = spec;\n this.stripeResource = stripeResource;\n }\n async iterate(pageResult) {\n if (!(pageResult &&\n pageResult.data &&\n typeof pageResult.data.length === 'number')) {\n throw Error('Unexpected: Stripe API response does not have a well-formed `data` array.');\n }\n const reverseIteration = isReverseIteration(this.requestArgs);\n if (this.index < pageResult.data.length) {\n const idx = reverseIteration\n ? pageResult.data.length - 1 - this.index\n : this.index;\n const value = pageResult.data[idx];\n this.index += 1;\n return { value, done: false };\n }\n else if (pageResult.has_more) {\n // Reset counter, request next page, and recurse.\n this.index = 0;\n this.pagePromise = this.getNextPage(pageResult);\n const nextPageResult = await this.pagePromise;\n return this.iterate(nextPageResult);\n }\n return { done: true, value: undefined };\n }\n /** @abstract */\n getNextPage(_pageResult) {\n throw new Error('Unimplemented');\n }\n async _next() {\n return this.iterate(await this.pagePromise);\n }\n next() {\n /**\n * If a user calls `.next()` multiple times in parallel,\n * return the same result until something has resolved\n * to prevent page-turning race conditions.\n */\n if (this.promiseCache.currentPromise) {\n return this.promiseCache.currentPromise;\n }\n const nextPromise = (async () => {\n const ret = await this._next();\n this.promiseCache.currentPromise = null;\n return ret;\n })();\n this.promiseCache.currentPromise = nextPromise;\n return nextPromise;\n }\n}\nclass V1ListIterator extends V1Iterator {\n getNextPage(pageResult) {\n const reverseIteration = isReverseIteration(this.requestArgs);\n const lastId = getLastId(pageResult, reverseIteration);\n return this.stripeResource._makeRequest(this.requestArgs, this.spec, {\n [reverseIteration ? 'ending_before' : 'starting_after']: lastId,\n });\n }\n}\nclass V1SearchIterator extends V1Iterator {\n getNextPage(pageResult) {\n if (!pageResult.next_page) {\n throw Error('Unexpected: Stripe API response does not have a well-formed `next_page` field, but `has_more` was true.');\n }\n return this.stripeResource._makeRequest(this.requestArgs, this.spec, {\n page: pageResult.next_page,\n });\n }\n}\nclass V2ListIterator {\n constructor(firstPagePromise, requestArgs, spec, stripeResource) {\n this.currentPageIterator = (async () => {\n const page = await firstPagePromise;\n return page.data[Symbol.iterator]();\n })();\n this.nextPageUrl = (async () => {\n const page = await firstPagePromise;\n return page.next_page_url || null;\n })();\n this.requestArgs = requestArgs;\n this.spec = spec;\n this.stripeResource = stripeResource;\n }\n async turnPage() {\n const nextPageUrl = await this.nextPageUrl;\n if (!nextPageUrl)\n return null;\n this.spec.fullPath = nextPageUrl;\n const page = await this.stripeResource._makeRequest([], this.spec, {});\n this.nextPageUrl = Promise.resolve(page.next_page_url);\n this.currentPageIterator = Promise.resolve(page.data[Symbol.iterator]());\n return this.currentPageIterator;\n }\n async next() {\n {\n const result = (await this.currentPageIterator).next();\n if (!result.done)\n return { done: false, value: result.value };\n }\n const nextPageIterator = await this.turnPage();\n if (!nextPageIterator) {\n return { done: true, value: undefined };\n }\n const result = nextPageIterator.next();\n if (!result.done)\n return { done: false, value: result.value };\n return { done: true, value: undefined };\n }\n}\nexport const makeAutoPaginationMethods = (stripeResource, requestArgs, spec, firstPagePromise) => {\n const apiMode = getAPIMode(spec.fullPath || spec.path);\n if (apiMode !== 'v2' && spec.methodType === 'search') {\n return makeAutoPaginationMethodsFromIterator(new V1SearchIterator(firstPagePromise, requestArgs, spec, stripeResource));\n }\n if (apiMode !== 'v2' && spec.methodType === 'list') {\n return makeAutoPaginationMethodsFromIterator(new V1ListIterator(firstPagePromise, requestArgs, spec, stripeResource));\n }\n if (apiMode === 'v2' && spec.methodType === 'list') {\n return makeAutoPaginationMethodsFromIterator(new V2ListIterator(firstPagePromise, requestArgs, spec, stripeResource));\n }\n return null;\n};\nconst makeAutoPaginationMethodsFromIterator = (iterator) => {\n const autoPagingEach = makeAutoPagingEach((...args) => iterator.next(...args));\n const autoPagingToArray = makeAutoPagingToArray(autoPagingEach);\n const autoPaginationMethods = {\n autoPagingEach,\n autoPagingToArray,\n // Async iterator functions:\n next: () => iterator.next(),\n return: () => {\n // This is required for `break`.\n return {};\n },\n [getAsyncIteratorSymbol()]: () => {\n return autoPaginationMethods;\n },\n };\n return autoPaginationMethods;\n};\n/**\n * ----------------\n * Private Helpers:\n * ----------------\n */\nfunction getAsyncIteratorSymbol() {\n if (typeof Symbol !== 'undefined' && Symbol.asyncIterator) {\n return Symbol.asyncIterator;\n }\n // Follow the convention from libraries like iterall: https://github.com/leebyron/iterall#asynciterator-1\n return '@@asyncIterator';\n}\nfunction getDoneCallback(args) {\n if (args.length < 2) {\n return null;\n }\n const onDone = args[1];\n if (typeof onDone !== 'function') {\n throw Error(`The second argument to autoPagingEach, if present, must be a callback function; received ${typeof onDone}`);\n }\n return onDone;\n}\n/**\n * We allow four forms of the `onItem` callback (the middle two being equivalent),\n *\n * 1. `.autoPagingEach((item) => { doSomething(item); return false; });`\n * 2. `.autoPagingEach(async (item) => { await doSomething(item); return false; });`\n * 3. `.autoPagingEach((item) => doSomething(item).then(() => false));`\n * 4. `.autoPagingEach((item, next) => { doSomething(item); next(false); });`\n *\n * In addition to standard validation, this helper\n * coalesces the former forms into the latter form.\n */\nfunction getItemCallback(args) {\n if (args.length === 0) {\n return undefined;\n }\n const onItem = args[0];\n if (typeof onItem !== 'function') {\n throw Error(`The first argument to autoPagingEach, if present, must be a callback function; received ${typeof onItem}`);\n }\n // 4. `.autoPagingEach((item, next) => { doSomething(item); next(false); });`\n if (onItem.length === 2) {\n return onItem;\n }\n if (onItem.length > 2) {\n throw Error(`The \\`onItem\\` callback function passed to autoPagingEach must accept at most two arguments; got ${onItem}`);\n }\n // This magically handles all three of these usecases (the latter two being functionally identical):\n // 1. `.autoPagingEach((item) => { doSomething(item); return false; });`\n // 2. `.autoPagingEach(async (item) => { await doSomething(item); return false; });`\n // 3. `.autoPagingEach((item) => doSomething(item).then(() => false));`\n return function _onItem(item, next) {\n const shouldContinue = onItem(item);\n next(shouldContinue);\n };\n}\nfunction getLastId(listResult, reverseIteration) {\n const lastIdx = reverseIteration ? 0 : listResult.data.length - 1;\n const lastItem = listResult.data[lastIdx];\n const lastId = lastItem && lastItem.id;\n if (!lastId) {\n throw Error('Unexpected: No `id` found on the last item while auto-paging a list.');\n }\n return lastId;\n}\nfunction makeAutoPagingEach(asyncIteratorNext) {\n return function autoPagingEach( /* onItem?, onDone? */) {\n const args = [].slice.call(arguments);\n const onItem = getItemCallback(args);\n const onDone = getDoneCallback(args);\n if (args.length > 2) {\n throw Error(`autoPagingEach takes up to two arguments; received ${args}`);\n }\n const autoPagePromise = wrapAsyncIteratorWithCallback(asyncIteratorNext, \n // @ts-ignore we might need a null check\n onItem);\n return callbackifyPromiseWithTimeout(autoPagePromise, onDone);\n };\n}\nfunction makeAutoPagingToArray(autoPagingEach) {\n return function autoPagingToArray(opts, onDone) {\n const limit = opts && opts.limit;\n if (!limit) {\n throw Error('You must pass a `limit` option to autoPagingToArray, e.g., `autoPagingToArray({limit: 1000});`.');\n }\n if (limit > 10000) {\n throw Error('You cannot specify a limit of more than 10,000 items to fetch in `autoPagingToArray`; use `autoPagingEach` to iterate through longer lists.');\n }\n const promise = new Promise((resolve, reject) => {\n const items = [];\n autoPagingEach((item) => {\n items.push(item);\n if (items.length >= limit) {\n return false;\n }\n })\n .then(() => {\n resolve(items);\n })\n .catch(reject);\n });\n // @ts-ignore\n return callbackifyPromiseWithTimeout(promise, onDone);\n };\n}\nfunction wrapAsyncIteratorWithCallback(asyncIteratorNext, onItem) {\n return new Promise((resolve, reject) => {\n function handleIteration(iterResult) {\n if (iterResult.done) {\n resolve();\n return;\n }\n const item = iterResult.value;\n return new Promise((next) => {\n // Bit confusing, perhaps; we pass a `resolve` fn\n // to the user, so they can decide when and if to continue.\n // They can return false, or a promise which resolves to false, to break.\n onItem(item, next);\n }).then((shouldContinue) => {\n if (shouldContinue === false) {\n return handleIteration({ done: true, value: undefined });\n }\n else {\n return asyncIteratorNext().then(handleIteration);\n }\n });\n }\n asyncIteratorNext()\n .then(handleIteration)\n .catch(reject);\n });\n}\nfunction isReverseIteration(requestArgs) {\n const args = [].slice.call(requestArgs);\n const dataFromArgs = getDataFromArgs(args);\n return !!dataFromArgs.ending_before;\n}\n",
|
|
45
45
|
"import { callbackifyPromiseWithTimeout, extractUrlParams } from './utils.js';\nimport { makeAutoPaginationMethods } from './autoPagination.js';\n/**\n * Create an API method from the declared spec.\n *\n * @param [spec.method='GET'] Request Method (POST, GET, DELETE, PUT)\n * @param [spec.path=''] Path to be appended to the API BASE_PATH, joined with\n * the instance's path (e.g. 'charges' or 'customers')\n * @param [spec.fullPath=''] Fully qualified path to the method (eg. /v1/a/b/c).\n * If this is specified, path should not be specified.\n * @param [spec.urlParams=[]] Array of required arguments in the order that they\n * must be passed by the consumer of the API. Subsequent optional arguments are\n * optionally passed through a hash (Object) as the penultimate argument\n * (preceding the also-optional callback argument\n * @param [spec.encode] Function for mutating input parameters to a method.\n * Usefully for applying transforms to data on a per-method basis.\n * @param [spec.host] Hostname for the request.\n *\n * <!-- Public API accessible via Stripe.StripeResource.method -->\n */\nexport function stripeMethod(spec) {\n if (spec.path !== undefined && spec.fullPath !== undefined) {\n throw new Error(`Method spec specified both a 'path' (${spec.path}) and a 'fullPath' (${spec.fullPath}).`);\n }\n return function (...args) {\n const callback = typeof args[args.length - 1] == 'function' && args.pop();\n spec.urlParams = extractUrlParams(spec.fullPath || this.createResourcePathWithSymbols(spec.path || ''));\n const requestPromise = callbackifyPromiseWithTimeout(this._makeRequest(args, spec, {}), callback);\n Object.assign(requestPromise, makeAutoPaginationMethods(this, args, spec, requestPromise));\n return requestPromise;\n };\n}\n",
|
|
46
|
-
"import { getDataFromArgs, getOptionsFromArgs, makeURLInterpolator, protoExtend,
|
|
46
|
+
"import { getDataFromArgs, getOptionsFromArgs, makeURLInterpolator, protoExtend, queryStringifyRequestData, getAPIMode, } from './utils.js';\nimport { stripeMethod } from './StripeMethod.js';\n// Provide extension mechanism for Stripe Resource Sub-Classes\nStripeResource.extend = protoExtend;\n// Expose method-creator\nStripeResource.method = stripeMethod;\nStripeResource.MAX_BUFFERED_REQUEST_METRICS = 100;\n/**\n * Encapsulates request logic for a Stripe Resource\n */\nfunction StripeResource(stripe, deprecatedUrlData) {\n this._stripe = stripe;\n if (deprecatedUrlData) {\n throw new Error('Support for curried url params was dropped in stripe-node v7.0.0. Instead, pass two ids.');\n }\n this.basePath = makeURLInterpolator(\n // @ts-ignore changing type of basePath\n this.basePath || stripe.getApiField('basePath'));\n // @ts-ignore changing type of path\n this.resourcePath = this.path;\n // @ts-ignore changing type of path\n this.path = makeURLInterpolator(this.path);\n this.initialize(...arguments);\n}\nStripeResource.prototype = {\n _stripe: null,\n // @ts-ignore the type of path changes in ctor\n path: '',\n resourcePath: '',\n // Methods that don't use the API's default '/v1' path can override it with this setting.\n basePath: null,\n initialize() { },\n // Function to override the default data processor. This allows full control\n // over how a StripeResource's request data will get converted into an HTTP\n // body. This is useful for non-standard HTTP requests. The function should\n // take method name, data, and headers as arguments.\n requestDataProcessor: null,\n // Function to add a validation checks before sending the request, errors should\n // be thrown, and they will be passed to the callback/promise.\n validateRequest: null,\n createFullPath(commandPath, urlData) {\n const urlParts = [this.basePath(urlData), this.path(urlData)];\n if (typeof commandPath === 'function') {\n const computedCommandPath = commandPath(urlData);\n // If we have no actual command path, we just omit it to avoid adding a\n // trailing slash. This is important for top-level listing requests, which\n // do not have a command path.\n if (computedCommandPath) {\n urlParts.push(computedCommandPath);\n }\n }\n else {\n urlParts.push(commandPath);\n }\n return this._joinUrlParts(urlParts);\n },\n // Creates a relative resource path with symbols left in (unlike\n // createFullPath which takes some data to replace them with). For example it\n // might produce: /invoices/{id}\n createResourcePathWithSymbols(pathWithSymbols) {\n // If there is no path beyond the resource path, we want to produce just\n // /<resource path> rather than /<resource path>/.\n if (pathWithSymbols) {\n return `/${this._joinUrlParts([this.resourcePath, pathWithSymbols])}`;\n }\n else {\n return `/${this.resourcePath}`;\n }\n },\n _joinUrlParts(parts) {\n // Replace any accidentally doubled up slashes. This previously used\n // path.join, which would do this as well. Unfortunately we need to do this\n // as the functions for creating paths are technically part of the public\n // interface and so we need to preserve backwards compatibility.\n return parts.join('/').replace(/\\/{2,}/g, '/');\n },\n _getRequestOpts(requestArgs, spec, overrideData) {\n var _a;\n // Extract spec values with defaults.\n const requestMethod = (spec.method || 'GET').toUpperCase();\n const usage = spec.usage || [];\n const urlParams = spec.urlParams || [];\n const encode = spec.encode || ((data) => data);\n const isUsingFullPath = !!spec.fullPath;\n const commandPath = makeURLInterpolator(isUsingFullPath ? spec.fullPath : spec.path || '');\n // When using fullPath, we ignore the resource path as it should already be\n // fully qualified.\n const path = isUsingFullPath\n ? spec.fullPath\n : this.createResourcePathWithSymbols(spec.path);\n // Don't mutate args externally.\n const args = [].slice.call(requestArgs);\n // Generate and validate url params.\n const urlData = urlParams.reduce((urlData, param) => {\n const arg = args.shift();\n if (typeof arg !== 'string') {\n throw new Error(`Stripe: Argument \"${param}\" must be a string, but got: ${arg} (on API request to \\`${requestMethod} ${path}\\`)`);\n }\n urlData[param] = arg;\n return urlData;\n }, {});\n // Pull request data and options (headers, auth) from args.\n const dataFromArgs = getDataFromArgs(args);\n const data = encode(Object.assign({}, dataFromArgs, overrideData));\n const options = getOptionsFromArgs(args);\n const host = options.host || spec.host;\n const streaming = !!spec.streaming;\n // Validate that there are no more args.\n if (args.filter((x) => x != null).length) {\n throw new Error(`Stripe: Unknown arguments (${args}). Did you mean to pass an options object? See https://github.com/stripe/stripe-node/wiki/Passing-Options. (on API request to ${requestMethod} \\`${path}\\`)`);\n }\n // When using full path, we can just invoke the URL interpolator directly\n // as we don't need to use the resource to create a full path.\n const requestPath = isUsingFullPath\n ? commandPath(urlData)\n : this.createFullPath(commandPath, urlData);\n const headers = Object.assign(options.headers, spec.headers);\n if (spec.validator) {\n spec.validator(data, { headers });\n }\n const dataInQuery = spec.method === 'GET' || spec.method === 'DELETE';\n const bodyData = dataInQuery ? null : data;\n const queryData = dataInQuery ? data : {};\n return {\n requestMethod,\n requestPath,\n bodyData,\n queryData,\n authenticator: (_a = options.authenticator) !== null && _a !== void 0 ? _a : null,\n headers,\n host: host !== null && host !== void 0 ? host : null,\n streaming,\n settings: options.settings,\n usage,\n };\n },\n _makeRequest(requestArgs, spec, overrideData) {\n return new Promise((resolve, reject) => {\n var _a;\n let opts;\n try {\n opts = this._getRequestOpts(requestArgs, spec, overrideData);\n }\n catch (err) {\n reject(err);\n return;\n }\n function requestCallback(err, response) {\n if (err) {\n reject(err);\n }\n else {\n resolve(spec.transformResponseData\n ? spec.transformResponseData(response)\n : response);\n }\n }\n const emptyQuery = Object.keys(opts.queryData).length === 0;\n const path = [\n opts.requestPath,\n emptyQuery ? '' : '?',\n queryStringifyRequestData(opts.queryData, getAPIMode(opts.requestPath)),\n ].join('');\n const { headers, settings } = opts;\n this._stripe._requestSender._request(opts.requestMethod, opts.host, path, opts.bodyData, opts.authenticator, {\n headers,\n settings,\n streaming: opts.streaming,\n }, opts.usage, requestCallback, (_a = this.requestDataProcessor) === null || _a === void 0 ? void 0 : _a.bind(this));\n });\n },\n};\nexport { StripeResource };\n",
|
|
47
47
|
"import { StripeError, StripeSignatureVerificationError } from './Error.js';\nimport { CryptoProviderOnlySupportsAsyncError, } from './crypto/CryptoProvider.js';\nexport function createWebhooks(platformFunctions) {\n const Webhook = {\n DEFAULT_TOLERANCE: 300,\n // @ts-ignore\n signature: null,\n constructEvent(payload, header, secret, tolerance, cryptoProvider, receivedAt) {\n try {\n this.signature.verifyHeader(payload, header, secret, tolerance || Webhook.DEFAULT_TOLERANCE, cryptoProvider, receivedAt);\n }\n catch (e) {\n if (e instanceof CryptoProviderOnlySupportsAsyncError) {\n e.message +=\n '\\nUse `await constructEventAsync(...)` instead of `constructEvent(...)`';\n }\n throw e;\n }\n const jsonPayload = payload instanceof Uint8Array\n ? JSON.parse(new TextDecoder('utf8').decode(payload))\n : JSON.parse(payload);\n return jsonPayload;\n },\n async constructEventAsync(payload, header, secret, tolerance, cryptoProvider, receivedAt) {\n await this.signature.verifyHeaderAsync(payload, header, secret, tolerance || Webhook.DEFAULT_TOLERANCE, cryptoProvider, receivedAt);\n const jsonPayload = payload instanceof Uint8Array\n ? JSON.parse(new TextDecoder('utf8').decode(payload))\n : JSON.parse(payload);\n return jsonPayload;\n },\n /**\n * Generates a header to be used for webhook mocking\n *\n * @typedef {object} opts\n * @property {number} timestamp - Timestamp of the header. Defaults to Date.now()\n * @property {string} payload - JSON stringified payload object, containing the 'id' and 'object' parameters\n * @property {string} secret - Stripe webhook secret 'whsec_...'\n * @property {string} scheme - Version of API to hit. Defaults to 'v1'.\n * @property {string} signature - Computed webhook signature\n * @property {CryptoProvider} cryptoProvider - Crypto provider to use for computing the signature if none was provided. Defaults to NodeCryptoProvider.\n */\n generateTestHeaderString: function (opts) {\n const preparedOpts = prepareOptions(opts);\n const signature = preparedOpts.signature ||\n preparedOpts.cryptoProvider.computeHMACSignature(preparedOpts.payloadString, preparedOpts.secret);\n return preparedOpts.generateHeaderString(signature);\n },\n generateTestHeaderStringAsync: async function (opts) {\n const preparedOpts = prepareOptions(opts);\n const signature = preparedOpts.signature ||\n (await preparedOpts.cryptoProvider.computeHMACSignatureAsync(preparedOpts.payloadString, preparedOpts.secret));\n return preparedOpts.generateHeaderString(signature);\n },\n };\n const signature = {\n EXPECTED_SCHEME: 'v1',\n verifyHeader(encodedPayload, encodedHeader, secret, tolerance, cryptoProvider, receivedAt) {\n const { decodedHeader: header, decodedPayload: payload, details, suspectPayloadType, } = parseEventDetails(encodedPayload, encodedHeader, this.EXPECTED_SCHEME);\n const secretContainsWhitespace = /\\s/.test(secret);\n cryptoProvider = cryptoProvider || getCryptoProvider();\n const expectedSignature = cryptoProvider.computeHMACSignature(makeHMACContent(payload, details), secret);\n validateComputedSignature(payload, header, details, expectedSignature, tolerance, suspectPayloadType, secretContainsWhitespace, receivedAt);\n return true;\n },\n async verifyHeaderAsync(encodedPayload, encodedHeader, secret, tolerance, cryptoProvider, receivedAt) {\n const { decodedHeader: header, decodedPayload: payload, details, suspectPayloadType, } = parseEventDetails(encodedPayload, encodedHeader, this.EXPECTED_SCHEME);\n const secretContainsWhitespace = /\\s/.test(secret);\n cryptoProvider = cryptoProvider || getCryptoProvider();\n const expectedSignature = await cryptoProvider.computeHMACSignatureAsync(makeHMACContent(payload, details), secret);\n return validateComputedSignature(payload, header, details, expectedSignature, tolerance, suspectPayloadType, secretContainsWhitespace, receivedAt);\n },\n };\n function makeHMACContent(payload, details) {\n return `${details.timestamp}.${payload}`;\n }\n function parseEventDetails(encodedPayload, encodedHeader, expectedScheme) {\n if (!encodedPayload) {\n throw new StripeSignatureVerificationError(encodedHeader, encodedPayload, {\n message: 'No webhook payload was provided.',\n });\n }\n const suspectPayloadType = typeof encodedPayload != 'string' &&\n !(encodedPayload instanceof Uint8Array);\n const textDecoder = new TextDecoder('utf8');\n const decodedPayload = encodedPayload instanceof Uint8Array\n ? textDecoder.decode(encodedPayload)\n : encodedPayload;\n // Express's type for `Request#headers` is `string | []string`\n // which is because the `set-cookie` header is an array,\n // but no other headers are an array (docs: https://nodejs.org/api/http.html#http_message_headers)\n // (Express's Request class is an extension of http.IncomingMessage, and doesn't appear to be relevantly modified: https://github.com/expressjs/express/blob/master/lib/request.js#L31)\n if (Array.isArray(encodedHeader)) {\n throw new Error('Unexpected: An array was passed as a header, which should not be possible for the stripe-signature header.');\n }\n if (encodedHeader == null || encodedHeader == '') {\n throw new StripeSignatureVerificationError(encodedHeader, encodedPayload, {\n message: 'No stripe-signature header value was provided.',\n });\n }\n const decodedHeader = encodedHeader instanceof Uint8Array\n ? textDecoder.decode(encodedHeader)\n : encodedHeader;\n const details = parseHeader(decodedHeader, expectedScheme);\n if (!details || details.timestamp === -1) {\n throw new StripeSignatureVerificationError(decodedHeader, decodedPayload, {\n message: 'Unable to extract timestamp and signatures from header',\n });\n }\n if (!details.signatures.length) {\n throw new StripeSignatureVerificationError(decodedHeader, decodedPayload, {\n message: 'No signatures found with expected scheme',\n });\n }\n return {\n decodedPayload,\n decodedHeader,\n details,\n suspectPayloadType,\n };\n }\n function validateComputedSignature(payload, header, details, expectedSignature, tolerance, suspectPayloadType, secretContainsWhitespace, receivedAt) {\n const signatureFound = !!details.signatures.filter(platformFunctions.secureCompare.bind(platformFunctions, expectedSignature)).length;\n const docsLocation = '\\nLearn more about webhook signing and explore webhook integration examples for various frameworks at ' +\n 'https://github.com/stripe/stripe-node#webhook-signing';\n const whitespaceMessage = secretContainsWhitespace\n ? '\\n\\nNote: The provided signing secret contains whitespace. This often indicates an extra newline or space is in the value'\n : '';\n if (!signatureFound) {\n if (suspectPayloadType) {\n throw new StripeSignatureVerificationError(header, payload, {\n message: 'Webhook payload must be provided as a string or a Buffer (https://nodejs.org/api/buffer.html) instance representing the _raw_ request body.' +\n 'Payload was provided as a parsed JavaScript object instead. \\n' +\n 'Signature verification is impossible without access to the original signed material. \\n' +\n docsLocation +\n '\\n' +\n whitespaceMessage,\n });\n }\n throw new StripeSignatureVerificationError(header, payload, {\n message: 'No signatures found matching the expected signature for payload.' +\n ' Are you passing the raw request body you received from Stripe? \\n' +\n ' If a webhook request is being forwarded by a third-party tool,' +\n ' ensure that the exact request body, including JSON formatting and new line style, is preserved.\\n' +\n docsLocation +\n '\\n' +\n whitespaceMessage,\n });\n }\n const timestampAge = Math.floor((typeof receivedAt === 'number' ? receivedAt : Date.now()) / 1000) - details.timestamp;\n if (tolerance > 0 && timestampAge > tolerance) {\n // @ts-ignore\n throw new StripeSignatureVerificationError(header, payload, {\n message: 'Timestamp outside the tolerance zone',\n });\n }\n return true;\n }\n function parseHeader(header, scheme) {\n if (typeof header !== 'string') {\n return null;\n }\n return header.split(',').reduce((accum, item) => {\n const kv = item.split('=');\n if (kv[0] === 't') {\n accum.timestamp = parseInt(kv[1], 10);\n }\n if (kv[0] === scheme) {\n accum.signatures.push(kv[1]);\n }\n return accum;\n }, {\n timestamp: -1,\n signatures: [],\n });\n }\n let webhooksCryptoProviderInstance = null;\n /**\n * Lazily instantiate a CryptoProvider instance. This is a stateless object\n * so a singleton can be used here.\n */\n function getCryptoProvider() {\n if (!webhooksCryptoProviderInstance) {\n webhooksCryptoProviderInstance = platformFunctions.createDefaultCryptoProvider();\n }\n return webhooksCryptoProviderInstance;\n }\n function prepareOptions(opts) {\n if (!opts) {\n throw new StripeError({\n message: 'Options are required',\n });\n }\n const timestamp = Math.floor(opts.timestamp) || Math.floor(Date.now() / 1000);\n const scheme = opts.scheme || signature.EXPECTED_SCHEME;\n const cryptoProvider = opts.cryptoProvider || getCryptoProvider();\n const payloadString = `${timestamp}.${opts.payload}`;\n const generateHeaderString = (signature) => {\n return `t=${timestamp},${scheme}=${signature}`;\n };\n return Object.assign(Object.assign({}, opts), { timestamp,\n scheme,\n cryptoProvider,\n payloadString,\n generateHeaderString });\n }\n Webhook.signature = signature;\n return Webhook;\n}\n",
|
|
48
|
-
"// File generated from our OpenAPI spec\nexport const ApiVersion = '2024-
|
|
48
|
+
"// File generated from our OpenAPI spec\nexport const ApiVersion = '2024-09-30.acacia';\n",
|
|
49
49
|
"// ResourceNamespace allows you to create nested resources, i.e. `stripe.issuing.cards`.\n// It also works recursively, so you could do i.e. `stripe.billing.invoicing.pay`.\nfunction ResourceNamespace(stripe, resources) {\n for (const name in resources) {\n if (!Object.prototype.hasOwnProperty.call(resources, name)) {\n continue;\n }\n const camelCaseName = name[0].toLowerCase() + name.substring(1);\n const resource = new resources[name](stripe);\n this[camelCaseName] = resource;\n }\n}\nexport function resourceNamespace(namespace, resources) {\n return function (stripe) {\n return new ResourceNamespace(stripe, resources);\n };\n}\n",
|
|
50
50
|
"// File generated from our OpenAPI spec\nimport { StripeResource } from '../../StripeResource.js';\nconst stripeMethod = StripeResource.method;\nexport const Accounts = StripeResource.extend({\n retrieve: stripeMethod({\n method: 'GET',\n fullPath: '/v1/financial_connections/accounts/{account}',\n }),\n list: stripeMethod({\n method: 'GET',\n fullPath: '/v1/financial_connections/accounts',\n methodType: 'list',\n }),\n disconnect: stripeMethod({\n method: 'POST',\n fullPath: '/v1/financial_connections/accounts/{account}/disconnect',\n }),\n listOwners: stripeMethod({\n method: 'GET',\n fullPath: '/v1/financial_connections/accounts/{account}/owners',\n methodType: 'list',\n }),\n refresh: stripeMethod({\n method: 'POST',\n fullPath: '/v1/financial_connections/accounts/{account}/refresh',\n }),\n subscribe: stripeMethod({\n method: 'POST',\n fullPath: '/v1/financial_connections/accounts/{account}/subscribe',\n }),\n unsubscribe: stripeMethod({\n method: 'POST',\n fullPath: '/v1/financial_connections/accounts/{account}/unsubscribe',\n }),\n});\n",
|
|
51
51
|
"// File generated from our OpenAPI spec\nimport { StripeResource } from '../../StripeResource.js';\nconst stripeMethod = StripeResource.method;\nexport const ActiveEntitlements = StripeResource.extend({\n retrieve: stripeMethod({\n method: 'GET',\n fullPath: '/v1/entitlements/active_entitlements/{id}',\n }),\n list: stripeMethod({\n method: 'GET',\n fullPath: '/v1/entitlements/active_entitlements',\n methodType: 'list',\n }),\n});\n",
|
|
@@ -60,6 +60,9 @@
|
|
|
60
60
|
"// File generated from our OpenAPI spec\nimport { StripeResource } from '../../StripeResource.js';\nconst stripeMethod = StripeResource.method;\nexport const Configurations = StripeResource.extend({\n create: stripeMethod({\n method: 'POST',\n fullPath: '/v1/terminal/configurations',\n }),\n retrieve: stripeMethod({\n method: 'GET',\n fullPath: '/v1/terminal/configurations/{configuration}',\n }),\n update: stripeMethod({\n method: 'POST',\n fullPath: '/v1/terminal/configurations/{configuration}',\n }),\n list: stripeMethod({\n method: 'GET',\n fullPath: '/v1/terminal/configurations',\n methodType: 'list',\n }),\n del: stripeMethod({\n method: 'DELETE',\n fullPath: '/v1/terminal/configurations/{configuration}',\n }),\n});\n",
|
|
61
61
|
"// File generated from our OpenAPI spec\nimport { StripeResource } from '../../StripeResource.js';\nconst stripeMethod = StripeResource.method;\nexport const ConfirmationTokens = StripeResource.extend({\n create: stripeMethod({\n method: 'POST',\n fullPath: '/v1/test_helpers/confirmation_tokens',\n }),\n});\n",
|
|
62
62
|
"// File generated from our OpenAPI spec\nimport { StripeResource } from '../../StripeResource.js';\nconst stripeMethod = StripeResource.method;\nexport const ConnectionTokens = StripeResource.extend({\n create: stripeMethod({\n method: 'POST',\n fullPath: '/v1/terminal/connection_tokens',\n }),\n});\n",
|
|
63
|
+
"// File generated from our OpenAPI spec\nimport { StripeResource } from '../../StripeResource.js';\nconst stripeMethod = StripeResource.method;\nexport const CreditBalanceSummary = StripeResource.extend({\n retrieve: stripeMethod({\n method: 'GET',\n fullPath: '/v1/billing/credit_balance_summary',\n }),\n});\n",
|
|
64
|
+
"// File generated from our OpenAPI spec\nimport { StripeResource } from '../../StripeResource.js';\nconst stripeMethod = StripeResource.method;\nexport const CreditBalanceTransactions = StripeResource.extend({\n retrieve: stripeMethod({\n method: 'GET',\n fullPath: '/v1/billing/credit_balance_transactions/{id}',\n }),\n list: stripeMethod({\n method: 'GET',\n fullPath: '/v1/billing/credit_balance_transactions',\n methodType: 'list',\n }),\n});\n",
|
|
65
|
+
"// File generated from our OpenAPI spec\nimport { StripeResource } from '../../StripeResource.js';\nconst stripeMethod = StripeResource.method;\nexport const CreditGrants = StripeResource.extend({\n create: stripeMethod({ method: 'POST', fullPath: '/v1/billing/credit_grants' }),\n retrieve: stripeMethod({\n method: 'GET',\n fullPath: '/v1/billing/credit_grants/{id}',\n }),\n update: stripeMethod({\n method: 'POST',\n fullPath: '/v1/billing/credit_grants/{id}',\n }),\n list: stripeMethod({\n method: 'GET',\n fullPath: '/v1/billing/credit_grants',\n methodType: 'list',\n }),\n expire: stripeMethod({\n method: 'POST',\n fullPath: '/v1/billing/credit_grants/{id}/expire',\n }),\n voidGrant: stripeMethod({\n method: 'POST',\n fullPath: '/v1/billing/credit_grants/{id}/void',\n }),\n});\n",
|
|
63
66
|
"// File generated from our OpenAPI spec\nimport { StripeResource } from '../../StripeResource.js';\nconst stripeMethod = StripeResource.method;\nexport const CreditReversals = StripeResource.extend({\n create: stripeMethod({\n method: 'POST',\n fullPath: '/v1/treasury/credit_reversals',\n }),\n retrieve: stripeMethod({\n method: 'GET',\n fullPath: '/v1/treasury/credit_reversals/{credit_reversal}',\n }),\n list: stripeMethod({\n method: 'GET',\n fullPath: '/v1/treasury/credit_reversals',\n methodType: 'list',\n }),\n});\n",
|
|
64
67
|
"// File generated from our OpenAPI spec\nimport { StripeResource } from '../../StripeResource.js';\nconst stripeMethod = StripeResource.method;\nexport const Customers = StripeResource.extend({\n fundCashBalance: stripeMethod({\n method: 'POST',\n fullPath: '/v1/test_helpers/customers/{customer}/fund_cash_balance',\n }),\n});\n",
|
|
65
68
|
"// File generated from our OpenAPI spec\nimport { StripeResource } from '../../StripeResource.js';\nconst stripeMethod = StripeResource.method;\nexport const DebitReversals = StripeResource.extend({\n create: stripeMethod({\n method: 'POST',\n fullPath: '/v1/treasury/debit_reversals',\n }),\n retrieve: stripeMethod({\n method: 'GET',\n fullPath: '/v1/treasury/debit_reversals/{debit_reversal}',\n }),\n list: stripeMethod({\n method: 'GET',\n fullPath: '/v1/treasury/debit_reversals',\n methodType: 'list',\n }),\n});\n",
|
|
@@ -131,12 +134,13 @@
|
|
|
131
134
|
"// File generated from our OpenAPI spec\nimport { StripeResource } from '../StripeResource.js';\nconst stripeMethod = StripeResource.method;\nexport const Events = StripeResource.extend({\n retrieve: stripeMethod({ method: 'GET', fullPath: '/v1/events/{id}' }),\n list: stripeMethod({\n method: 'GET',\n fullPath: '/v1/events',\n methodType: 'list',\n }),\n});\n",
|
|
132
135
|
"// File generated from our OpenAPI spec\nimport { StripeResource } from '../StripeResource.js';\nconst stripeMethod = StripeResource.method;\nexport const ExchangeRates = StripeResource.extend({\n retrieve: stripeMethod({\n method: 'GET',\n fullPath: '/v1/exchange_rates/{rate_id}',\n }),\n list: stripeMethod({\n method: 'GET',\n fullPath: '/v1/exchange_rates',\n methodType: 'list',\n }),\n});\n",
|
|
133
136
|
"// File generated from our OpenAPI spec\nimport { StripeResource } from '../StripeResource.js';\nconst stripeMethod = StripeResource.method;\nexport const FileLinks = StripeResource.extend({\n create: stripeMethod({ method: 'POST', fullPath: '/v1/file_links' }),\n retrieve: stripeMethod({ method: 'GET', fullPath: '/v1/file_links/{link}' }),\n update: stripeMethod({ method: 'POST', fullPath: '/v1/file_links/{link}' }),\n list: stripeMethod({\n method: 'GET',\n fullPath: '/v1/file_links',\n methodType: 'list',\n }),\n});\n",
|
|
134
|
-
"import { flattenAndStringify,
|
|
137
|
+
"import { flattenAndStringify, queryStringifyRequestData } from './utils.js';\n// Method for formatting HTTP body for the multipart/form-data specification\n// Mostly taken from Fermata.js\n// https://github.com/natevw/fermata/blob/5d9732a33d776ce925013a265935facd1626cc88/fermata.js#L315-L343\nconst multipartDataGenerator = (method, data, headers) => {\n const segno = (Math.round(Math.random() * 1e16) + Math.round(Math.random() * 1e16)).toString();\n headers['Content-Type'] = `multipart/form-data; boundary=${segno}`;\n const textEncoder = new TextEncoder();\n let buffer = new Uint8Array(0);\n const endBuffer = textEncoder.encode('\\r\\n');\n function push(l) {\n const prevBuffer = buffer;\n const newBuffer = l instanceof Uint8Array ? l : new Uint8Array(textEncoder.encode(l));\n buffer = new Uint8Array(prevBuffer.length + newBuffer.length + 2);\n buffer.set(prevBuffer);\n buffer.set(newBuffer, prevBuffer.length);\n buffer.set(endBuffer, buffer.length - 2);\n }\n function q(s) {\n return `\"${s.replace(/\"|\"/g, '%22').replace(/\\r\\n|\\r|\\n/g, ' ')}\"`;\n }\n const flattenedData = flattenAndStringify(data);\n for (const k in flattenedData) {\n if (!Object.prototype.hasOwnProperty.call(flattenedData, k)) {\n continue;\n }\n const v = flattenedData[k];\n push(`--${segno}`);\n if (Object.prototype.hasOwnProperty.call(v, 'data')) {\n const typedEntry = v;\n push(`Content-Disposition: form-data; name=${q(k)}; filename=${q(typedEntry.name || 'blob')}`);\n push(`Content-Type: ${typedEntry.type || 'application/octet-stream'}`);\n push('');\n push(typedEntry.data);\n }\n else {\n push(`Content-Disposition: form-data; name=${q(k)}`);\n push('');\n push(v);\n }\n }\n push(`--${segno}--`);\n return buffer;\n};\nexport function multipartRequestDataProcessor(method, data, headers, callback) {\n data = data || {};\n if (method !== 'POST') {\n return callback(null, queryStringifyRequestData(data));\n }\n this._stripe._platformFunctions\n .tryBufferData(data)\n .then((bufferedData) => {\n const buffer = multipartDataGenerator(method, bufferedData, headers);\n return callback(null, buffer);\n })\n .catch((err) => callback(err, null));\n}\n",
|
|
135
138
|
"// File generated from our OpenAPI spec\nimport { multipartRequestDataProcessor } from '../multipart.js';\nimport { StripeResource } from '../StripeResource.js';\nconst stripeMethod = StripeResource.method;\nexport const Files = StripeResource.extend({\n create: stripeMethod({\n method: 'POST',\n fullPath: '/v1/files',\n headers: {\n 'Content-Type': 'multipart/form-data',\n },\n host: 'files.stripe.com',\n }),\n retrieve: stripeMethod({ method: 'GET', fullPath: '/v1/files/{file}' }),\n list: stripeMethod({\n method: 'GET',\n fullPath: '/v1/files',\n methodType: 'list',\n }),\n requestDataProcessor: multipartRequestDataProcessor,\n});\n",
|
|
136
139
|
"// File generated from our OpenAPI spec\nimport { StripeResource } from '../StripeResource.js';\nconst stripeMethod = StripeResource.method;\nexport const InvoiceItems = StripeResource.extend({\n create: stripeMethod({ method: 'POST', fullPath: '/v1/invoiceitems' }),\n retrieve: stripeMethod({\n method: 'GET',\n fullPath: '/v1/invoiceitems/{invoiceitem}',\n }),\n update: stripeMethod({\n method: 'POST',\n fullPath: '/v1/invoiceitems/{invoiceitem}',\n }),\n list: stripeMethod({\n method: 'GET',\n fullPath: '/v1/invoiceitems',\n methodType: 'list',\n }),\n del: stripeMethod({\n method: 'DELETE',\n fullPath: '/v1/invoiceitems/{invoiceitem}',\n }),\n});\n",
|
|
140
|
+
"// File generated from our OpenAPI spec\nimport { StripeResource } from '../StripeResource.js';\nconst stripeMethod = StripeResource.method;\nexport const InvoiceRenderingTemplates = StripeResource.extend({\n retrieve: stripeMethod({\n method: 'GET',\n fullPath: '/v1/invoice_rendering_templates/{template}',\n }),\n list: stripeMethod({\n method: 'GET',\n fullPath: '/v1/invoice_rendering_templates',\n methodType: 'list',\n }),\n archive: stripeMethod({\n method: 'POST',\n fullPath: '/v1/invoice_rendering_templates/{template}/archive',\n }),\n unarchive: stripeMethod({\n method: 'POST',\n fullPath: '/v1/invoice_rendering_templates/{template}/unarchive',\n }),\n});\n",
|
|
137
141
|
"// File generated from our OpenAPI spec\nimport { StripeResource } from '../StripeResource.js';\nconst stripeMethod = StripeResource.method;\nexport const Invoices = StripeResource.extend({\n create: stripeMethod({ method: 'POST', fullPath: '/v1/invoices' }),\n retrieve: stripeMethod({ method: 'GET', fullPath: '/v1/invoices/{invoice}' }),\n update: stripeMethod({ method: 'POST', fullPath: '/v1/invoices/{invoice}' }),\n list: stripeMethod({\n method: 'GET',\n fullPath: '/v1/invoices',\n methodType: 'list',\n }),\n del: stripeMethod({ method: 'DELETE', fullPath: '/v1/invoices/{invoice}' }),\n addLines: stripeMethod({\n method: 'POST',\n fullPath: '/v1/invoices/{invoice}/add_lines',\n }),\n createPreview: stripeMethod({\n method: 'POST',\n fullPath: '/v1/invoices/create_preview',\n }),\n finalizeInvoice: stripeMethod({\n method: 'POST',\n fullPath: '/v1/invoices/{invoice}/finalize',\n }),\n listLineItems: stripeMethod({\n method: 'GET',\n fullPath: '/v1/invoices/{invoice}/lines',\n methodType: 'list',\n }),\n listUpcomingLines: stripeMethod({\n method: 'GET',\n fullPath: '/v1/invoices/upcoming/lines',\n methodType: 'list',\n }),\n markUncollectible: stripeMethod({\n method: 'POST',\n fullPath: '/v1/invoices/{invoice}/mark_uncollectible',\n }),\n pay: stripeMethod({ method: 'POST', fullPath: '/v1/invoices/{invoice}/pay' }),\n removeLines: stripeMethod({\n method: 'POST',\n fullPath: '/v1/invoices/{invoice}/remove_lines',\n }),\n retrieveUpcoming: stripeMethod({\n method: 'GET',\n fullPath: '/v1/invoices/upcoming',\n }),\n search: stripeMethod({\n method: 'GET',\n fullPath: '/v1/invoices/search',\n methodType: 'search',\n }),\n sendInvoice: stripeMethod({\n method: 'POST',\n fullPath: '/v1/invoices/{invoice}/send',\n }),\n updateLines: stripeMethod({\n method: 'POST',\n fullPath: '/v1/invoices/{invoice}/update_lines',\n }),\n updateLineItem: stripeMethod({\n method: 'POST',\n fullPath: '/v1/invoices/{invoice}/lines/{line_item_id}',\n }),\n voidInvoice: stripeMethod({\n method: 'POST',\n fullPath: '/v1/invoices/{invoice}/void',\n }),\n});\n",
|
|
138
142
|
"// File generated from our OpenAPI spec\nimport { StripeResource } from '../StripeResource.js';\nconst stripeMethod = StripeResource.method;\nexport const Mandates = StripeResource.extend({\n retrieve: stripeMethod({ method: 'GET', fullPath: '/v1/mandates/{mandate}' }),\n});\n",
|
|
139
|
-
"'use strict';\nimport { StripeResource } from '../StripeResource.js';\nimport {
|
|
143
|
+
"'use strict';\nimport { StripeResource } from '../StripeResource.js';\nimport { queryStringifyRequestData } from '../utils.js';\nconst stripeMethod = StripeResource.method;\nconst oAuthHost = 'connect.stripe.com';\nexport const OAuth = StripeResource.extend({\n basePath: '/',\n authorizeUrl(params, options) {\n params = params || {};\n options = options || {};\n let path = 'oauth/authorize';\n // For Express accounts, the path changes\n if (options.express) {\n path = `express/${path}`;\n }\n if (!params.response_type) {\n params.response_type = 'code';\n }\n if (!params.client_id) {\n params.client_id = this._stripe.getClientId();\n }\n if (!params.scope) {\n params.scope = 'read_write';\n }\n return `https://${oAuthHost}/${path}?${queryStringifyRequestData(params)}`;\n },\n token: stripeMethod({\n method: 'POST',\n path: 'oauth/token',\n host: oAuthHost,\n }),\n deauthorize(spec, ...args) {\n if (!spec.client_id) {\n spec.client_id = this._stripe.getClientId();\n }\n return stripeMethod({\n method: 'POST',\n path: 'oauth/deauthorize',\n host: oAuthHost,\n }).apply(this, [spec, ...args]);\n },\n});\n",
|
|
140
144
|
"// File generated from our OpenAPI spec\nimport { StripeResource } from '../StripeResource.js';\nconst stripeMethod = StripeResource.method;\nexport const PaymentIntents = StripeResource.extend({\n create: stripeMethod({ method: 'POST', fullPath: '/v1/payment_intents' }),\n retrieve: stripeMethod({\n method: 'GET',\n fullPath: '/v1/payment_intents/{intent}',\n }),\n update: stripeMethod({\n method: 'POST',\n fullPath: '/v1/payment_intents/{intent}',\n }),\n list: stripeMethod({\n method: 'GET',\n fullPath: '/v1/payment_intents',\n methodType: 'list',\n }),\n applyCustomerBalance: stripeMethod({\n method: 'POST',\n fullPath: '/v1/payment_intents/{intent}/apply_customer_balance',\n }),\n cancel: stripeMethod({\n method: 'POST',\n fullPath: '/v1/payment_intents/{intent}/cancel',\n }),\n capture: stripeMethod({\n method: 'POST',\n fullPath: '/v1/payment_intents/{intent}/capture',\n }),\n confirm: stripeMethod({\n method: 'POST',\n fullPath: '/v1/payment_intents/{intent}/confirm',\n }),\n incrementAuthorization: stripeMethod({\n method: 'POST',\n fullPath: '/v1/payment_intents/{intent}/increment_authorization',\n }),\n search: stripeMethod({\n method: 'GET',\n fullPath: '/v1/payment_intents/search',\n methodType: 'search',\n }),\n verifyMicrodeposits: stripeMethod({\n method: 'POST',\n fullPath: '/v1/payment_intents/{intent}/verify_microdeposits',\n }),\n});\n",
|
|
141
145
|
"// File generated from our OpenAPI spec\nimport { StripeResource } from '../StripeResource.js';\nconst stripeMethod = StripeResource.method;\nexport const PaymentLinks = StripeResource.extend({\n create: stripeMethod({ method: 'POST', fullPath: '/v1/payment_links' }),\n retrieve: stripeMethod({\n method: 'GET',\n fullPath: '/v1/payment_links/{payment_link}',\n }),\n update: stripeMethod({\n method: 'POST',\n fullPath: '/v1/payment_links/{payment_link}',\n }),\n list: stripeMethod({\n method: 'GET',\n fullPath: '/v1/payment_links',\n methodType: 'list',\n }),\n listLineItems: stripeMethod({\n method: 'GET',\n fullPath: '/v1/payment_links/{payment_link}/line_items',\n methodType: 'list',\n }),\n});\n",
|
|
142
146
|
"// File generated from our OpenAPI spec\nimport { StripeResource } from '../StripeResource.js';\nconst stripeMethod = StripeResource.method;\nexport const PaymentMethodConfigurations = StripeResource.extend({\n create: stripeMethod({\n method: 'POST',\n fullPath: '/v1/payment_method_configurations',\n }),\n retrieve: stripeMethod({\n method: 'GET',\n fullPath: '/v1/payment_method_configurations/{configuration}',\n }),\n update: stripeMethod({\n method: 'POST',\n fullPath: '/v1/payment_method_configurations/{configuration}',\n }),\n list: stripeMethod({\n method: 'GET',\n fullPath: '/v1/payment_method_configurations',\n methodType: 'list',\n }),\n});\n",
|
|
@@ -163,13 +167,21 @@
|
|
|
163
167
|
"// File generated from our OpenAPI spec\nimport { StripeResource } from '../StripeResource.js';\nconst stripeMethod = StripeResource.method;\nexport const Tokens = StripeResource.extend({\n create: stripeMethod({ method: 'POST', fullPath: '/v1/tokens' }),\n retrieve: stripeMethod({ method: 'GET', fullPath: '/v1/tokens/{token}' }),\n});\n",
|
|
164
168
|
"// File generated from our OpenAPI spec\nimport { StripeResource } from '../StripeResource.js';\nconst stripeMethod = StripeResource.method;\nexport const Topups = StripeResource.extend({\n create: stripeMethod({ method: 'POST', fullPath: '/v1/topups' }),\n retrieve: stripeMethod({ method: 'GET', fullPath: '/v1/topups/{topup}' }),\n update: stripeMethod({ method: 'POST', fullPath: '/v1/topups/{topup}' }),\n list: stripeMethod({\n method: 'GET',\n fullPath: '/v1/topups',\n methodType: 'list',\n }),\n cancel: stripeMethod({ method: 'POST', fullPath: '/v1/topups/{topup}/cancel' }),\n});\n",
|
|
165
169
|
"// File generated from our OpenAPI spec\nimport { StripeResource } from '../StripeResource.js';\nconst stripeMethod = StripeResource.method;\nexport const Transfers = StripeResource.extend({\n create: stripeMethod({ method: 'POST', fullPath: '/v1/transfers' }),\n retrieve: stripeMethod({ method: 'GET', fullPath: '/v1/transfers/{transfer}' }),\n update: stripeMethod({ method: 'POST', fullPath: '/v1/transfers/{transfer}' }),\n list: stripeMethod({\n method: 'GET',\n fullPath: '/v1/transfers',\n methodType: 'list',\n }),\n createReversal: stripeMethod({\n method: 'POST',\n fullPath: '/v1/transfers/{id}/reversals',\n }),\n listReversals: stripeMethod({\n method: 'GET',\n fullPath: '/v1/transfers/{id}/reversals',\n methodType: 'list',\n }),\n retrieveReversal: stripeMethod({\n method: 'GET',\n fullPath: '/v1/transfers/{transfer}/reversals/{id}',\n }),\n updateReversal: stripeMethod({\n method: 'POST',\n fullPath: '/v1/transfers/{transfer}/reversals/{id}',\n }),\n});\n",
|
|
170
|
+
"// File generated from our OpenAPI spec\nimport { StripeResource } from '../../../StripeResource.js';\nconst stripeMethod = StripeResource.method;\nexport const MeterEventSession = StripeResource.extend({\n create: stripeMethod({\n method: 'POST',\n fullPath: '/v2/billing/meter_event_session',\n }),\n});\n",
|
|
171
|
+
"// File generated from our OpenAPI spec\nimport { StripeResource } from '../../../StripeResource.js';\nconst stripeMethod = StripeResource.method;\nexport const MeterEventAdjustments = StripeResource.extend({\n create: stripeMethod({\n method: 'POST',\n fullPath: '/v2/billing/meter_event_adjustments',\n }),\n});\n",
|
|
172
|
+
"// File generated from our OpenAPI spec\nimport { StripeResource } from '../../../StripeResource.js';\nconst stripeMethod = StripeResource.method;\nexport const MeterEventStream = StripeResource.extend({\n create: stripeMethod({\n method: 'POST',\n fullPath: '/v2/billing/meter_event_stream',\n host: 'meter-events.stripe.com',\n }),\n});\n",
|
|
173
|
+
"// File generated from our OpenAPI spec\nimport { StripeResource } from '../../../StripeResource.js';\nconst stripeMethod = StripeResource.method;\nexport const MeterEvents = StripeResource.extend({\n create: stripeMethod({ method: 'POST', fullPath: '/v2/billing/meter_events' }),\n});\n",
|
|
174
|
+
"// File generated from our OpenAPI spec\nimport { StripeResource } from '../../StripeResource.js';\nimport { MeterEventSession } from './Billing/MeterEventSession.js';\nimport { MeterEventAdjustments } from './Billing/MeterEventAdjustments.js';\nimport { MeterEventStream } from './Billing/MeterEventStream.js';\nimport { MeterEvents } from './Billing/MeterEvents.js';\nexport const Billing = StripeResource.extend({\n constructor: function (...args) {\n StripeResource.apply(this, args);\n this.meterEventSession = new MeterEventSession(...args);\n this.meterEventAdjustments = new MeterEventAdjustments(...args);\n this.meterEventStream = new MeterEventStream(...args);\n this.meterEvents = new MeterEvents(...args);\n },\n});\n",
|
|
175
|
+
"// This file is manually maintained\nimport { StripeResource } from '../../../StripeResource.js';\nconst stripeMethod = StripeResource.method;\nexport const Events = StripeResource.extend({\n retrieve(...args) {\n const transformResponseData = (response) => {\n return this.addFetchRelatedObjectIfNeeded(response);\n };\n return stripeMethod({\n method: 'GET',\n fullPath: '/v2/core/events/{id}',\n transformResponseData,\n }).apply(this, args);\n },\n list(...args) {\n const transformResponseData = (response) => {\n return Object.assign(Object.assign({}, response), { data: response.data.map(this.addFetchRelatedObjectIfNeeded.bind(this)) });\n };\n return stripeMethod({\n method: 'GET',\n fullPath: '/v2/core/events',\n methodType: 'list',\n transformResponseData,\n }).apply(this, args);\n },\n /**\n * @private\n *\n * For internal use in stripe-node.\n *\n * @param pulledEvent The retrieved event object\n * @returns The retrieved event object with a fetchRelatedObject method,\n * if pulledEvent.related_object is valid (non-null and has a url)\n */\n addFetchRelatedObjectIfNeeded(pulledEvent) {\n if (!pulledEvent.related_object || !pulledEvent.related_object.url) {\n return pulledEvent;\n }\n return Object.assign(Object.assign({}, pulledEvent), { fetchRelatedObject: () => \n // call stripeMethod with 'this' resource to fetch\n // the related object. 'this' is needed to construct\n // and send the request, but the method spec controls\n // the url endpoint and method, so it doesn't matter\n // that 'this' is an Events resource object here\n stripeMethod({\n method: 'GET',\n fullPath: pulledEvent.related_object.url,\n }).apply(this, [\n {\n stripeAccount: pulledEvent.context,\n },\n ]) });\n },\n});\n",
|
|
176
|
+
"// File generated from our OpenAPI spec\nimport { StripeResource } from '../../StripeResource.js';\nimport { Events } from './Core/Events.js';\nexport const Core = StripeResource.extend({\n constructor: function (...args) {\n StripeResource.apply(this, args);\n this.events = new Events(...args);\n },\n});\n",
|
|
177
|
+
"// File generated from our OpenAPI spec\nimport { StripeResource } from '../StripeResource.js';\nimport { Billing } from './V2/Billing.js';\nimport { Core } from './V2/Core.js';\nexport const V2 = StripeResource.extend({\n constructor: function (...args) {\n StripeResource.apply(this, args);\n this.billing = new Billing(...args);\n this.core = new Core(...args);\n },\n});\n",
|
|
166
178
|
"// File generated from our OpenAPI spec\nimport { StripeResource } from '../StripeResource.js';\nconst stripeMethod = StripeResource.method;\nexport const WebhookEndpoints = StripeResource.extend({\n create: stripeMethod({ method: 'POST', fullPath: '/v1/webhook_endpoints' }),\n retrieve: stripeMethod({\n method: 'GET',\n fullPath: '/v1/webhook_endpoints/{webhook_endpoint}',\n }),\n update: stripeMethod({\n method: 'POST',\n fullPath: '/v1/webhook_endpoints/{webhook_endpoint}',\n }),\n list: stripeMethod({\n method: 'GET',\n fullPath: '/v1/webhook_endpoints',\n methodType: 'list',\n }),\n del: stripeMethod({\n method: 'DELETE',\n fullPath: '/v1/webhook_endpoints/{webhook_endpoint}',\n }),\n});\n",
|
|
167
|
-
"// File generated from our OpenAPI spec\nimport { resourceNamespace } from './ResourceNamespace.js';\nimport { Accounts as FinancialConnectionsAccounts } from './resources/FinancialConnections/Accounts.js';\nimport { ActiveEntitlements as EntitlementsActiveEntitlements } from './resources/Entitlements/ActiveEntitlements.js';\nimport { Alerts as BillingAlerts } from './resources/Billing/Alerts.js';\nimport { Authorizations as TestHelpersIssuingAuthorizations } from './resources/TestHelpers/Issuing/Authorizations.js';\nimport { Authorizations as IssuingAuthorizations } from './resources/Issuing/Authorizations.js';\nimport { Calculations as TaxCalculations } from './resources/Tax/Calculations.js';\nimport { Cardholders as IssuingCardholders } from './resources/Issuing/Cardholders.js';\nimport { Cards as TestHelpersIssuingCards } from './resources/TestHelpers/Issuing/Cards.js';\nimport { Cards as IssuingCards } from './resources/Issuing/Cards.js';\nimport { Configurations as BillingPortalConfigurations } from './resources/BillingPortal/Configurations.js';\nimport { Configurations as TerminalConfigurations } from './resources/Terminal/Configurations.js';\nimport { ConfirmationTokens as TestHelpersConfirmationTokens } from './resources/TestHelpers/ConfirmationTokens.js';\nimport { ConnectionTokens as TerminalConnectionTokens } from './resources/Terminal/ConnectionTokens.js';\nimport { CreditReversals as TreasuryCreditReversals } from './resources/Treasury/CreditReversals.js';\nimport { Customers as TestHelpersCustomers } from './resources/TestHelpers/Customers.js';\nimport { DebitReversals as TreasuryDebitReversals } from './resources/Treasury/DebitReversals.js';\nimport { Disputes as IssuingDisputes } from './resources/Issuing/Disputes.js';\nimport { EarlyFraudWarnings as RadarEarlyFraudWarnings } from './resources/Radar/EarlyFraudWarnings.js';\nimport { Features as EntitlementsFeatures } from './resources/Entitlements/Features.js';\nimport { FinancialAccounts as TreasuryFinancialAccounts } from './resources/Treasury/FinancialAccounts.js';\nimport { InboundTransfers as TestHelpersTreasuryInboundTransfers } from './resources/TestHelpers/Treasury/InboundTransfers.js';\nimport { InboundTransfers as TreasuryInboundTransfers } from './resources/Treasury/InboundTransfers.js';\nimport { Locations as TerminalLocations } from './resources/Terminal/Locations.js';\nimport { MeterEventAdjustments as BillingMeterEventAdjustments } from './resources/Billing/MeterEventAdjustments.js';\nimport { MeterEvents as BillingMeterEvents } from './resources/Billing/MeterEvents.js';\nimport { Meters as BillingMeters } from './resources/Billing/Meters.js';\nimport { Orders as ClimateOrders } from './resources/Climate/Orders.js';\nimport { OutboundPayments as TestHelpersTreasuryOutboundPayments } from './resources/TestHelpers/Treasury/OutboundPayments.js';\nimport { OutboundPayments as TreasuryOutboundPayments } from './resources/Treasury/OutboundPayments.js';\nimport { OutboundTransfers as TestHelpersTreasuryOutboundTransfers } from './resources/TestHelpers/Treasury/OutboundTransfers.js';\nimport { OutboundTransfers as TreasuryOutboundTransfers } from './resources/Treasury/OutboundTransfers.js';\nimport { PersonalizationDesigns as TestHelpersIssuingPersonalizationDesigns } from './resources/TestHelpers/Issuing/PersonalizationDesigns.js';\nimport { PersonalizationDesigns as IssuingPersonalizationDesigns } from './resources/Issuing/PersonalizationDesigns.js';\nimport { PhysicalBundles as IssuingPhysicalBundles } from './resources/Issuing/PhysicalBundles.js';\nimport { Products as ClimateProducts } from './resources/Climate/Products.js';\nimport { Readers as TestHelpersTerminalReaders } from './resources/TestHelpers/Terminal/Readers.js';\nimport { Readers as TerminalReaders } from './resources/Terminal/Readers.js';\nimport { ReceivedCredits as TestHelpersTreasuryReceivedCredits } from './resources/TestHelpers/Treasury/ReceivedCredits.js';\nimport { ReceivedCredits as TreasuryReceivedCredits } from './resources/Treasury/ReceivedCredits.js';\nimport { ReceivedDebits as TestHelpersTreasuryReceivedDebits } from './resources/TestHelpers/Treasury/ReceivedDebits.js';\nimport { ReceivedDebits as TreasuryReceivedDebits } from './resources/Treasury/ReceivedDebits.js';\nimport { Refunds as TestHelpersRefunds } from './resources/TestHelpers/Refunds.js';\nimport { Registrations as TaxRegistrations } from './resources/Tax/Registrations.js';\nimport { ReportRuns as ReportingReportRuns } from './resources/Reporting/ReportRuns.js';\nimport { ReportTypes as ReportingReportTypes } from './resources/Reporting/ReportTypes.js';\nimport { Requests as ForwardingRequests } from './resources/Forwarding/Requests.js';\nimport { ScheduledQueryRuns as SigmaScheduledQueryRuns } from './resources/Sigma/ScheduledQueryRuns.js';\nimport { Secrets as AppsSecrets } from './resources/Apps/Secrets.js';\nimport { Sessions as BillingPortalSessions } from './resources/BillingPortal/Sessions.js';\nimport { Sessions as CheckoutSessions } from './resources/Checkout/Sessions.js';\nimport { Sessions as FinancialConnectionsSessions } from './resources/FinancialConnections/Sessions.js';\nimport { Settings as TaxSettings } from './resources/Tax/Settings.js';\nimport { Suppliers as ClimateSuppliers } from './resources/Climate/Suppliers.js';\nimport { TestClocks as TestHelpersTestClocks } from './resources/TestHelpers/TestClocks.js';\nimport { Tokens as IssuingTokens } from './resources/Issuing/Tokens.js';\nimport { TransactionEntries as TreasuryTransactionEntries } from './resources/Treasury/TransactionEntries.js';\nimport { Transactions as TestHelpersIssuingTransactions } from './resources/TestHelpers/Issuing/Transactions.js';\nimport { Transactions as FinancialConnectionsTransactions } from './resources/FinancialConnections/Transactions.js';\nimport { Transactions as IssuingTransactions } from './resources/Issuing/Transactions.js';\nimport { Transactions as TaxTransactions } from './resources/Tax/Transactions.js';\nimport { Transactions as TreasuryTransactions } from './resources/Treasury/Transactions.js';\nimport { ValueListItems as RadarValueListItems } from './resources/Radar/ValueListItems.js';\nimport { ValueLists as RadarValueLists } from './resources/Radar/ValueLists.js';\nimport { VerificationReports as IdentityVerificationReports } from './resources/Identity/VerificationReports.js';\nimport { VerificationSessions as IdentityVerificationSessions } from './resources/Identity/VerificationSessions.js';\nexport { Accounts as Account } from './resources/Accounts.js';\nexport { AccountLinks } from './resources/AccountLinks.js';\nexport { AccountSessions } from './resources/AccountSessions.js';\nexport { Accounts } from './resources/Accounts.js';\nexport { ApplePayDomains } from './resources/ApplePayDomains.js';\nexport { ApplicationFees } from './resources/ApplicationFees.js';\nexport { Balance } from './resources/Balance.js';\nexport { BalanceTransactions } from './resources/BalanceTransactions.js';\nexport { Charges } from './resources/Charges.js';\nexport { ConfirmationTokens } from './resources/ConfirmationTokens.js';\nexport { CountrySpecs } from './resources/CountrySpecs.js';\nexport { Coupons } from './resources/Coupons.js';\nexport { CreditNotes } from './resources/CreditNotes.js';\nexport { CustomerSessions } from './resources/CustomerSessions.js';\nexport { Customers } from './resources/Customers.js';\nexport { Disputes } from './resources/Disputes.js';\nexport { EphemeralKeys } from './resources/EphemeralKeys.js';\nexport { Events } from './resources/Events.js';\nexport { ExchangeRates } from './resources/ExchangeRates.js';\nexport { FileLinks } from './resources/FileLinks.js';\nexport { Files } from './resources/Files.js';\nexport { InvoiceItems } from './resources/InvoiceItems.js';\nexport { Invoices } from './resources/Invoices.js';\nexport { Mandates } from './resources/Mandates.js';\nexport { OAuth } from './resources/OAuth.js';\nexport { PaymentIntents } from './resources/PaymentIntents.js';\nexport { PaymentLinks } from './resources/PaymentLinks.js';\nexport { PaymentMethodConfigurations } from './resources/PaymentMethodConfigurations.js';\nexport { PaymentMethodDomains } from './resources/PaymentMethodDomains.js';\nexport { PaymentMethods } from './resources/PaymentMethods.js';\nexport { Payouts } from './resources/Payouts.js';\nexport { Plans } from './resources/Plans.js';\nexport { Prices } from './resources/Prices.js';\nexport { Products } from './resources/Products.js';\nexport { PromotionCodes } from './resources/PromotionCodes.js';\nexport { Quotes } from './resources/Quotes.js';\nexport { Refunds } from './resources/Refunds.js';\nexport { Reviews } from './resources/Reviews.js';\nexport { SetupAttempts } from './resources/SetupAttempts.js';\nexport { SetupIntents } from './resources/SetupIntents.js';\nexport { ShippingRates } from './resources/ShippingRates.js';\nexport { Sources } from './resources/Sources.js';\nexport { SubscriptionItems } from './resources/SubscriptionItems.js';\nexport { SubscriptionSchedules } from './resources/SubscriptionSchedules.js';\nexport { Subscriptions } from './resources/Subscriptions.js';\nexport { TaxCodes } from './resources/TaxCodes.js';\nexport { TaxIds } from './resources/TaxIds.js';\nexport { TaxRates } from './resources/TaxRates.js';\nexport { Tokens } from './resources/Tokens.js';\nexport { Topups } from './resources/Topups.js';\nexport { Transfers } from './resources/Transfers.js';\nexport { WebhookEndpoints } from './resources/WebhookEndpoints.js';\nexport const Apps = resourceNamespace('apps', { Secrets: AppsSecrets });\nexport const Billing = resourceNamespace('billing', {\n Alerts: BillingAlerts,\n MeterEventAdjustments: BillingMeterEventAdjustments,\n MeterEvents: BillingMeterEvents,\n Meters: BillingMeters,\n});\nexport const BillingPortal = resourceNamespace('billingPortal', {\n Configurations: BillingPortalConfigurations,\n Sessions: BillingPortalSessions,\n});\nexport const Checkout = resourceNamespace('checkout', {\n Sessions: CheckoutSessions,\n});\nexport const Climate = resourceNamespace('climate', {\n Orders: ClimateOrders,\n Products: ClimateProducts,\n Suppliers: ClimateSuppliers,\n});\nexport const Entitlements = resourceNamespace('entitlements', {\n ActiveEntitlements: EntitlementsActiveEntitlements,\n Features: EntitlementsFeatures,\n});\nexport const FinancialConnections = resourceNamespace('financialConnections', {\n Accounts: FinancialConnectionsAccounts,\n Sessions: FinancialConnectionsSessions,\n Transactions: FinancialConnectionsTransactions,\n});\nexport const Forwarding = resourceNamespace('forwarding', {\n Requests: ForwardingRequests,\n});\nexport const Identity = resourceNamespace('identity', {\n VerificationReports: IdentityVerificationReports,\n VerificationSessions: IdentityVerificationSessions,\n});\nexport const Issuing = resourceNamespace('issuing', {\n Authorizations: IssuingAuthorizations,\n Cardholders: IssuingCardholders,\n Cards: IssuingCards,\n Disputes: IssuingDisputes,\n PersonalizationDesigns: IssuingPersonalizationDesigns,\n PhysicalBundles: IssuingPhysicalBundles,\n Tokens: IssuingTokens,\n Transactions: IssuingTransactions,\n});\nexport const Radar = resourceNamespace('radar', {\n EarlyFraudWarnings: RadarEarlyFraudWarnings,\n ValueListItems: RadarValueListItems,\n ValueLists: RadarValueLists,\n});\nexport const Reporting = resourceNamespace('reporting', {\n ReportRuns: ReportingReportRuns,\n ReportTypes: ReportingReportTypes,\n});\nexport const Sigma = resourceNamespace('sigma', {\n ScheduledQueryRuns: SigmaScheduledQueryRuns,\n});\nexport const Tax = resourceNamespace('tax', {\n Calculations: TaxCalculations,\n Registrations: TaxRegistrations,\n Settings: TaxSettings,\n Transactions: TaxTransactions,\n});\nexport const Terminal = resourceNamespace('terminal', {\n Configurations: TerminalConfigurations,\n ConnectionTokens: TerminalConnectionTokens,\n Locations: TerminalLocations,\n Readers: TerminalReaders,\n});\nexport const TestHelpers = resourceNamespace('testHelpers', {\n ConfirmationTokens: TestHelpersConfirmationTokens,\n Customers: TestHelpersCustomers,\n Refunds: TestHelpersRefunds,\n TestClocks: TestHelpersTestClocks,\n Issuing: resourceNamespace('issuing', {\n Authorizations: TestHelpersIssuingAuthorizations,\n Cards: TestHelpersIssuingCards,\n PersonalizationDesigns: TestHelpersIssuingPersonalizationDesigns,\n Transactions: TestHelpersIssuingTransactions,\n }),\n Terminal: resourceNamespace('terminal', {\n Readers: TestHelpersTerminalReaders,\n }),\n Treasury: resourceNamespace('treasury', {\n InboundTransfers: TestHelpersTreasuryInboundTransfers,\n OutboundPayments: TestHelpersTreasuryOutboundPayments,\n OutboundTransfers: TestHelpersTreasuryOutboundTransfers,\n ReceivedCredits: TestHelpersTreasuryReceivedCredits,\n ReceivedDebits: TestHelpersTreasuryReceivedDebits,\n }),\n});\nexport const Treasury = resourceNamespace('treasury', {\n CreditReversals: TreasuryCreditReversals,\n DebitReversals: TreasuryDebitReversals,\n FinancialAccounts: TreasuryFinancialAccounts,\n InboundTransfers: TreasuryInboundTransfers,\n OutboundPayments: TreasuryOutboundPayments,\n OutboundTransfers: TreasuryOutboundTransfers,\n ReceivedCredits: TreasuryReceivedCredits,\n ReceivedDebits: TreasuryReceivedDebits,\n TransactionEntries: TreasuryTransactionEntries,\n Transactions: TreasuryTransactions,\n});\n",
|
|
168
|
-
"import * as _Error from './Error.js';\nimport { RequestSender } from './RequestSender.js';\nimport { StripeResource } from './StripeResource.js';\nimport { createWebhooks } from './Webhooks.js';\nimport * as apiVersion from './apiVersion.js';\nimport { CryptoProvider } from './crypto/CryptoProvider.js';\nimport { HttpClient, HttpClientResponse } from './net/HttpClient.js';\nimport * as resources from './resources.js';\nimport { determineProcessUserAgentProperties, pascalToCamelCase, validateInteger, } from './utils.js';\nconst DEFAULT_HOST = 'api.stripe.com';\nconst DEFAULT_PORT = '443';\nconst DEFAULT_BASE_PATH = '/v1/';\nconst DEFAULT_API_VERSION = apiVersion.ApiVersion;\nconst DEFAULT_TIMEOUT = 80000;\nconst MAX_NETWORK_RETRY_DELAY_SEC = 2;\nconst INITIAL_NETWORK_RETRY_DELAY_SEC = 0.5;\nconst APP_INFO_PROPERTIES = ['name', 'version', 'url', 'partner_id'];\nconst ALLOWED_CONFIG_PROPERTIES = [\n 'apiVersion',\n 'typescript',\n 'maxNetworkRetries',\n 'httpAgent',\n 'httpClient',\n 'timeout',\n 'host',\n 'port',\n 'protocol',\n 'telemetry',\n 'appInfo',\n 'stripeAccount',\n];\nconst defaultRequestSenderFactory = (stripe) => new RequestSender(stripe, StripeResource.MAX_BUFFERED_REQUEST_METRICS);\nexport function createStripe(platformFunctions, requestSender = defaultRequestSenderFactory) {\n Stripe.PACKAGE_VERSION = '16.8.0';\n Stripe.USER_AGENT = Object.assign({ bindings_version: Stripe.PACKAGE_VERSION, lang: 'node', publisher: 'stripe', uname: null, typescript: false }, determineProcessUserAgentProperties());\n Stripe.StripeResource = StripeResource;\n Stripe.resources = resources;\n Stripe.HttpClient = HttpClient;\n Stripe.HttpClientResponse = HttpClientResponse;\n Stripe.CryptoProvider = CryptoProvider;\n // Previously Stripe.webhooks was just the createWebhooks() factory function\n // however going forward it will be a WebhookObject instance. To maintain\n // backwards compatibility it is currently a factory function that also\n // complies to the WebhookObject signature. The factory function signature\n // will be removed as a breaking change in the next major release.\n // See https://github.com/stripe/stripe-node/issues/1956\n function createWebhooksDefault(fns = platformFunctions) {\n return createWebhooks(fns);\n }\n Stripe.webhooks = Object.assign(createWebhooksDefault, createWebhooks(platformFunctions));\n function Stripe(key, config = {}) {\n if (!(this instanceof Stripe)) {\n return new Stripe(key, config);\n }\n const props = this._getPropsFromConfig(config);\n this._platformFunctions = platformFunctions;\n Object.defineProperty(this, '_emitter', {\n value: this._platformFunctions.createEmitter(),\n enumerable: false,\n configurable: false,\n writable: false,\n });\n this.VERSION = Stripe.PACKAGE_VERSION;\n this.on = this._emitter.on.bind(this._emitter);\n this.once = this._emitter.once.bind(this._emitter);\n this.off = this._emitter.removeListener.bind(this._emitter);\n const agent = props.httpAgent || null;\n this._api = {\n auth: null,\n host: props.host || DEFAULT_HOST,\n port: props.port || DEFAULT_PORT,\n protocol: props.protocol || 'https',\n basePath: DEFAULT_BASE_PATH,\n version: props.apiVersion || DEFAULT_API_VERSION,\n timeout: validateInteger('timeout', props.timeout, DEFAULT_TIMEOUT),\n maxNetworkRetries: validateInteger('maxNetworkRetries', props.maxNetworkRetries, 1),\n agent: agent,\n httpClient: props.httpClient ||\n (agent\n ? this._platformFunctions.createNodeHttpClient(agent)\n : this._platformFunctions.createDefaultHttpClient()),\n dev: false,\n stripeAccount: props.stripeAccount || null,\n };\n const typescript = props.typescript || false;\n if (typescript !== Stripe.USER_AGENT.typescript) {\n // The mutation here is uncomfortable, but likely fastest;\n // serializing the user agent involves shelling out to the system,\n // and given some users may instantiate the library many times without switching between TS and non-TS,\n // we only want to incur the performance hit when that actually happens.\n Stripe.USER_AGENT.typescript = typescript;\n }\n if (props.appInfo) {\n this._setAppInfo(props.appInfo);\n }\n this._prepResources();\n this._setApiKey(key);\n this.errors = _Error;\n // Once Stripe.webhooks looses the factory function signature in a future release\n // then this should become this.webhooks = Stripe.webhooks\n this.webhooks = createWebhooksDefault();\n this._prevRequestMetrics = [];\n this._enableTelemetry = props.telemetry !== false;\n this._requestSender = requestSender(this);\n // Expose StripeResource on the instance too\n // @ts-ignore\n this.StripeResource = Stripe.StripeResource;\n }\n Stripe.errors = _Error;\n Stripe.createNodeHttpClient = platformFunctions.createNodeHttpClient;\n /**\n * Creates an HTTP client for issuing Stripe API requests which uses the Web\n * Fetch API.\n *\n * A fetch function can optionally be passed in as a parameter. If none is\n * passed, will default to the default `fetch` function in the global scope.\n */\n Stripe.createFetchHttpClient = platformFunctions.createFetchHttpClient;\n /**\n * Create a CryptoProvider which uses the built-in Node crypto libraries for\n * its crypto operations.\n */\n Stripe.createNodeCryptoProvider = platformFunctions.createNodeCryptoProvider;\n /**\n * Creates a CryptoProvider which uses the Subtle Crypto API from the Web\n * Crypto API spec for its crypto operations.\n *\n * A SubtleCrypto interface can optionally be passed in as a parameter. If none\n * is passed, will default to the default `crypto.subtle` object in the global\n * scope.\n */\n Stripe.createSubtleCryptoProvider =\n platformFunctions.createSubtleCryptoProvider;\n Stripe.prototype = {\n // Properties are set in the constructor above\n _appInfo: undefined,\n on: null,\n off: null,\n once: null,\n VERSION: null,\n StripeResource: null,\n webhooks: null,\n errors: null,\n _api: null,\n _prevRequestMetrics: null,\n _emitter: null,\n _enableTelemetry: null,\n _requestSender: null,\n _platformFunctions: null,\n /**\n * @private\n */\n _setApiKey(key) {\n if (key) {\n this._setApiField('auth', `Bearer ${key}`);\n }\n },\n /**\n * @private\n * This may be removed in the future.\n */\n _setAppInfo(info) {\n if (info && typeof info !== 'object') {\n throw new Error('AppInfo must be an object.');\n }\n if (info && !info.name) {\n throw new Error('AppInfo.name is required');\n }\n info = info || {};\n this._appInfo = APP_INFO_PROPERTIES.reduce((accum, prop) => {\n if (typeof info[prop] == 'string') {\n accum = accum || {};\n accum[prop] = info[prop];\n }\n return accum;\n }, \n // @ts-ignore\n undefined);\n },\n /**\n * @private\n * This may be removed in the future.\n */\n _setApiField(key, value) {\n this._api[key] = value;\n },\n /**\n * @private\n * Please open or upvote an issue at github.com/stripe/stripe-node\n * if you use this, detailing your use-case.\n *\n * It may be deprecated and removed in the future.\n */\n getApiField(key) {\n return this._api[key];\n },\n setClientId(clientId) {\n this._clientId = clientId;\n },\n getClientId() {\n return this._clientId;\n },\n /**\n * @private\n * Please open or upvote an issue at github.com/stripe/stripe-node\n * if you use this, detailing your use-case.\n *\n * It may be deprecated and removed in the future.\n */\n getConstant: (c) => {\n switch (c) {\n case 'DEFAULT_HOST':\n return DEFAULT_HOST;\n case 'DEFAULT_PORT':\n return DEFAULT_PORT;\n case 'DEFAULT_BASE_PATH':\n return DEFAULT_BASE_PATH;\n case 'DEFAULT_API_VERSION':\n return DEFAULT_API_VERSION;\n case 'DEFAULT_TIMEOUT':\n return DEFAULT_TIMEOUT;\n case 'MAX_NETWORK_RETRY_DELAY_SEC':\n return MAX_NETWORK_RETRY_DELAY_SEC;\n case 'INITIAL_NETWORK_RETRY_DELAY_SEC':\n return INITIAL_NETWORK_RETRY_DELAY_SEC;\n }\n return Stripe[c];\n },\n getMaxNetworkRetries() {\n return this.getApiField('maxNetworkRetries');\n },\n /**\n * @private\n * This may be removed in the future.\n */\n _setApiNumberField(prop, n, defaultVal) {\n const val = validateInteger(prop, n, defaultVal);\n this._setApiField(prop, val);\n },\n getMaxNetworkRetryDelay() {\n return MAX_NETWORK_RETRY_DELAY_SEC;\n },\n getInitialNetworkRetryDelay() {\n return INITIAL_NETWORK_RETRY_DELAY_SEC;\n },\n /**\n * @private\n * Please open or upvote an issue at github.com/stripe/stripe-node\n * if you use this, detailing your use-case.\n *\n * It may be deprecated and removed in the future.\n *\n * Gets a JSON version of a User-Agent and uses a cached version for a slight\n * speed advantage.\n */\n getClientUserAgent(cb) {\n return this.getClientUserAgentSeeded(Stripe.USER_AGENT, cb);\n },\n /**\n * @private\n * Please open or upvote an issue at github.com/stripe/stripe-node\n * if you use this, detailing your use-case.\n *\n * It may be deprecated and removed in the future.\n *\n * Gets a JSON version of a User-Agent by encoding a seeded object and\n * fetching a uname from the system.\n */\n getClientUserAgentSeeded(seed, cb) {\n this._platformFunctions.getUname().then((uname) => {\n var _a;\n const userAgent = {};\n for (const field in seed) {\n if (!Object.prototype.hasOwnProperty.call(seed, field)) {\n continue;\n }\n userAgent[field] = encodeURIComponent((_a = seed[field]) !== null && _a !== void 0 ? _a : 'null');\n }\n // URI-encode in case there are unusual characters in the system's uname.\n userAgent.uname = encodeURIComponent(uname || 'UNKNOWN');\n const client = this.getApiField('httpClient');\n if (client) {\n userAgent.httplib = encodeURIComponent(client.getClientName());\n }\n if (this._appInfo) {\n userAgent.application = this._appInfo;\n }\n cb(JSON.stringify(userAgent));\n });\n },\n /**\n * @private\n * Please open or upvote an issue at github.com/stripe/stripe-node\n * if you use this, detailing your use-case.\n *\n * It may be deprecated and removed in the future.\n */\n getAppInfoAsString() {\n if (!this._appInfo) {\n return '';\n }\n let formatted = this._appInfo.name;\n if (this._appInfo.version) {\n formatted += `/${this._appInfo.version}`;\n }\n if (this._appInfo.url) {\n formatted += ` (${this._appInfo.url})`;\n }\n return formatted;\n },\n getTelemetryEnabled() {\n return this._enableTelemetry;\n },\n /**\n * @private\n * This may be removed in the future.\n */\n _prepResources() {\n for (const name in resources) {\n if (!Object.prototype.hasOwnProperty.call(resources, name)) {\n continue;\n }\n // @ts-ignore\n this[pascalToCamelCase(name)] = new resources[name](this);\n }\n },\n /**\n * @private\n * This may be removed in the future.\n */\n _getPropsFromConfig(config) {\n // If config is null or undefined, just bail early with no props\n if (!config) {\n return {};\n }\n // config can be an object or a string\n const isString = typeof config === 'string';\n const isObject = config === Object(config) && !Array.isArray(config);\n if (!isObject && !isString) {\n throw new Error('Config must either be an object or a string');\n }\n // If config is a string, we assume the old behavior of passing in a string representation of the api version\n if (isString) {\n return {\n apiVersion: config,\n };\n }\n // If config is an object, we assume the new behavior and make sure it doesn't contain any unexpected values\n const values = Object.keys(config).filter((value) => !ALLOWED_CONFIG_PROPERTIES.includes(value));\n if (values.length > 0) {\n throw new Error(`Config object may only contain the following: ${ALLOWED_CONFIG_PROPERTIES.join(', ')}`);\n }\n return config;\n },\n };\n return Stripe;\n}\n",
|
|
179
|
+
"// File generated from our OpenAPI spec\nimport { resourceNamespace } from './ResourceNamespace.js';\nimport { Accounts as FinancialConnectionsAccounts } from './resources/FinancialConnections/Accounts.js';\nimport { ActiveEntitlements as EntitlementsActiveEntitlements } from './resources/Entitlements/ActiveEntitlements.js';\nimport { Alerts as BillingAlerts } from './resources/Billing/Alerts.js';\nimport { Authorizations as TestHelpersIssuingAuthorizations } from './resources/TestHelpers/Issuing/Authorizations.js';\nimport { Authorizations as IssuingAuthorizations } from './resources/Issuing/Authorizations.js';\nimport { Calculations as TaxCalculations } from './resources/Tax/Calculations.js';\nimport { Cardholders as IssuingCardholders } from './resources/Issuing/Cardholders.js';\nimport { Cards as TestHelpersIssuingCards } from './resources/TestHelpers/Issuing/Cards.js';\nimport { Cards as IssuingCards } from './resources/Issuing/Cards.js';\nimport { Configurations as BillingPortalConfigurations } from './resources/BillingPortal/Configurations.js';\nimport { Configurations as TerminalConfigurations } from './resources/Terminal/Configurations.js';\nimport { ConfirmationTokens as TestHelpersConfirmationTokens } from './resources/TestHelpers/ConfirmationTokens.js';\nimport { ConnectionTokens as TerminalConnectionTokens } from './resources/Terminal/ConnectionTokens.js';\nimport { CreditBalanceSummary as BillingCreditBalanceSummary } from './resources/Billing/CreditBalanceSummary.js';\nimport { CreditBalanceTransactions as BillingCreditBalanceTransactions } from './resources/Billing/CreditBalanceTransactions.js';\nimport { CreditGrants as BillingCreditGrants } from './resources/Billing/CreditGrants.js';\nimport { CreditReversals as TreasuryCreditReversals } from './resources/Treasury/CreditReversals.js';\nimport { Customers as TestHelpersCustomers } from './resources/TestHelpers/Customers.js';\nimport { DebitReversals as TreasuryDebitReversals } from './resources/Treasury/DebitReversals.js';\nimport { Disputes as IssuingDisputes } from './resources/Issuing/Disputes.js';\nimport { EarlyFraudWarnings as RadarEarlyFraudWarnings } from './resources/Radar/EarlyFraudWarnings.js';\nimport { Features as EntitlementsFeatures } from './resources/Entitlements/Features.js';\nimport { FinancialAccounts as TreasuryFinancialAccounts } from './resources/Treasury/FinancialAccounts.js';\nimport { InboundTransfers as TestHelpersTreasuryInboundTransfers } from './resources/TestHelpers/Treasury/InboundTransfers.js';\nimport { InboundTransfers as TreasuryInboundTransfers } from './resources/Treasury/InboundTransfers.js';\nimport { Locations as TerminalLocations } from './resources/Terminal/Locations.js';\nimport { MeterEventAdjustments as BillingMeterEventAdjustments } from './resources/Billing/MeterEventAdjustments.js';\nimport { MeterEvents as BillingMeterEvents } from './resources/Billing/MeterEvents.js';\nimport { Meters as BillingMeters } from './resources/Billing/Meters.js';\nimport { Orders as ClimateOrders } from './resources/Climate/Orders.js';\nimport { OutboundPayments as TestHelpersTreasuryOutboundPayments } from './resources/TestHelpers/Treasury/OutboundPayments.js';\nimport { OutboundPayments as TreasuryOutboundPayments } from './resources/Treasury/OutboundPayments.js';\nimport { OutboundTransfers as TestHelpersTreasuryOutboundTransfers } from './resources/TestHelpers/Treasury/OutboundTransfers.js';\nimport { OutboundTransfers as TreasuryOutboundTransfers } from './resources/Treasury/OutboundTransfers.js';\nimport { PersonalizationDesigns as TestHelpersIssuingPersonalizationDesigns } from './resources/TestHelpers/Issuing/PersonalizationDesigns.js';\nimport { PersonalizationDesigns as IssuingPersonalizationDesigns } from './resources/Issuing/PersonalizationDesigns.js';\nimport { PhysicalBundles as IssuingPhysicalBundles } from './resources/Issuing/PhysicalBundles.js';\nimport { Products as ClimateProducts } from './resources/Climate/Products.js';\nimport { Readers as TestHelpersTerminalReaders } from './resources/TestHelpers/Terminal/Readers.js';\nimport { Readers as TerminalReaders } from './resources/Terminal/Readers.js';\nimport { ReceivedCredits as TestHelpersTreasuryReceivedCredits } from './resources/TestHelpers/Treasury/ReceivedCredits.js';\nimport { ReceivedCredits as TreasuryReceivedCredits } from './resources/Treasury/ReceivedCredits.js';\nimport { ReceivedDebits as TestHelpersTreasuryReceivedDebits } from './resources/TestHelpers/Treasury/ReceivedDebits.js';\nimport { ReceivedDebits as TreasuryReceivedDebits } from './resources/Treasury/ReceivedDebits.js';\nimport { Refunds as TestHelpersRefunds } from './resources/TestHelpers/Refunds.js';\nimport { Registrations as TaxRegistrations } from './resources/Tax/Registrations.js';\nimport { ReportRuns as ReportingReportRuns } from './resources/Reporting/ReportRuns.js';\nimport { ReportTypes as ReportingReportTypes } from './resources/Reporting/ReportTypes.js';\nimport { Requests as ForwardingRequests } from './resources/Forwarding/Requests.js';\nimport { ScheduledQueryRuns as SigmaScheduledQueryRuns } from './resources/Sigma/ScheduledQueryRuns.js';\nimport { Secrets as AppsSecrets } from './resources/Apps/Secrets.js';\nimport { Sessions as BillingPortalSessions } from './resources/BillingPortal/Sessions.js';\nimport { Sessions as CheckoutSessions } from './resources/Checkout/Sessions.js';\nimport { Sessions as FinancialConnectionsSessions } from './resources/FinancialConnections/Sessions.js';\nimport { Settings as TaxSettings } from './resources/Tax/Settings.js';\nimport { Suppliers as ClimateSuppliers } from './resources/Climate/Suppliers.js';\nimport { TestClocks as TestHelpersTestClocks } from './resources/TestHelpers/TestClocks.js';\nimport { Tokens as IssuingTokens } from './resources/Issuing/Tokens.js';\nimport { TransactionEntries as TreasuryTransactionEntries } from './resources/Treasury/TransactionEntries.js';\nimport { Transactions as TestHelpersIssuingTransactions } from './resources/TestHelpers/Issuing/Transactions.js';\nimport { Transactions as FinancialConnectionsTransactions } from './resources/FinancialConnections/Transactions.js';\nimport { Transactions as IssuingTransactions } from './resources/Issuing/Transactions.js';\nimport { Transactions as TaxTransactions } from './resources/Tax/Transactions.js';\nimport { Transactions as TreasuryTransactions } from './resources/Treasury/Transactions.js';\nimport { ValueListItems as RadarValueListItems } from './resources/Radar/ValueListItems.js';\nimport { ValueLists as RadarValueLists } from './resources/Radar/ValueLists.js';\nimport { VerificationReports as IdentityVerificationReports } from './resources/Identity/VerificationReports.js';\nimport { VerificationSessions as IdentityVerificationSessions } from './resources/Identity/VerificationSessions.js';\nexport { Accounts as Account } from './resources/Accounts.js';\nexport { AccountLinks } from './resources/AccountLinks.js';\nexport { AccountSessions } from './resources/AccountSessions.js';\nexport { Accounts } from './resources/Accounts.js';\nexport { ApplePayDomains } from './resources/ApplePayDomains.js';\nexport { ApplicationFees } from './resources/ApplicationFees.js';\nexport { Balance } from './resources/Balance.js';\nexport { BalanceTransactions } from './resources/BalanceTransactions.js';\nexport { Charges } from './resources/Charges.js';\nexport { ConfirmationTokens } from './resources/ConfirmationTokens.js';\nexport { CountrySpecs } from './resources/CountrySpecs.js';\nexport { Coupons } from './resources/Coupons.js';\nexport { CreditNotes } from './resources/CreditNotes.js';\nexport { CustomerSessions } from './resources/CustomerSessions.js';\nexport { Customers } from './resources/Customers.js';\nexport { Disputes } from './resources/Disputes.js';\nexport { EphemeralKeys } from './resources/EphemeralKeys.js';\nexport { Events } from './resources/Events.js';\nexport { ExchangeRates } from './resources/ExchangeRates.js';\nexport { FileLinks } from './resources/FileLinks.js';\nexport { Files } from './resources/Files.js';\nexport { InvoiceItems } from './resources/InvoiceItems.js';\nexport { InvoiceRenderingTemplates } from './resources/InvoiceRenderingTemplates.js';\nexport { Invoices } from './resources/Invoices.js';\nexport { Mandates } from './resources/Mandates.js';\nexport { OAuth } from './resources/OAuth.js';\nexport { PaymentIntents } from './resources/PaymentIntents.js';\nexport { PaymentLinks } from './resources/PaymentLinks.js';\nexport { PaymentMethodConfigurations } from './resources/PaymentMethodConfigurations.js';\nexport { PaymentMethodDomains } from './resources/PaymentMethodDomains.js';\nexport { PaymentMethods } from './resources/PaymentMethods.js';\nexport { Payouts } from './resources/Payouts.js';\nexport { Plans } from './resources/Plans.js';\nexport { Prices } from './resources/Prices.js';\nexport { Products } from './resources/Products.js';\nexport { PromotionCodes } from './resources/PromotionCodes.js';\nexport { Quotes } from './resources/Quotes.js';\nexport { Refunds } from './resources/Refunds.js';\nexport { Reviews } from './resources/Reviews.js';\nexport { SetupAttempts } from './resources/SetupAttempts.js';\nexport { SetupIntents } from './resources/SetupIntents.js';\nexport { ShippingRates } from './resources/ShippingRates.js';\nexport { Sources } from './resources/Sources.js';\nexport { SubscriptionItems } from './resources/SubscriptionItems.js';\nexport { SubscriptionSchedules } from './resources/SubscriptionSchedules.js';\nexport { Subscriptions } from './resources/Subscriptions.js';\nexport { TaxCodes } from './resources/TaxCodes.js';\nexport { TaxIds } from './resources/TaxIds.js';\nexport { TaxRates } from './resources/TaxRates.js';\nexport { Tokens } from './resources/Tokens.js';\nexport { Topups } from './resources/Topups.js';\nexport { Transfers } from './resources/Transfers.js';\nexport { V2 } from './resources/V2.js';\nexport { WebhookEndpoints } from './resources/WebhookEndpoints.js';\nexport const Apps = resourceNamespace('apps', { Secrets: AppsSecrets });\nexport const Billing = resourceNamespace('billing', {\n Alerts: BillingAlerts,\n CreditBalanceSummary: BillingCreditBalanceSummary,\n CreditBalanceTransactions: BillingCreditBalanceTransactions,\n CreditGrants: BillingCreditGrants,\n MeterEventAdjustments: BillingMeterEventAdjustments,\n MeterEvents: BillingMeterEvents,\n Meters: BillingMeters,\n});\nexport const BillingPortal = resourceNamespace('billingPortal', {\n Configurations: BillingPortalConfigurations,\n Sessions: BillingPortalSessions,\n});\nexport const Checkout = resourceNamespace('checkout', {\n Sessions: CheckoutSessions,\n});\nexport const Climate = resourceNamespace('climate', {\n Orders: ClimateOrders,\n Products: ClimateProducts,\n Suppliers: ClimateSuppliers,\n});\nexport const Entitlements = resourceNamespace('entitlements', {\n ActiveEntitlements: EntitlementsActiveEntitlements,\n Features: EntitlementsFeatures,\n});\nexport const FinancialConnections = resourceNamespace('financialConnections', {\n Accounts: FinancialConnectionsAccounts,\n Sessions: FinancialConnectionsSessions,\n Transactions: FinancialConnectionsTransactions,\n});\nexport const Forwarding = resourceNamespace('forwarding', {\n Requests: ForwardingRequests,\n});\nexport const Identity = resourceNamespace('identity', {\n VerificationReports: IdentityVerificationReports,\n VerificationSessions: IdentityVerificationSessions,\n});\nexport const Issuing = resourceNamespace('issuing', {\n Authorizations: IssuingAuthorizations,\n Cardholders: IssuingCardholders,\n Cards: IssuingCards,\n Disputes: IssuingDisputes,\n PersonalizationDesigns: IssuingPersonalizationDesigns,\n PhysicalBundles: IssuingPhysicalBundles,\n Tokens: IssuingTokens,\n Transactions: IssuingTransactions,\n});\nexport const Radar = resourceNamespace('radar', {\n EarlyFraudWarnings: RadarEarlyFraudWarnings,\n ValueListItems: RadarValueListItems,\n ValueLists: RadarValueLists,\n});\nexport const Reporting = resourceNamespace('reporting', {\n ReportRuns: ReportingReportRuns,\n ReportTypes: ReportingReportTypes,\n});\nexport const Sigma = resourceNamespace('sigma', {\n ScheduledQueryRuns: SigmaScheduledQueryRuns,\n});\nexport const Tax = resourceNamespace('tax', {\n Calculations: TaxCalculations,\n Registrations: TaxRegistrations,\n Settings: TaxSettings,\n Transactions: TaxTransactions,\n});\nexport const Terminal = resourceNamespace('terminal', {\n Configurations: TerminalConfigurations,\n ConnectionTokens: TerminalConnectionTokens,\n Locations: TerminalLocations,\n Readers: TerminalReaders,\n});\nexport const TestHelpers = resourceNamespace('testHelpers', {\n ConfirmationTokens: TestHelpersConfirmationTokens,\n Customers: TestHelpersCustomers,\n Refunds: TestHelpersRefunds,\n TestClocks: TestHelpersTestClocks,\n Issuing: resourceNamespace('issuing', {\n Authorizations: TestHelpersIssuingAuthorizations,\n Cards: TestHelpersIssuingCards,\n PersonalizationDesigns: TestHelpersIssuingPersonalizationDesigns,\n Transactions: TestHelpersIssuingTransactions,\n }),\n Terminal: resourceNamespace('terminal', {\n Readers: TestHelpersTerminalReaders,\n }),\n Treasury: resourceNamespace('treasury', {\n InboundTransfers: TestHelpersTreasuryInboundTransfers,\n OutboundPayments: TestHelpersTreasuryOutboundPayments,\n OutboundTransfers: TestHelpersTreasuryOutboundTransfers,\n ReceivedCredits: TestHelpersTreasuryReceivedCredits,\n ReceivedDebits: TestHelpersTreasuryReceivedDebits,\n }),\n});\nexport const Treasury = resourceNamespace('treasury', {\n CreditReversals: TreasuryCreditReversals,\n DebitReversals: TreasuryDebitReversals,\n FinancialAccounts: TreasuryFinancialAccounts,\n InboundTransfers: TreasuryInboundTransfers,\n OutboundPayments: TreasuryOutboundPayments,\n OutboundTransfers: TreasuryOutboundTransfers,\n ReceivedCredits: TreasuryReceivedCredits,\n ReceivedDebits: TreasuryReceivedDebits,\n TransactionEntries: TreasuryTransactionEntries,\n Transactions: TreasuryTransactions,\n});\n",
|
|
180
|
+
"import * as _Error from './Error.js';\nimport { RequestSender } from './RequestSender.js';\nimport { StripeResource } from './StripeResource.js';\nimport { createWebhooks } from './Webhooks.js';\nimport { ApiVersion } from './apiVersion.js';\nimport { CryptoProvider } from './crypto/CryptoProvider.js';\nimport { HttpClient, HttpClientResponse } from './net/HttpClient.js';\nimport * as resources from './resources.js';\nimport { createApiKeyAuthenticator, determineProcessUserAgentProperties, pascalToCamelCase, validateInteger, } from './utils.js';\nconst DEFAULT_HOST = 'api.stripe.com';\nconst DEFAULT_PORT = '443';\nconst DEFAULT_BASE_PATH = '/v1/';\nconst DEFAULT_API_VERSION = ApiVersion;\nconst DEFAULT_TIMEOUT = 80000;\nconst MAX_NETWORK_RETRY_DELAY_SEC = 5;\nconst INITIAL_NETWORK_RETRY_DELAY_SEC = 0.5;\nconst APP_INFO_PROPERTIES = ['name', 'version', 'url', 'partner_id'];\nconst ALLOWED_CONFIG_PROPERTIES = [\n 'authenticator',\n 'apiVersion',\n 'typescript',\n 'maxNetworkRetries',\n 'httpAgent',\n 'httpClient',\n 'timeout',\n 'host',\n 'port',\n 'protocol',\n 'telemetry',\n 'appInfo',\n 'stripeAccount',\n 'stripeContext',\n];\nconst defaultRequestSenderFactory = (stripe) => new RequestSender(stripe, StripeResource.MAX_BUFFERED_REQUEST_METRICS);\nexport function createStripe(platformFunctions, requestSender = defaultRequestSenderFactory) {\n Stripe.PACKAGE_VERSION = '17.2.0';\n Stripe.USER_AGENT = Object.assign({ bindings_version: Stripe.PACKAGE_VERSION, lang: 'node', publisher: 'stripe', uname: null, typescript: false }, determineProcessUserAgentProperties());\n Stripe.StripeResource = StripeResource;\n Stripe.resources = resources;\n Stripe.HttpClient = HttpClient;\n Stripe.HttpClientResponse = HttpClientResponse;\n Stripe.CryptoProvider = CryptoProvider;\n // Previously Stripe.webhooks was just the createWebhooks() factory function\n // however going forward it will be a WebhookObject instance. To maintain\n // backwards compatibility it is currently a factory function that also\n // complies to the WebhookObject signature. The factory function signature\n // will be removed as a breaking change in the next major release.\n // See https://github.com/stripe/stripe-node/issues/1956\n function createWebhooksDefault(fns = platformFunctions) {\n return createWebhooks(fns);\n }\n Stripe.webhooks = Object.assign(createWebhooksDefault, createWebhooks(platformFunctions));\n function Stripe(key, config = {}) {\n if (!(this instanceof Stripe)) {\n return new Stripe(key, config);\n }\n const props = this._getPropsFromConfig(config);\n this._platformFunctions = platformFunctions;\n Object.defineProperty(this, '_emitter', {\n value: this._platformFunctions.createEmitter(),\n enumerable: false,\n configurable: false,\n writable: false,\n });\n this.VERSION = Stripe.PACKAGE_VERSION;\n this.on = this._emitter.on.bind(this._emitter);\n this.once = this._emitter.once.bind(this._emitter);\n this.off = this._emitter.removeListener.bind(this._emitter);\n const agent = props.httpAgent || null;\n this._api = {\n host: props.host || DEFAULT_HOST,\n port: props.port || DEFAULT_PORT,\n protocol: props.protocol || 'https',\n basePath: DEFAULT_BASE_PATH,\n version: props.apiVersion || DEFAULT_API_VERSION,\n timeout: validateInteger('timeout', props.timeout, DEFAULT_TIMEOUT),\n maxNetworkRetries: validateInteger('maxNetworkRetries', props.maxNetworkRetries, 2),\n agent: agent,\n httpClient: props.httpClient ||\n (agent\n ? this._platformFunctions.createNodeHttpClient(agent)\n : this._platformFunctions.createDefaultHttpClient()),\n dev: false,\n stripeAccount: props.stripeAccount || null,\n stripeContext: props.stripeContext || null,\n };\n const typescript = props.typescript || false;\n if (typescript !== Stripe.USER_AGENT.typescript) {\n // The mutation here is uncomfortable, but likely fastest;\n // serializing the user agent involves shelling out to the system,\n // and given some users may instantiate the library many times without switching between TS and non-TS,\n // we only want to incur the performance hit when that actually happens.\n Stripe.USER_AGENT.typescript = typescript;\n }\n if (props.appInfo) {\n this._setAppInfo(props.appInfo);\n }\n this._prepResources();\n this._setAuthenticator(key, props.authenticator);\n this.errors = _Error;\n // Once Stripe.webhooks looses the factory function signature in a future release\n // then this should become this.webhooks = Stripe.webhooks\n this.webhooks = createWebhooksDefault();\n this._prevRequestMetrics = [];\n this._enableTelemetry = props.telemetry !== false;\n this._requestSender = requestSender(this);\n // Expose StripeResource on the instance too\n // @ts-ignore\n this.StripeResource = Stripe.StripeResource;\n }\n Stripe.errors = _Error;\n Stripe.createNodeHttpClient = platformFunctions.createNodeHttpClient;\n /**\n * Creates an HTTP client for issuing Stripe API requests which uses the Web\n * Fetch API.\n *\n * A fetch function can optionally be passed in as a parameter. If none is\n * passed, will default to the default `fetch` function in the global scope.\n */\n Stripe.createFetchHttpClient = platformFunctions.createFetchHttpClient;\n /**\n * Create a CryptoProvider which uses the built-in Node crypto libraries for\n * its crypto operations.\n */\n Stripe.createNodeCryptoProvider = platformFunctions.createNodeCryptoProvider;\n /**\n * Creates a CryptoProvider which uses the Subtle Crypto API from the Web\n * Crypto API spec for its crypto operations.\n *\n * A SubtleCrypto interface can optionally be passed in as a parameter. If none\n * is passed, will default to the default `crypto.subtle` object in the global\n * scope.\n */\n Stripe.createSubtleCryptoProvider =\n platformFunctions.createSubtleCryptoProvider;\n Stripe.prototype = {\n // Properties are set in the constructor above\n _appInfo: undefined,\n on: null,\n off: null,\n once: null,\n VERSION: null,\n StripeResource: null,\n webhooks: null,\n errors: null,\n _api: null,\n _prevRequestMetrics: null,\n _emitter: null,\n _enableTelemetry: null,\n _requestSender: null,\n _platformFunctions: null,\n rawRequest(method, path, params, options) {\n return this._requestSender._rawRequest(method, path, params, options);\n },\n /**\n * @private\n */\n _setAuthenticator(key, authenticator) {\n if (key && authenticator) {\n throw new Error(\"Can't specify both apiKey and authenticator\");\n }\n if (!key && !authenticator) {\n throw new Error('Neither apiKey nor config.authenticator provided');\n }\n this._authenticator = key\n ? createApiKeyAuthenticator(key)\n : authenticator;\n },\n /**\n * @private\n * This may be removed in the future.\n */\n _setAppInfo(info) {\n if (info && typeof info !== 'object') {\n throw new Error('AppInfo must be an object.');\n }\n if (info && !info.name) {\n throw new Error('AppInfo.name is required');\n }\n info = info || {};\n this._appInfo = APP_INFO_PROPERTIES.reduce((accum, prop) => {\n if (typeof info[prop] == 'string') {\n accum = accum || {};\n accum[prop] = info[prop];\n }\n return accum;\n }, \n // @ts-ignore\n undefined);\n },\n /**\n * @private\n * This may be removed in the future.\n */\n _setApiField(key, value) {\n this._api[key] = value;\n },\n /**\n * @private\n * Please open or upvote an issue at github.com/stripe/stripe-node\n * if you use this, detailing your use-case.\n *\n * It may be deprecated and removed in the future.\n */\n getApiField(key) {\n return this._api[key];\n },\n setClientId(clientId) {\n this._clientId = clientId;\n },\n getClientId() {\n return this._clientId;\n },\n /**\n * @private\n * Please open or upvote an issue at github.com/stripe/stripe-node\n * if you use this, detailing your use-case.\n *\n * It may be deprecated and removed in the future.\n */\n getConstant: (c) => {\n switch (c) {\n case 'DEFAULT_HOST':\n return DEFAULT_HOST;\n case 'DEFAULT_PORT':\n return DEFAULT_PORT;\n case 'DEFAULT_BASE_PATH':\n return DEFAULT_BASE_PATH;\n case 'DEFAULT_API_VERSION':\n return DEFAULT_API_VERSION;\n case 'DEFAULT_TIMEOUT':\n return DEFAULT_TIMEOUT;\n case 'MAX_NETWORK_RETRY_DELAY_SEC':\n return MAX_NETWORK_RETRY_DELAY_SEC;\n case 'INITIAL_NETWORK_RETRY_DELAY_SEC':\n return INITIAL_NETWORK_RETRY_DELAY_SEC;\n }\n return Stripe[c];\n },\n getMaxNetworkRetries() {\n return this.getApiField('maxNetworkRetries');\n },\n /**\n * @private\n * This may be removed in the future.\n */\n _setApiNumberField(prop, n, defaultVal) {\n const val = validateInteger(prop, n, defaultVal);\n this._setApiField(prop, val);\n },\n getMaxNetworkRetryDelay() {\n return MAX_NETWORK_RETRY_DELAY_SEC;\n },\n getInitialNetworkRetryDelay() {\n return INITIAL_NETWORK_RETRY_DELAY_SEC;\n },\n /**\n * @private\n * Please open or upvote an issue at github.com/stripe/stripe-node\n * if you use this, detailing your use-case.\n *\n * It may be deprecated and removed in the future.\n *\n * Gets a JSON version of a User-Agent and uses a cached version for a slight\n * speed advantage.\n */\n getClientUserAgent(cb) {\n return this.getClientUserAgentSeeded(Stripe.USER_AGENT, cb);\n },\n /**\n * @private\n * Please open or upvote an issue at github.com/stripe/stripe-node\n * if you use this, detailing your use-case.\n *\n * It may be deprecated and removed in the future.\n *\n * Gets a JSON version of a User-Agent by encoding a seeded object and\n * fetching a uname from the system.\n */\n getClientUserAgentSeeded(seed, cb) {\n this._platformFunctions.getUname().then((uname) => {\n var _a;\n const userAgent = {};\n for (const field in seed) {\n if (!Object.prototype.hasOwnProperty.call(seed, field)) {\n continue;\n }\n userAgent[field] = encodeURIComponent((_a = seed[field]) !== null && _a !== void 0 ? _a : 'null');\n }\n // URI-encode in case there are unusual characters in the system's uname.\n userAgent.uname = encodeURIComponent(uname || 'UNKNOWN');\n const client = this.getApiField('httpClient');\n if (client) {\n userAgent.httplib = encodeURIComponent(client.getClientName());\n }\n if (this._appInfo) {\n userAgent.application = this._appInfo;\n }\n cb(JSON.stringify(userAgent));\n });\n },\n /**\n * @private\n * Please open or upvote an issue at github.com/stripe/stripe-node\n * if you use this, detailing your use-case.\n *\n * It may be deprecated and removed in the future.\n */\n getAppInfoAsString() {\n if (!this._appInfo) {\n return '';\n }\n let formatted = this._appInfo.name;\n if (this._appInfo.version) {\n formatted += `/${this._appInfo.version}`;\n }\n if (this._appInfo.url) {\n formatted += ` (${this._appInfo.url})`;\n }\n return formatted;\n },\n getTelemetryEnabled() {\n return this._enableTelemetry;\n },\n /**\n * @private\n * This may be removed in the future.\n */\n _prepResources() {\n for (const name in resources) {\n if (!Object.prototype.hasOwnProperty.call(resources, name)) {\n continue;\n }\n // @ts-ignore\n this[pascalToCamelCase(name)] = new resources[name](this);\n }\n },\n /**\n * @private\n * This may be removed in the future.\n */\n _getPropsFromConfig(config) {\n // If config is null or undefined, just bail early with no props\n if (!config) {\n return {};\n }\n // config can be an object or a string\n const isString = typeof config === 'string';\n const isObject = config === Object(config) && !Array.isArray(config);\n if (!isObject && !isString) {\n throw new Error('Config must either be an object or a string');\n }\n // If config is a string, we assume the old behavior of passing in a string representation of the api version\n if (isString) {\n return {\n apiVersion: config,\n };\n }\n // If config is an object, we assume the new behavior and make sure it doesn't contain any unexpected values\n const values = Object.keys(config).filter((value) => !ALLOWED_CONFIG_PROPERTIES.includes(value));\n if (values.length > 0) {\n throw new Error(`Config object may only contain the following: ${ALLOWED_CONFIG_PROPERTIES.join(', ')}`);\n }\n return config;\n },\n parseThinEvent(payload, header, secret, tolerance, cryptoProvider, receivedAt) {\n // parses and validates the event payload all in one go\n return this.webhooks.constructEvent(payload, header, secret, tolerance, cryptoProvider, receivedAt);\n },\n };\n return Stripe;\n}\n",
|
|
169
181
|
"import { WebPlatformFunctions } from './platform/WebPlatformFunctions.js';\nimport { createStripe } from './stripe.core.js';\nexport const Stripe = createStripe(new WebPlatformFunctions());\nexport default Stripe;\n",
|
|
170
|
-
"import Stripe from 'stripe'\n\nconst apiKey = ''\n\nconst
|
|
182
|
+
"import Stripe from 'stripe'\n\nconst apiKey = ''\n\nconst client = new Stripe(apiKey, {\n apiVersion: '2024-06-20',\n})\n\n// TODO: learn about subscriptions\nexport interface PaymentIntent {\n create: (params: Stripe.PaymentIntentCreateParams) => Promise<Stripe.Response<Stripe.PaymentIntent>>\n retrieve: (stripeId: string) => Promise<Stripe.Response<Stripe.PaymentIntent>>\n update: (stripeId: string, params: Stripe.PaymentIntentCreateParams) => Promise<Stripe.Response<Stripe.PaymentIntent>>\n cancel: (stripeId: string) => Promise<Stripe.Response<Stripe.PaymentIntent>>\n}\n\nexport const paymentIntent: PaymentIntent = (() => {\n async function create(params: Stripe.PaymentIntentCreateParams) {\n return await client.paymentIntents.create(params)\n }\n\n async function retrieve(stripeId: string) {\n return await client.paymentIntents.retrieve(stripeId)\n }\n\n async function update(stripeId: string, params: Stripe.PaymentIntentCreateParams) {\n return await client.paymentIntents.update(stripeId, params)\n }\n\n async function cancel(stripeId: string) {\n return await client.paymentIntents.cancel(stripeId)\n }\n\n return { create, retrieve, update, cancel }\n})()\n\nexport interface Balance {\n retrieve: () => Promise<Stripe.Response<Stripe.Balance>>\n}\n\nexport const balance: Balance = (() => {\n async function retrieve() {\n return await client.balance.retrieve()\n }\n\n return { retrieve }\n})()\n\nexport interface Customer {\n create: (params: Stripe.CustomerCreateParams) => Promise<Stripe.Response<Stripe.Customer>>\n update: (stripeId: string, params: Stripe.CustomerCreateParams) => Promise<Stripe.Response<Stripe.Customer>>\n retrieve: (stripeId: string) => Promise<Stripe.Response<Stripe.Customer | Stripe.DeletedCustomer>>\n}\n\nexport const customer: Customer = (() => {\n async function create(params: Stripe.CustomerCreateParams) {\n return await client.customers.create(params)\n }\n\n async function update(stripeId: string, params: Stripe.CustomerCreateParams) {\n return await client.customers.update(stripeId, params)\n }\n\n async function retrieve(stripeId: string) {\n return await client.customers.retrieve(stripeId)\n }\n\n return { create, update, retrieve }\n})()\n\nexport interface Charge {\n create: (params: Stripe.ChargeCreateParams) => Promise<Stripe.Response<Stripe.Charge>>\n update: (stripeId: string, params: Stripe.ChargeCreateParams) => Promise<Stripe.Response<Stripe.Charge>>\n capture: (stripeId: string) => Promise<Stripe.Response<Stripe.Charge>>\n retrieve: (stripeId: string) => Promise<Stripe.Response<Stripe.Charge>>\n}\n\nexport const charge: Charge = (() => {\n async function create(params: Stripe.ChargeCreateParams) {\n return await client.charges.create(params)\n }\n\n async function update(stripeId: string, params: Stripe.ChargeCreateParams) {\n return await client.charges.update(stripeId, params)\n }\n\n async function capture(stripeId: string) {\n return await client.charges.capture(stripeId)\n }\n\n async function retrieve(stripeId: string) {\n return await client.charges.retrieve(stripeId)\n }\n\n return { create, update, retrieve, capture }\n})()\n\nexport interface BalanceTransactions {\n retrieve: (stripeId: string) => Promise<Stripe.Response<Stripe.BalanceTransaction>>\n list: (limit: number) => Promise<Stripe.Response<Stripe.ApiList<Stripe.BalanceTransaction>>>\n}\n\nexport const balanceTransactions: BalanceTransactions = (() => {\n async function retrieve(stripeId: string) {\n return await client.balanceTransactions.retrieve(stripeId)\n }\n\n async function list(limit: number) {\n return await client.balanceTransactions.list({ limit })\n }\n\n return { retrieve, list }\n})()\n\nexport interface Dispute {\n retrieve: (stripeId: string) => Promise<Stripe.Response<Stripe.Dispute>>\n update: (stripeId: string, params: Stripe.DisputeUpdateParams) => Promise<Stripe.Response<Stripe.Dispute>>\n close: (stripeId: string) => Promise<Stripe.Response<Stripe.Dispute>>\n list: (limit: number) => Promise<Stripe.Response<Stripe.ApiList<Stripe.Dispute>>>\n}\n\nexport const dispute: Dispute = (() => {\n async function retrieve(stripeId: string) {\n return await client.disputes.retrieve(stripeId)\n }\n\n async function update(stripeId: string, params: Stripe.DisputeUpdateParams) {\n return await client.disputes.update(stripeId, params)\n }\n\n async function close(stripeId: string) {\n return await client.disputes.close(stripeId)\n }\n\n async function list(limit: number) {\n return await client.disputes.list({ limit })\n }\n\n return { retrieve, update, close, list }\n})()\n\nexport interface PaymentEvents {\n retrieve: (stripeId: string) => Promise<Stripe.Response<Stripe.Event>>\n list: (limit: number) => Promise<Stripe.Response<Stripe.ApiList<Stripe.Event>>>\n}\n\nexport const events: PaymentEvents = (() => {\n async function retrieve(stripeId: string) {\n return await client.events.retrieve(stripeId)\n }\n\n async function list(limit: number) {\n return await client.events.list({ limit })\n }\n\n return { retrieve, list }\n})()\n"
|
|
171
183
|
],
|
|
172
|
-
"mappings": "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",
|
|
173
|
-
"debugId": "
|
|
184
|
+
"mappings": "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",
|
|
185
|
+
"debugId": "28F0E21BD353390A64756E2164756E21",
|
|
174
186
|
"names": []
|
|
175
187
|
}
|