UNPKG

@revenuecat/purchases-js

Version:

Web subscriptions made easy. Powered by RevenueCat

93 lines (92 loc) 2.94 kB
var f = "basil", h = function(r) { return r === 3 ? "v3" : r; }, S = "https://js.stripe.com", w = "".concat(S, "/").concat(f, "/stripe.js"), j = /^https:\/\/js\.stripe\.com\/v3\/?(\?.*)?$/, L = /^https:\/\/js\.stripe\.com\/(v3|[a-z]+)\/stripe\.js(\?.*)?$/; var g = function(r) { return j.test(r) || L.test(r); }, R = function() { for (var r = document.querySelectorAll('script[src^="'.concat(S, '"]')), e = 0; e < r.length; e++) { var n = r[e]; if (g(n.src)) return n; } return null; }, p = function(r) { var e = "", n = document.createElement("script"); n.src = "".concat(w).concat(e); var t = document.head || document.body; if (!t) throw new Error("Expected document.body not to be null. Stripe.js requires a <body> element."); return t.appendChild(n), n; }, P = function(r, e) { !r || !r._registerWrapper || r._registerWrapper({ name: "stripe-js", version: "7.3.1", startTime: e }); }, a = null, c = null, l = null, T = function(r) { return function(e) { r(new Error("Failed to load Stripe.js", { cause: e })); }; }, y = function(r, e) { return function() { window.Stripe ? r(window.Stripe) : e(new Error("Stripe.js not available")); }; }, b = function(r) { return a !== null ? a : (a = new Promise(function(e, n) { if (typeof window > "u" || typeof document > "u") { e(null); return; } if (window.Stripe) { e(window.Stripe); return; } try { var t = R(); if (!(t && r)) { if (!t) t = p(r); else if (t && l !== null && c !== null) { var o; t.removeEventListener("load", l), t.removeEventListener("error", c), (o = t.parentNode) === null || o === void 0 || o.removeChild(t), t = p(r); } } l = y(e, n), c = T(n), t.addEventListener("load", l), t.addEventListener("error", c); } catch (u) { n(u); return; } }), a.catch(function(e) { return a = null, Promise.reject(e); })); }, x = function(r, e, n) { if (r === null) return null; var t = e[0], o = t.match(/^pk_test/), u = h(r.version), d = f; o && u !== d && console.warn("Stripe.js@".concat(u, " was loaded on the page, but @stripe/stripe-js@").concat("7.3.1", " expected Stripe.js@").concat(d, ". This may result in unexpected behavior. For more information, see https://docs.stripe.com/sdks/stripejs-versioning")); var v = r.apply(void 0, e); return P(v, n), v; }, s, m = !1, E = function() { return s || (s = b(null).catch(function(r) { return s = null, Promise.reject(r); }), s); }; Promise.resolve().then(function() { return E(); }).catch(function(i) { m || console.warn(i); }); var I = function() { for (var r = arguments.length, e = new Array(r), n = 0; n < r; n++) e[n] = arguments[n]; m = !0; var t = Date.now(); return E().then(function(o) { return x(o, e, t); }); }; export { I as loadStripe };