33 lines
1.5 KiB
JavaScript
33 lines
1.5 KiB
JavaScript
"use strict";
|
|
const NodePlatformFunctions_js_1 = require("./platform/NodePlatformFunctions.js");
|
|
const stripe_core_js_1 = require("./stripe.core.js");
|
|
// Initialize the Stripe class with Node platform functions
|
|
stripe_core_js_1.Stripe.initialize(new NodePlatformFunctions_js_1.NodePlatformFunctions());
|
|
// @ts-expect-error: function expression lacks a construct signature, but at runtime
|
|
// the prototype chain wiring below makes both `new StripeConstructor()` and
|
|
// `StripeConstructor()` work correctly.
|
|
// eslint-disable-next-line func-style
|
|
const StripeConstructor = function (key, config) {
|
|
// Support calling without `new`
|
|
if (!(this instanceof StripeConstructor)) {
|
|
return new stripe_core_js_1.Stripe(key, config);
|
|
}
|
|
// If called with `new`, return a new Stripe instance
|
|
return new stripe_core_js_1.Stripe(key, config);
|
|
};
|
|
// Copy all static properties from Stripe to the wrapper
|
|
Object.setPrototypeOf(StripeConstructor, stripe_core_js_1.Stripe);
|
|
Object.setPrototypeOf(StripeConstructor.prototype, stripe_core_js_1.Stripe.prototype);
|
|
// Copy static properties explicitly
|
|
for (const key of Object.getOwnPropertyNames(stripe_core_js_1.Stripe)) {
|
|
if (key !== 'length' && key !== 'prototype' && key !== 'name') {
|
|
Object.defineProperty(StripeConstructor, key, {
|
|
value: stripe_core_js_1.Stripe[key],
|
|
writable: true,
|
|
enumerable: true,
|
|
configurable: true,
|
|
});
|
|
}
|
|
}
|
|
module.exports = StripeConstructor;
|
|
//# sourceMappingURL=stripe.cjs.node.js.map
|