@savafeed/cart-api-sdk 1.0.5 → 1.0.6
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/cart-api-sdk.cjs.js
CHANGED
@@ -393,35 +393,24 @@ var moduleManager = /*#__PURE__*/Object.freeze({
|
|
393
393
|
of: of
|
394
394
|
});
|
395
395
|
|
396
|
-
|
396
|
+
var E_DRIVER_CLASSES;
|
397
397
|
(function (E_DRIVER_CLASSES) {
|
398
398
|
E_DRIVER_CLASSES["shopify"] = "ShopifyDriver";
|
399
399
|
E_DRIVER_CLASSES["woo"] = "WooDriver";
|
400
|
-
})(
|
400
|
+
})(E_DRIVER_CLASSES || (E_DRIVER_CLASSES = {}));
|
401
401
|
|
402
|
-
|
402
|
+
var E_DRIVER_TOKENS;
|
403
403
|
(function (E_DRIVER_TOKENS) {
|
404
404
|
E_DRIVER_TOKENS["ENVIRONMENTS"] = "ENVIRONMENTS";
|
405
|
-
})(
|
405
|
+
})(E_DRIVER_TOKENS || (E_DRIVER_TOKENS = {}));
|
406
406
|
|
407
|
-
|
407
|
+
var E_MANDATORY_CONTROLLERS;
|
408
408
|
(function (E_MANDATORY_CONTROLLERS) {
|
409
409
|
E_MANDATORY_CONTROLLERS["LINE_ITEMS"] = "line-items";
|
410
410
|
E_MANDATORY_CONTROLLERS["PREVIEW"] = "preview";
|
411
411
|
E_MANDATORY_CONTROLLERS["PRICING"] = "pricing";
|
412
412
|
E_MANDATORY_CONTROLLERS["RETURN_TO_EDIT"] = "return-to-edit";
|
413
|
-
})(
|
414
|
-
|
415
|
-
class AbstractLineItemsController {
|
416
|
-
}
|
417
|
-
class AbstractPricingController {
|
418
|
-
}
|
419
|
-
class AbstractPreviewController {
|
420
|
-
}
|
421
|
-
class AbstractCheckoutController {
|
422
|
-
}
|
423
|
-
class AbstractReturnToEditController {
|
424
|
-
}
|
413
|
+
})(E_MANDATORY_CONTROLLERS || (E_MANDATORY_CONTROLLERS = {}));
|
425
414
|
|
426
415
|
/*
|
427
416
|
from https://github.com/substack/vm-browserify/blob/bfd7c5f59edec856dc7efe0b77a4f6b2fa20f226/index.js
|
@@ -683,11 +672,11 @@ class DriverProcessor {
|
|
683
672
|
const driverClassName = options.name;
|
684
673
|
switch (currentScriptType) {
|
685
674
|
case 'esm':
|
686
|
-
return driver?.default[
|
675
|
+
return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];
|
687
676
|
case 'umd':
|
688
|
-
return driver?.default[
|
677
|
+
return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];
|
689
678
|
case 'cjs':
|
690
|
-
return driver[
|
679
|
+
return driver[E_DRIVER_CLASSES[driverClassName]];
|
691
680
|
default:
|
692
681
|
throw new Error(`Unknown script type: ${currentScriptType}`);
|
693
682
|
}
|
@@ -732,10 +721,10 @@ class DriverManager {
|
|
732
721
|
}
|
733
722
|
;
|
734
723
|
async setup() {
|
735
|
-
if (this.appContainer.providers.has(
|
736
|
-
throw new Error(`Provider with token "${
|
724
|
+
if (this.appContainer.providers.has(E_DRIVER_TOKENS.ENVIRONMENTS)) {
|
725
|
+
throw new Error(`Provider with token "${E_DRIVER_TOKENS.ENVIRONMENTS}" already exists`);
|
737
726
|
}
|
738
|
-
this.appContainer.providers.set(
|
727
|
+
this.appContainer.providers.set(E_DRIVER_TOKENS.ENVIRONMENTS, this.environments);
|
739
728
|
if (this.environments?.input?.eCommerce) {
|
740
729
|
return await this.bootstrapDriver({
|
741
730
|
default: {
|
@@ -837,10 +826,10 @@ class CartSDK {
|
|
837
826
|
}
|
838
827
|
purchasingMandatoryControllers() {
|
839
828
|
const mandatoryControllers = [
|
840
|
-
|
841
|
-
|
842
|
-
|
843
|
-
|
829
|
+
E_MANDATORY_CONTROLLERS.LINE_ITEMS,
|
830
|
+
E_MANDATORY_CONTROLLERS.PREVIEW,
|
831
|
+
E_MANDATORY_CONTROLLERS.PRICING,
|
832
|
+
E_MANDATORY_CONTROLLERS.RETURN_TO_EDIT,
|
844
833
|
];
|
845
834
|
mandatoryControllers.forEach((controllerName) => {
|
846
835
|
const controllerInstance = this.driverManager.getController(controllerName);
|
@@ -857,22 +846,5 @@ if ($window) {
|
|
857
846
|
$window.CartSDK = CartSDK;
|
858
847
|
}
|
859
848
|
|
860
|
-
exports.AbstractCheckoutController = AbstractCheckoutController;
|
861
|
-
exports.AbstractLineItemsController = AbstractLineItemsController;
|
862
|
-
exports.AbstractModule = AbstractModule;
|
863
|
-
exports.AbstractPreviewController = AbstractPreviewController;
|
864
|
-
exports.AbstractPricingController = AbstractPricingController;
|
865
|
-
exports.AbstractReturnToEditController = AbstractReturnToEditController;
|
866
849
|
exports.CartSDK = CartSDK;
|
867
|
-
exports.Container = Container;
|
868
|
-
exports.Controller = Controller;
|
869
|
-
exports.DriverManager = DriverManager;
|
870
|
-
exports.Inject = Inject;
|
871
|
-
exports.Injectable = Injectable;
|
872
|
-
exports.Module = Module;
|
873
|
-
exports.ModuleRef = ModuleRef;
|
874
|
-
exports.Queue = Queue;
|
875
|
-
exports.TypeSpecifier = TypeSpecifier;
|
876
|
-
exports.container = container;
|
877
|
-
exports.of = of;
|
878
850
|
//# sourceMappingURL=cart-api-sdk.cjs.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"cart-api-sdk.cjs.js","sources":["../node_modules/@savafeed/module-manager/dist/index.esm.js","../node_modules/@savafeed/driver-manager/dist/index.esm.js","../src/polyfills/dom.ts","../src/index.ts"],"sourcesContent":["import 'reflect-metadata';\r\n\r\nclass TypeSpecifier {\r\n static isClass(input) {\r\n return (!TypeSpecifier.isFunction(input) &&\r\n !TypeSpecifier.isFunctionByTryCall(input) &&\r\n TypeSpecifier.isClassByStringLiteral(input));\r\n }\r\n static isClassByStringLiteral(input) {\r\n const functionString = input.toString();\r\n return !!functionString.startsWith('class');\r\n }\r\n static isFunction(input) {\r\n return typeof input !== 'function';\r\n }\r\n static isFunctionByTryCall(input) {\r\n try {\r\n input();\r\n return true;\r\n }\r\n catch (error) {\r\n return false;\r\n }\r\n }\r\n}\r\n\r\nclass ModuleRef {\r\n parentContainer;\r\n module;\r\n controllers = new Map();\r\n providers = new Map();\r\n constructor(parentContainer, module) {\r\n this.parentContainer = parentContainer;\r\n this.module = module;\r\n this[\"registerProviders\" /* E_REGISTER_CALL_ORDER.first */]();\r\n this[\"registerControllers\" /* E_REGISTER_CALL_ORDER.second */]();\r\n }\r\n ;\r\n registerProviders() {\r\n const providers = this.module.providers;\r\n if (!providers)\r\n return;\r\n for (const provider of providers) {\r\n if (this.providers.has(provider))\r\n continue;\r\n const dependencyTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, provider);\r\n const dependencies = [];\r\n dependencyTokens?.forEach((dependencyToken, index) => {\r\n if (!TypeSpecifier.isClass(dependencyToken)) {\r\n const injectTokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, provider) || [];\r\n const injectToken = injectTokens.find((injectObject) => injectObject.index === index);\r\n if (!this.parentContainer.providers.has(injectToken?.token))\r\n return console.warn(`[WARN] (Inject) ${injectToken} is not provide in`, this.parentContainer);\r\n dependencies.push(this.parentContainer.providers.get(injectToken?.token));\r\n }\r\n else {\r\n if (!this.parentContainer.providers.has(dependencyToken))\r\n return console.warn(`[WARN] (Injectable) ${dependencyToken} is not provide in`, this.parentContainer);\r\n dependencies.push(this.parentContainer.providers.get(dependencyToken));\r\n }\r\n });\r\n let providerToken;\r\n let providerInstance;\r\n if (provider?.token) {\r\n const injectProvider = this.getInjectProviderWithInstance(provider);\r\n if (!injectProvider)\r\n return console.warn(`[WARN] Provider type is not Inject. ${provider.token} is not provide in`, this.parentContainer);\r\n providerToken = injectProvider.token;\r\n providerInstance = injectProvider.instance;\r\n Reflect.defineMetadata(providerToken, providerInstance, this.module);\r\n }\r\n else {\r\n providerToken = provider;\r\n providerInstance = new provider(...dependencies);\r\n Reflect.defineMetadata(providerToken, provider, this.module);\r\n }\r\n this.providers.set(providerToken, providerInstance);\r\n }\r\n }\r\n ;\r\n getInjectProviderWithInstance(injectProvider) {\r\n if (!injectProvider?.token)\r\n return null;\r\n let injectInstance;\r\n if (injectProvider?.useValue) {\r\n injectInstance = injectProvider.useValue;\r\n }\r\n if (injectProvider?.useFactory) {\r\n const factory = injectProvider.useFactory;\r\n try {\r\n if (TypeSpecifier.isClass(factory)) {\r\n injectInstance = new injectProvider.useFactory();\r\n }\r\n else {\r\n injectInstance = injectProvider.useFactory();\r\n }\r\n }\r\n catch (error) {\r\n console.error('A factory can be either a function or a class.', error);\r\n return null;\r\n }\r\n }\r\n return {\r\n token: injectProvider.token,\r\n instance: injectInstance,\r\n };\r\n }\r\n ;\r\n registerControllers() {\r\n const controllers = this.module.controllers;\r\n if (!controllers)\r\n return;\r\n for (const controller of controllers) {\r\n if (this.controllers.has(controller))\r\n continue;\r\n const dependencyTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, controller);\r\n const dependencies = [];\r\n dependencyTokens?.forEach((dependencyToken) => {\r\n if (!this.providers.has(dependencyToken))\r\n return console.warn(`[WARN] ${dependencyToken} is not provide in`, String(this));\r\n dependencies.push(this.providers.get(dependencyToken));\r\n });\r\n const controllerToken = Reflect.getMetadata(\"controller:prefix\" /* E_TOKENS.CONTROLLER_PREFIX */, controller) || controller;\r\n const controllerInstance = new controller(...dependencies);\r\n this.controllers.set(controllerToken, controllerInstance);\r\n }\r\n }\r\n ;\r\n getController(controllerToken) {\r\n return this.controllers.get(controllerToken);\r\n }\r\n ;\r\n}\r\n\r\nfunction of(mapper) {\r\n const entryList = Array.from(mapper.entries());\r\n return entryList.map((entry) => {\r\n return {\r\n key: entry[0],\r\n value: entry[1],\r\n };\r\n });\r\n}\r\n\r\nclass Pool {\r\n factory;\r\n _pool = new Map();\r\n constructor(factory) {\r\n this.factory = factory;\r\n }\r\n ;\r\n acquire() {\r\n return of(this._pool)\r\n .map(({ value }) => value)\r\n .map(this.factory);\r\n }\r\n ;\r\n release(data) {\r\n this._pool.delete(data);\r\n }\r\n ;\r\n append(data) {\r\n this._pool.set(data, data);\r\n }\r\n ;\r\n}\r\n\r\nclass AuditContainer {\r\n providers = new Map();\r\n providersPool = new Pool((data) => data);\r\n addProviderToPool(type, providerToken) {\r\n this.providersPool.append({\r\n provider: providerToken,\r\n type,\r\n });\r\n }\r\n ;\r\n registerInnerInject(injectProvider) {\r\n this.registerGlobalInject(injectProvider);\r\n }\r\n processProvidersInPool() {\r\n const providers = this.providersPool.acquire();\r\n const providersByType = {\r\n [\"inject\" /* E_PROVIDER_TYPES.INJECT */]: [],\r\n [\"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */]: [],\r\n };\r\n providers.forEach(({ type, provider }) => {\r\n const condition = type === \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */ || type === \"inject\" /* E_PROVIDER_TYPES.INJECT */;\r\n if (condition) {\r\n providersByType[type].push(provider);\r\n }\r\n });\r\n this.dispatchRegisterProviders(providersByType, \"inject\" /* E_PROVIDER_TYPES.INJECT */);\r\n this.dispatchRegisterProviders(providersByType, \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */);\r\n }\r\n ;\r\n dispatchRegisterProviders(providersByType, type) {\r\n providersByType[type].forEach((provider) => {\r\n switch (type) {\r\n case \"inject\" /* E_PROVIDER_TYPES.INJECT */:\r\n this.registerGlobalInject(provider);\r\n break;\r\n case \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */:\r\n this.registerGlobalInjectable(provider);\r\n break;\r\n }\r\n this.providersPool.release(provider);\r\n });\r\n }\r\n ;\r\n registerGlobalInjectable(providerToken) {\r\n if (providerToken?.token) {\r\n if (this.providers.has(providerToken.token))\r\n return this.providers.get(providerToken.token);\r\n }\r\n else {\r\n if (this.providers.has(providerToken))\r\n return this.providers.get(providerToken);\r\n }\r\n const dependencies = [];\r\n const dependenciesTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, providerToken);\r\n const injectTokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, providerToken);\r\n dependenciesTokens?.forEach((dependencyToken, index) => {\r\n const injectToken = injectTokens?.find((injectTokenObject) => injectTokenObject.index === index);\r\n let injectInstance = injectToken || dependencyToken;\r\n const dependency = this.registerGlobalInjectable(injectInstance);\r\n dependencies.push(dependency);\r\n });\r\n const provider = new providerToken(...dependencies);\r\n this.providers.set(providerToken, provider);\r\n return provider;\r\n }\r\n ;\r\n registerGlobalInject(injectProvider) {\r\n let injectInstance;\r\n if (injectProvider?.useValue) {\r\n injectInstance = injectProvider.useValue;\r\n }\r\n if (injectProvider?.useFactory) {\r\n const factory = injectProvider.useFactory;\r\n try {\r\n if (TypeSpecifier.isClass(factory)) {\r\n injectInstance = new injectProvider.useFactory();\r\n }\r\n else {\r\n injectInstance = injectProvider.useFactory();\r\n }\r\n }\r\n catch (error) {\r\n console.error('A factory can be either a function or a class.', error);\r\n return error;\r\n }\r\n }\r\n this.providers.set(injectProvider.token, injectInstance);\r\n }\r\n ;\r\n}\r\n\r\nclass Container extends AuditContainer {\r\n _modules = new Map();\r\n get modules() {\r\n return this._modules;\r\n }\r\n ;\r\n registerModule(module) {\r\n if (this._modules.has(module))\r\n return console.warn(`Module has in Container`);\r\n this.processProvidersInPool();\r\n const moduleInstance = new ModuleRef(this, module);\r\n this._modules.set(module, moduleInstance);\r\n }\r\n ;\r\n getModuleByName(moduleName) {\r\n return of(this._modules).find(({ key }) => moduleName === key.name);\r\n }\r\n ;\r\n getController(prefix) {\r\n return of(this._modules).map(({ value }) => {\r\n return value.getController(prefix);\r\n }).find((controller) => !!controller);\r\n }\r\n ;\r\n findModuleByProviderToken(providerToken) {\r\n let module = null;\r\n this._modules.forEach((moduleRef, moduleClass) => {\r\n if (moduleClass.providers?.includes(providerToken)) {\r\n module = {\r\n token: moduleClass,\r\n reference: moduleRef,\r\n };\r\n }\r\n });\r\n return module;\r\n }\r\n ;\r\n}\r\nconst container = new Container();\r\n\r\nfunction Controller(prefix) {\r\n return (target) => {\r\n Reflect.defineMetadata(\"controller:prefix\" /* E_TOKENS.CONTROLLER_PREFIX */, prefix, target);\r\n };\r\n}\r\n\r\nfunction Module(options) {\r\n return (target) => {\r\n Reflect.defineProperty(target, 'name', {\r\n value: options.name,\r\n writable: false,\r\n configurable: false,\r\n });\r\n Reflect.defineProperty(target, 'controllers', {\r\n value: options.controllers,\r\n writable: false,\r\n configurable: false,\r\n });\r\n Reflect.defineProperty(target, 'providers', {\r\n value: options.providers,\r\n writable: false,\r\n configurable: false,\r\n });\r\n registerProviders(options.providers);\r\n };\r\n}\r\nfunction registerProviders(providers) {\r\n providers?.forEach((provider) => {\r\n const isObjectProvider = typeof provider === 'object' && !!provider?.token;\r\n if (isObjectProvider) {\r\n container.addProviderToPool(\"inject\" /* E_PROVIDER_TYPES.INJECT */, provider);\r\n }\r\n });\r\n}\r\n\r\nfunction Injectable() {\r\n return (target) => {\r\n container.addProviderToPool(\"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */, target);\r\n };\r\n}\r\nfunction Inject(token) {\r\n return (target, _, parameterIndex) => {\r\n const tokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, target) || [];\r\n tokens.push({\r\n index: parameterIndex,\r\n token,\r\n });\r\n Reflect.defineMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, tokens, target);\r\n };\r\n}\r\n\r\nclass AbstractModule {\r\n static name;\r\n static controllers = [];\r\n static providers = [];\r\n}\r\n\r\nclass Queue {\r\n _storage = {};\r\n _oldestIndex = 1;\r\n _newestIndex = 1;\r\n get count() {\r\n return this._newestIndex - this._oldestIndex;\r\n }\r\n enqueue(data) {\r\n this._storage[this._newestIndex] = data;\r\n this._newestIndex++;\r\n }\r\n dequeue() {\r\n const oldestIndex = this._oldestIndex;\r\n const deletedData = this._storage[oldestIndex];\r\n delete this._storage[oldestIndex];\r\n this._oldestIndex++;\r\n return deletedData;\r\n }\r\n toArray() {\r\n return Object.values(this._storage);\r\n }\r\n}\r\n\r\nexport { AbstractModule, Container, Controller, Inject, Injectable, Module, ModuleRef, Queue, TypeSpecifier, container, of };\r\n//# sourceMappingURL=index.esm.js.map\r\n","import 'reflect-metadata';\nimport * as moduleManager from '@savafeed/module-manager';\n\nvar E_DRIVER_CLASSES;\n(function (E_DRIVER_CLASSES) {\n E_DRIVER_CLASSES[\"shopify\"] = \"ShopifyDriver\";\n E_DRIVER_CLASSES[\"woo\"] = \"WooDriver\";\n})(E_DRIVER_CLASSES || (E_DRIVER_CLASSES = {}));\n\nvar E_DRIVER_TOKENS;\n(function (E_DRIVER_TOKENS) {\n E_DRIVER_TOKENS[\"ENVIRONMENTS\"] = \"ENVIRONMENTS\";\n})(E_DRIVER_TOKENS || (E_DRIVER_TOKENS = {}));\n\nvar E_MANDATORY_CONTROLLERS;\n(function (E_MANDATORY_CONTROLLERS) {\n E_MANDATORY_CONTROLLERS[\"LINE_ITEMS\"] = \"line-items\";\n E_MANDATORY_CONTROLLERS[\"PREVIEW\"] = \"preview\";\n E_MANDATORY_CONTROLLERS[\"PRICING\"] = \"pricing\";\n E_MANDATORY_CONTROLLERS[\"RETURN_TO_EDIT\"] = \"return-to-edit\";\n})(E_MANDATORY_CONTROLLERS || (E_MANDATORY_CONTROLLERS = {}));\n\nclass AbstractLineItemsController {\n}\nclass AbstractPricingController {\n}\nclass AbstractPreviewController {\n}\nclass AbstractCheckoutController {\n}\nclass AbstractReturnToEditController {\n}\n\n/*\nfrom https://github.com/substack/vm-browserify/blob/bfd7c5f59edec856dc7efe0b77a4f6b2fa20f226/index.js\n\nMIT license no Copyright holder mentioned\n*/\n\n\nfunction Object_keys(obj) {\n if (Object.keys) return Object.keys(obj)\n else {\n var res = [];\n for (var key in obj) res.push(key);\n return res;\n }\n}\n\nfunction forEach(xs, fn) {\n if (xs.forEach) return xs.forEach(fn)\n else\n for (var i = 0; i < xs.length; i++) {\n fn(xs[i], i, xs);\n }\n}\nvar _defineProp;\n\nfunction defineProp(obj, name, value) {\n if (typeof _defineProp !== 'function') {\n _defineProp = createDefineProp;\n }\n _defineProp(obj, name, value);\n}\n\nfunction createDefineProp() {\n try {\n Object.defineProperty({}, '_', {});\n return function(obj, name, value) {\n Object.defineProperty(obj, name, {\n writable: true,\n enumerable: false,\n configurable: true,\n value: value\n });\n };\n } catch (e) {\n return function(obj, name, value) {\n obj[name] = value;\n };\n }\n}\n\nvar globals = ['Array', 'Boolean', 'Date', 'Error', 'EvalError', 'Function',\n 'Infinity', 'JSON', 'Math', 'NaN', 'Number', 'Object', 'RangeError',\n 'ReferenceError', 'RegExp', 'String', 'SyntaxError', 'TypeError', 'URIError',\n 'decodeURI', 'decodeURIComponent', 'encodeURI', 'encodeURIComponent', 'escape',\n 'eval', 'isFinite', 'isNaN', 'parseFloat', 'parseInt', 'undefined', 'unescape'\n];\n\nfunction Context() {}\nContext.prototype = {};\n\nfunction Script(code) {\n if (!(this instanceof Script)) return new Script(code);\n this.code = code;\n}\nfunction otherRunInContext(code, context) {\n var args = Object_keys(global);\n args.push('with (this.__ctx__){return eval(this.__code__)}');\n var fn = Function.apply(null, args);\n return fn.apply({\n __code__: code,\n __ctx__: context\n });\n}\nScript.prototype.runInContext = function(context) {\n if (!(context instanceof Context)) {\n throw new TypeError('needs a \\'context\\' argument.');\n }\n if (global.document) {\n var iframe = global.document.createElement('iframe');\n if (!iframe.style) iframe.style = {};\n iframe.style.display = 'none';\n\n global.document.body.appendChild(iframe);\n\n var win = iframe.contentWindow;\n var wEval = win.eval,\n wExecScript = win.execScript;\n\n if (!wEval && wExecScript) {\n // win.eval() magically appears when this is called in IE:\n wExecScript.call(win, 'null');\n wEval = win.eval;\n }\n\n forEach(Object_keys(context), function(key) {\n win[key] = context[key];\n });\n forEach(globals, function(key) {\n if (context[key]) {\n win[key] = context[key];\n }\n });\n\n var winKeys = Object_keys(win);\n\n var res = wEval.call(win, this.code);\n\n forEach(Object_keys(win), function(key) {\n // Avoid copying circular objects like `top` and `window` by only\n // updating existing context properties or new properties in the `win`\n // that was only introduced after the eval.\n if (key in context || indexOf(winKeys, key) === -1) {\n context[key] = win[key];\n }\n });\n\n forEach(globals, function(key) {\n if (!(key in context)) {\n defineProp(context, key, win[key]);\n }\n });\n global.document.body.removeChild(iframe);\n\n return res;\n }\n return otherRunInContext(this.code, context);\n};\n\nScript.prototype.runInThisContext = function() {\n var fn = new Function('code', 'return eval(code);');\n return fn.call(global, this.code); // maybe...\n};\n\nScript.prototype.runInNewContext = function(context) {\n var ctx = createContext(context);\n var res = this.runInContext(ctx);\n if (context) {\n forEach(Object_keys(ctx), function(key) {\n context[key] = ctx[key];\n });\n }\n\n return res;\n};\n\nfunction createContext(context) {\n if (isContext(context)) {\n return context;\n }\n var copy = new Context();\n if (typeof context === 'object') {\n forEach(Object_keys(context), function(key) {\n copy[key] = context[key];\n });\n }\n return copy;\n}\nfunction runInContext(code, contextifiedSandbox, options) {\n var script = new Script(code);\n return script.runInContext(contextifiedSandbox, options);\n}\nfunction isContext(context) {\n return context instanceof Context;\n}\n\n\n/*\nfrom indexOf\n@ author tjholowaychuk\n@ license MIT\n*/\nvar _indexOf = [].indexOf;\n\nfunction indexOf(arr, obj){\n if (_indexOf) return arr.indexOf(obj);\n for (var i = 0; i < arr.length; ++i) {\n if (arr[i] === obj) return i;\n }\n return -1;\n}\n\nasync function virtualMachine(code) {\n const context = {\n module: { exports: {} },\n exports: {},\n require: (id) => {\n if (id === '@savafeed/module-manager') {\n return moduleManager;\n }\n throw new Error(`Cannot require('${id}') in this context`);\n },\n console,\n setTimeout,\n setInterval,\n Reflect,\n Promise,\n URL,\n fetch,\n };\n const isNodeJsEnv = typeof document === 'undefined';\n if (isNodeJsEnv) {\n await import('reflect-metadata');\n }\n else {\n // @ts-ignore\n await import('https://unpkg.com/reflect-metadata@0.2.2/Reflect.js');\n }\n context.Reflect = Reflect;\n const sandbox = createContext(context);\n runInContext(code, sandbox);\n const moduleObject = sandbox.exports;\n return moduleObject;\n}\n\nclass DriverProcessor {\n // static CDN: string = 'http://localhost:5000';\n static CDN = 'https://unpkg.com/@savafeed';\n static async getDriverModule(bootstrapOptions) {\n let driverModule;\n if (bootstrapOptions?.default) {\n driverModule = await DriverProcessor.defaultBootstrapDriver(bootstrapOptions.default);\n }\n else if (bootstrapOptions?.custom) {\n driverModule = await DriverProcessor.customBootstrapDriver(bootstrapOptions.custom);\n }\n else {\n throw new Error('Driver not found');\n }\n return driverModule;\n }\n ;\n static async defaultBootstrapDriver(options) {\n if (!options?.name)\n throw new Error(`Unable to get driver by this name: ${options?.name}`);\n const driver = await DriverProcessor.pullDriverByName(options.name, options.scriptType);\n const driverModule = DriverProcessor.exportDriverModule(driver, {\n scriptType: options.scriptType,\n name: options.name,\n });\n return driverModule;\n }\n static async customBootstrapDriver(options) {\n if (!options?.link)\n throw new Error('Driver link not found');\n if (!options?.className)\n throw new Error('Driver class name not found');\n const driver = await DriverProcessor.pullDriverByLink(options.link);\n const driverModule = DriverProcessor.exportDriverModule(driver, {\n scriptType: options.scriptType,\n name: options.className,\n });\n return driverModule;\n }\n static exportDriverModule(driver, options) {\n if (!driver)\n throw new Error('Driver not found');\n const currentScriptType = (!!options.scriptType) ? options.scriptType : 'umd';\n const driverClassName = options.name;\n switch (currentScriptType) {\n case 'esm':\n return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];\n case 'umd':\n return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];\n case 'cjs':\n return driver[E_DRIVER_CLASSES[driverClassName]];\n default:\n throw new Error(`Unknown script type: ${currentScriptType}`);\n }\n }\n static async pullDriverByLink(link) {\n if (!link)\n throw new Error('Driver link not found');\n const response = await fetch(link);\n if (!response?.ok) {\n throw new Error(`Failed to load script from CDN: ${response.statusText}`);\n }\n const scriptContent = await response.text();\n const driver = await virtualMachine(scriptContent);\n return driver;\n }\n ;\n static async pullDriverByName(driverName, scriptType) {\n if (!driverName)\n throw new Error('Driver name not found');\n const currentScriptType = (!!scriptType) ? scriptType : 'umd';\n const link = `${DriverProcessor.CDN}/${driverName}-driver@latest/${driverName}.driver.${currentScriptType}.js`;\n const response = await fetch(link);\n if (!response?.ok) {\n throw new Error(`Failed to load script from CDN: ${response.statusText}`);\n }\n const scriptContent = await response.text();\n const driver = await virtualMachine(scriptContent);\n return driver;\n }\n ;\n}\n\nclass DriverManager {\n appContainer;\n environments;\n constructor(appContainer, environments) {\n this.appContainer = appContainer;\n this.environments = environments;\n if (!!this?.environments?.core) {\n this.setCoreOptions(this.environments.core);\n }\n }\n ;\n async setup() {\n if (this.appContainer.providers.has(E_DRIVER_TOKENS.ENVIRONMENTS)) {\n throw new Error(`Provider with token \"${E_DRIVER_TOKENS.ENVIRONMENTS}\" already exists`);\n }\n this.appContainer.providers.set(E_DRIVER_TOKENS.ENVIRONMENTS, this.environments);\n if (this.environments?.input?.eCommerce) {\n return await this.bootstrapDriver({\n default: {\n name: this.environments?.input?.eCommerce,\n scriptType: this.environments?.input?.driverScriptType,\n },\n });\n }\n else {\n return await this.bootstrapDriver({\n custom: {\n link: this.environments?.input?.driverLink,\n className: this.environments?.input?.driverClassName,\n },\n });\n }\n }\n setCoreOptions(options) {\n if (options?.cdn) {\n DriverProcessor.CDN = options.cdn;\n }\n }\n getController(controllerName) {\n return this.appContainer.getController(controllerName);\n }\n async bootstrapDriver(bootstrapOptions) {\n const driverModule = await DriverProcessor.getDriverModule(bootstrapOptions);\n if (!driverModule) {\n console.error('Driver not found!', driverModule);\n console.warn('Bootstrap options:', bootstrapOptions);\n let stringOptions;\n try {\n stringOptions = JSON.stringify(bootstrapOptions);\n }\n catch (ex) {\n console.warn('Error trying to convert bootstrap parameters to JSON to show in error:', ex);\n stringOptions = String(bootstrapOptions);\n }\n throw new Error(`Driver with options: (${stringOptions}) not found`);\n }\n this.appContainer.registerModule(driverModule);\n return driverModule;\n }\n ;\n}\n\nexport { AbstractCheckoutController, AbstractLineItemsController, AbstractPreviewController, AbstractPricingController, AbstractReturnToEditController, DriverManager, E_DRIVER_CLASSES, E_DRIVER_TOKENS, E_MANDATORY_CONTROLLERS };\n//# sourceMappingURL=index.esm.js.map\n",null,null],"names":["E_DRIVER_CLASSES","E_DRIVER_TOKENS","E_MANDATORY_CONTROLLERS"],"mappings":"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","x_google_ignoreList":[0,1]}
|
1
|
+
{"version":3,"file":"cart-api-sdk.cjs.js","sources":["../node_modules/@savafeed/module-manager/dist/index.esm.js","../node_modules/@savafeed/driver-manager/dist/index.esm.js","../src/polyfills/dom.ts","../src/index.ts"],"sourcesContent":["import 'reflect-metadata';\r\n\r\nclass TypeSpecifier {\r\n static isClass(input) {\r\n return (!TypeSpecifier.isFunction(input) &&\r\n !TypeSpecifier.isFunctionByTryCall(input) &&\r\n TypeSpecifier.isClassByStringLiteral(input));\r\n }\r\n static isClassByStringLiteral(input) {\r\n const functionString = input.toString();\r\n return !!functionString.startsWith('class');\r\n }\r\n static isFunction(input) {\r\n return typeof input !== 'function';\r\n }\r\n static isFunctionByTryCall(input) {\r\n try {\r\n input();\r\n return true;\r\n }\r\n catch (error) {\r\n return false;\r\n }\r\n }\r\n}\r\n\r\nclass ModuleRef {\r\n parentContainer;\r\n module;\r\n controllers = new Map();\r\n providers = new Map();\r\n constructor(parentContainer, module) {\r\n this.parentContainer = parentContainer;\r\n this.module = module;\r\n this[\"registerProviders\" /* E_REGISTER_CALL_ORDER.first */]();\r\n this[\"registerControllers\" /* E_REGISTER_CALL_ORDER.second */]();\r\n }\r\n ;\r\n registerProviders() {\r\n const providers = this.module.providers;\r\n if (!providers)\r\n return;\r\n for (const provider of providers) {\r\n if (this.providers.has(provider))\r\n continue;\r\n const dependencyTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, provider);\r\n const dependencies = [];\r\n dependencyTokens?.forEach((dependencyToken, index) => {\r\n if (!TypeSpecifier.isClass(dependencyToken)) {\r\n const injectTokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, provider) || [];\r\n const injectToken = injectTokens.find((injectObject) => injectObject.index === index);\r\n if (!this.parentContainer.providers.has(injectToken?.token))\r\n return console.warn(`[WARN] (Inject) ${injectToken} is not provide in`, this.parentContainer);\r\n dependencies.push(this.parentContainer.providers.get(injectToken?.token));\r\n }\r\n else {\r\n if (!this.parentContainer.providers.has(dependencyToken))\r\n return console.warn(`[WARN] (Injectable) ${dependencyToken} is not provide in`, this.parentContainer);\r\n dependencies.push(this.parentContainer.providers.get(dependencyToken));\r\n }\r\n });\r\n let providerToken;\r\n let providerInstance;\r\n if (provider?.token) {\r\n const injectProvider = this.getInjectProviderWithInstance(provider);\r\n if (!injectProvider)\r\n return console.warn(`[WARN] Provider type is not Inject. ${provider.token} is not provide in`, this.parentContainer);\r\n providerToken = injectProvider.token;\r\n providerInstance = injectProvider.instance;\r\n Reflect.defineMetadata(providerToken, providerInstance, this.module);\r\n }\r\n else {\r\n providerToken = provider;\r\n providerInstance = new provider(...dependencies);\r\n Reflect.defineMetadata(providerToken, provider, this.module);\r\n }\r\n this.providers.set(providerToken, providerInstance);\r\n }\r\n }\r\n ;\r\n getInjectProviderWithInstance(injectProvider) {\r\n if (!injectProvider?.token)\r\n return null;\r\n let injectInstance;\r\n if (injectProvider?.useValue) {\r\n injectInstance = injectProvider.useValue;\r\n }\r\n if (injectProvider?.useFactory) {\r\n const factory = injectProvider.useFactory;\r\n try {\r\n if (TypeSpecifier.isClass(factory)) {\r\n injectInstance = new injectProvider.useFactory();\r\n }\r\n else {\r\n injectInstance = injectProvider.useFactory();\r\n }\r\n }\r\n catch (error) {\r\n console.error('A factory can be either a function or a class.', error);\r\n return null;\r\n }\r\n }\r\n return {\r\n token: injectProvider.token,\r\n instance: injectInstance,\r\n };\r\n }\r\n ;\r\n registerControllers() {\r\n const controllers = this.module.controllers;\r\n if (!controllers)\r\n return;\r\n for (const controller of controllers) {\r\n if (this.controllers.has(controller))\r\n continue;\r\n const dependencyTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, controller);\r\n const dependencies = [];\r\n dependencyTokens?.forEach((dependencyToken) => {\r\n if (!this.providers.has(dependencyToken))\r\n return console.warn(`[WARN] ${dependencyToken} is not provide in`, String(this));\r\n dependencies.push(this.providers.get(dependencyToken));\r\n });\r\n const controllerToken = Reflect.getMetadata(\"controller:prefix\" /* E_TOKENS.CONTROLLER_PREFIX */, controller) || controller;\r\n const controllerInstance = new controller(...dependencies);\r\n this.controllers.set(controllerToken, controllerInstance);\r\n }\r\n }\r\n ;\r\n getController(controllerToken) {\r\n return this.controllers.get(controllerToken);\r\n }\r\n ;\r\n}\r\n\r\nfunction of(mapper) {\r\n const entryList = Array.from(mapper.entries());\r\n return entryList.map((entry) => {\r\n return {\r\n key: entry[0],\r\n value: entry[1],\r\n };\r\n });\r\n}\r\n\r\nclass Pool {\r\n factory;\r\n _pool = new Map();\r\n constructor(factory) {\r\n this.factory = factory;\r\n }\r\n ;\r\n acquire() {\r\n return of(this._pool)\r\n .map(({ value }) => value)\r\n .map(this.factory);\r\n }\r\n ;\r\n release(data) {\r\n this._pool.delete(data);\r\n }\r\n ;\r\n append(data) {\r\n this._pool.set(data, data);\r\n }\r\n ;\r\n}\r\n\r\nclass AuditContainer {\r\n providers = new Map();\r\n providersPool = new Pool((data) => data);\r\n addProviderToPool(type, providerToken) {\r\n this.providersPool.append({\r\n provider: providerToken,\r\n type,\r\n });\r\n }\r\n ;\r\n registerInnerInject(injectProvider) {\r\n this.registerGlobalInject(injectProvider);\r\n }\r\n processProvidersInPool() {\r\n const providers = this.providersPool.acquire();\r\n const providersByType = {\r\n [\"inject\" /* E_PROVIDER_TYPES.INJECT */]: [],\r\n [\"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */]: [],\r\n };\r\n providers.forEach(({ type, provider }) => {\r\n const condition = type === \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */ || type === \"inject\" /* E_PROVIDER_TYPES.INJECT */;\r\n if (condition) {\r\n providersByType[type].push(provider);\r\n }\r\n });\r\n this.dispatchRegisterProviders(providersByType, \"inject\" /* E_PROVIDER_TYPES.INJECT */);\r\n this.dispatchRegisterProviders(providersByType, \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */);\r\n }\r\n ;\r\n dispatchRegisterProviders(providersByType, type) {\r\n providersByType[type].forEach((provider) => {\r\n switch (type) {\r\n case \"inject\" /* E_PROVIDER_TYPES.INJECT */:\r\n this.registerGlobalInject(provider);\r\n break;\r\n case \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */:\r\n this.registerGlobalInjectable(provider);\r\n break;\r\n }\r\n this.providersPool.release(provider);\r\n });\r\n }\r\n ;\r\n registerGlobalInjectable(providerToken) {\r\n if (providerToken?.token) {\r\n if (this.providers.has(providerToken.token))\r\n return this.providers.get(providerToken.token);\r\n }\r\n else {\r\n if (this.providers.has(providerToken))\r\n return this.providers.get(providerToken);\r\n }\r\n const dependencies = [];\r\n const dependenciesTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, providerToken);\r\n const injectTokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, providerToken);\r\n dependenciesTokens?.forEach((dependencyToken, index) => {\r\n const injectToken = injectTokens?.find((injectTokenObject) => injectTokenObject.index === index);\r\n let injectInstance = injectToken || dependencyToken;\r\n const dependency = this.registerGlobalInjectable(injectInstance);\r\n dependencies.push(dependency);\r\n });\r\n const provider = new providerToken(...dependencies);\r\n this.providers.set(providerToken, provider);\r\n return provider;\r\n }\r\n ;\r\n registerGlobalInject(injectProvider) {\r\n let injectInstance;\r\n if (injectProvider?.useValue) {\r\n injectInstance = injectProvider.useValue;\r\n }\r\n if (injectProvider?.useFactory) {\r\n const factory = injectProvider.useFactory;\r\n try {\r\n if (TypeSpecifier.isClass(factory)) {\r\n injectInstance = new injectProvider.useFactory();\r\n }\r\n else {\r\n injectInstance = injectProvider.useFactory();\r\n }\r\n }\r\n catch (error) {\r\n console.error('A factory can be either a function or a class.', error);\r\n return error;\r\n }\r\n }\r\n this.providers.set(injectProvider.token, injectInstance);\r\n }\r\n ;\r\n}\r\n\r\nclass Container extends AuditContainer {\r\n _modules = new Map();\r\n get modules() {\r\n return this._modules;\r\n }\r\n ;\r\n registerModule(module) {\r\n if (this._modules.has(module))\r\n return console.warn(`Module has in Container`);\r\n this.processProvidersInPool();\r\n const moduleInstance = new ModuleRef(this, module);\r\n this._modules.set(module, moduleInstance);\r\n }\r\n ;\r\n getModuleByName(moduleName) {\r\n return of(this._modules).find(({ key }) => moduleName === key.name);\r\n }\r\n ;\r\n getController(prefix) {\r\n return of(this._modules).map(({ value }) => {\r\n return value.getController(prefix);\r\n }).find((controller) => !!controller);\r\n }\r\n ;\r\n findModuleByProviderToken(providerToken) {\r\n let module = null;\r\n this._modules.forEach((moduleRef, moduleClass) => {\r\n if (moduleClass.providers?.includes(providerToken)) {\r\n module = {\r\n token: moduleClass,\r\n reference: moduleRef,\r\n };\r\n }\r\n });\r\n return module;\r\n }\r\n ;\r\n}\r\nconst container = new Container();\r\n\r\nfunction Controller(prefix) {\r\n return (target) => {\r\n Reflect.defineMetadata(\"controller:prefix\" /* E_TOKENS.CONTROLLER_PREFIX */, prefix, target);\r\n };\r\n}\r\n\r\nfunction Module(options) {\r\n return (target) => {\r\n Reflect.defineProperty(target, 'name', {\r\n value: options.name,\r\n writable: false,\r\n configurable: false,\r\n });\r\n Reflect.defineProperty(target, 'controllers', {\r\n value: options.controllers,\r\n writable: false,\r\n configurable: false,\r\n });\r\n Reflect.defineProperty(target, 'providers', {\r\n value: options.providers,\r\n writable: false,\r\n configurable: false,\r\n });\r\n registerProviders(options.providers);\r\n };\r\n}\r\nfunction registerProviders(providers) {\r\n providers?.forEach((provider) => {\r\n const isObjectProvider = typeof provider === 'object' && !!provider?.token;\r\n if (isObjectProvider) {\r\n container.addProviderToPool(\"inject\" /* E_PROVIDER_TYPES.INJECT */, provider);\r\n }\r\n });\r\n}\r\n\r\nfunction Injectable() {\r\n return (target) => {\r\n container.addProviderToPool(\"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */, target);\r\n };\r\n}\r\nfunction Inject(token) {\r\n return (target, _, parameterIndex) => {\r\n const tokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, target) || [];\r\n tokens.push({\r\n index: parameterIndex,\r\n token,\r\n });\r\n Reflect.defineMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, tokens, target);\r\n };\r\n}\r\n\r\nclass AbstractModule {\r\n static name;\r\n static controllers = [];\r\n static providers = [];\r\n}\r\n\r\nclass Queue {\r\n _storage = {};\r\n _oldestIndex = 1;\r\n _newestIndex = 1;\r\n get count() {\r\n return this._newestIndex - this._oldestIndex;\r\n }\r\n enqueue(data) {\r\n this._storage[this._newestIndex] = data;\r\n this._newestIndex++;\r\n }\r\n dequeue() {\r\n const oldestIndex = this._oldestIndex;\r\n const deletedData = this._storage[oldestIndex];\r\n delete this._storage[oldestIndex];\r\n this._oldestIndex++;\r\n return deletedData;\r\n }\r\n toArray() {\r\n return Object.values(this._storage);\r\n }\r\n}\r\n\r\nexport { AbstractModule, Container, Controller, Inject, Injectable, Module, ModuleRef, Queue, TypeSpecifier, container, of };\r\n//# sourceMappingURL=index.esm.js.map\r\n","import 'reflect-metadata';\nimport * as moduleManager from '@savafeed/module-manager';\n\nvar E_DRIVER_CLASSES;\n(function (E_DRIVER_CLASSES) {\n E_DRIVER_CLASSES[\"shopify\"] = \"ShopifyDriver\";\n E_DRIVER_CLASSES[\"woo\"] = \"WooDriver\";\n})(E_DRIVER_CLASSES || (E_DRIVER_CLASSES = {}));\n\nvar E_DRIVER_TOKENS;\n(function (E_DRIVER_TOKENS) {\n E_DRIVER_TOKENS[\"ENVIRONMENTS\"] = \"ENVIRONMENTS\";\n})(E_DRIVER_TOKENS || (E_DRIVER_TOKENS = {}));\n\nvar E_MANDATORY_CONTROLLERS;\n(function (E_MANDATORY_CONTROLLERS) {\n E_MANDATORY_CONTROLLERS[\"LINE_ITEMS\"] = \"line-items\";\n E_MANDATORY_CONTROLLERS[\"PREVIEW\"] = \"preview\";\n E_MANDATORY_CONTROLLERS[\"PRICING\"] = \"pricing\";\n E_MANDATORY_CONTROLLERS[\"RETURN_TO_EDIT\"] = \"return-to-edit\";\n})(E_MANDATORY_CONTROLLERS || (E_MANDATORY_CONTROLLERS = {}));\n\nclass AbstractLineItemsController {\n}\nclass AbstractPricingController {\n}\nclass AbstractPreviewController {\n}\nclass AbstractCheckoutController {\n}\nclass AbstractReturnToEditController {\n}\n\n/*\nfrom https://github.com/substack/vm-browserify/blob/bfd7c5f59edec856dc7efe0b77a4f6b2fa20f226/index.js\n\nMIT license no Copyright holder mentioned\n*/\n\n\nfunction Object_keys(obj) {\n if (Object.keys) return Object.keys(obj)\n else {\n var res = [];\n for (var key in obj) res.push(key);\n return res;\n }\n}\n\nfunction forEach(xs, fn) {\n if (xs.forEach) return xs.forEach(fn)\n else\n for (var i = 0; i < xs.length; i++) {\n fn(xs[i], i, xs);\n }\n}\nvar _defineProp;\n\nfunction defineProp(obj, name, value) {\n if (typeof _defineProp !== 'function') {\n _defineProp = createDefineProp;\n }\n _defineProp(obj, name, value);\n}\n\nfunction createDefineProp() {\n try {\n Object.defineProperty({}, '_', {});\n return function(obj, name, value) {\n Object.defineProperty(obj, name, {\n writable: true,\n enumerable: false,\n configurable: true,\n value: value\n });\n };\n } catch (e) {\n return function(obj, name, value) {\n obj[name] = value;\n };\n }\n}\n\nvar globals = ['Array', 'Boolean', 'Date', 'Error', 'EvalError', 'Function',\n 'Infinity', 'JSON', 'Math', 'NaN', 'Number', 'Object', 'RangeError',\n 'ReferenceError', 'RegExp', 'String', 'SyntaxError', 'TypeError', 'URIError',\n 'decodeURI', 'decodeURIComponent', 'encodeURI', 'encodeURIComponent', 'escape',\n 'eval', 'isFinite', 'isNaN', 'parseFloat', 'parseInt', 'undefined', 'unescape'\n];\n\nfunction Context() {}\nContext.prototype = {};\n\nfunction Script(code) {\n if (!(this instanceof Script)) return new Script(code);\n this.code = code;\n}\nfunction otherRunInContext(code, context) {\n var args = Object_keys(global);\n args.push('with (this.__ctx__){return eval(this.__code__)}');\n var fn = Function.apply(null, args);\n return fn.apply({\n __code__: code,\n __ctx__: context\n });\n}\nScript.prototype.runInContext = function(context) {\n if (!(context instanceof Context)) {\n throw new TypeError('needs a \\'context\\' argument.');\n }\n if (global.document) {\n var iframe = global.document.createElement('iframe');\n if (!iframe.style) iframe.style = {};\n iframe.style.display = 'none';\n\n global.document.body.appendChild(iframe);\n\n var win = iframe.contentWindow;\n var wEval = win.eval,\n wExecScript = win.execScript;\n\n if (!wEval && wExecScript) {\n // win.eval() magically appears when this is called in IE:\n wExecScript.call(win, 'null');\n wEval = win.eval;\n }\n\n forEach(Object_keys(context), function(key) {\n win[key] = context[key];\n });\n forEach(globals, function(key) {\n if (context[key]) {\n win[key] = context[key];\n }\n });\n\n var winKeys = Object_keys(win);\n\n var res = wEval.call(win, this.code);\n\n forEach(Object_keys(win), function(key) {\n // Avoid copying circular objects like `top` and `window` by only\n // updating existing context properties or new properties in the `win`\n // that was only introduced after the eval.\n if (key in context || indexOf(winKeys, key) === -1) {\n context[key] = win[key];\n }\n });\n\n forEach(globals, function(key) {\n if (!(key in context)) {\n defineProp(context, key, win[key]);\n }\n });\n global.document.body.removeChild(iframe);\n\n return res;\n }\n return otherRunInContext(this.code, context);\n};\n\nScript.prototype.runInThisContext = function() {\n var fn = new Function('code', 'return eval(code);');\n return fn.call(global, this.code); // maybe...\n};\n\nScript.prototype.runInNewContext = function(context) {\n var ctx = createContext(context);\n var res = this.runInContext(ctx);\n if (context) {\n forEach(Object_keys(ctx), function(key) {\n context[key] = ctx[key];\n });\n }\n\n return res;\n};\n\nfunction createContext(context) {\n if (isContext(context)) {\n return context;\n }\n var copy = new Context();\n if (typeof context === 'object') {\n forEach(Object_keys(context), function(key) {\n copy[key] = context[key];\n });\n }\n return copy;\n}\nfunction runInContext(code, contextifiedSandbox, options) {\n var script = new Script(code);\n return script.runInContext(contextifiedSandbox, options);\n}\nfunction isContext(context) {\n return context instanceof Context;\n}\n\n\n/*\nfrom indexOf\n@ author tjholowaychuk\n@ license MIT\n*/\nvar _indexOf = [].indexOf;\n\nfunction indexOf(arr, obj){\n if (_indexOf) return arr.indexOf(obj);\n for (var i = 0; i < arr.length; ++i) {\n if (arr[i] === obj) return i;\n }\n return -1;\n}\n\nasync function virtualMachine(code) {\n const context = {\n module: { exports: {} },\n exports: {},\n require: (id) => {\n if (id === '@savafeed/module-manager') {\n return moduleManager;\n }\n throw new Error(`Cannot require('${id}') in this context`);\n },\n console,\n setTimeout,\n setInterval,\n Reflect,\n Promise,\n URL,\n fetch,\n };\n const isNodeJsEnv = typeof document === 'undefined';\n if (isNodeJsEnv) {\n await import('reflect-metadata');\n }\n else {\n // @ts-ignore\n await import('https://unpkg.com/reflect-metadata@0.2.2/Reflect.js');\n }\n context.Reflect = Reflect;\n const sandbox = createContext(context);\n runInContext(code, sandbox);\n const moduleObject = sandbox.exports;\n return moduleObject;\n}\n\nclass DriverProcessor {\n // static CDN: string = 'http://localhost:5000';\n static CDN = 'https://unpkg.com/@savafeed';\n static async getDriverModule(bootstrapOptions) {\n let driverModule;\n if (bootstrapOptions?.default) {\n driverModule = await DriverProcessor.defaultBootstrapDriver(bootstrapOptions.default);\n }\n else if (bootstrapOptions?.custom) {\n driverModule = await DriverProcessor.customBootstrapDriver(bootstrapOptions.custom);\n }\n else {\n throw new Error('Driver not found');\n }\n return driverModule;\n }\n ;\n static async defaultBootstrapDriver(options) {\n if (!options?.name)\n throw new Error(`Unable to get driver by this name: ${options?.name}`);\n const driver = await DriverProcessor.pullDriverByName(options.name, options.scriptType);\n const driverModule = DriverProcessor.exportDriverModule(driver, {\n scriptType: options.scriptType,\n name: options.name,\n });\n return driverModule;\n }\n static async customBootstrapDriver(options) {\n if (!options?.link)\n throw new Error('Driver link not found');\n if (!options?.className)\n throw new Error('Driver class name not found');\n const driver = await DriverProcessor.pullDriverByLink(options.link);\n const driverModule = DriverProcessor.exportDriverModule(driver, {\n scriptType: options.scriptType,\n name: options.className,\n });\n return driverModule;\n }\n static exportDriverModule(driver, options) {\n if (!driver)\n throw new Error('Driver not found');\n const currentScriptType = (!!options.scriptType) ? options.scriptType : 'umd';\n const driverClassName = options.name;\n switch (currentScriptType) {\n case 'esm':\n return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];\n case 'umd':\n return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];\n case 'cjs':\n return driver[E_DRIVER_CLASSES[driverClassName]];\n default:\n throw new Error(`Unknown script type: ${currentScriptType}`);\n }\n }\n static async pullDriverByLink(link) {\n if (!link)\n throw new Error('Driver link not found');\n const response = await fetch(link);\n if (!response?.ok) {\n throw new Error(`Failed to load script from CDN: ${response.statusText}`);\n }\n const scriptContent = await response.text();\n const driver = await virtualMachine(scriptContent);\n return driver;\n }\n ;\n static async pullDriverByName(driverName, scriptType) {\n if (!driverName)\n throw new Error('Driver name not found');\n const currentScriptType = (!!scriptType) ? scriptType : 'umd';\n const link = `${DriverProcessor.CDN}/${driverName}-driver@latest/${driverName}.driver.${currentScriptType}.js`;\n const response = await fetch(link);\n if (!response?.ok) {\n throw new Error(`Failed to load script from CDN: ${response.statusText}`);\n }\n const scriptContent = await response.text();\n const driver = await virtualMachine(scriptContent);\n return driver;\n }\n ;\n}\n\nclass DriverManager {\n appContainer;\n environments;\n constructor(appContainer, environments) {\n this.appContainer = appContainer;\n this.environments = environments;\n if (!!this?.environments?.core) {\n this.setCoreOptions(this.environments.core);\n }\n }\n ;\n async setup() {\n if (this.appContainer.providers.has(E_DRIVER_TOKENS.ENVIRONMENTS)) {\n throw new Error(`Provider with token \"${E_DRIVER_TOKENS.ENVIRONMENTS}\" already exists`);\n }\n this.appContainer.providers.set(E_DRIVER_TOKENS.ENVIRONMENTS, this.environments);\n if (this.environments?.input?.eCommerce) {\n return await this.bootstrapDriver({\n default: {\n name: this.environments?.input?.eCommerce,\n scriptType: this.environments?.input?.driverScriptType,\n },\n });\n }\n else {\n return await this.bootstrapDriver({\n custom: {\n link: this.environments?.input?.driverLink,\n className: this.environments?.input?.driverClassName,\n },\n });\n }\n }\n setCoreOptions(options) {\n if (options?.cdn) {\n DriverProcessor.CDN = options.cdn;\n }\n }\n getController(controllerName) {\n return this.appContainer.getController(controllerName);\n }\n async bootstrapDriver(bootstrapOptions) {\n const driverModule = await DriverProcessor.getDriverModule(bootstrapOptions);\n if (!driverModule) {\n console.error('Driver not found!', driverModule);\n console.warn('Bootstrap options:', bootstrapOptions);\n let stringOptions;\n try {\n stringOptions = JSON.stringify(bootstrapOptions);\n }\n catch (ex) {\n console.warn('Error trying to convert bootstrap parameters to JSON to show in error:', ex);\n stringOptions = String(bootstrapOptions);\n }\n throw new Error(`Driver with options: (${stringOptions}) not found`);\n }\n this.appContainer.registerModule(driverModule);\n return driverModule;\n }\n ;\n}\n\nexport { AbstractCheckoutController, AbstractLineItemsController, AbstractPreviewController, AbstractPricingController, AbstractReturnToEditController, DriverManager, E_DRIVER_CLASSES, E_DRIVER_TOKENS, E_MANDATORY_CONTROLLERS };\n//# sourceMappingURL=index.esm.js.map\n",null,null],"names":[],"mappings":";;;;AAEA,MAAM,aAAa,CAAC;AACpB,IAAI,OAAO,OAAO,CAAC,KAAK,EAAE;AAC1B,QAAQ,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC;AAChD,YAAY,CAAC,aAAa,CAAC,mBAAmB,CAAC,KAAK,CAAC;AACrD,YAAY,aAAa,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE;AACzD,KAAK;AACL,IAAI,OAAO,sBAAsB,CAAC,KAAK,EAAE;AACzC,QAAQ,MAAM,cAAc,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;AAChD,QAAQ,OAAO,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AACpD,KAAK;AACL,IAAI,OAAO,UAAU,CAAC,KAAK,EAAE;AAC7B,QAAQ,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC;AAC3C,KAAK;AACL,IAAI,OAAO,mBAAmB,CAAC,KAAK,EAAE;AACtC,QAAQ,IAAI;AACZ,YAAY,KAAK,EAAE,CAAC;AACpB,YAAY,OAAO,IAAI,CAAC;AACxB,SAAS;AACT,QAAQ,OAAO,KAAK,EAAE;AACtB,YAAY,OAAO,KAAK,CAAC;AACzB,SAAS;AACT,KAAK;AACL,CAAC;AACD;AACA,MAAM,SAAS,CAAC;AAChB,IAAI,eAAe,CAAC;AACpB,IAAI,MAAM,CAAC;AACX,IAAI,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;AAC5B,IAAI,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;AAC1B,IAAI,WAAW,CAAC,eAAe,EAAE,MAAM,EAAE;AACzC,QAAQ,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;AAC/C,QAAQ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;AAC7B,QAAQ,IAAI,CAAC,mBAAmB,mCAAmC,EAAE,CAAC;AACtE,QAAQ,IAAI,CAAC,qBAAqB,oCAAoC,EAAE,CAAC;AACzE,KAAK;AACL;AACA,IAAI,iBAAiB,GAAG;AACxB,QAAQ,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;AAChD,QAAQ,IAAI,CAAC,SAAS;AACtB,YAAY,OAAO;AACnB,QAAQ,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;AAC1C,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;AAC5C,gBAAgB,SAAS;AACzB,YAAY,MAAM,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,mBAAmB,mCAAmC,QAAQ,CAAC,CAAC;AACzH,YAAY,MAAM,YAAY,GAAG,EAAE,CAAC;AACpC,YAAY,gBAAgB,EAAE,OAAO,CAAC,CAAC,eAAe,EAAE,KAAK,KAAK;AAClE,gBAAgB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;AAC7D,oBAAoB,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,eAAe,+BAA+B,QAAQ,CAAC,IAAI,EAAE,CAAC;AAC3H,oBAAoB,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,YAAY,KAAK,YAAY,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;AAC1G,oBAAoB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC;AAC/E,wBAAwB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,WAAW,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;AACtH,oBAAoB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;AAC9F,iBAAiB;AACjB,qBAAqB;AACrB,oBAAoB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC;AAC5E,wBAAwB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,oBAAoB,EAAE,eAAe,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;AAC9H,oBAAoB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;AAC3F,iBAAiB;AACjB,aAAa,CAAC,CAAC;AACf,YAAY,IAAI,aAAa,CAAC;AAC9B,YAAY,IAAI,gBAAgB,CAAC;AACjC,YAAY,IAAI,QAAQ,EAAE,KAAK,EAAE;AACjC,gBAAgB,MAAM,cAAc,GAAG,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;AACpF,gBAAgB,IAAI,CAAC,cAAc;AACnC,oBAAoB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,oCAAoC,EAAE,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;AACzI,gBAAgB,aAAa,GAAG,cAAc,CAAC,KAAK,CAAC;AACrD,gBAAgB,gBAAgB,GAAG,cAAc,CAAC,QAAQ,CAAC;AAC3D,gBAAgB,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AACrF,aAAa;AACb,iBAAiB;AACjB,gBAAgB,aAAa,GAAG,QAAQ,CAAC;AACzC,gBAAgB,gBAAgB,GAAG,IAAI,QAAQ,CAAC,GAAG,YAAY,CAAC,CAAC;AACjE,gBAAgB,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AAC7E,aAAa;AACb,YAAY,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,EAAE,gBAAgB,CAAC,CAAC;AAChE,SAAS;AACT,KAAK;AACL;AACA,IAAI,6BAA6B,CAAC,cAAc,EAAE;AAClD,QAAQ,IAAI,CAAC,cAAc,EAAE,KAAK;AAClC,YAAY,OAAO,IAAI,CAAC;AACxB,QAAQ,IAAI,cAAc,CAAC;AAC3B,QAAQ,IAAI,cAAc,EAAE,QAAQ,EAAE;AACtC,YAAY,cAAc,GAAG,cAAc,CAAC,QAAQ,CAAC;AACrD,SAAS;AACT,QAAQ,IAAI,cAAc,EAAE,UAAU,EAAE;AACxC,YAAY,MAAM,OAAO,GAAG,cAAc,CAAC,UAAU,CAAC;AACtD,YAAY,IAAI;AAChB,gBAAgB,IAAI,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AACpD,oBAAoB,cAAc,GAAG,IAAI,cAAc,CAAC,UAAU,EAAE,CAAC;AACrE,iBAAiB;AACjB,qBAAqB;AACrB,oBAAoB,cAAc,GAAG,cAAc,CAAC,UAAU,EAAE,CAAC;AACjE,iBAAiB;AACjB,aAAa;AACb,YAAY,OAAO,KAAK,EAAE;AAC1B,gBAAgB,OAAO,CAAC,KAAK,CAAC,gDAAgD,EAAE,KAAK,CAAC,CAAC;AACvF,gBAAgB,OAAO,IAAI,CAAC;AAC5B,aAAa;AACb,SAAS;AACT,QAAQ,OAAO;AACf,YAAY,KAAK,EAAE,cAAc,CAAC,KAAK;AACvC,YAAY,QAAQ,EAAE,cAAc;AACpC,SAAS,CAAC;AACV,KAAK;AACL;AACA,IAAI,mBAAmB,GAAG;AAC1B,QAAQ,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;AACpD,QAAQ,IAAI,CAAC,WAAW;AACxB,YAAY,OAAO;AACnB,QAAQ,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;AAC9C,YAAY,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC;AAChD,gBAAgB,SAAS;AACzB,YAAY,MAAM,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,mBAAmB,mCAAmC,UAAU,CAAC,CAAC;AAC3H,YAAY,MAAM,YAAY,GAAG,EAAE,CAAC;AACpC,YAAY,gBAAgB,EAAE,OAAO,CAAC,CAAC,eAAe,KAAK;AAC3D,gBAAgB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC;AACxD,oBAAoB,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,eAAe,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AACrG,gBAAgB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;AACvE,aAAa,CAAC,CAAC;AACf,YAAY,MAAM,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,mBAAmB,mCAAmC,UAAU,CAAC,IAAI,UAAU,CAAC;AACxI,YAAY,MAAM,kBAAkB,GAAG,IAAI,UAAU,CAAC,GAAG,YAAY,CAAC,CAAC;AACvE,YAAY,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;AACtE,SAAS;AACT,KAAK;AACL;AACA,IAAI,aAAa,CAAC,eAAe,EAAE;AACnC,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AACrD,KAAK;AACL;AACA,CAAC;AACD;AACA,SAAS,EAAE,CAAC,MAAM,EAAE;AACpB,IAAI,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;AACnD,IAAI,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK;AACpC,QAAQ,OAAO;AACf,YAAY,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AACzB,YAAY,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AAC3B,SAAS,CAAC;AACV,KAAK,CAAC,CAAC;AACP,CAAC;AACD;AACA,MAAM,IAAI,CAAC;AACX,IAAI,OAAO,CAAC;AACZ,IAAI,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;AACtB,IAAI,WAAW,CAAC,OAAO,EAAE;AACzB,QAAQ,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AAC/B,KAAK;AACL;AACA,IAAI,OAAO,GAAG;AACd,QAAQ,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;AAC7B,aAAa,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,KAAK,CAAC;AACtC,aAAa,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC/B,KAAK;AACL;AACA,IAAI,OAAO,CAAC,IAAI,EAAE;AAClB,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAChC,KAAK;AACL;AACA,IAAI,MAAM,CAAC,IAAI,EAAE;AACjB,QAAQ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACnC,KAAK;AACL;AACA,CAAC;AACD;AACA,MAAM,cAAc,CAAC;AACrB,IAAI,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;AAC1B,IAAI,aAAa,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAC7C,IAAI,iBAAiB,CAAC,IAAI,EAAE,aAAa,EAAE;AAC3C,QAAQ,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;AAClC,YAAY,QAAQ,EAAE,aAAa;AACnC,YAAY,IAAI;AAChB,SAAS,CAAC,CAAC;AACX,KAAK;AACL;AACA,IAAI,mBAAmB,CAAC,cAAc,EAAE;AACxC,QAAQ,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;AAClD,KAAK;AACL,IAAI,sBAAsB,GAAG;AAC7B,QAAQ,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;AACvD,QAAQ,MAAM,eAAe,GAAG;AAChC,YAAY,CAAC,QAAQ,iCAAiC,EAAE;AACxD,YAAY,CAAC,YAAY,qCAAqC,EAAE;AAChE,SAAS,CAAC;AACV,QAAQ,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK;AAClD,YAAY,MAAM,SAAS,GAAG,IAAI,KAAK,YAAY,sCAAsC,IAAI,KAAK,QAAQ,+BAA+B;AACzI,YAAY,IAAI,SAAS,EAAE;AAC3B,gBAAgB,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACrD,aAAa;AACb,SAAS,CAAC,CAAC;AACX,QAAQ,IAAI,CAAC,yBAAyB,CAAC,eAAe,EAAE,QAAQ,+BAA+B,CAAC;AAChG,QAAQ,IAAI,CAAC,yBAAyB,CAAC,eAAe,EAAE,YAAY,mCAAmC,CAAC;AACxG,KAAK;AACL;AACA,IAAI,yBAAyB,CAAC,eAAe,EAAE,IAAI,EAAE;AACrD,QAAQ,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK;AACpD,YAAY,QAAQ,IAAI;AACxB,gBAAgB,KAAK,QAAQ;AAC7B,oBAAoB,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;AACxD,oBAAoB,MAAM;AAC1B,gBAAgB,KAAK,YAAY;AACjC,oBAAoB,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC;AAC5D,oBAAoB,MAAM;AAC1B,aAAa;AACb,YAAY,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AACjD,SAAS,CAAC,CAAC;AACX,KAAK;AACL;AACA,IAAI,wBAAwB,CAAC,aAAa,EAAE;AAC5C,QAAQ,IAAI,aAAa,EAAE,KAAK,EAAE;AAClC,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC;AACvD,gBAAgB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAC/D,SAAS;AACT,aAAa;AACb,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC;AACjD,gBAAgB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;AACzD,SAAS;AACT,QAAQ,MAAM,YAAY,GAAG,EAAE,CAAC;AAChC,QAAQ,MAAM,kBAAkB,GAAG,OAAO,CAAC,WAAW,CAAC,mBAAmB,mCAAmC,aAAa,CAAC,CAAC;AAC5H,QAAQ,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,eAAe,+BAA+B,aAAa,CAAC,CAAC;AAC9G,QAAQ,kBAAkB,EAAE,OAAO,CAAC,CAAC,eAAe,EAAE,KAAK,KAAK;AAChE,YAAY,MAAM,WAAW,GAAG,YAAY,EAAE,IAAI,CAAC,CAAC,iBAAiB,KAAK,iBAAiB,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;AAC7G,YAAY,IAAI,cAAc,GAAG,WAAW,IAAI,eAAe,CAAC;AAChE,YAAY,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC,cAAc,CAAC,CAAC;AAC7E,YAAY,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC1C,SAAS,CAAC,CAAC;AACX,QAAQ,MAAM,QAAQ,GAAG,IAAI,aAAa,CAAC,GAAG,YAAY,CAAC,CAAC;AAC5D,QAAQ,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AACpD,QAAQ,OAAO,QAAQ,CAAC;AACxB,KAAK;AACL;AACA,IAAI,oBAAoB,CAAC,cAAc,EAAE;AACzC,QAAQ,IAAI,cAAc,CAAC;AAC3B,QAAQ,IAAI,cAAc,EAAE,QAAQ,EAAE;AACtC,YAAY,cAAc,GAAG,cAAc,CAAC,QAAQ,CAAC;AACrD,SAAS;AACT,QAAQ,IAAI,cAAc,EAAE,UAAU,EAAE;AACxC,YAAY,MAAM,OAAO,GAAG,cAAc,CAAC,UAAU,CAAC;AACtD,YAAY,IAAI;AAChB,gBAAgB,IAAI,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;AACpD,oBAAoB,cAAc,GAAG,IAAI,cAAc,CAAC,UAAU,EAAE,CAAC;AACrE,iBAAiB;AACjB,qBAAqB;AACrB,oBAAoB,cAAc,GAAG,cAAc,CAAC,UAAU,EAAE,CAAC;AACjE,iBAAiB;AACjB,aAAa;AACb,YAAY,OAAO,KAAK,EAAE;AAC1B,gBAAgB,OAAO,CAAC,KAAK,CAAC,gDAAgD,EAAE,KAAK,CAAC,CAAC;AACvF,gBAAgB,OAAO,KAAK,CAAC;AAC7B,aAAa;AACb,SAAS;AACT,QAAQ,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;AACjE,KAAK;AACL;AACA,CAAC;AACD;AACA,MAAM,SAAS,SAAS,cAAc,CAAC;AACvC,IAAI,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;AACzB,IAAI,IAAI,OAAO,GAAG;AAClB,QAAQ,OAAO,IAAI,CAAC,QAAQ,CAAC;AAC7B,KAAK;AACL;AACA,IAAI,cAAc,CAAC,MAAM,EAAE;AAC3B,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;AACrC,YAAY,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC;AAC3D,QAAQ,IAAI,CAAC,sBAAsB,EAAE,CAAC;AACtC,QAAQ,MAAM,cAAc,GAAG,IAAI,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC3D,QAAQ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AAClD,KAAK;AACL;AACA,IAAI,eAAe,CAAC,UAAU,EAAE;AAChC,QAAQ,OAAO,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,UAAU,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;AAC5E,KAAK;AACL;AACA,IAAI,aAAa,CAAC,MAAM,EAAE;AAC1B,QAAQ,OAAO,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK;AACpD,YAAY,OAAO,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;AAC/C,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC;AAC9C,KAAK;AACL;AACA,IAAI,yBAAyB,CAAC,aAAa,EAAE;AAC7C,QAAQ,IAAI,MAAM,GAAG,IAAI,CAAC;AAC1B,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,WAAW,KAAK;AAC1D,YAAY,IAAI,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,aAAa,CAAC,EAAE;AAChE,gBAAgB,MAAM,GAAG;AACzB,oBAAoB,KAAK,EAAE,WAAW;AACtC,oBAAoB,SAAS,EAAE,SAAS;AACxC,iBAAiB,CAAC;AAClB,aAAa;AACb,SAAS,CAAC,CAAC;AACX,QAAQ,OAAO,MAAM,CAAC;AACtB,KAAK;AACL;AACA,CAAC;AACD,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;AAClC;AACA,SAAS,UAAU,CAAC,MAAM,EAAE;AAC5B,IAAI,OAAO,CAAC,MAAM,KAAK;AACvB,QAAQ,OAAO,CAAC,cAAc,CAAC,mBAAmB,mCAAmC,MAAM,EAAE,MAAM,CAAC,CAAC;AACrG,KAAK,CAAC;AACN,CAAC;AACD;AACA,SAAS,MAAM,CAAC,OAAO,EAAE;AACzB,IAAI,OAAO,CAAC,MAAM,KAAK;AACvB,QAAQ,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE;AAC/C,YAAY,KAAK,EAAE,OAAO,CAAC,IAAI;AAC/B,YAAY,QAAQ,EAAE,KAAK;AAC3B,YAAY,YAAY,EAAE,KAAK;AAC/B,SAAS,CAAC,CAAC;AACX,QAAQ,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE;AACtD,YAAY,KAAK,EAAE,OAAO,CAAC,WAAW;AACtC,YAAY,QAAQ,EAAE,KAAK;AAC3B,YAAY,YAAY,EAAE,KAAK;AAC/B,SAAS,CAAC,CAAC;AACX,QAAQ,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE;AACpD,YAAY,KAAK,EAAE,OAAO,CAAC,SAAS;AACpC,YAAY,QAAQ,EAAE,KAAK;AAC3B,YAAY,YAAY,EAAE,KAAK;AAC/B,SAAS,CAAC,CAAC;AACX,QAAQ,iBAAiB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAC7C,KAAK,CAAC;AACN,CAAC;AACD,SAAS,iBAAiB,CAAC,SAAS,EAAE;AACtC,IAAI,SAAS,EAAE,OAAO,CAAC,CAAC,QAAQ,KAAK;AACrC,QAAQ,MAAM,gBAAgB,GAAG,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC;AACnF,QAAQ,IAAI,gBAAgB,EAAE;AAC9B,YAAY,SAAS,CAAC,iBAAiB,CAAC,QAAQ,gCAAgC,QAAQ,CAAC,CAAC;AAC1F,SAAS;AACT,KAAK,CAAC,CAAC;AACP,CAAC;AACD;AACA,SAAS,UAAU,GAAG;AACtB,IAAI,OAAO,CAAC,MAAM,KAAK;AACvB,QAAQ,SAAS,CAAC,iBAAiB,CAAC,YAAY,oCAAoC,MAAM,CAAC,CAAC;AAC5F,KAAK,CAAC;AACN,CAAC;AACD,SAAS,MAAM,CAAC,KAAK,EAAE;AACvB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,cAAc,KAAK;AAC1C,QAAQ,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,eAAe,+BAA+B,MAAM,CAAC,IAAI,EAAE,CAAC;AACvG,QAAQ,MAAM,CAAC,IAAI,CAAC;AACpB,YAAY,KAAK,EAAE,cAAc;AACjC,YAAY,KAAK;AACjB,SAAS,CAAC,CAAC;AACX,QAAQ,OAAO,CAAC,cAAc,CAAC,eAAe,+BAA+B,MAAM,EAAE,MAAM,CAAC,CAAC;AAC7F,KAAK,CAAC;AACN,CAAC;AACD;AACA,MAAM,cAAc,CAAC;AACrB,IAAI,OAAO,IAAI,CAAC;AAChB,IAAI,OAAO,WAAW,GAAG,EAAE,CAAC;AAC5B,IAAI,OAAO,SAAS,GAAG,EAAE,CAAC;AAC1B,CAAC;AACD;AACA,MAAM,KAAK,CAAC;AACZ,IAAI,QAAQ,GAAG,EAAE,CAAC;AAClB,IAAI,YAAY,GAAG,CAAC,CAAC;AACrB,IAAI,YAAY,GAAG,CAAC,CAAC;AACrB,IAAI,IAAI,KAAK,GAAG;AAChB,QAAQ,OAAO,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;AACrD,KAAK;AACL,IAAI,OAAO,CAAC,IAAI,EAAE;AAClB,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;AAChD,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;AAC5B,KAAK;AACL,IAAI,OAAO,GAAG;AACd,QAAQ,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;AAC9C,QAAQ,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACvD,QAAQ,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAC1C,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;AAC5B,QAAQ,OAAO,WAAW,CAAC;AAC3B,KAAK;AACL,IAAI,OAAO,GAAG;AACd,QAAQ,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC5C,KAAK;AACL;;;;;;;;;;;;;;;;;ACrXA,IAAI,gBAAgB;AACpB,CAAC,UAAU,gBAAgB,EAAE;AAC7B,IAAI,gBAAgB,CAAC,SAAS,CAAC,GAAG,eAAe;AACjD,IAAI,gBAAgB,CAAC,KAAK,CAAC,GAAG,WAAW;AACzC,CAAC,EAAE,gBAAgB,KAAK,gBAAgB,GAAG,EAAE,CAAC,CAAC;;AAE/C,IAAI,eAAe;AACnB,CAAC,UAAU,eAAe,EAAE;AAC5B,IAAI,eAAe,CAAC,cAAc,CAAC,GAAG,cAAc;AACpD,CAAC,EAAE,eAAe,KAAK,eAAe,GAAG,EAAE,CAAC,CAAC;;AAE7C,IAAI,uBAAuB;AAC3B,CAAC,UAAU,uBAAuB,EAAE;AACpC,IAAI,uBAAuB,CAAC,YAAY,CAAC,GAAG,YAAY;AACxD,IAAI,uBAAuB,CAAC,SAAS,CAAC,GAAG,SAAS;AAClD,IAAI,uBAAuB,CAAC,SAAS,CAAC,GAAG,SAAS;AAClD,IAAI,uBAAuB,CAAC,gBAAgB,CAAC,GAAG,gBAAgB;AAChE,CAAC,EAAE,uBAAuB,KAAK,uBAAuB,GAAG,EAAE,CAAC,CAAC;;AAa7D;AACA;;AAEA;AACA;;;AAGA,SAAS,WAAW,CAAC,GAAG,EAAE;AAC1B,EAAE,IAAI,MAAM,CAAC,IAAI,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG;AACzC,OAAO;AACP,IAAI,IAAI,GAAG,GAAG,EAAE;AAChB,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;AACtC,IAAI,OAAO,GAAG;AACd;AACA;;AAEA,SAAS,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE;AACzB,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE;AACtC;AACA,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACxC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;AACtB;AACA;AACA,IAAI,WAAW;;AAEf,SAAS,UAAU,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE;AACtC,EAAE,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE;AACzC,IAAI,WAAW,GAAG,gBAAgB;AAClC;AACA,EAAE,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC;AAC/B;;AAEA,SAAS,gBAAgB,GAAG;AAC5B,EAAE,IAAI;AACN,IAAI,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;AACtC,IAAI,OAAO,SAAS,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE;AACtC,MAAM,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE;AACvC,QAAQ,QAAQ,EAAE,IAAI;AACtB,QAAQ,UAAU,EAAE,KAAK;AACzB,QAAQ,YAAY,EAAE,IAAI;AAC1B,QAAQ,KAAK,EAAE;AACf,OAAO,CAAC;AACR,KAAK;AACL,GAAG,CAAC,OAAO,CAAC,EAAE;AACd,IAAI,OAAO,SAAS,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE;AACtC,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK;AACvB,KAAK;AACL;AACA;;AAEA,IAAI,OAAO,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU;AAC3E,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY;AACrE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU;AAC9E,EAAE,WAAW,EAAE,oBAAoB,EAAE,WAAW,EAAE,oBAAoB,EAAE,QAAQ;AAChF,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE;AACtE,CAAC;;AAED,SAAS,OAAO,GAAG;AACnB,OAAO,CAAC,SAAS,GAAG,EAAE;;AAEtB,SAAS,MAAM,CAAC,IAAI,EAAE;AACtB,EAAE,IAAI,EAAE,IAAI,YAAY,MAAM,CAAC,EAAE,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC;AACxD,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI;AAClB;AACA,SAAS,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE;AAC1C,EAAE,IAAI,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC;AAChC,EAAE,IAAI,CAAC,IAAI,CAAC,iDAAiD,CAAC;AAC9D,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC;AACrC,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC;AAClB,IAAI,QAAQ,EAAE,IAAI;AAClB,IAAI,OAAO,EAAE;AACb,GAAG,CAAC;AACJ;AACA,MAAM,CAAC,SAAS,CAAC,YAAY,GAAG,SAAS,OAAO,EAAE;AAClD,EAAE,IAAI,EAAE,OAAO,YAAY,OAAO,CAAC,EAAE;AACrC,IAAI,MAAM,IAAI,SAAS,CAAC,+BAA+B,CAAC;AACxD;AACA,EAAE,IAAI,MAAM,CAAC,QAAQ,EAAE;AACvB,IAAI,IAAI,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC;AACxD,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,EAAE;AACxC,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM;;AAEjC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;;AAE5C,IAAI,IAAI,GAAG,GAAG,MAAM,CAAC,aAAa;AAClC,IAAI,IAAI,KAAK,GAAG,GAAG,CAAC,IAAI;AACxB,MAAM,WAAW,GAAG,GAAG,CAAC,UAAU;;AAElC,IAAI,IAAI,CAAC,KAAK,IAAI,WAAW,EAAE;AAC/B;AACA,MAAM,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC;AACnC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI;AACtB;;AAEA,IAAI,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,EAAE;AAChD,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;AAC7B,KAAK,CAAC;AACN,IAAI,OAAO,CAAC,OAAO,EAAE,SAAS,GAAG,EAAE;AACnC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE;AACxB,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;AAC/B;AACA,KAAK,CAAC;;AAEN,IAAI,IAAI,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC;;AAElC,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC;;AAExC,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,SAAS,GAAG,EAAE;AAC5C;AACA;AACA;AACA,MAAM,IAAI,GAAG,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE;AAC1D,QAAQ,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;AAC/B;AACA,KAAK,CAAC;;AAEN,IAAI,OAAO,CAAC,OAAO,EAAE,SAAS,GAAG,EAAE;AACnC,MAAM,IAAI,EAAE,GAAG,IAAI,OAAO,CAAC,EAAE;AAC7B,QAAQ,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;AAC1C;AACA,KAAK,CAAC;AACN,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;;AAE5C,IAAI,OAAO,GAAG;AACd;AACA,EAAE,OAAO,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;AAC9C,CAAC;;AAED,MAAM,CAAC,SAAS,CAAC,gBAAgB,GAAG,WAAW;AAC/C,EAAE,IAAI,EAAE,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;AACrD,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;;AAED,MAAM,CAAC,SAAS,CAAC,eAAe,GAAG,SAAS,OAAO,EAAE;AACrD,EAAE,IAAI,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC;AAClC,EAAE,IAAI,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;AAClC,EAAE,IAAI,OAAO,EAAE;AACf,IAAI,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,SAAS,GAAG,EAAE;AAC5C,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;AAC7B,KAAK,CAAC;AACN;;AAEA,EAAE,OAAO,GAAG;AACZ,CAAC;;AAED,SAAS,aAAa,CAAC,OAAO,EAAE;AAChC,EAAE,IAAI,SAAS,CAAC,OAAO,CAAC,EAAE;AAC1B,IAAI,OAAO,OAAO;AAClB;AACA,EAAE,IAAI,IAAI,GAAG,IAAI,OAAO,EAAE;AAC1B,EAAE,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AACnC,IAAI,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,SAAS,GAAG,EAAE;AAChD,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;AAC9B,KAAK,CAAC;AACN;AACA,EAAE,OAAO,IAAI;AACb;AACA,SAAS,YAAY,CAAC,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE;AAC1D,EAAE,IAAI,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC;AAC/B,EAAE,OAAO,MAAM,CAAC,YAAY,CAAC,mBAAmB,EAAE,OAAO,CAAC;AAC1D;AACA,SAAS,SAAS,CAAC,OAAO,EAAE;AAC5B,EAAE,OAAO,OAAO,YAAY,OAAO;AACnC;;;AAGA;AACA;AACA;AACA;AACA;AACA,IAAI,QAAQ,GAAG,EAAE,CAAC,OAAO;;AAEzB,SAAS,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC;AAC1B,EAAE,IAAI,QAAQ,EAAE,OAAO,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC;AACvC,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;AACvC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,OAAO,CAAC;AAChC;AACA,EAAE,OAAO,EAAE;AACX;;AAEA,eAAe,cAAc,CAAC,IAAI,EAAE;AACpC,IAAI,MAAM,OAAO,GAAG;AACpB,QAAQ,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;AAC/B,QAAQ,OAAO,EAAE,EAAE;AACnB,QAAQ,OAAO,EAAE,CAAC,EAAE,KAAK;AACzB,YAAY,IAAI,EAAE,KAAK,0BAA0B,EAAE;AACnD,gBAAgB,OAAO,aAAa;AACpC;AACA,YAAY,MAAM,IAAI,KAAK,CAAC,CAAC,gBAAgB,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC;AACtE,SAAS;AACT,QAAQ,OAAO;AACf,QAAQ,UAAU;AAClB,QAAQ,WAAW;AACnB,QAAQ,OAAO;AACf,QAAQ,OAAO;AACf,QAAQ,GAAG;AACX,QAAQ,KAAK;AACb,KAAK;AACL,IAAI,MAAM,WAAW,GAAG,OAAO,QAAQ,KAAK,WAAW;AACvD,IAAI,IAAI,WAAW,EAAE;AACrB,QAAQ,MAAM,OAAO,kBAAkB,CAAC;AACxC;AACA,SAAS;AACT;AACA,QAAQ,MAAM,OAAO,qDAAqD,CAAC;AAC3E;AACA,IAAI,OAAO,CAAC,OAAO,GAAG,OAAO;AAC7B,IAAI,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;AAC1C,IAAI,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC;AAC/B,IAAI,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO;AACxC,IAAI,OAAO,YAAY;AACvB;;AAEA,MAAM,eAAe,CAAC;AACtB;AACA,IAAI,OAAO,GAAG,GAAG,6BAA6B;AAC9C,IAAI,aAAa,eAAe,CAAC,gBAAgB,EAAE;AACnD,QAAQ,IAAI,YAAY;AACxB,QAAQ,IAAI,gBAAgB,EAAE,OAAO,EAAE;AACvC,YAAY,YAAY,GAAG,MAAM,eAAe,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,OAAO,CAAC;AACjG;AACA,aAAa,IAAI,gBAAgB,EAAE,MAAM,EAAE;AAC3C,YAAY,YAAY,GAAG,MAAM,eAAe,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,MAAM,CAAC;AAC/F;AACA,aAAa;AACb,YAAY,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC;AAC/C;AACA,QAAQ,OAAO,YAAY;AAC3B;AACA;AACA,IAAI,aAAa,sBAAsB,CAAC,OAAO,EAAE;AACjD,QAAQ,IAAI,CAAC,OAAO,EAAE,IAAI;AAC1B,YAAY,MAAM,IAAI,KAAK,CAAC,CAAC,mCAAmC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AAClF,QAAQ,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC;AAC/F,QAAQ,MAAM,YAAY,GAAG,eAAe,CAAC,kBAAkB,CAAC,MAAM,EAAE;AACxE,YAAY,UAAU,EAAE,OAAO,CAAC,UAAU;AAC1C,YAAY,IAAI,EAAE,OAAO,CAAC,IAAI;AAC9B,SAAS,CAAC;AACV,QAAQ,OAAO,YAAY;AAC3B;AACA,IAAI,aAAa,qBAAqB,CAAC,OAAO,EAAE;AAChD,QAAQ,IAAI,CAAC,OAAO,EAAE,IAAI;AAC1B,YAAY,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC;AACpD,QAAQ,IAAI,CAAC,OAAO,EAAE,SAAS;AAC/B,YAAY,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC;AAC1D,QAAQ,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC;AAC3E,QAAQ,MAAM,YAAY,GAAG,eAAe,CAAC,kBAAkB,CAAC,MAAM,EAAE;AACxE,YAAY,UAAU,EAAE,OAAO,CAAC,UAAU;AAC1C,YAAY,IAAI,EAAE,OAAO,CAAC,SAAS;AACnC,SAAS,CAAC;AACV,QAAQ,OAAO,YAAY;AAC3B;AACA,IAAI,OAAO,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE;AAC/C,QAAQ,IAAI,CAAC,MAAM;AACnB,YAAY,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC;AAC/C,QAAQ,MAAM,iBAAiB,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,GAAG,KAAK;AACrF,QAAQ,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI;AAC5C,QAAQ,QAAQ,iBAAiB;AACjC,YAAY,KAAK,KAAK;AACtB,gBAAgB,OAAO,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,IAAI,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;AACtH,YAAY,KAAK,KAAK;AACtB,gBAAgB,OAAO,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,IAAI,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;AACtH,YAAY,KAAK,KAAK;AACtB,gBAAgB,OAAO,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC;AAChE,YAAY;AACZ,gBAAgB,MAAM,IAAI,KAAK,CAAC,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,CAAC,CAAC;AAC5E;AACA;AACA,IAAI,aAAa,gBAAgB,CAAC,IAAI,EAAE;AACxC,QAAQ,IAAI,CAAC,IAAI;AACjB,YAAY,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC;AACpD,QAAQ,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC;AAC1C,QAAQ,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE;AAC3B,YAAY,MAAM,IAAI,KAAK,CAAC,CAAC,gCAAgC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;AACrF;AACA,QAAQ,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;AACnD,QAAQ,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,aAAa,CAAC;AAC1D,QAAQ,OAAO,MAAM;AACrB;AACA;AACA,IAAI,aAAa,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE;AAC1D,QAAQ,IAAI,CAAC,UAAU;AACvB,YAAY,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC;AACpD,QAAQ,MAAM,iBAAiB,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,UAAU,GAAG,KAAK;AACrE,QAAQ,MAAM,IAAI,GAAG,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,eAAe,EAAE,UAAU,CAAC,QAAQ,EAAE,iBAAiB,CAAC,GAAG,CAAC;AACtH,QAAQ,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC;AAC1C,QAAQ,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE;AAC3B,YAAY,MAAM,IAAI,KAAK,CAAC,CAAC,gCAAgC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;AACrF;AACA,QAAQ,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;AACnD,QAAQ,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,aAAa,CAAC;AAC1D,QAAQ,OAAO,MAAM;AACrB;AACA;AACA;;AAEA,MAAM,aAAa,CAAC;AACpB,IAAI,YAAY;AAChB,IAAI,YAAY;AAChB,IAAI,WAAW,CAAC,YAAY,EAAE,YAAY,EAAE;AAC5C,QAAQ,IAAI,CAAC,YAAY,GAAG,YAAY;AACxC,QAAQ,IAAI,CAAC,YAAY,GAAG,YAAY;AACxC,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE;AACxC,YAAY,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AACvD;AACA;AACA;AACA,IAAI,MAAM,KAAK,GAAG;AAClB,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE;AAC3E,YAAY,MAAM,IAAI,KAAK,CAAC,CAAC,qBAAqB,EAAE,eAAe,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;AACnG;AACA,QAAQ,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC;AACxF,QAAQ,IAAI,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE;AACjD,YAAY,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC;AAC9C,gBAAgB,OAAO,EAAE;AACzB,oBAAoB,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,SAAS;AAC7D,oBAAoB,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,gBAAgB;AAC1E,iBAAiB;AACjB,aAAa,CAAC;AACd;AACA,aAAa;AACb,YAAY,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC;AAC9C,gBAAgB,MAAM,EAAE;AACxB,oBAAoB,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,UAAU;AAC9D,oBAAoB,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,eAAe;AACxE,iBAAiB;AACjB,aAAa,CAAC;AACd;AACA;AACA,IAAI,cAAc,CAAC,OAAO,EAAE;AAC5B,QAAQ,IAAI,OAAO,EAAE,GAAG,EAAE;AAC1B,YAAY,eAAe,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG;AAC7C;AACA;AACA,IAAI,aAAa,CAAC,cAAc,EAAE;AAClC,QAAQ,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,cAAc,CAAC;AAC9D;AACA,IAAI,MAAM,eAAe,CAAC,gBAAgB,EAAE;AAC5C,QAAQ,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,eAAe,CAAC,gBAAgB,CAAC;AACpF,QAAQ,IAAI,CAAC,YAAY,EAAE;AAC3B,YAAY,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,YAAY,CAAC;AAC5D,YAAY,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,gBAAgB,CAAC;AAChE,YAAY,IAAI,aAAa;AAC7B,YAAY,IAAI;AAChB,gBAAgB,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;AAChE;AACA,YAAY,OAAO,EAAE,EAAE;AACvB,gBAAgB,OAAO,CAAC,IAAI,CAAC,wEAAwE,EAAE,EAAE,CAAC;AAC1G,gBAAgB,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACxD;AACA,YAAY,MAAM,IAAI,KAAK,CAAC,CAAC,sBAAsB,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;AAChF;AACA,QAAQ,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,YAAY,CAAC;AACtD,QAAQ,OAAO,YAAY;AAC3B;AACA;AACA;;MCtYa,WAAW,CAAA;AACf,IAAA,WAAW,QAAQ,GAAA;AACxB,QAAA,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;AACnC,YAAA,OAAO,QAAQ;;AAEjB,QAAA,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE;AACrC,YAAA,MAAM,kBAAkB,GAAG,UAAU,CAAC,QAAQ;AAC9C,YAAA,IAAI,OAAO,kBAAkB,KAAK,WAAW,EAAE;AAC7C,gBAAA,OAAO,kBAAkB;;iBACpB;AACL,gBAAA,OAAO,IAAI;;;AAGf,QAAA,OAAO,IAAI;;AAGN,IAAA,WAAW,MAAM,GAAA;AACtB,QAAA,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;AACjC,YAAA,OAAO,MAAM;;AAEf,QAAA,IAAI,OAAO,UAAU,KAAK,WAAW,EAAE;AACrC,YAAA,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM;AAC1C,YAAA,IAAI,OAAO,gBAAgB,KAAK,WAAW,EAAE;AAC3C,gBAAA,OAAO,gBAAgB;;iBAClB;AACL,gBAAA,OAAO,IAAI;;;AAGf,QAAA,OAAO,IAAI;;AAEd;;ACxBD,MAAM,OAAO,CAAA;AAMD,IAAA,YAAA;IALF,YAAY,GAAc,SAAS;AACnC,IAAA,aAAa;AACb,IAAA,WAAW,GAA8E,IAAI,GAAG,EAAE;AAE1G,IAAA,WAAA,CACU,YAA2B,EAAA;QAA3B,IAAY,CAAA,YAAA,GAAZ,YAAY;AAEpB,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CACpC,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,YAAY,CAClB;;;AAGH,IAAA,MAAM,SAAS,GAAA;AACb,QAAA,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK;AAClC,aAAA,IAAI,CAAC,CAAC,MAAM,KAAI;YACf,IAAI,CAAC,8BAA8B,EAAE;AACrC,YAAA,OAAO,MAAM;AACf,SAAC,CAAC;;AAGC,IAAA,aAAa,CAAiD,cAA8B,EAAA;QACjG,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,CAAuC;;IAG3E,8BAA8B,GAAA;AACpC,QAAA,MAAM,oBAAoB,GAAG;AAC3B,YAAA,uBAAuB,CAAC,UAAU;AAClC,YAAA,uBAAuB,CAAC,OAAO;AAC/B,YAAA,uBAAuB,CAAC,OAAO;AAC/B,YAAA,uBAAuB,CAAC,cAAc;SACvC;AAED,QAAA,oBAAoB,CAAC,OAAO,CAAC,CAAC,cAAc,KAAI;YAC9C,MAAM,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,cAAc,CAAC;YAC3E,IAAI,CAAC,kBAAkB,EAAE;AACvB,gBAAA,MAAM,IAAI,KAAK,CAAC,yBAAyB,cAAc,CAAA,WAAA,CAAa,CAAC;;YAEvE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC;AAC1D,SAAC,CAAC;;AAEL;AAED,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM;AAClC,IAAI,OAAO,EAAE;;AAEX,IAAA,OAAO,CAAC,OAAO,GAAG,OAAO;AAC3B;;;;","x_google_ignoreList":[0,1]}
|
package/dist/cart-api-sdk.esm.js
CHANGED
@@ -410,17 +410,6 @@ var E_MANDATORY_CONTROLLERS;
|
|
410
410
|
E_MANDATORY_CONTROLLERS["RETURN_TO_EDIT"] = "return-to-edit";
|
411
411
|
})(E_MANDATORY_CONTROLLERS || (E_MANDATORY_CONTROLLERS = {}));
|
412
412
|
|
413
|
-
class AbstractLineItemsController {
|
414
|
-
}
|
415
|
-
class AbstractPricingController {
|
416
|
-
}
|
417
|
-
class AbstractPreviewController {
|
418
|
-
}
|
419
|
-
class AbstractCheckoutController {
|
420
|
-
}
|
421
|
-
class AbstractReturnToEditController {
|
422
|
-
}
|
423
|
-
|
424
413
|
/*
|
425
414
|
from https://github.com/substack/vm-browserify/blob/bfd7c5f59edec856dc7efe0b77a4f6b2fa20f226/index.js
|
426
415
|
|
@@ -855,5 +844,5 @@ if ($window) {
|
|
855
844
|
$window.CartSDK = CartSDK;
|
856
845
|
}
|
857
846
|
|
858
|
-
export {
|
847
|
+
export { CartSDK };
|
859
848
|
//# sourceMappingURL=cart-api-sdk.esm.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"cart-api-sdk.esm.js","sources":["../node_modules/@savafeed/module-manager/dist/index.esm.js","../node_modules/@savafeed/driver-manager/dist/index.esm.js","../src/polyfills/dom.ts","../src/index.ts"],"sourcesContent":["import 'reflect-metadata';\r\n\r\nclass TypeSpecifier {\r\n static isClass(input) {\r\n return (!TypeSpecifier.isFunction(input) &&\r\n !TypeSpecifier.isFunctionByTryCall(input) &&\r\n TypeSpecifier.isClassByStringLiteral(input));\r\n }\r\n static isClassByStringLiteral(input) {\r\n const functionString = input.toString();\r\n return !!functionString.startsWith('class');\r\n }\r\n static isFunction(input) {\r\n return typeof input !== 'function';\r\n }\r\n static isFunctionByTryCall(input) {\r\n try {\r\n input();\r\n return true;\r\n }\r\n catch (error) {\r\n return false;\r\n }\r\n }\r\n}\r\n\r\nclass ModuleRef {\r\n parentContainer;\r\n module;\r\n controllers = new Map();\r\n providers = new Map();\r\n constructor(parentContainer, module) {\r\n this.parentContainer = parentContainer;\r\n this.module = module;\r\n this[\"registerProviders\" /* E_REGISTER_CALL_ORDER.first */]();\r\n this[\"registerControllers\" /* E_REGISTER_CALL_ORDER.second */]();\r\n }\r\n ;\r\n registerProviders() {\r\n const providers = this.module.providers;\r\n if (!providers)\r\n return;\r\n for (const provider of providers) {\r\n if (this.providers.has(provider))\r\n continue;\r\n const dependencyTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, provider);\r\n const dependencies = [];\r\n dependencyTokens?.forEach((dependencyToken, index) => {\r\n if (!TypeSpecifier.isClass(dependencyToken)) {\r\n const injectTokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, provider) || [];\r\n const injectToken = injectTokens.find((injectObject) => injectObject.index === index);\r\n if (!this.parentContainer.providers.has(injectToken?.token))\r\n return console.warn(`[WARN] (Inject) ${injectToken} is not provide in`, this.parentContainer);\r\n dependencies.push(this.parentContainer.providers.get(injectToken?.token));\r\n }\r\n else {\r\n if (!this.parentContainer.providers.has(dependencyToken))\r\n return console.warn(`[WARN] (Injectable) ${dependencyToken} is not provide in`, this.parentContainer);\r\n dependencies.push(this.parentContainer.providers.get(dependencyToken));\r\n }\r\n });\r\n let providerToken;\r\n let providerInstance;\r\n if (provider?.token) {\r\n const injectProvider = this.getInjectProviderWithInstance(provider);\r\n if (!injectProvider)\r\n return console.warn(`[WARN] Provider type is not Inject. ${provider.token} is not provide in`, this.parentContainer);\r\n providerToken = injectProvider.token;\r\n providerInstance = injectProvider.instance;\r\n Reflect.defineMetadata(providerToken, providerInstance, this.module);\r\n }\r\n else {\r\n providerToken = provider;\r\n providerInstance = new provider(...dependencies);\r\n Reflect.defineMetadata(providerToken, provider, this.module);\r\n }\r\n this.providers.set(providerToken, providerInstance);\r\n }\r\n }\r\n ;\r\n getInjectProviderWithInstance(injectProvider) {\r\n if (!injectProvider?.token)\r\n return null;\r\n let injectInstance;\r\n if (injectProvider?.useValue) {\r\n injectInstance = injectProvider.useValue;\r\n }\r\n if (injectProvider?.useFactory) {\r\n const factory = injectProvider.useFactory;\r\n try {\r\n if (TypeSpecifier.isClass(factory)) {\r\n injectInstance = new injectProvider.useFactory();\r\n }\r\n else {\r\n injectInstance = injectProvider.useFactory();\r\n }\r\n }\r\n catch (error) {\r\n console.error('A factory can be either a function or a class.', error);\r\n return null;\r\n }\r\n }\r\n return {\r\n token: injectProvider.token,\r\n instance: injectInstance,\r\n };\r\n }\r\n ;\r\n registerControllers() {\r\n const controllers = this.module.controllers;\r\n if (!controllers)\r\n return;\r\n for (const controller of controllers) {\r\n if (this.controllers.has(controller))\r\n continue;\r\n const dependencyTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, controller);\r\n const dependencies = [];\r\n dependencyTokens?.forEach((dependencyToken) => {\r\n if (!this.providers.has(dependencyToken))\r\n return console.warn(`[WARN] ${dependencyToken} is not provide in`, String(this));\r\n dependencies.push(this.providers.get(dependencyToken));\r\n });\r\n const controllerToken = Reflect.getMetadata(\"controller:prefix\" /* E_TOKENS.CONTROLLER_PREFIX */, controller) || controller;\r\n const controllerInstance = new controller(...dependencies);\r\n this.controllers.set(controllerToken, controllerInstance);\r\n }\r\n }\r\n ;\r\n getController(controllerToken) {\r\n return this.controllers.get(controllerToken);\r\n }\r\n ;\r\n}\r\n\r\nfunction of(mapper) {\r\n const entryList = Array.from(mapper.entries());\r\n return entryList.map((entry) => {\r\n return {\r\n key: entry[0],\r\n value: entry[1],\r\n };\r\n });\r\n}\r\n\r\nclass Pool {\r\n factory;\r\n _pool = new Map();\r\n constructor(factory) {\r\n this.factory = factory;\r\n }\r\n ;\r\n acquire() {\r\n return of(this._pool)\r\n .map(({ value }) => value)\r\n .map(this.factory);\r\n }\r\n ;\r\n release(data) {\r\n this._pool.delete(data);\r\n }\r\n ;\r\n append(data) {\r\n this._pool.set(data, data);\r\n }\r\n ;\r\n}\r\n\r\nclass AuditContainer {\r\n providers = new Map();\r\n providersPool = new Pool((data) => data);\r\n addProviderToPool(type, providerToken) {\r\n this.providersPool.append({\r\n provider: providerToken,\r\n type,\r\n });\r\n }\r\n ;\r\n registerInnerInject(injectProvider) {\r\n this.registerGlobalInject(injectProvider);\r\n }\r\n processProvidersInPool() {\r\n const providers = this.providersPool.acquire();\r\n const providersByType = {\r\n [\"inject\" /* E_PROVIDER_TYPES.INJECT */]: [],\r\n [\"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */]: [],\r\n };\r\n providers.forEach(({ type, provider }) => {\r\n const condition = type === \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */ || type === \"inject\" /* E_PROVIDER_TYPES.INJECT */;\r\n if (condition) {\r\n providersByType[type].push(provider);\r\n }\r\n });\r\n this.dispatchRegisterProviders(providersByType, \"inject\" /* E_PROVIDER_TYPES.INJECT */);\r\n this.dispatchRegisterProviders(providersByType, \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */);\r\n }\r\n ;\r\n dispatchRegisterProviders(providersByType, type) {\r\n providersByType[type].forEach((provider) => {\r\n switch (type) {\r\n case \"inject\" /* E_PROVIDER_TYPES.INJECT */:\r\n this.registerGlobalInject(provider);\r\n break;\r\n case \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */:\r\n this.registerGlobalInjectable(provider);\r\n break;\r\n }\r\n this.providersPool.release(provider);\r\n });\r\n }\r\n ;\r\n registerGlobalInjectable(providerToken) {\r\n if (providerToken?.token) {\r\n if (this.providers.has(providerToken.token))\r\n return this.providers.get(providerToken.token);\r\n }\r\n else {\r\n if (this.providers.has(providerToken))\r\n return this.providers.get(providerToken);\r\n }\r\n const dependencies = [];\r\n const dependenciesTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, providerToken);\r\n const injectTokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, providerToken);\r\n dependenciesTokens?.forEach((dependencyToken, index) => {\r\n const injectToken = injectTokens?.find((injectTokenObject) => injectTokenObject.index === index);\r\n let injectInstance = injectToken || dependencyToken;\r\n const dependency = this.registerGlobalInjectable(injectInstance);\r\n dependencies.push(dependency);\r\n });\r\n const provider = new providerToken(...dependencies);\r\n this.providers.set(providerToken, provider);\r\n return provider;\r\n }\r\n ;\r\n registerGlobalInject(injectProvider) {\r\n let injectInstance;\r\n if (injectProvider?.useValue) {\r\n injectInstance = injectProvider.useValue;\r\n }\r\n if (injectProvider?.useFactory) {\r\n const factory = injectProvider.useFactory;\r\n try {\r\n if (TypeSpecifier.isClass(factory)) {\r\n injectInstance = new injectProvider.useFactory();\r\n }\r\n else {\r\n injectInstance = injectProvider.useFactory();\r\n }\r\n }\r\n catch (error) {\r\n console.error('A factory can be either a function or a class.', error);\r\n return error;\r\n }\r\n }\r\n this.providers.set(injectProvider.token, injectInstance);\r\n }\r\n ;\r\n}\r\n\r\nclass Container extends AuditContainer {\r\n _modules = new Map();\r\n get modules() {\r\n return this._modules;\r\n }\r\n ;\r\n registerModule(module) {\r\n if (this._modules.has(module))\r\n return console.warn(`Module has in Container`);\r\n this.processProvidersInPool();\r\n const moduleInstance = new ModuleRef(this, module);\r\n this._modules.set(module, moduleInstance);\r\n }\r\n ;\r\n getModuleByName(moduleName) {\r\n return of(this._modules).find(({ key }) => moduleName === key.name);\r\n }\r\n ;\r\n getController(prefix) {\r\n return of(this._modules).map(({ value }) => {\r\n return value.getController(prefix);\r\n }).find((controller) => !!controller);\r\n }\r\n ;\r\n findModuleByProviderToken(providerToken) {\r\n let module = null;\r\n this._modules.forEach((moduleRef, moduleClass) => {\r\n if (moduleClass.providers?.includes(providerToken)) {\r\n module = {\r\n token: moduleClass,\r\n reference: moduleRef,\r\n };\r\n }\r\n });\r\n return module;\r\n }\r\n ;\r\n}\r\nconst container = new Container();\r\n\r\nfunction Controller(prefix) {\r\n return (target) => {\r\n Reflect.defineMetadata(\"controller:prefix\" /* E_TOKENS.CONTROLLER_PREFIX */, prefix, target);\r\n };\r\n}\r\n\r\nfunction Module(options) {\r\n return (target) => {\r\n Reflect.defineProperty(target, 'name', {\r\n value: options.name,\r\n writable: false,\r\n configurable: false,\r\n });\r\n Reflect.defineProperty(target, 'controllers', {\r\n value: options.controllers,\r\n writable: false,\r\n configurable: false,\r\n });\r\n Reflect.defineProperty(target, 'providers', {\r\n value: options.providers,\r\n writable: false,\r\n configurable: false,\r\n });\r\n registerProviders(options.providers);\r\n };\r\n}\r\nfunction registerProviders(providers) {\r\n providers?.forEach((provider) => {\r\n const isObjectProvider = typeof provider === 'object' && !!provider?.token;\r\n if (isObjectProvider) {\r\n container.addProviderToPool(\"inject\" /* E_PROVIDER_TYPES.INJECT */, provider);\r\n }\r\n });\r\n}\r\n\r\nfunction Injectable() {\r\n return (target) => {\r\n container.addProviderToPool(\"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */, target);\r\n };\r\n}\r\nfunction Inject(token) {\r\n return (target, _, parameterIndex) => {\r\n const tokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, target) || [];\r\n tokens.push({\r\n index: parameterIndex,\r\n token,\r\n });\r\n Reflect.defineMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, tokens, target);\r\n };\r\n}\r\n\r\nclass AbstractModule {\r\n static name;\r\n static controllers = [];\r\n static providers = [];\r\n}\r\n\r\nclass Queue {\r\n _storage = {};\r\n _oldestIndex = 1;\r\n _newestIndex = 1;\r\n get count() {\r\n return this._newestIndex - this._oldestIndex;\r\n }\r\n enqueue(data) {\r\n this._storage[this._newestIndex] = data;\r\n this._newestIndex++;\r\n }\r\n dequeue() {\r\n const oldestIndex = this._oldestIndex;\r\n const deletedData = this._storage[oldestIndex];\r\n delete this._storage[oldestIndex];\r\n this._oldestIndex++;\r\n return deletedData;\r\n }\r\n toArray() {\r\n return Object.values(this._storage);\r\n }\r\n}\r\n\r\nexport { AbstractModule, Container, Controller, Inject, Injectable, Module, ModuleRef, Queue, TypeSpecifier, container, of };\r\n//# sourceMappingURL=index.esm.js.map\r\n","import 'reflect-metadata';\nimport * as moduleManager from '@savafeed/module-manager';\n\nvar E_DRIVER_CLASSES;\n(function (E_DRIVER_CLASSES) {\n E_DRIVER_CLASSES[\"shopify\"] = \"ShopifyDriver\";\n E_DRIVER_CLASSES[\"woo\"] = \"WooDriver\";\n})(E_DRIVER_CLASSES || (E_DRIVER_CLASSES = {}));\n\nvar E_DRIVER_TOKENS;\n(function (E_DRIVER_TOKENS) {\n E_DRIVER_TOKENS[\"ENVIRONMENTS\"] = \"ENVIRONMENTS\";\n})(E_DRIVER_TOKENS || (E_DRIVER_TOKENS = {}));\n\nvar E_MANDATORY_CONTROLLERS;\n(function (E_MANDATORY_CONTROLLERS) {\n E_MANDATORY_CONTROLLERS[\"LINE_ITEMS\"] = \"line-items\";\n E_MANDATORY_CONTROLLERS[\"PREVIEW\"] = \"preview\";\n E_MANDATORY_CONTROLLERS[\"PRICING\"] = \"pricing\";\n E_MANDATORY_CONTROLLERS[\"RETURN_TO_EDIT\"] = \"return-to-edit\";\n})(E_MANDATORY_CONTROLLERS || (E_MANDATORY_CONTROLLERS = {}));\n\nclass AbstractLineItemsController {\n}\nclass AbstractPricingController {\n}\nclass AbstractPreviewController {\n}\nclass AbstractCheckoutController {\n}\nclass AbstractReturnToEditController {\n}\n\n/*\nfrom https://github.com/substack/vm-browserify/blob/bfd7c5f59edec856dc7efe0b77a4f6b2fa20f226/index.js\n\nMIT license no Copyright holder mentioned\n*/\n\n\nfunction Object_keys(obj) {\n if (Object.keys) return Object.keys(obj)\n else {\n var res = [];\n for (var key in obj) res.push(key);\n return res;\n }\n}\n\nfunction forEach(xs, fn) {\n if (xs.forEach) return xs.forEach(fn)\n else\n for (var i = 0; i < xs.length; i++) {\n fn(xs[i], i, xs);\n }\n}\nvar _defineProp;\n\nfunction defineProp(obj, name, value) {\n if (typeof _defineProp !== 'function') {\n _defineProp = createDefineProp;\n }\n _defineProp(obj, name, value);\n}\n\nfunction createDefineProp() {\n try {\n Object.defineProperty({}, '_', {});\n return function(obj, name, value) {\n Object.defineProperty(obj, name, {\n writable: true,\n enumerable: false,\n configurable: true,\n value: value\n });\n };\n } catch (e) {\n return function(obj, name, value) {\n obj[name] = value;\n };\n }\n}\n\nvar globals = ['Array', 'Boolean', 'Date', 'Error', 'EvalError', 'Function',\n 'Infinity', 'JSON', 'Math', 'NaN', 'Number', 'Object', 'RangeError',\n 'ReferenceError', 'RegExp', 'String', 'SyntaxError', 'TypeError', 'URIError',\n 'decodeURI', 'decodeURIComponent', 'encodeURI', 'encodeURIComponent', 'escape',\n 'eval', 'isFinite', 'isNaN', 'parseFloat', 'parseInt', 'undefined', 'unescape'\n];\n\nfunction Context() {}\nContext.prototype = {};\n\nfunction Script(code) {\n if (!(this instanceof Script)) return new Script(code);\n this.code = code;\n}\nfunction otherRunInContext(code, context) {\n var args = Object_keys(global);\n args.push('with (this.__ctx__){return eval(this.__code__)}');\n var fn = Function.apply(null, args);\n return fn.apply({\n __code__: code,\n __ctx__: context\n });\n}\nScript.prototype.runInContext = function(context) {\n if (!(context instanceof Context)) {\n throw new TypeError('needs a \\'context\\' argument.');\n }\n if (global.document) {\n var iframe = global.document.createElement('iframe');\n if (!iframe.style) iframe.style = {};\n iframe.style.display = 'none';\n\n global.document.body.appendChild(iframe);\n\n var win = iframe.contentWindow;\n var wEval = win.eval,\n wExecScript = win.execScript;\n\n if (!wEval && wExecScript) {\n // win.eval() magically appears when this is called in IE:\n wExecScript.call(win, 'null');\n wEval = win.eval;\n }\n\n forEach(Object_keys(context), function(key) {\n win[key] = context[key];\n });\n forEach(globals, function(key) {\n if (context[key]) {\n win[key] = context[key];\n }\n });\n\n var winKeys = Object_keys(win);\n\n var res = wEval.call(win, this.code);\n\n forEach(Object_keys(win), function(key) {\n // Avoid copying circular objects like `top` and `window` by only\n // updating existing context properties or new properties in the `win`\n // that was only introduced after the eval.\n if (key in context || indexOf(winKeys, key) === -1) {\n context[key] = win[key];\n }\n });\n\n forEach(globals, function(key) {\n if (!(key in context)) {\n defineProp(context, key, win[key]);\n }\n });\n global.document.body.removeChild(iframe);\n\n return res;\n }\n return otherRunInContext(this.code, context);\n};\n\nScript.prototype.runInThisContext = function() {\n var fn = new Function('code', 'return eval(code);');\n return fn.call(global, this.code); // maybe...\n};\n\nScript.prototype.runInNewContext = function(context) {\n var ctx = createContext(context);\n var res = this.runInContext(ctx);\n if (context) {\n forEach(Object_keys(ctx), function(key) {\n context[key] = ctx[key];\n });\n }\n\n return res;\n};\n\nfunction createContext(context) {\n if (isContext(context)) {\n return context;\n }\n var copy = new Context();\n if (typeof context === 'object') {\n forEach(Object_keys(context), function(key) {\n copy[key] = context[key];\n });\n }\n return copy;\n}\nfunction runInContext(code, contextifiedSandbox, options) {\n var script = new Script(code);\n return script.runInContext(contextifiedSandbox, options);\n}\nfunction isContext(context) {\n return context instanceof Context;\n}\n\n\n/*\nfrom indexOf\n@ author tjholowaychuk\n@ license MIT\n*/\nvar _indexOf = [].indexOf;\n\nfunction indexOf(arr, obj){\n if (_indexOf) return arr.indexOf(obj);\n for (var i = 0; i < arr.length; ++i) {\n if (arr[i] === obj) return i;\n }\n return -1;\n}\n\nasync function virtualMachine(code) {\n const context = {\n module: { exports: {} },\n exports: {},\n require: (id) => {\n if (id === '@savafeed/module-manager') {\n return moduleManager;\n }\n throw new Error(`Cannot require('${id}') in this context`);\n },\n console,\n setTimeout,\n setInterval,\n Reflect,\n Promise,\n URL,\n fetch,\n };\n const isNodeJsEnv = typeof document === 'undefined';\n if (isNodeJsEnv) {\n await import('reflect-metadata');\n }\n else {\n // @ts-ignore\n await import('https://unpkg.com/reflect-metadata@0.2.2/Reflect.js');\n }\n context.Reflect = Reflect;\n const sandbox = createContext(context);\n runInContext(code, sandbox);\n const moduleObject = sandbox.exports;\n return moduleObject;\n}\n\nclass DriverProcessor {\n // static CDN: string = 'http://localhost:5000';\n static CDN = 'https://unpkg.com/@savafeed';\n static async getDriverModule(bootstrapOptions) {\n let driverModule;\n if (bootstrapOptions?.default) {\n driverModule = await DriverProcessor.defaultBootstrapDriver(bootstrapOptions.default);\n }\n else if (bootstrapOptions?.custom) {\n driverModule = await DriverProcessor.customBootstrapDriver(bootstrapOptions.custom);\n }\n else {\n throw new Error('Driver not found');\n }\n return driverModule;\n }\n ;\n static async defaultBootstrapDriver(options) {\n if (!options?.name)\n throw new Error(`Unable to get driver by this name: ${options?.name}`);\n const driver = await DriverProcessor.pullDriverByName(options.name, options.scriptType);\n const driverModule = DriverProcessor.exportDriverModule(driver, {\n scriptType: options.scriptType,\n name: options.name,\n });\n return driverModule;\n }\n static async customBootstrapDriver(options) {\n if (!options?.link)\n throw new Error('Driver link not found');\n if (!options?.className)\n throw new Error('Driver class name not found');\n const driver = await DriverProcessor.pullDriverByLink(options.link);\n const driverModule = DriverProcessor.exportDriverModule(driver, {\n scriptType: options.scriptType,\n name: options.className,\n });\n return driverModule;\n }\n static exportDriverModule(driver, options) {\n if (!driver)\n throw new Error('Driver not found');\n const currentScriptType = (!!options.scriptType) ? options.scriptType : 'umd';\n const driverClassName = options.name;\n switch (currentScriptType) {\n case 'esm':\n return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];\n case 'umd':\n return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];\n case 'cjs':\n return driver[E_DRIVER_CLASSES[driverClassName]];\n default:\n throw new Error(`Unknown script type: ${currentScriptType}`);\n }\n }\n static async pullDriverByLink(link) {\n if (!link)\n throw new Error('Driver link not found');\n const response = await fetch(link);\n if (!response?.ok) {\n throw new Error(`Failed to load script from CDN: ${response.statusText}`);\n }\n const scriptContent = await response.text();\n const driver = await virtualMachine(scriptContent);\n return driver;\n }\n ;\n static async pullDriverByName(driverName, scriptType) {\n if (!driverName)\n throw new Error('Driver name not found');\n const currentScriptType = (!!scriptType) ? scriptType : 'umd';\n const link = `${DriverProcessor.CDN}/${driverName}-driver@latest/${driverName}.driver.${currentScriptType}.js`;\n const response = await fetch(link);\n if (!response?.ok) {\n throw new Error(`Failed to load script from CDN: ${response.statusText}`);\n }\n const scriptContent = await response.text();\n const driver = await virtualMachine(scriptContent);\n return driver;\n }\n ;\n}\n\nclass DriverManager {\n appContainer;\n environments;\n constructor(appContainer, environments) {\n this.appContainer = appContainer;\n this.environments = environments;\n if (!!this?.environments?.core) {\n this.setCoreOptions(this.environments.core);\n }\n }\n ;\n async setup() {\n if (this.appContainer.providers.has(E_DRIVER_TOKENS.ENVIRONMENTS)) {\n throw new Error(`Provider with token \"${E_DRIVER_TOKENS.ENVIRONMENTS}\" already exists`);\n }\n this.appContainer.providers.set(E_DRIVER_TOKENS.ENVIRONMENTS, this.environments);\n if (this.environments?.input?.eCommerce) {\n return await this.bootstrapDriver({\n default: {\n name: this.environments?.input?.eCommerce,\n scriptType: this.environments?.input?.driverScriptType,\n },\n });\n }\n else {\n return await this.bootstrapDriver({\n custom: {\n link: this.environments?.input?.driverLink,\n className: this.environments?.input?.driverClassName,\n },\n });\n }\n }\n setCoreOptions(options) {\n if (options?.cdn) {\n DriverProcessor.CDN = options.cdn;\n }\n }\n getController(controllerName) {\n return this.appContainer.getController(controllerName);\n }\n async bootstrapDriver(bootstrapOptions) {\n const driverModule = await DriverProcessor.getDriverModule(bootstrapOptions);\n if (!driverModule) {\n console.error('Driver not found!', driverModule);\n console.warn('Bootstrap options:', bootstrapOptions);\n let stringOptions;\n try {\n stringOptions = JSON.stringify(bootstrapOptions);\n }\n catch (ex) {\n console.warn('Error trying to convert bootstrap parameters to JSON to show in error:', ex);\n stringOptions = String(bootstrapOptions);\n }\n throw new Error(`Driver with options: (${stringOptions}) not found`);\n }\n this.appContainer.registerModule(driverModule);\n return driverModule;\n }\n ;\n}\n\nexport { AbstractCheckoutController, AbstractLineItemsController, AbstractPreviewController, AbstractPricingController, AbstractReturnToEditController, DriverManager, E_DRIVER_CLASSES, E_DRIVER_TOKENS, E_MANDATORY_CONTROLLERS };\n//# sourceMappingURL=index.esm.js.map\n",null,null],"names":[],"mappings":"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","x_google_ignoreList":[0,1]}
|
1
|
+
{"version":3,"file":"cart-api-sdk.esm.js","sources":["../node_modules/@savafeed/module-manager/dist/index.esm.js","../node_modules/@savafeed/driver-manager/dist/index.esm.js","../src/polyfills/dom.ts","../src/index.ts"],"sourcesContent":["import 'reflect-metadata';\r\n\r\nclass TypeSpecifier {\r\n static isClass(input) {\r\n return (!TypeSpecifier.isFunction(input) &&\r\n !TypeSpecifier.isFunctionByTryCall(input) &&\r\n TypeSpecifier.isClassByStringLiteral(input));\r\n }\r\n static isClassByStringLiteral(input) {\r\n const functionString = input.toString();\r\n return !!functionString.startsWith('class');\r\n }\r\n static isFunction(input) {\r\n return typeof input !== 'function';\r\n }\r\n static isFunctionByTryCall(input) {\r\n try {\r\n input();\r\n return true;\r\n }\r\n catch (error) {\r\n return false;\r\n }\r\n }\r\n}\r\n\r\nclass ModuleRef {\r\n parentContainer;\r\n module;\r\n controllers = new Map();\r\n providers = new Map();\r\n constructor(parentContainer, module) {\r\n this.parentContainer = parentContainer;\r\n this.module = module;\r\n this[\"registerProviders\" /* E_REGISTER_CALL_ORDER.first */]();\r\n this[\"registerControllers\" /* E_REGISTER_CALL_ORDER.second */]();\r\n }\r\n ;\r\n registerProviders() {\r\n const providers = this.module.providers;\r\n if (!providers)\r\n return;\r\n for (const provider of providers) {\r\n if (this.providers.has(provider))\r\n continue;\r\n const dependencyTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, provider);\r\n const dependencies = [];\r\n dependencyTokens?.forEach((dependencyToken, index) => {\r\n if (!TypeSpecifier.isClass(dependencyToken)) {\r\n const injectTokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, provider) || [];\r\n const injectToken = injectTokens.find((injectObject) => injectObject.index === index);\r\n if (!this.parentContainer.providers.has(injectToken?.token))\r\n return console.warn(`[WARN] (Inject) ${injectToken} is not provide in`, this.parentContainer);\r\n dependencies.push(this.parentContainer.providers.get(injectToken?.token));\r\n }\r\n else {\r\n if (!this.parentContainer.providers.has(dependencyToken))\r\n return console.warn(`[WARN] (Injectable) ${dependencyToken} is not provide in`, this.parentContainer);\r\n dependencies.push(this.parentContainer.providers.get(dependencyToken));\r\n }\r\n });\r\n let providerToken;\r\n let providerInstance;\r\n if (provider?.token) {\r\n const injectProvider = this.getInjectProviderWithInstance(provider);\r\n if (!injectProvider)\r\n return console.warn(`[WARN] Provider type is not Inject. ${provider.token} is not provide in`, this.parentContainer);\r\n providerToken = injectProvider.token;\r\n providerInstance = injectProvider.instance;\r\n Reflect.defineMetadata(providerToken, providerInstance, this.module);\r\n }\r\n else {\r\n providerToken = provider;\r\n providerInstance = new provider(...dependencies);\r\n Reflect.defineMetadata(providerToken, provider, this.module);\r\n }\r\n this.providers.set(providerToken, providerInstance);\r\n }\r\n }\r\n ;\r\n getInjectProviderWithInstance(injectProvider) {\r\n if (!injectProvider?.token)\r\n return null;\r\n let injectInstance;\r\n if (injectProvider?.useValue) {\r\n injectInstance = injectProvider.useValue;\r\n }\r\n if (injectProvider?.useFactory) {\r\n const factory = injectProvider.useFactory;\r\n try {\r\n if (TypeSpecifier.isClass(factory)) {\r\n injectInstance = new injectProvider.useFactory();\r\n }\r\n else {\r\n injectInstance = injectProvider.useFactory();\r\n }\r\n }\r\n catch (error) {\r\n console.error('A factory can be either a function or a class.', error);\r\n return null;\r\n }\r\n }\r\n return {\r\n token: injectProvider.token,\r\n instance: injectInstance,\r\n };\r\n }\r\n ;\r\n registerControllers() {\r\n const controllers = this.module.controllers;\r\n if (!controllers)\r\n return;\r\n for (const controller of controllers) {\r\n if (this.controllers.has(controller))\r\n continue;\r\n const dependencyTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, controller);\r\n const dependencies = [];\r\n dependencyTokens?.forEach((dependencyToken) => {\r\n if (!this.providers.has(dependencyToken))\r\n return console.warn(`[WARN] ${dependencyToken} is not provide in`, String(this));\r\n dependencies.push(this.providers.get(dependencyToken));\r\n });\r\n const controllerToken = Reflect.getMetadata(\"controller:prefix\" /* E_TOKENS.CONTROLLER_PREFIX */, controller) || controller;\r\n const controllerInstance = new controller(...dependencies);\r\n this.controllers.set(controllerToken, controllerInstance);\r\n }\r\n }\r\n ;\r\n getController(controllerToken) {\r\n return this.controllers.get(controllerToken);\r\n }\r\n ;\r\n}\r\n\r\nfunction of(mapper) {\r\n const entryList = Array.from(mapper.entries());\r\n return entryList.map((entry) => {\r\n return {\r\n key: entry[0],\r\n value: entry[1],\r\n };\r\n });\r\n}\r\n\r\nclass Pool {\r\n factory;\r\n _pool = new Map();\r\n constructor(factory) {\r\n this.factory = factory;\r\n }\r\n ;\r\n acquire() {\r\n return of(this._pool)\r\n .map(({ value }) => value)\r\n .map(this.factory);\r\n }\r\n ;\r\n release(data) {\r\n this._pool.delete(data);\r\n }\r\n ;\r\n append(data) {\r\n this._pool.set(data, data);\r\n }\r\n ;\r\n}\r\n\r\nclass AuditContainer {\r\n providers = new Map();\r\n providersPool = new Pool((data) => data);\r\n addProviderToPool(type, providerToken) {\r\n this.providersPool.append({\r\n provider: providerToken,\r\n type,\r\n });\r\n }\r\n ;\r\n registerInnerInject(injectProvider) {\r\n this.registerGlobalInject(injectProvider);\r\n }\r\n processProvidersInPool() {\r\n const providers = this.providersPool.acquire();\r\n const providersByType = {\r\n [\"inject\" /* E_PROVIDER_TYPES.INJECT */]: [],\r\n [\"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */]: [],\r\n };\r\n providers.forEach(({ type, provider }) => {\r\n const condition = type === \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */ || type === \"inject\" /* E_PROVIDER_TYPES.INJECT */;\r\n if (condition) {\r\n providersByType[type].push(provider);\r\n }\r\n });\r\n this.dispatchRegisterProviders(providersByType, \"inject\" /* E_PROVIDER_TYPES.INJECT */);\r\n this.dispatchRegisterProviders(providersByType, \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */);\r\n }\r\n ;\r\n dispatchRegisterProviders(providersByType, type) {\r\n providersByType[type].forEach((provider) => {\r\n switch (type) {\r\n case \"inject\" /* E_PROVIDER_TYPES.INJECT */:\r\n this.registerGlobalInject(provider);\r\n break;\r\n case \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */:\r\n this.registerGlobalInjectable(provider);\r\n break;\r\n }\r\n this.providersPool.release(provider);\r\n });\r\n }\r\n ;\r\n registerGlobalInjectable(providerToken) {\r\n if (providerToken?.token) {\r\n if (this.providers.has(providerToken.token))\r\n return this.providers.get(providerToken.token);\r\n }\r\n else {\r\n if (this.providers.has(providerToken))\r\n return this.providers.get(providerToken);\r\n }\r\n const dependencies = [];\r\n const dependenciesTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, providerToken);\r\n const injectTokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, providerToken);\r\n dependenciesTokens?.forEach((dependencyToken, index) => {\r\n const injectToken = injectTokens?.find((injectTokenObject) => injectTokenObject.index === index);\r\n let injectInstance = injectToken || dependencyToken;\r\n const dependency = this.registerGlobalInjectable(injectInstance);\r\n dependencies.push(dependency);\r\n });\r\n const provider = new providerToken(...dependencies);\r\n this.providers.set(providerToken, provider);\r\n return provider;\r\n }\r\n ;\r\n registerGlobalInject(injectProvider) {\r\n let injectInstance;\r\n if (injectProvider?.useValue) {\r\n injectInstance = injectProvider.useValue;\r\n }\r\n if (injectProvider?.useFactory) {\r\n const factory = injectProvider.useFactory;\r\n try {\r\n if (TypeSpecifier.isClass(factory)) {\r\n injectInstance = new injectProvider.useFactory();\r\n }\r\n else {\r\n injectInstance = injectProvider.useFactory();\r\n }\r\n }\r\n catch (error) {\r\n console.error('A factory can be either a function or a class.', error);\r\n return error;\r\n }\r\n }\r\n this.providers.set(injectProvider.token, injectInstance);\r\n }\r\n ;\r\n}\r\n\r\nclass Container extends AuditContainer {\r\n _modules = new Map();\r\n get modules() {\r\n return this._modules;\r\n }\r\n ;\r\n registerModule(module) {\r\n if (this._modules.has(module))\r\n return console.warn(`Module has in Container`);\r\n this.processProvidersInPool();\r\n const moduleInstance = new ModuleRef(this, module);\r\n this._modules.set(module, moduleInstance);\r\n }\r\n ;\r\n getModuleByName(moduleName) {\r\n return of(this._modules).find(({ key }) => moduleName === key.name);\r\n }\r\n ;\r\n getController(prefix) {\r\n return of(this._modules).map(({ value }) => {\r\n return value.getController(prefix);\r\n }).find((controller) => !!controller);\r\n }\r\n ;\r\n findModuleByProviderToken(providerToken) {\r\n let module = null;\r\n this._modules.forEach((moduleRef, moduleClass) => {\r\n if (moduleClass.providers?.includes(providerToken)) {\r\n module = {\r\n token: moduleClass,\r\n reference: moduleRef,\r\n };\r\n }\r\n });\r\n return module;\r\n }\r\n ;\r\n}\r\nconst container = new Container();\r\n\r\nfunction Controller(prefix) {\r\n return (target) => {\r\n Reflect.defineMetadata(\"controller:prefix\" /* E_TOKENS.CONTROLLER_PREFIX */, prefix, target);\r\n };\r\n}\r\n\r\nfunction Module(options) {\r\n return (target) => {\r\n Reflect.defineProperty(target, 'name', {\r\n value: options.name,\r\n writable: false,\r\n configurable: false,\r\n });\r\n Reflect.defineProperty(target, 'controllers', {\r\n value: options.controllers,\r\n writable: false,\r\n configurable: false,\r\n });\r\n Reflect.defineProperty(target, 'providers', {\r\n value: options.providers,\r\n writable: false,\r\n configurable: false,\r\n });\r\n registerProviders(options.providers);\r\n };\r\n}\r\nfunction registerProviders(providers) {\r\n providers?.forEach((provider) => {\r\n const isObjectProvider = typeof provider === 'object' && !!provider?.token;\r\n if (isObjectProvider) {\r\n container.addProviderToPool(\"inject\" /* E_PROVIDER_TYPES.INJECT */, provider);\r\n }\r\n });\r\n}\r\n\r\nfunction Injectable() {\r\n return (target) => {\r\n container.addProviderToPool(\"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */, target);\r\n };\r\n}\r\nfunction Inject(token) {\r\n return (target, _, parameterIndex) => {\r\n const tokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, target) || [];\r\n tokens.push({\r\n index: parameterIndex,\r\n token,\r\n });\r\n Reflect.defineMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, tokens, target);\r\n };\r\n}\r\n\r\nclass AbstractModule {\r\n static name;\r\n static controllers = [];\r\n static providers = [];\r\n}\r\n\r\nclass Queue {\r\n _storage = {};\r\n _oldestIndex = 1;\r\n _newestIndex = 1;\r\n get count() {\r\n return this._newestIndex - this._oldestIndex;\r\n }\r\n enqueue(data) {\r\n this._storage[this._newestIndex] = data;\r\n this._newestIndex++;\r\n }\r\n dequeue() {\r\n const oldestIndex = this._oldestIndex;\r\n const deletedData = this._storage[oldestIndex];\r\n delete this._storage[oldestIndex];\r\n this._oldestIndex++;\r\n return deletedData;\r\n }\r\n toArray() {\r\n return Object.values(this._storage);\r\n }\r\n}\r\n\r\nexport { AbstractModule, Container, Controller, Inject, Injectable, Module, ModuleRef, Queue, TypeSpecifier, container, of };\r\n//# sourceMappingURL=index.esm.js.map\r\n","import 'reflect-metadata';\nimport * as moduleManager from '@savafeed/module-manager';\n\nvar E_DRIVER_CLASSES;\n(function (E_DRIVER_CLASSES) {\n E_DRIVER_CLASSES[\"shopify\"] = \"ShopifyDriver\";\n E_DRIVER_CLASSES[\"woo\"] = \"WooDriver\";\n})(E_DRIVER_CLASSES || (E_DRIVER_CLASSES = {}));\n\nvar E_DRIVER_TOKENS;\n(function (E_DRIVER_TOKENS) {\n E_DRIVER_TOKENS[\"ENVIRONMENTS\"] = \"ENVIRONMENTS\";\n})(E_DRIVER_TOKENS || (E_DRIVER_TOKENS = {}));\n\nvar E_MANDATORY_CONTROLLERS;\n(function (E_MANDATORY_CONTROLLERS) {\n E_MANDATORY_CONTROLLERS[\"LINE_ITEMS\"] = \"line-items\";\n E_MANDATORY_CONTROLLERS[\"PREVIEW\"] = \"preview\";\n E_MANDATORY_CONTROLLERS[\"PRICING\"] = \"pricing\";\n E_MANDATORY_CONTROLLERS[\"RETURN_TO_EDIT\"] = \"return-to-edit\";\n})(E_MANDATORY_CONTROLLERS || (E_MANDATORY_CONTROLLERS = {}));\n\nclass AbstractLineItemsController {\n}\nclass AbstractPricingController {\n}\nclass AbstractPreviewController {\n}\nclass AbstractCheckoutController {\n}\nclass AbstractReturnToEditController {\n}\n\n/*\nfrom https://github.com/substack/vm-browserify/blob/bfd7c5f59edec856dc7efe0b77a4f6b2fa20f226/index.js\n\nMIT license no Copyright holder mentioned\n*/\n\n\nfunction Object_keys(obj) {\n if (Object.keys) return Object.keys(obj)\n else {\n var res = [];\n for (var key in obj) res.push(key);\n return res;\n }\n}\n\nfunction forEach(xs, fn) {\n if (xs.forEach) return xs.forEach(fn)\n else\n for (var i = 0; i < xs.length; i++) {\n fn(xs[i], i, xs);\n }\n}\nvar _defineProp;\n\nfunction defineProp(obj, name, value) {\n if (typeof _defineProp !== 'function') {\n _defineProp = createDefineProp;\n }\n _defineProp(obj, name, value);\n}\n\nfunction createDefineProp() {\n try {\n Object.defineProperty({}, '_', {});\n return function(obj, name, value) {\n Object.defineProperty(obj, name, {\n writable: true,\n enumerable: false,\n configurable: true,\n value: value\n });\n };\n } catch (e) {\n return function(obj, name, value) {\n obj[name] = value;\n };\n }\n}\n\nvar globals = ['Array', 'Boolean', 'Date', 'Error', 'EvalError', 'Function',\n 'Infinity', 'JSON', 'Math', 'NaN', 'Number', 'Object', 'RangeError',\n 'ReferenceError', 'RegExp', 'String', 'SyntaxError', 'TypeError', 'URIError',\n 'decodeURI', 'decodeURIComponent', 'encodeURI', 'encodeURIComponent', 'escape',\n 'eval', 'isFinite', 'isNaN', 'parseFloat', 'parseInt', 'undefined', 'unescape'\n];\n\nfunction Context() {}\nContext.prototype = {};\n\nfunction Script(code) {\n if (!(this instanceof Script)) return new Script(code);\n this.code = code;\n}\nfunction otherRunInContext(code, context) {\n var args = Object_keys(global);\n args.push('with (this.__ctx__){return eval(this.__code__)}');\n var fn = Function.apply(null, args);\n return fn.apply({\n __code__: code,\n __ctx__: context\n });\n}\nScript.prototype.runInContext = function(context) {\n if (!(context instanceof Context)) {\n throw new TypeError('needs a \\'context\\' argument.');\n }\n if (global.document) {\n var iframe = global.document.createElement('iframe');\n if (!iframe.style) iframe.style = {};\n iframe.style.display = 'none';\n\n global.document.body.appendChild(iframe);\n\n var win = iframe.contentWindow;\n var wEval = win.eval,\n wExecScript = win.execScript;\n\n if (!wEval && wExecScript) {\n // win.eval() magically appears when this is called in IE:\n wExecScript.call(win, 'null');\n wEval = win.eval;\n }\n\n forEach(Object_keys(context), function(key) {\n win[key] = context[key];\n });\n forEach(globals, function(key) {\n if (context[key]) {\n win[key] = context[key];\n }\n });\n\n var winKeys = Object_keys(win);\n\n var res = wEval.call(win, this.code);\n\n forEach(Object_keys(win), function(key) {\n // Avoid copying circular objects like `top` and `window` by only\n // updating existing context properties or new properties in the `win`\n // that was only introduced after the eval.\n if (key in context || indexOf(winKeys, key) === -1) {\n context[key] = win[key];\n }\n });\n\n forEach(globals, function(key) {\n if (!(key in context)) {\n defineProp(context, key, win[key]);\n }\n });\n global.document.body.removeChild(iframe);\n\n return res;\n }\n return otherRunInContext(this.code, context);\n};\n\nScript.prototype.runInThisContext = function() {\n var fn = new Function('code', 'return eval(code);');\n return fn.call(global, this.code); // maybe...\n};\n\nScript.prototype.runInNewContext = function(context) {\n var ctx = createContext(context);\n var res = this.runInContext(ctx);\n if (context) {\n forEach(Object_keys(ctx), function(key) {\n context[key] = ctx[key];\n });\n }\n\n return res;\n};\n\nfunction createContext(context) {\n if (isContext(context)) {\n return context;\n }\n var copy = new Context();\n if (typeof context === 'object') {\n forEach(Object_keys(context), function(key) {\n copy[key] = context[key];\n });\n }\n return copy;\n}\nfunction runInContext(code, contextifiedSandbox, options) {\n var script = new Script(code);\n return script.runInContext(contextifiedSandbox, options);\n}\nfunction isContext(context) {\n return context instanceof Context;\n}\n\n\n/*\nfrom indexOf\n@ author tjholowaychuk\n@ license MIT\n*/\nvar _indexOf = [].indexOf;\n\nfunction indexOf(arr, obj){\n if (_indexOf) return arr.indexOf(obj);\n for (var i = 0; i < arr.length; ++i) {\n if (arr[i] === obj) return i;\n }\n return -1;\n}\n\nasync function virtualMachine(code) {\n const context = {\n module: { exports: {} },\n exports: {},\n require: (id) => {\n if (id === '@savafeed/module-manager') {\n return moduleManager;\n }\n throw new Error(`Cannot require('${id}') in this context`);\n },\n console,\n setTimeout,\n setInterval,\n Reflect,\n Promise,\n URL,\n fetch,\n };\n const isNodeJsEnv = typeof document === 'undefined';\n if (isNodeJsEnv) {\n await import('reflect-metadata');\n }\n else {\n // @ts-ignore\n await import('https://unpkg.com/reflect-metadata@0.2.2/Reflect.js');\n }\n context.Reflect = Reflect;\n const sandbox = createContext(context);\n runInContext(code, sandbox);\n const moduleObject = sandbox.exports;\n return moduleObject;\n}\n\nclass DriverProcessor {\n // static CDN: string = 'http://localhost:5000';\n static CDN = 'https://unpkg.com/@savafeed';\n static async getDriverModule(bootstrapOptions) {\n let driverModule;\n if (bootstrapOptions?.default) {\n driverModule = await DriverProcessor.defaultBootstrapDriver(bootstrapOptions.default);\n }\n else if (bootstrapOptions?.custom) {\n driverModule = await DriverProcessor.customBootstrapDriver(bootstrapOptions.custom);\n }\n else {\n throw new Error('Driver not found');\n }\n return driverModule;\n }\n ;\n static async defaultBootstrapDriver(options) {\n if (!options?.name)\n throw new Error(`Unable to get driver by this name: ${options?.name}`);\n const driver = await DriverProcessor.pullDriverByName(options.name, options.scriptType);\n const driverModule = DriverProcessor.exportDriverModule(driver, {\n scriptType: options.scriptType,\n name: options.name,\n });\n return driverModule;\n }\n static async customBootstrapDriver(options) {\n if (!options?.link)\n throw new Error('Driver link not found');\n if (!options?.className)\n throw new Error('Driver class name not found');\n const driver = await DriverProcessor.pullDriverByLink(options.link);\n const driverModule = DriverProcessor.exportDriverModule(driver, {\n scriptType: options.scriptType,\n name: options.className,\n });\n return driverModule;\n }\n static exportDriverModule(driver, options) {\n if (!driver)\n throw new Error('Driver not found');\n const currentScriptType = (!!options.scriptType) ? options.scriptType : 'umd';\n const driverClassName = options.name;\n switch (currentScriptType) {\n case 'esm':\n return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];\n case 'umd':\n return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];\n case 'cjs':\n return driver[E_DRIVER_CLASSES[driverClassName]];\n default:\n throw new Error(`Unknown script type: ${currentScriptType}`);\n }\n }\n static async pullDriverByLink(link) {\n if (!link)\n throw new Error('Driver link not found');\n const response = await fetch(link);\n if (!response?.ok) {\n throw new Error(`Failed to load script from CDN: ${response.statusText}`);\n }\n const scriptContent = await response.text();\n const driver = await virtualMachine(scriptContent);\n return driver;\n }\n ;\n static async pullDriverByName(driverName, scriptType) {\n if (!driverName)\n throw new Error('Driver name not found');\n const currentScriptType = (!!scriptType) ? scriptType : 'umd';\n const link = `${DriverProcessor.CDN}/${driverName}-driver@latest/${driverName}.driver.${currentScriptType}.js`;\n const response = await fetch(link);\n if (!response?.ok) {\n throw new Error(`Failed to load script from CDN: ${response.statusText}`);\n }\n const scriptContent = await response.text();\n const driver = await virtualMachine(scriptContent);\n return driver;\n }\n ;\n}\n\nclass DriverManager {\n appContainer;\n environments;\n constructor(appContainer, environments) {\n this.appContainer = appContainer;\n this.environments = environments;\n if (!!this?.environments?.core) {\n this.setCoreOptions(this.environments.core);\n }\n }\n ;\n async setup() {\n if (this.appContainer.providers.has(E_DRIVER_TOKENS.ENVIRONMENTS)) {\n throw new Error(`Provider with token \"${E_DRIVER_TOKENS.ENVIRONMENTS}\" already exists`);\n }\n this.appContainer.providers.set(E_DRIVER_TOKENS.ENVIRONMENTS, this.environments);\n if (this.environments?.input?.eCommerce) {\n return await this.bootstrapDriver({\n default: {\n name: this.environments?.input?.eCommerce,\n scriptType: this.environments?.input?.driverScriptType,\n },\n });\n }\n else {\n return await this.bootstrapDriver({\n custom: {\n link: this.environments?.input?.driverLink,\n className: this.environments?.input?.driverClassName,\n },\n });\n }\n }\n setCoreOptions(options) {\n if (options?.cdn) {\n DriverProcessor.CDN = options.cdn;\n }\n }\n getController(controllerName) {\n return this.appContainer.getController(controllerName);\n }\n async bootstrapDriver(bootstrapOptions) {\n const driverModule = await DriverProcessor.getDriverModule(bootstrapOptions);\n if (!driverModule) {\n console.error('Driver not found!', driverModule);\n console.warn('Bootstrap options:', bootstrapOptions);\n let stringOptions;\n try {\n stringOptions = JSON.stringify(bootstrapOptions);\n }\n catch (ex) {\n console.warn('Error trying to convert bootstrap parameters to JSON to show in error:', ex);\n stringOptions = String(bootstrapOptions);\n }\n throw new Error(`Driver with options: (${stringOptions}) not found`);\n }\n this.appContainer.registerModule(driverModule);\n return driverModule;\n }\n ;\n}\n\nexport { AbstractCheckoutController, AbstractLineItemsController, AbstractPreviewController, AbstractPricingController, AbstractReturnToEditController, DriverManager, E_DRIVER_CLASSES, E_DRIVER_TOKENS, E_MANDATORY_CONTROLLERS };\n//# sourceMappingURL=index.esm.js.map\n",null,null],"names":[],"mappings":"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","x_google_ignoreList":[0,1]}
|
package/dist/cart-api-sdk.umd.js
CHANGED
@@ -395,35 +395,24 @@
|
|
395
395
|
of: of
|
396
396
|
});
|
397
397
|
|
398
|
-
|
398
|
+
var E_DRIVER_CLASSES;
|
399
399
|
(function (E_DRIVER_CLASSES) {
|
400
400
|
E_DRIVER_CLASSES["shopify"] = "ShopifyDriver";
|
401
401
|
E_DRIVER_CLASSES["woo"] = "WooDriver";
|
402
|
-
})(
|
402
|
+
})(E_DRIVER_CLASSES || (E_DRIVER_CLASSES = {}));
|
403
403
|
|
404
|
-
|
404
|
+
var E_DRIVER_TOKENS;
|
405
405
|
(function (E_DRIVER_TOKENS) {
|
406
406
|
E_DRIVER_TOKENS["ENVIRONMENTS"] = "ENVIRONMENTS";
|
407
|
-
})(
|
407
|
+
})(E_DRIVER_TOKENS || (E_DRIVER_TOKENS = {}));
|
408
408
|
|
409
|
-
|
409
|
+
var E_MANDATORY_CONTROLLERS;
|
410
410
|
(function (E_MANDATORY_CONTROLLERS) {
|
411
411
|
E_MANDATORY_CONTROLLERS["LINE_ITEMS"] = "line-items";
|
412
412
|
E_MANDATORY_CONTROLLERS["PREVIEW"] = "preview";
|
413
413
|
E_MANDATORY_CONTROLLERS["PRICING"] = "pricing";
|
414
414
|
E_MANDATORY_CONTROLLERS["RETURN_TO_EDIT"] = "return-to-edit";
|
415
|
-
})(
|
416
|
-
|
417
|
-
class AbstractLineItemsController {
|
418
|
-
}
|
419
|
-
class AbstractPricingController {
|
420
|
-
}
|
421
|
-
class AbstractPreviewController {
|
422
|
-
}
|
423
|
-
class AbstractCheckoutController {
|
424
|
-
}
|
425
|
-
class AbstractReturnToEditController {
|
426
|
-
}
|
415
|
+
})(E_MANDATORY_CONTROLLERS || (E_MANDATORY_CONTROLLERS = {}));
|
427
416
|
|
428
417
|
/*
|
429
418
|
from https://github.com/substack/vm-browserify/blob/bfd7c5f59edec856dc7efe0b77a4f6b2fa20f226/index.js
|
@@ -685,11 +674,11 @@
|
|
685
674
|
const driverClassName = options.name;
|
686
675
|
switch (currentScriptType) {
|
687
676
|
case 'esm':
|
688
|
-
return driver?.default[
|
677
|
+
return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];
|
689
678
|
case 'umd':
|
690
|
-
return driver?.default[
|
679
|
+
return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];
|
691
680
|
case 'cjs':
|
692
|
-
return driver[
|
681
|
+
return driver[E_DRIVER_CLASSES[driverClassName]];
|
693
682
|
default:
|
694
683
|
throw new Error(`Unknown script type: ${currentScriptType}`);
|
695
684
|
}
|
@@ -734,10 +723,10 @@
|
|
734
723
|
}
|
735
724
|
;
|
736
725
|
async setup() {
|
737
|
-
if (this.appContainer.providers.has(
|
738
|
-
throw new Error(`Provider with token "${
|
726
|
+
if (this.appContainer.providers.has(E_DRIVER_TOKENS.ENVIRONMENTS)) {
|
727
|
+
throw new Error(`Provider with token "${E_DRIVER_TOKENS.ENVIRONMENTS}" already exists`);
|
739
728
|
}
|
740
|
-
this.appContainer.providers.set(
|
729
|
+
this.appContainer.providers.set(E_DRIVER_TOKENS.ENVIRONMENTS, this.environments);
|
741
730
|
if (this.environments?.input?.eCommerce) {
|
742
731
|
return await this.bootstrapDriver({
|
743
732
|
default: {
|
@@ -839,10 +828,10 @@
|
|
839
828
|
}
|
840
829
|
purchasingMandatoryControllers() {
|
841
830
|
const mandatoryControllers = [
|
842
|
-
|
843
|
-
|
844
|
-
|
845
|
-
|
831
|
+
E_MANDATORY_CONTROLLERS.LINE_ITEMS,
|
832
|
+
E_MANDATORY_CONTROLLERS.PREVIEW,
|
833
|
+
E_MANDATORY_CONTROLLERS.PRICING,
|
834
|
+
E_MANDATORY_CONTROLLERS.RETURN_TO_EDIT,
|
846
835
|
];
|
847
836
|
mandatoryControllers.forEach((controllerName) => {
|
848
837
|
const controllerInstance = this.driverManager.getController(controllerName);
|
@@ -859,24 +848,7 @@
|
|
859
848
|
$window.CartSDK = CartSDK;
|
860
849
|
}
|
861
850
|
|
862
|
-
exports.AbstractCheckoutController = AbstractCheckoutController;
|
863
|
-
exports.AbstractLineItemsController = AbstractLineItemsController;
|
864
|
-
exports.AbstractModule = AbstractModule;
|
865
|
-
exports.AbstractPreviewController = AbstractPreviewController;
|
866
|
-
exports.AbstractPricingController = AbstractPricingController;
|
867
|
-
exports.AbstractReturnToEditController = AbstractReturnToEditController;
|
868
851
|
exports.CartSDK = CartSDK;
|
869
|
-
exports.Container = Container;
|
870
|
-
exports.Controller = Controller;
|
871
|
-
exports.DriverManager = DriverManager;
|
872
|
-
exports.Inject = Inject;
|
873
|
-
exports.Injectable = Injectable;
|
874
|
-
exports.Module = Module;
|
875
|
-
exports.ModuleRef = ModuleRef;
|
876
|
-
exports.Queue = Queue;
|
877
|
-
exports.TypeSpecifier = TypeSpecifier;
|
878
|
-
exports.container = container;
|
879
|
-
exports.of = of;
|
880
852
|
|
881
853
|
}));
|
882
854
|
//# sourceMappingURL=cart-api-sdk.umd.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"cart-api-sdk.umd.js","sources":["../node_modules/@savafeed/module-manager/dist/index.esm.js","../node_modules/@savafeed/driver-manager/dist/index.esm.js","../src/polyfills/dom.ts","../src/index.ts"],"sourcesContent":["import 'reflect-metadata';\r\n\r\nclass TypeSpecifier {\r\n static isClass(input) {\r\n return (!TypeSpecifier.isFunction(input) &&\r\n !TypeSpecifier.isFunctionByTryCall(input) &&\r\n TypeSpecifier.isClassByStringLiteral(input));\r\n }\r\n static isClassByStringLiteral(input) {\r\n const functionString = input.toString();\r\n return !!functionString.startsWith('class');\r\n }\r\n static isFunction(input) {\r\n return typeof input !== 'function';\r\n }\r\n static isFunctionByTryCall(input) {\r\n try {\r\n input();\r\n return true;\r\n }\r\n catch (error) {\r\n return false;\r\n }\r\n }\r\n}\r\n\r\nclass ModuleRef {\r\n parentContainer;\r\n module;\r\n controllers = new Map();\r\n providers = new Map();\r\n constructor(parentContainer, module) {\r\n this.parentContainer = parentContainer;\r\n this.module = module;\r\n this[\"registerProviders\" /* E_REGISTER_CALL_ORDER.first */]();\r\n this[\"registerControllers\" /* E_REGISTER_CALL_ORDER.second */]();\r\n }\r\n ;\r\n registerProviders() {\r\n const providers = this.module.providers;\r\n if (!providers)\r\n return;\r\n for (const provider of providers) {\r\n if (this.providers.has(provider))\r\n continue;\r\n const dependencyTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, provider);\r\n const dependencies = [];\r\n dependencyTokens?.forEach((dependencyToken, index) => {\r\n if (!TypeSpecifier.isClass(dependencyToken)) {\r\n const injectTokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, provider) || [];\r\n const injectToken = injectTokens.find((injectObject) => injectObject.index === index);\r\n if (!this.parentContainer.providers.has(injectToken?.token))\r\n return console.warn(`[WARN] (Inject) ${injectToken} is not provide in`, this.parentContainer);\r\n dependencies.push(this.parentContainer.providers.get(injectToken?.token));\r\n }\r\n else {\r\n if (!this.parentContainer.providers.has(dependencyToken))\r\n return console.warn(`[WARN] (Injectable) ${dependencyToken} is not provide in`, this.parentContainer);\r\n dependencies.push(this.parentContainer.providers.get(dependencyToken));\r\n }\r\n });\r\n let providerToken;\r\n let providerInstance;\r\n if (provider?.token) {\r\n const injectProvider = this.getInjectProviderWithInstance(provider);\r\n if (!injectProvider)\r\n return console.warn(`[WARN] Provider type is not Inject. ${provider.token} is not provide in`, this.parentContainer);\r\n providerToken = injectProvider.token;\r\n providerInstance = injectProvider.instance;\r\n Reflect.defineMetadata(providerToken, providerInstance, this.module);\r\n }\r\n else {\r\n providerToken = provider;\r\n providerInstance = new provider(...dependencies);\r\n Reflect.defineMetadata(providerToken, provider, this.module);\r\n }\r\n this.providers.set(providerToken, providerInstance);\r\n }\r\n }\r\n ;\r\n getInjectProviderWithInstance(injectProvider) {\r\n if (!injectProvider?.token)\r\n return null;\r\n let injectInstance;\r\n if (injectProvider?.useValue) {\r\n injectInstance = injectProvider.useValue;\r\n }\r\n if (injectProvider?.useFactory) {\r\n const factory = injectProvider.useFactory;\r\n try {\r\n if (TypeSpecifier.isClass(factory)) {\r\n injectInstance = new injectProvider.useFactory();\r\n }\r\n else {\r\n injectInstance = injectProvider.useFactory();\r\n }\r\n }\r\n catch (error) {\r\n console.error('A factory can be either a function or a class.', error);\r\n return null;\r\n }\r\n }\r\n return {\r\n token: injectProvider.token,\r\n instance: injectInstance,\r\n };\r\n }\r\n ;\r\n registerControllers() {\r\n const controllers = this.module.controllers;\r\n if (!controllers)\r\n return;\r\n for (const controller of controllers) {\r\n if (this.controllers.has(controller))\r\n continue;\r\n const dependencyTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, controller);\r\n const dependencies = [];\r\n dependencyTokens?.forEach((dependencyToken) => {\r\n if (!this.providers.has(dependencyToken))\r\n return console.warn(`[WARN] ${dependencyToken} is not provide in`, String(this));\r\n dependencies.push(this.providers.get(dependencyToken));\r\n });\r\n const controllerToken = Reflect.getMetadata(\"controller:prefix\" /* E_TOKENS.CONTROLLER_PREFIX */, controller) || controller;\r\n const controllerInstance = new controller(...dependencies);\r\n this.controllers.set(controllerToken, controllerInstance);\r\n }\r\n }\r\n ;\r\n getController(controllerToken) {\r\n return this.controllers.get(controllerToken);\r\n }\r\n ;\r\n}\r\n\r\nfunction of(mapper) {\r\n const entryList = Array.from(mapper.entries());\r\n return entryList.map((entry) => {\r\n return {\r\n key: entry[0],\r\n value: entry[1],\r\n };\r\n });\r\n}\r\n\r\nclass Pool {\r\n factory;\r\n _pool = new Map();\r\n constructor(factory) {\r\n this.factory = factory;\r\n }\r\n ;\r\n acquire() {\r\n return of(this._pool)\r\n .map(({ value }) => value)\r\n .map(this.factory);\r\n }\r\n ;\r\n release(data) {\r\n this._pool.delete(data);\r\n }\r\n ;\r\n append(data) {\r\n this._pool.set(data, data);\r\n }\r\n ;\r\n}\r\n\r\nclass AuditContainer {\r\n providers = new Map();\r\n providersPool = new Pool((data) => data);\r\n addProviderToPool(type, providerToken) {\r\n this.providersPool.append({\r\n provider: providerToken,\r\n type,\r\n });\r\n }\r\n ;\r\n registerInnerInject(injectProvider) {\r\n this.registerGlobalInject(injectProvider);\r\n }\r\n processProvidersInPool() {\r\n const providers = this.providersPool.acquire();\r\n const providersByType = {\r\n [\"inject\" /* E_PROVIDER_TYPES.INJECT */]: [],\r\n [\"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */]: [],\r\n };\r\n providers.forEach(({ type, provider }) => {\r\n const condition = type === \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */ || type === \"inject\" /* E_PROVIDER_TYPES.INJECT */;\r\n if (condition) {\r\n providersByType[type].push(provider);\r\n }\r\n });\r\n this.dispatchRegisterProviders(providersByType, \"inject\" /* E_PROVIDER_TYPES.INJECT */);\r\n this.dispatchRegisterProviders(providersByType, \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */);\r\n }\r\n ;\r\n dispatchRegisterProviders(providersByType, type) {\r\n providersByType[type].forEach((provider) => {\r\n switch (type) {\r\n case \"inject\" /* E_PROVIDER_TYPES.INJECT */:\r\n this.registerGlobalInject(provider);\r\n break;\r\n case \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */:\r\n this.registerGlobalInjectable(provider);\r\n break;\r\n }\r\n this.providersPool.release(provider);\r\n });\r\n }\r\n ;\r\n registerGlobalInjectable(providerToken) {\r\n if (providerToken?.token) {\r\n if (this.providers.has(providerToken.token))\r\n return this.providers.get(providerToken.token);\r\n }\r\n else {\r\n if (this.providers.has(providerToken))\r\n return this.providers.get(providerToken);\r\n }\r\n const dependencies = [];\r\n const dependenciesTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, providerToken);\r\n const injectTokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, providerToken);\r\n dependenciesTokens?.forEach((dependencyToken, index) => {\r\n const injectToken = injectTokens?.find((injectTokenObject) => injectTokenObject.index === index);\r\n let injectInstance = injectToken || dependencyToken;\r\n const dependency = this.registerGlobalInjectable(injectInstance);\r\n dependencies.push(dependency);\r\n });\r\n const provider = new providerToken(...dependencies);\r\n this.providers.set(providerToken, provider);\r\n return provider;\r\n }\r\n ;\r\n registerGlobalInject(injectProvider) {\r\n let injectInstance;\r\n if (injectProvider?.useValue) {\r\n injectInstance = injectProvider.useValue;\r\n }\r\n if (injectProvider?.useFactory) {\r\n const factory = injectProvider.useFactory;\r\n try {\r\n if (TypeSpecifier.isClass(factory)) {\r\n injectInstance = new injectProvider.useFactory();\r\n }\r\n else {\r\n injectInstance = injectProvider.useFactory();\r\n }\r\n }\r\n catch (error) {\r\n console.error('A factory can be either a function or a class.', error);\r\n return error;\r\n }\r\n }\r\n this.providers.set(injectProvider.token, injectInstance);\r\n }\r\n ;\r\n}\r\n\r\nclass Container extends AuditContainer {\r\n _modules = new Map();\r\n get modules() {\r\n return this._modules;\r\n }\r\n ;\r\n registerModule(module) {\r\n if (this._modules.has(module))\r\n return console.warn(`Module has in Container`);\r\n this.processProvidersInPool();\r\n const moduleInstance = new ModuleRef(this, module);\r\n this._modules.set(module, moduleInstance);\r\n }\r\n ;\r\n getModuleByName(moduleName) {\r\n return of(this._modules).find(({ key }) => moduleName === key.name);\r\n }\r\n ;\r\n getController(prefix) {\r\n return of(this._modules).map(({ value }) => {\r\n return value.getController(prefix);\r\n }).find((controller) => !!controller);\r\n }\r\n ;\r\n findModuleByProviderToken(providerToken) {\r\n let module = null;\r\n this._modules.forEach((moduleRef, moduleClass) => {\r\n if (moduleClass.providers?.includes(providerToken)) {\r\n module = {\r\n token: moduleClass,\r\n reference: moduleRef,\r\n };\r\n }\r\n });\r\n return module;\r\n }\r\n ;\r\n}\r\nconst container = new Container();\r\n\r\nfunction Controller(prefix) {\r\n return (target) => {\r\n Reflect.defineMetadata(\"controller:prefix\" /* E_TOKENS.CONTROLLER_PREFIX */, prefix, target);\r\n };\r\n}\r\n\r\nfunction Module(options) {\r\n return (target) => {\r\n Reflect.defineProperty(target, 'name', {\r\n value: options.name,\r\n writable: false,\r\n configurable: false,\r\n });\r\n Reflect.defineProperty(target, 'controllers', {\r\n value: options.controllers,\r\n writable: false,\r\n configurable: false,\r\n });\r\n Reflect.defineProperty(target, 'providers', {\r\n value: options.providers,\r\n writable: false,\r\n configurable: false,\r\n });\r\n registerProviders(options.providers);\r\n };\r\n}\r\nfunction registerProviders(providers) {\r\n providers?.forEach((provider) => {\r\n const isObjectProvider = typeof provider === 'object' && !!provider?.token;\r\n if (isObjectProvider) {\r\n container.addProviderToPool(\"inject\" /* E_PROVIDER_TYPES.INJECT */, provider);\r\n }\r\n });\r\n}\r\n\r\nfunction Injectable() {\r\n return (target) => {\r\n container.addProviderToPool(\"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */, target);\r\n };\r\n}\r\nfunction Inject(token) {\r\n return (target, _, parameterIndex) => {\r\n const tokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, target) || [];\r\n tokens.push({\r\n index: parameterIndex,\r\n token,\r\n });\r\n Reflect.defineMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, tokens, target);\r\n };\r\n}\r\n\r\nclass AbstractModule {\r\n static name;\r\n static controllers = [];\r\n static providers = [];\r\n}\r\n\r\nclass Queue {\r\n _storage = {};\r\n _oldestIndex = 1;\r\n _newestIndex = 1;\r\n get count() {\r\n return this._newestIndex - this._oldestIndex;\r\n }\r\n enqueue(data) {\r\n this._storage[this._newestIndex] = data;\r\n this._newestIndex++;\r\n }\r\n dequeue() {\r\n const oldestIndex = this._oldestIndex;\r\n const deletedData = this._storage[oldestIndex];\r\n delete this._storage[oldestIndex];\r\n this._oldestIndex++;\r\n return deletedData;\r\n }\r\n toArray() {\r\n return Object.values(this._storage);\r\n }\r\n}\r\n\r\nexport { AbstractModule, Container, Controller, Inject, Injectable, Module, ModuleRef, Queue, TypeSpecifier, container, of };\r\n//# sourceMappingURL=index.esm.js.map\r\n","import 'reflect-metadata';\nimport * as moduleManager from '@savafeed/module-manager';\n\nvar E_DRIVER_CLASSES;\n(function (E_DRIVER_CLASSES) {\n E_DRIVER_CLASSES[\"shopify\"] = \"ShopifyDriver\";\n E_DRIVER_CLASSES[\"woo\"] = \"WooDriver\";\n})(E_DRIVER_CLASSES || (E_DRIVER_CLASSES = {}));\n\nvar E_DRIVER_TOKENS;\n(function (E_DRIVER_TOKENS) {\n E_DRIVER_TOKENS[\"ENVIRONMENTS\"] = \"ENVIRONMENTS\";\n})(E_DRIVER_TOKENS || (E_DRIVER_TOKENS = {}));\n\nvar E_MANDATORY_CONTROLLERS;\n(function (E_MANDATORY_CONTROLLERS) {\n E_MANDATORY_CONTROLLERS[\"LINE_ITEMS\"] = \"line-items\";\n E_MANDATORY_CONTROLLERS[\"PREVIEW\"] = \"preview\";\n E_MANDATORY_CONTROLLERS[\"PRICING\"] = \"pricing\";\n E_MANDATORY_CONTROLLERS[\"RETURN_TO_EDIT\"] = \"return-to-edit\";\n})(E_MANDATORY_CONTROLLERS || (E_MANDATORY_CONTROLLERS = {}));\n\nclass AbstractLineItemsController {\n}\nclass AbstractPricingController {\n}\nclass AbstractPreviewController {\n}\nclass AbstractCheckoutController {\n}\nclass AbstractReturnToEditController {\n}\n\n/*\nfrom https://github.com/substack/vm-browserify/blob/bfd7c5f59edec856dc7efe0b77a4f6b2fa20f226/index.js\n\nMIT license no Copyright holder mentioned\n*/\n\n\nfunction Object_keys(obj) {\n if (Object.keys) return Object.keys(obj)\n else {\n var res = [];\n for (var key in obj) res.push(key);\n return res;\n }\n}\n\nfunction forEach(xs, fn) {\n if (xs.forEach) return xs.forEach(fn)\n else\n for (var i = 0; i < xs.length; i++) {\n fn(xs[i], i, xs);\n }\n}\nvar _defineProp;\n\nfunction defineProp(obj, name, value) {\n if (typeof _defineProp !== 'function') {\n _defineProp = createDefineProp;\n }\n _defineProp(obj, name, value);\n}\n\nfunction createDefineProp() {\n try {\n Object.defineProperty({}, '_', {});\n return function(obj, name, value) {\n Object.defineProperty(obj, name, {\n writable: true,\n enumerable: false,\n configurable: true,\n value: value\n });\n };\n } catch (e) {\n return function(obj, name, value) {\n obj[name] = value;\n };\n }\n}\n\nvar globals = ['Array', 'Boolean', 'Date', 'Error', 'EvalError', 'Function',\n 'Infinity', 'JSON', 'Math', 'NaN', 'Number', 'Object', 'RangeError',\n 'ReferenceError', 'RegExp', 'String', 'SyntaxError', 'TypeError', 'URIError',\n 'decodeURI', 'decodeURIComponent', 'encodeURI', 'encodeURIComponent', 'escape',\n 'eval', 'isFinite', 'isNaN', 'parseFloat', 'parseInt', 'undefined', 'unescape'\n];\n\nfunction Context() {}\nContext.prototype = {};\n\nfunction Script(code) {\n if (!(this instanceof Script)) return new Script(code);\n this.code = code;\n}\nfunction otherRunInContext(code, context) {\n var args = Object_keys(global);\n args.push('with (this.__ctx__){return eval(this.__code__)}');\n var fn = Function.apply(null, args);\n return fn.apply({\n __code__: code,\n __ctx__: context\n });\n}\nScript.prototype.runInContext = function(context) {\n if (!(context instanceof Context)) {\n throw new TypeError('needs a \\'context\\' argument.');\n }\n if (global.document) {\n var iframe = global.document.createElement('iframe');\n if (!iframe.style) iframe.style = {};\n iframe.style.display = 'none';\n\n global.document.body.appendChild(iframe);\n\n var win = iframe.contentWindow;\n var wEval = win.eval,\n wExecScript = win.execScript;\n\n if (!wEval && wExecScript) {\n // win.eval() magically appears when this is called in IE:\n wExecScript.call(win, 'null');\n wEval = win.eval;\n }\n\n forEach(Object_keys(context), function(key) {\n win[key] = context[key];\n });\n forEach(globals, function(key) {\n if (context[key]) {\n win[key] = context[key];\n }\n });\n\n var winKeys = Object_keys(win);\n\n var res = wEval.call(win, this.code);\n\n forEach(Object_keys(win), function(key) {\n // Avoid copying circular objects like `top` and `window` by only\n // updating existing context properties or new properties in the `win`\n // that was only introduced after the eval.\n if (key in context || indexOf(winKeys, key) === -1) {\n context[key] = win[key];\n }\n });\n\n forEach(globals, function(key) {\n if (!(key in context)) {\n defineProp(context, key, win[key]);\n }\n });\n global.document.body.removeChild(iframe);\n\n return res;\n }\n return otherRunInContext(this.code, context);\n};\n\nScript.prototype.runInThisContext = function() {\n var fn = new Function('code', 'return eval(code);');\n return fn.call(global, this.code); // maybe...\n};\n\nScript.prototype.runInNewContext = function(context) {\n var ctx = createContext(context);\n var res = this.runInContext(ctx);\n if (context) {\n forEach(Object_keys(ctx), function(key) {\n context[key] = ctx[key];\n });\n }\n\n return res;\n};\n\nfunction createContext(context) {\n if (isContext(context)) {\n return context;\n }\n var copy = new Context();\n if (typeof context === 'object') {\n forEach(Object_keys(context), function(key) {\n copy[key] = context[key];\n });\n }\n return copy;\n}\nfunction runInContext(code, contextifiedSandbox, options) {\n var script = new Script(code);\n return script.runInContext(contextifiedSandbox, options);\n}\nfunction isContext(context) {\n return context instanceof Context;\n}\n\n\n/*\nfrom indexOf\n@ author tjholowaychuk\n@ license MIT\n*/\nvar _indexOf = [].indexOf;\n\nfunction indexOf(arr, obj){\n if (_indexOf) return arr.indexOf(obj);\n for (var i = 0; i < arr.length; ++i) {\n if (arr[i] === obj) return i;\n }\n return -1;\n}\n\nasync function virtualMachine(code) {\n const context = {\n module: { exports: {} },\n exports: {},\n require: (id) => {\n if (id === '@savafeed/module-manager') {\n return moduleManager;\n }\n throw new Error(`Cannot require('${id}') in this context`);\n },\n console,\n setTimeout,\n setInterval,\n Reflect,\n Promise,\n URL,\n fetch,\n };\n const isNodeJsEnv = typeof document === 'undefined';\n if (isNodeJsEnv) {\n await import('reflect-metadata');\n }\n else {\n // @ts-ignore\n await import('https://unpkg.com/reflect-metadata@0.2.2/Reflect.js');\n }\n context.Reflect = Reflect;\n const sandbox = createContext(context);\n runInContext(code, sandbox);\n const moduleObject = sandbox.exports;\n return moduleObject;\n}\n\nclass DriverProcessor {\n // static CDN: string = 'http://localhost:5000';\n static CDN = 'https://unpkg.com/@savafeed';\n static async getDriverModule(bootstrapOptions) {\n let driverModule;\n if (bootstrapOptions?.default) {\n driverModule = await DriverProcessor.defaultBootstrapDriver(bootstrapOptions.default);\n }\n else if (bootstrapOptions?.custom) {\n driverModule = await DriverProcessor.customBootstrapDriver(bootstrapOptions.custom);\n }\n else {\n throw new Error('Driver not found');\n }\n return driverModule;\n }\n ;\n static async defaultBootstrapDriver(options) {\n if (!options?.name)\n throw new Error(`Unable to get driver by this name: ${options?.name}`);\n const driver = await DriverProcessor.pullDriverByName(options.name, options.scriptType);\n const driverModule = DriverProcessor.exportDriverModule(driver, {\n scriptType: options.scriptType,\n name: options.name,\n });\n return driverModule;\n }\n static async customBootstrapDriver(options) {\n if (!options?.link)\n throw new Error('Driver link not found');\n if (!options?.className)\n throw new Error('Driver class name not found');\n const driver = await DriverProcessor.pullDriverByLink(options.link);\n const driverModule = DriverProcessor.exportDriverModule(driver, {\n scriptType: options.scriptType,\n name: options.className,\n });\n return driverModule;\n }\n static exportDriverModule(driver, options) {\n if (!driver)\n throw new Error('Driver not found');\n const currentScriptType = (!!options.scriptType) ? options.scriptType : 'umd';\n const driverClassName = options.name;\n switch (currentScriptType) {\n case 'esm':\n return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];\n case 'umd':\n return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];\n case 'cjs':\n return driver[E_DRIVER_CLASSES[driverClassName]];\n default:\n throw new Error(`Unknown script type: ${currentScriptType}`);\n }\n }\n static async pullDriverByLink(link) {\n if (!link)\n throw new Error('Driver link not found');\n const response = await fetch(link);\n if (!response?.ok) {\n throw new Error(`Failed to load script from CDN: ${response.statusText}`);\n }\n const scriptContent = await response.text();\n const driver = await virtualMachine(scriptContent);\n return driver;\n }\n ;\n static async pullDriverByName(driverName, scriptType) {\n if (!driverName)\n throw new Error('Driver name not found');\n const currentScriptType = (!!scriptType) ? scriptType : 'umd';\n const link = `${DriverProcessor.CDN}/${driverName}-driver@latest/${driverName}.driver.${currentScriptType}.js`;\n const response = await fetch(link);\n if (!response?.ok) {\n throw new Error(`Failed to load script from CDN: ${response.statusText}`);\n }\n const scriptContent = await response.text();\n const driver = await virtualMachine(scriptContent);\n return driver;\n }\n ;\n}\n\nclass DriverManager {\n appContainer;\n environments;\n constructor(appContainer, environments) {\n this.appContainer = appContainer;\n this.environments = environments;\n if (!!this?.environments?.core) {\n this.setCoreOptions(this.environments.core);\n }\n }\n ;\n async setup() {\n if (this.appContainer.providers.has(E_DRIVER_TOKENS.ENVIRONMENTS)) {\n throw new Error(`Provider with token \"${E_DRIVER_TOKENS.ENVIRONMENTS}\" already exists`);\n }\n this.appContainer.providers.set(E_DRIVER_TOKENS.ENVIRONMENTS, this.environments);\n if (this.environments?.input?.eCommerce) {\n return await this.bootstrapDriver({\n default: {\n name: this.environments?.input?.eCommerce,\n scriptType: this.environments?.input?.driverScriptType,\n },\n });\n }\n else {\n return await this.bootstrapDriver({\n custom: {\n link: this.environments?.input?.driverLink,\n className: this.environments?.input?.driverClassName,\n },\n });\n }\n }\n setCoreOptions(options) {\n if (options?.cdn) {\n DriverProcessor.CDN = options.cdn;\n }\n }\n getController(controllerName) {\n return this.appContainer.getController(controllerName);\n }\n async bootstrapDriver(bootstrapOptions) {\n const driverModule = await DriverProcessor.getDriverModule(bootstrapOptions);\n if (!driverModule) {\n console.error('Driver not found!', driverModule);\n console.warn('Bootstrap options:', bootstrapOptions);\n let stringOptions;\n try {\n stringOptions = JSON.stringify(bootstrapOptions);\n }\n catch (ex) {\n console.warn('Error trying to convert bootstrap parameters to JSON to show in error:', ex);\n stringOptions = String(bootstrapOptions);\n }\n throw new Error(`Driver with options: (${stringOptions}) not found`);\n }\n this.appContainer.registerModule(driverModule);\n return driverModule;\n }\n ;\n}\n\nexport { AbstractCheckoutController, AbstractLineItemsController, AbstractPreviewController, AbstractPricingController, AbstractReturnToEditController, DriverManager, E_DRIVER_CLASSES, E_DRIVER_TOKENS, E_MANDATORY_CONTROLLERS };\n//# sourceMappingURL=index.esm.js.map\n",null,null],"names":["E_DRIVER_CLASSES","E_DRIVER_TOKENS","E_MANDATORY_CONTROLLERS"],"mappings":"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","x_google_ignoreList":[0,1]}
|
1
|
+
{"version":3,"file":"cart-api-sdk.umd.js","sources":["../node_modules/@savafeed/module-manager/dist/index.esm.js","../node_modules/@savafeed/driver-manager/dist/index.esm.js","../src/polyfills/dom.ts","../src/index.ts"],"sourcesContent":["import 'reflect-metadata';\r\n\r\nclass TypeSpecifier {\r\n static isClass(input) {\r\n return (!TypeSpecifier.isFunction(input) &&\r\n !TypeSpecifier.isFunctionByTryCall(input) &&\r\n TypeSpecifier.isClassByStringLiteral(input));\r\n }\r\n static isClassByStringLiteral(input) {\r\n const functionString = input.toString();\r\n return !!functionString.startsWith('class');\r\n }\r\n static isFunction(input) {\r\n return typeof input !== 'function';\r\n }\r\n static isFunctionByTryCall(input) {\r\n try {\r\n input();\r\n return true;\r\n }\r\n catch (error) {\r\n return false;\r\n }\r\n }\r\n}\r\n\r\nclass ModuleRef {\r\n parentContainer;\r\n module;\r\n controllers = new Map();\r\n providers = new Map();\r\n constructor(parentContainer, module) {\r\n this.parentContainer = parentContainer;\r\n this.module = module;\r\n this[\"registerProviders\" /* E_REGISTER_CALL_ORDER.first */]();\r\n this[\"registerControllers\" /* E_REGISTER_CALL_ORDER.second */]();\r\n }\r\n ;\r\n registerProviders() {\r\n const providers = this.module.providers;\r\n if (!providers)\r\n return;\r\n for (const provider of providers) {\r\n if (this.providers.has(provider))\r\n continue;\r\n const dependencyTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, provider);\r\n const dependencies = [];\r\n dependencyTokens?.forEach((dependencyToken, index) => {\r\n if (!TypeSpecifier.isClass(dependencyToken)) {\r\n const injectTokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, provider) || [];\r\n const injectToken = injectTokens.find((injectObject) => injectObject.index === index);\r\n if (!this.parentContainer.providers.has(injectToken?.token))\r\n return console.warn(`[WARN] (Inject) ${injectToken} is not provide in`, this.parentContainer);\r\n dependencies.push(this.parentContainer.providers.get(injectToken?.token));\r\n }\r\n else {\r\n if (!this.parentContainer.providers.has(dependencyToken))\r\n return console.warn(`[WARN] (Injectable) ${dependencyToken} is not provide in`, this.parentContainer);\r\n dependencies.push(this.parentContainer.providers.get(dependencyToken));\r\n }\r\n });\r\n let providerToken;\r\n let providerInstance;\r\n if (provider?.token) {\r\n const injectProvider = this.getInjectProviderWithInstance(provider);\r\n if (!injectProvider)\r\n return console.warn(`[WARN] Provider type is not Inject. ${provider.token} is not provide in`, this.parentContainer);\r\n providerToken = injectProvider.token;\r\n providerInstance = injectProvider.instance;\r\n Reflect.defineMetadata(providerToken, providerInstance, this.module);\r\n }\r\n else {\r\n providerToken = provider;\r\n providerInstance = new provider(...dependencies);\r\n Reflect.defineMetadata(providerToken, provider, this.module);\r\n }\r\n this.providers.set(providerToken, providerInstance);\r\n }\r\n }\r\n ;\r\n getInjectProviderWithInstance(injectProvider) {\r\n if (!injectProvider?.token)\r\n return null;\r\n let injectInstance;\r\n if (injectProvider?.useValue) {\r\n injectInstance = injectProvider.useValue;\r\n }\r\n if (injectProvider?.useFactory) {\r\n const factory = injectProvider.useFactory;\r\n try {\r\n if (TypeSpecifier.isClass(factory)) {\r\n injectInstance = new injectProvider.useFactory();\r\n }\r\n else {\r\n injectInstance = injectProvider.useFactory();\r\n }\r\n }\r\n catch (error) {\r\n console.error('A factory can be either a function or a class.', error);\r\n return null;\r\n }\r\n }\r\n return {\r\n token: injectProvider.token,\r\n instance: injectInstance,\r\n };\r\n }\r\n ;\r\n registerControllers() {\r\n const controllers = this.module.controllers;\r\n if (!controllers)\r\n return;\r\n for (const controller of controllers) {\r\n if (this.controllers.has(controller))\r\n continue;\r\n const dependencyTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, controller);\r\n const dependencies = [];\r\n dependencyTokens?.forEach((dependencyToken) => {\r\n if (!this.providers.has(dependencyToken))\r\n return console.warn(`[WARN] ${dependencyToken} is not provide in`, String(this));\r\n dependencies.push(this.providers.get(dependencyToken));\r\n });\r\n const controllerToken = Reflect.getMetadata(\"controller:prefix\" /* E_TOKENS.CONTROLLER_PREFIX */, controller) || controller;\r\n const controllerInstance = new controller(...dependencies);\r\n this.controllers.set(controllerToken, controllerInstance);\r\n }\r\n }\r\n ;\r\n getController(controllerToken) {\r\n return this.controllers.get(controllerToken);\r\n }\r\n ;\r\n}\r\n\r\nfunction of(mapper) {\r\n const entryList = Array.from(mapper.entries());\r\n return entryList.map((entry) => {\r\n return {\r\n key: entry[0],\r\n value: entry[1],\r\n };\r\n });\r\n}\r\n\r\nclass Pool {\r\n factory;\r\n _pool = new Map();\r\n constructor(factory) {\r\n this.factory = factory;\r\n }\r\n ;\r\n acquire() {\r\n return of(this._pool)\r\n .map(({ value }) => value)\r\n .map(this.factory);\r\n }\r\n ;\r\n release(data) {\r\n this._pool.delete(data);\r\n }\r\n ;\r\n append(data) {\r\n this._pool.set(data, data);\r\n }\r\n ;\r\n}\r\n\r\nclass AuditContainer {\r\n providers = new Map();\r\n providersPool = new Pool((data) => data);\r\n addProviderToPool(type, providerToken) {\r\n this.providersPool.append({\r\n provider: providerToken,\r\n type,\r\n });\r\n }\r\n ;\r\n registerInnerInject(injectProvider) {\r\n this.registerGlobalInject(injectProvider);\r\n }\r\n processProvidersInPool() {\r\n const providers = this.providersPool.acquire();\r\n const providersByType = {\r\n [\"inject\" /* E_PROVIDER_TYPES.INJECT */]: [],\r\n [\"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */]: [],\r\n };\r\n providers.forEach(({ type, provider }) => {\r\n const condition = type === \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */ || type === \"inject\" /* E_PROVIDER_TYPES.INJECT */;\r\n if (condition) {\r\n providersByType[type].push(provider);\r\n }\r\n });\r\n this.dispatchRegisterProviders(providersByType, \"inject\" /* E_PROVIDER_TYPES.INJECT */);\r\n this.dispatchRegisterProviders(providersByType, \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */);\r\n }\r\n ;\r\n dispatchRegisterProviders(providersByType, type) {\r\n providersByType[type].forEach((provider) => {\r\n switch (type) {\r\n case \"inject\" /* E_PROVIDER_TYPES.INJECT */:\r\n this.registerGlobalInject(provider);\r\n break;\r\n case \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */:\r\n this.registerGlobalInjectable(provider);\r\n break;\r\n }\r\n this.providersPool.release(provider);\r\n });\r\n }\r\n ;\r\n registerGlobalInjectable(providerToken) {\r\n if (providerToken?.token) {\r\n if (this.providers.has(providerToken.token))\r\n return this.providers.get(providerToken.token);\r\n }\r\n else {\r\n if (this.providers.has(providerToken))\r\n return this.providers.get(providerToken);\r\n }\r\n const dependencies = [];\r\n const dependenciesTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, providerToken);\r\n const injectTokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, providerToken);\r\n dependenciesTokens?.forEach((dependencyToken, index) => {\r\n const injectToken = injectTokens?.find((injectTokenObject) => injectTokenObject.index === index);\r\n let injectInstance = injectToken || dependencyToken;\r\n const dependency = this.registerGlobalInjectable(injectInstance);\r\n dependencies.push(dependency);\r\n });\r\n const provider = new providerToken(...dependencies);\r\n this.providers.set(providerToken, provider);\r\n return provider;\r\n }\r\n ;\r\n registerGlobalInject(injectProvider) {\r\n let injectInstance;\r\n if (injectProvider?.useValue) {\r\n injectInstance = injectProvider.useValue;\r\n }\r\n if (injectProvider?.useFactory) {\r\n const factory = injectProvider.useFactory;\r\n try {\r\n if (TypeSpecifier.isClass(factory)) {\r\n injectInstance = new injectProvider.useFactory();\r\n }\r\n else {\r\n injectInstance = injectProvider.useFactory();\r\n }\r\n }\r\n catch (error) {\r\n console.error('A factory can be either a function or a class.', error);\r\n return error;\r\n }\r\n }\r\n this.providers.set(injectProvider.token, injectInstance);\r\n }\r\n ;\r\n}\r\n\r\nclass Container extends AuditContainer {\r\n _modules = new Map();\r\n get modules() {\r\n return this._modules;\r\n }\r\n ;\r\n registerModule(module) {\r\n if (this._modules.has(module))\r\n return console.warn(`Module has in Container`);\r\n this.processProvidersInPool();\r\n const moduleInstance = new ModuleRef(this, module);\r\n this._modules.set(module, moduleInstance);\r\n }\r\n ;\r\n getModuleByName(moduleName) {\r\n return of(this._modules).find(({ key }) => moduleName === key.name);\r\n }\r\n ;\r\n getController(prefix) {\r\n return of(this._modules).map(({ value }) => {\r\n return value.getController(prefix);\r\n }).find((controller) => !!controller);\r\n }\r\n ;\r\n findModuleByProviderToken(providerToken) {\r\n let module = null;\r\n this._modules.forEach((moduleRef, moduleClass) => {\r\n if (moduleClass.providers?.includes(providerToken)) {\r\n module = {\r\n token: moduleClass,\r\n reference: moduleRef,\r\n };\r\n }\r\n });\r\n return module;\r\n }\r\n ;\r\n}\r\nconst container = new Container();\r\n\r\nfunction Controller(prefix) {\r\n return (target) => {\r\n Reflect.defineMetadata(\"controller:prefix\" /* E_TOKENS.CONTROLLER_PREFIX */, prefix, target);\r\n };\r\n}\r\n\r\nfunction Module(options) {\r\n return (target) => {\r\n Reflect.defineProperty(target, 'name', {\r\n value: options.name,\r\n writable: false,\r\n configurable: false,\r\n });\r\n Reflect.defineProperty(target, 'controllers', {\r\n value: options.controllers,\r\n writable: false,\r\n configurable: false,\r\n });\r\n Reflect.defineProperty(target, 'providers', {\r\n value: options.providers,\r\n writable: false,\r\n configurable: false,\r\n });\r\n registerProviders(options.providers);\r\n };\r\n}\r\nfunction registerProviders(providers) {\r\n providers?.forEach((provider) => {\r\n const isObjectProvider = typeof provider === 'object' && !!provider?.token;\r\n if (isObjectProvider) {\r\n container.addProviderToPool(\"inject\" /* E_PROVIDER_TYPES.INJECT */, provider);\r\n }\r\n });\r\n}\r\n\r\nfunction Injectable() {\r\n return (target) => {\r\n container.addProviderToPool(\"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */, target);\r\n };\r\n}\r\nfunction Inject(token) {\r\n return (target, _, parameterIndex) => {\r\n const tokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, target) || [];\r\n tokens.push({\r\n index: parameterIndex,\r\n token,\r\n });\r\n Reflect.defineMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, tokens, target);\r\n };\r\n}\r\n\r\nclass AbstractModule {\r\n static name;\r\n static controllers = [];\r\n static providers = [];\r\n}\r\n\r\nclass Queue {\r\n _storage = {};\r\n _oldestIndex = 1;\r\n _newestIndex = 1;\r\n get count() {\r\n return this._newestIndex - this._oldestIndex;\r\n }\r\n enqueue(data) {\r\n this._storage[this._newestIndex] = data;\r\n this._newestIndex++;\r\n }\r\n dequeue() {\r\n const oldestIndex = this._oldestIndex;\r\n const deletedData = this._storage[oldestIndex];\r\n delete this._storage[oldestIndex];\r\n this._oldestIndex++;\r\n return deletedData;\r\n }\r\n toArray() {\r\n return Object.values(this._storage);\r\n }\r\n}\r\n\r\nexport { AbstractModule, Container, Controller, Inject, Injectable, Module, ModuleRef, Queue, TypeSpecifier, container, of };\r\n//# sourceMappingURL=index.esm.js.map\r\n","import 'reflect-metadata';\nimport * as moduleManager from '@savafeed/module-manager';\n\nvar E_DRIVER_CLASSES;\n(function (E_DRIVER_CLASSES) {\n E_DRIVER_CLASSES[\"shopify\"] = \"ShopifyDriver\";\n E_DRIVER_CLASSES[\"woo\"] = \"WooDriver\";\n})(E_DRIVER_CLASSES || (E_DRIVER_CLASSES = {}));\n\nvar E_DRIVER_TOKENS;\n(function (E_DRIVER_TOKENS) {\n E_DRIVER_TOKENS[\"ENVIRONMENTS\"] = \"ENVIRONMENTS\";\n})(E_DRIVER_TOKENS || (E_DRIVER_TOKENS = {}));\n\nvar E_MANDATORY_CONTROLLERS;\n(function (E_MANDATORY_CONTROLLERS) {\n E_MANDATORY_CONTROLLERS[\"LINE_ITEMS\"] = \"line-items\";\n E_MANDATORY_CONTROLLERS[\"PREVIEW\"] = \"preview\";\n E_MANDATORY_CONTROLLERS[\"PRICING\"] = \"pricing\";\n E_MANDATORY_CONTROLLERS[\"RETURN_TO_EDIT\"] = \"return-to-edit\";\n})(E_MANDATORY_CONTROLLERS || (E_MANDATORY_CONTROLLERS = {}));\n\nclass AbstractLineItemsController {\n}\nclass AbstractPricingController {\n}\nclass AbstractPreviewController {\n}\nclass AbstractCheckoutController {\n}\nclass AbstractReturnToEditController {\n}\n\n/*\nfrom https://github.com/substack/vm-browserify/blob/bfd7c5f59edec856dc7efe0b77a4f6b2fa20f226/index.js\n\nMIT license no Copyright holder mentioned\n*/\n\n\nfunction Object_keys(obj) {\n if (Object.keys) return Object.keys(obj)\n else {\n var res = [];\n for (var key in obj) res.push(key);\n return res;\n }\n}\n\nfunction forEach(xs, fn) {\n if (xs.forEach) return xs.forEach(fn)\n else\n for (var i = 0; i < xs.length; i++) {\n fn(xs[i], i, xs);\n }\n}\nvar _defineProp;\n\nfunction defineProp(obj, name, value) {\n if (typeof _defineProp !== 'function') {\n _defineProp = createDefineProp;\n }\n _defineProp(obj, name, value);\n}\n\nfunction createDefineProp() {\n try {\n Object.defineProperty({}, '_', {});\n return function(obj, name, value) {\n Object.defineProperty(obj, name, {\n writable: true,\n enumerable: false,\n configurable: true,\n value: value\n });\n };\n } catch (e) {\n return function(obj, name, value) {\n obj[name] = value;\n };\n }\n}\n\nvar globals = ['Array', 'Boolean', 'Date', 'Error', 'EvalError', 'Function',\n 'Infinity', 'JSON', 'Math', 'NaN', 'Number', 'Object', 'RangeError',\n 'ReferenceError', 'RegExp', 'String', 'SyntaxError', 'TypeError', 'URIError',\n 'decodeURI', 'decodeURIComponent', 'encodeURI', 'encodeURIComponent', 'escape',\n 'eval', 'isFinite', 'isNaN', 'parseFloat', 'parseInt', 'undefined', 'unescape'\n];\n\nfunction Context() {}\nContext.prototype = {};\n\nfunction Script(code) {\n if (!(this instanceof Script)) return new Script(code);\n this.code = code;\n}\nfunction otherRunInContext(code, context) {\n var args = Object_keys(global);\n args.push('with (this.__ctx__){return eval(this.__code__)}');\n var fn = Function.apply(null, args);\n return fn.apply({\n __code__: code,\n __ctx__: context\n });\n}\nScript.prototype.runInContext = function(context) {\n if (!(context instanceof Context)) {\n throw new TypeError('needs a \\'context\\' argument.');\n }\n if (global.document) {\n var iframe = global.document.createElement('iframe');\n if (!iframe.style) iframe.style = {};\n iframe.style.display = 'none';\n\n global.document.body.appendChild(iframe);\n\n var win = iframe.contentWindow;\n var wEval = win.eval,\n wExecScript = win.execScript;\n\n if (!wEval && wExecScript) {\n // win.eval() magically appears when this is called in IE:\n wExecScript.call(win, 'null');\n wEval = win.eval;\n }\n\n forEach(Object_keys(context), function(key) {\n win[key] = context[key];\n });\n forEach(globals, function(key) {\n if (context[key]) {\n win[key] = context[key];\n }\n });\n\n var winKeys = Object_keys(win);\n\n var res = wEval.call(win, this.code);\n\n forEach(Object_keys(win), function(key) {\n // Avoid copying circular objects like `top` and `window` by only\n // updating existing context properties or new properties in the `win`\n // that was only introduced after the eval.\n if (key in context || indexOf(winKeys, key) === -1) {\n context[key] = win[key];\n }\n });\n\n forEach(globals, function(key) {\n if (!(key in context)) {\n defineProp(context, key, win[key]);\n }\n });\n global.document.body.removeChild(iframe);\n\n return res;\n }\n return otherRunInContext(this.code, context);\n};\n\nScript.prototype.runInThisContext = function() {\n var fn = new Function('code', 'return eval(code);');\n return fn.call(global, this.code); // maybe...\n};\n\nScript.prototype.runInNewContext = function(context) {\n var ctx = createContext(context);\n var res = this.runInContext(ctx);\n if (context) {\n forEach(Object_keys(ctx), function(key) {\n context[key] = ctx[key];\n });\n }\n\n return res;\n};\n\nfunction createContext(context) {\n if (isContext(context)) {\n return context;\n }\n var copy = new Context();\n if (typeof context === 'object') {\n forEach(Object_keys(context), function(key) {\n copy[key] = context[key];\n });\n }\n return copy;\n}\nfunction runInContext(code, contextifiedSandbox, options) {\n var script = new Script(code);\n return script.runInContext(contextifiedSandbox, options);\n}\nfunction isContext(context) {\n return context instanceof Context;\n}\n\n\n/*\nfrom indexOf\n@ author tjholowaychuk\n@ license MIT\n*/\nvar _indexOf = [].indexOf;\n\nfunction indexOf(arr, obj){\n if (_indexOf) return arr.indexOf(obj);\n for (var i = 0; i < arr.length; ++i) {\n if (arr[i] === obj) return i;\n }\n return -1;\n}\n\nasync function virtualMachine(code) {\n const context = {\n module: { exports: {} },\n exports: {},\n require: (id) => {\n if (id === '@savafeed/module-manager') {\n return moduleManager;\n }\n throw new Error(`Cannot require('${id}') in this context`);\n },\n console,\n setTimeout,\n setInterval,\n Reflect,\n Promise,\n URL,\n fetch,\n };\n const isNodeJsEnv = typeof document === 'undefined';\n if (isNodeJsEnv) {\n await import('reflect-metadata');\n }\n else {\n // @ts-ignore\n await import('https://unpkg.com/reflect-metadata@0.2.2/Reflect.js');\n }\n context.Reflect = Reflect;\n const sandbox = createContext(context);\n runInContext(code, sandbox);\n const moduleObject = sandbox.exports;\n return moduleObject;\n}\n\nclass DriverProcessor {\n // static CDN: string = 'http://localhost:5000';\n static CDN = 'https://unpkg.com/@savafeed';\n static async getDriverModule(bootstrapOptions) {\n let driverModule;\n if (bootstrapOptions?.default) {\n driverModule = await DriverProcessor.defaultBootstrapDriver(bootstrapOptions.default);\n }\n else if (bootstrapOptions?.custom) {\n driverModule = await DriverProcessor.customBootstrapDriver(bootstrapOptions.custom);\n }\n else {\n throw new Error('Driver not found');\n }\n return driverModule;\n }\n ;\n static async defaultBootstrapDriver(options) {\n if (!options?.name)\n throw new Error(`Unable to get driver by this name: ${options?.name}`);\n const driver = await DriverProcessor.pullDriverByName(options.name, options.scriptType);\n const driverModule = DriverProcessor.exportDriverModule(driver, {\n scriptType: options.scriptType,\n name: options.name,\n });\n return driverModule;\n }\n static async customBootstrapDriver(options) {\n if (!options?.link)\n throw new Error('Driver link not found');\n if (!options?.className)\n throw new Error('Driver class name not found');\n const driver = await DriverProcessor.pullDriverByLink(options.link);\n const driverModule = DriverProcessor.exportDriverModule(driver, {\n scriptType: options.scriptType,\n name: options.className,\n });\n return driverModule;\n }\n static exportDriverModule(driver, options) {\n if (!driver)\n throw new Error('Driver not found');\n const currentScriptType = (!!options.scriptType) ? options.scriptType : 'umd';\n const driverClassName = options.name;\n switch (currentScriptType) {\n case 'esm':\n return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];\n case 'umd':\n return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];\n case 'cjs':\n return driver[E_DRIVER_CLASSES[driverClassName]];\n default:\n throw new Error(`Unknown script type: ${currentScriptType}`);\n }\n }\n static async pullDriverByLink(link) {\n if (!link)\n throw new Error('Driver link not found');\n const response = await fetch(link);\n if (!response?.ok) {\n throw new Error(`Failed to load script from CDN: ${response.statusText}`);\n }\n const scriptContent = await response.text();\n const driver = await virtualMachine(scriptContent);\n return driver;\n }\n ;\n static async pullDriverByName(driverName, scriptType) {\n if (!driverName)\n throw new Error('Driver name not found');\n const currentScriptType = (!!scriptType) ? scriptType : 'umd';\n const link = `${DriverProcessor.CDN}/${driverName}-driver@latest/${driverName}.driver.${currentScriptType}.js`;\n const response = await fetch(link);\n if (!response?.ok) {\n throw new Error(`Failed to load script from CDN: ${response.statusText}`);\n }\n const scriptContent = await response.text();\n const driver = await virtualMachine(scriptContent);\n return driver;\n }\n ;\n}\n\nclass DriverManager {\n appContainer;\n environments;\n constructor(appContainer, environments) {\n this.appContainer = appContainer;\n this.environments = environments;\n if (!!this?.environments?.core) {\n this.setCoreOptions(this.environments.core);\n }\n }\n ;\n async setup() {\n if (this.appContainer.providers.has(E_DRIVER_TOKENS.ENVIRONMENTS)) {\n throw new Error(`Provider with token \"${E_DRIVER_TOKENS.ENVIRONMENTS}\" already exists`);\n }\n this.appContainer.providers.set(E_DRIVER_TOKENS.ENVIRONMENTS, this.environments);\n if (this.environments?.input?.eCommerce) {\n return await this.bootstrapDriver({\n default: {\n name: this.environments?.input?.eCommerce,\n scriptType: this.environments?.input?.driverScriptType,\n },\n });\n }\n else {\n return await this.bootstrapDriver({\n custom: {\n link: this.environments?.input?.driverLink,\n className: this.environments?.input?.driverClassName,\n },\n });\n }\n }\n setCoreOptions(options) {\n if (options?.cdn) {\n DriverProcessor.CDN = options.cdn;\n }\n }\n getController(controllerName) {\n return this.appContainer.getController(controllerName);\n }\n async bootstrapDriver(bootstrapOptions) {\n const driverModule = await DriverProcessor.getDriverModule(bootstrapOptions);\n if (!driverModule) {\n console.error('Driver not found!', driverModule);\n console.warn('Bootstrap options:', bootstrapOptions);\n let stringOptions;\n try {\n stringOptions = JSON.stringify(bootstrapOptions);\n }\n catch (ex) {\n console.warn('Error trying to convert bootstrap parameters to JSON to show in error:', ex);\n stringOptions = String(bootstrapOptions);\n }\n throw new Error(`Driver with options: (${stringOptions}) not found`);\n }\n this.appContainer.registerModule(driverModule);\n return driverModule;\n }\n ;\n}\n\nexport { AbstractCheckoutController, AbstractLineItemsController, AbstractPreviewController, AbstractPricingController, AbstractReturnToEditController, DriverManager, E_DRIVER_CLASSES, E_DRIVER_TOKENS, E_MANDATORY_CONTROLLERS };\n//# sourceMappingURL=index.esm.js.map\n",null,null],"names":[],"mappings":"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","x_google_ignoreList":[0,1]}
|