@savafeed/cart-api-sdk 1.0.10 → 1.0.11
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 +27 -10
- package/dist/cart-api-sdk.cjs.js.map +1 -1
- package/dist/cart-api-sdk.d.ts +1 -1
- package/dist/cart-api-sdk.esm.js +12 -1
- package/dist/cart-api-sdk.esm.js.map +1 -1
- package/dist/cart-api-sdk.umd.js +27 -10
- package/dist/cart-api-sdk.umd.js.map +1 -1
- package/package.json +1 -1
package/dist/cart-api-sdk.cjs.js
CHANGED
@@ -393,16 +393,16 @@ var moduleManager = /*#__PURE__*/Object.freeze({
|
|
393
393
|
of: of
|
394
394
|
});
|
395
395
|
|
396
|
-
|
396
|
+
exports.E_DRIVER_CLASSES = void 0;
|
397
397
|
(function (E_DRIVER_CLASSES) {
|
398
398
|
E_DRIVER_CLASSES["shopify"] = "ShopifyDriver";
|
399
399
|
E_DRIVER_CLASSES["woo"] = "WooDriver";
|
400
|
-
})(E_DRIVER_CLASSES || (E_DRIVER_CLASSES = {}));
|
400
|
+
})(exports.E_DRIVER_CLASSES || (exports.E_DRIVER_CLASSES = {}));
|
401
401
|
|
402
|
-
|
402
|
+
exports.E_DRIVER_TOKENS = void 0;
|
403
403
|
(function (E_DRIVER_TOKENS) {
|
404
404
|
E_DRIVER_TOKENS["ENVIRONMENTS"] = "ENVIRONMENTS";
|
405
|
-
})(E_DRIVER_TOKENS || (E_DRIVER_TOKENS = {}));
|
405
|
+
})(exports.E_DRIVER_TOKENS || (exports.E_DRIVER_TOKENS = {}));
|
406
406
|
|
407
407
|
exports.E_MANDATORY_CONTROLLERS = void 0;
|
408
408
|
(function (E_MANDATORY_CONTROLLERS) {
|
@@ -412,6 +412,17 @@ exports.E_MANDATORY_CONTROLLERS = void 0;
|
|
412
412
|
E_MANDATORY_CONTROLLERS["RETURN_TO_EDIT"] = "return-to-edit";
|
413
413
|
})(exports.E_MANDATORY_CONTROLLERS || (exports.E_MANDATORY_CONTROLLERS = {}));
|
414
414
|
|
415
|
+
class AbstractLineItemsController {
|
416
|
+
}
|
417
|
+
class AbstractPricingController {
|
418
|
+
}
|
419
|
+
class AbstractPreviewController {
|
420
|
+
}
|
421
|
+
class AbstractCheckoutController {
|
422
|
+
}
|
423
|
+
class AbstractReturnToEditController {
|
424
|
+
}
|
425
|
+
|
415
426
|
/*
|
416
427
|
from https://github.com/substack/vm-browserify/blob/bfd7c5f59edec856dc7efe0b77a4f6b2fa20f226/index.js
|
417
428
|
|
@@ -672,11 +683,11 @@ class DriverProcessor {
|
|
672
683
|
const driverClassName = options.name;
|
673
684
|
switch (currentScriptType) {
|
674
685
|
case 'esm':
|
675
|
-
return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];
|
686
|
+
return driver?.default[exports.E_DRIVER_CLASSES[driverClassName]] || driver[exports.E_DRIVER_CLASSES[driverClassName]];
|
676
687
|
case 'umd':
|
677
|
-
return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];
|
688
|
+
return driver?.default[exports.E_DRIVER_CLASSES[driverClassName]] || driver[exports.E_DRIVER_CLASSES[driverClassName]];
|
678
689
|
case 'cjs':
|
679
|
-
return driver[E_DRIVER_CLASSES[driverClassName]];
|
690
|
+
return driver[exports.E_DRIVER_CLASSES[driverClassName]];
|
680
691
|
default:
|
681
692
|
throw new Error(`Unknown script type: ${currentScriptType}`);
|
682
693
|
}
|
@@ -721,10 +732,10 @@ class DriverManager {
|
|
721
732
|
}
|
722
733
|
;
|
723
734
|
async setup() {
|
724
|
-
if (this.appContainer.providers.has(E_DRIVER_TOKENS.ENVIRONMENTS)) {
|
725
|
-
throw new Error(`Provider with token "${E_DRIVER_TOKENS.ENVIRONMENTS}" already exists`);
|
735
|
+
if (this.appContainer.providers.has(exports.E_DRIVER_TOKENS.ENVIRONMENTS)) {
|
736
|
+
throw new Error(`Provider with token "${exports.E_DRIVER_TOKENS.ENVIRONMENTS}" already exists`);
|
726
737
|
}
|
727
|
-
this.appContainer.providers.set(E_DRIVER_TOKENS.ENVIRONMENTS, this.environments);
|
738
|
+
this.appContainer.providers.set(exports.E_DRIVER_TOKENS.ENVIRONMENTS, this.environments);
|
728
739
|
if (this.environments?.input?.eCommerce) {
|
729
740
|
return await this.bootstrapDriver({
|
730
741
|
default: {
|
@@ -846,5 +857,11 @@ if ($window) {
|
|
846
857
|
$window.CartSDK = CartSDK;
|
847
858
|
}
|
848
859
|
|
860
|
+
exports.AbstractCheckoutController = AbstractCheckoutController;
|
861
|
+
exports.AbstractLineItemsController = AbstractLineItemsController;
|
862
|
+
exports.AbstractPreviewController = AbstractPreviewController;
|
863
|
+
exports.AbstractPricingController = AbstractPricingController;
|
864
|
+
exports.AbstractReturnToEditController = AbstractReturnToEditController;
|
849
865
|
exports.CartSDK = CartSDK;
|
866
|
+
exports.DriverManager = DriverManager;
|
850
867
|
//# 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_MANDATORY_CONTROLLERS"],"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;;AAEzCA;AACJ,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,EAAEA,+BAAuB,KAAKA,+BAAuB,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,YAAAA,+BAAuB,CAAC,UAAU;AAClC,YAAAA,+BAAuB,CAAC,OAAO;AAC/B,YAAAA,+BAAuB,CAAC,OAAO;AAC/B,YAAAA,+BAAuB,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]}
|
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]}
|
package/dist/cart-api-sdk.d.ts
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
import * as _savafeed_module_manager from '@savafeed/module-manager';
|
2
2
|
import { IEnvironments, E_MANDATORY_CONTROLLERS, TGetControllerType } from '@savafeed/driver-manager';
|
3
|
-
export { E_MANDATORY_CONTROLLERS, IEnvironments } from '@savafeed/driver-manager';
|
3
|
+
export { AbstractCheckoutController, AbstractLineItemsController, AbstractPreviewController, AbstractPricingController, AbstractReturnToEditController, DriverManager, E_DRIVER_CLASSES, E_DRIVER_TOKENS, E_MANDATORY_CONTROLLERS, IBootstrapOptions, ICheckoutController, IEnvironments, ILineItemsController, IPreviewController, IPricingController, IReturnToEditController, TControllerMap, TDefaultDriverName, TGetControllerType } from '@savafeed/driver-manager';
|
4
4
|
|
5
5
|
declare class CartSDK {
|
6
6
|
private environments;
|
package/dist/cart-api-sdk.esm.js
CHANGED
@@ -410,6 +410,17 @@ 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
|
+
|
413
424
|
/*
|
414
425
|
from https://github.com/substack/vm-browserify/blob/bfd7c5f59edec856dc7efe0b77a4f6b2fa20f226/index.js
|
415
426
|
|
@@ -844,5 +855,5 @@ if ($window) {
|
|
844
855
|
$window.CartSDK = CartSDK;
|
845
856
|
}
|
846
857
|
|
847
|
-
export { CartSDK, E_MANDATORY_CONTROLLERS };
|
858
|
+
export { AbstractCheckoutController, AbstractLineItemsController, AbstractPreviewController, AbstractPricingController, AbstractReturnToEditController, CartSDK, DriverManager, E_DRIVER_CLASSES, E_DRIVER_TOKENS, E_MANDATORY_CONTROLLERS };
|
848
859
|
//# 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":";;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;;AAE1C,IAAC;AACJ,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]}
|
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,16 +395,16 @@
|
|
395
395
|
of: of
|
396
396
|
});
|
397
397
|
|
398
|
-
|
398
|
+
exports.E_DRIVER_CLASSES = void 0;
|
399
399
|
(function (E_DRIVER_CLASSES) {
|
400
400
|
E_DRIVER_CLASSES["shopify"] = "ShopifyDriver";
|
401
401
|
E_DRIVER_CLASSES["woo"] = "WooDriver";
|
402
|
-
})(E_DRIVER_CLASSES || (E_DRIVER_CLASSES = {}));
|
402
|
+
})(exports.E_DRIVER_CLASSES || (exports.E_DRIVER_CLASSES = {}));
|
403
403
|
|
404
|
-
|
404
|
+
exports.E_DRIVER_TOKENS = void 0;
|
405
405
|
(function (E_DRIVER_TOKENS) {
|
406
406
|
E_DRIVER_TOKENS["ENVIRONMENTS"] = "ENVIRONMENTS";
|
407
|
-
})(E_DRIVER_TOKENS || (E_DRIVER_TOKENS = {}));
|
407
|
+
})(exports.E_DRIVER_TOKENS || (exports.E_DRIVER_TOKENS = {}));
|
408
408
|
|
409
409
|
exports.E_MANDATORY_CONTROLLERS = void 0;
|
410
410
|
(function (E_MANDATORY_CONTROLLERS) {
|
@@ -414,6 +414,17 @@
|
|
414
414
|
E_MANDATORY_CONTROLLERS["RETURN_TO_EDIT"] = "return-to-edit";
|
415
415
|
})(exports.E_MANDATORY_CONTROLLERS || (exports.E_MANDATORY_CONTROLLERS = {}));
|
416
416
|
|
417
|
+
class AbstractLineItemsController {
|
418
|
+
}
|
419
|
+
class AbstractPricingController {
|
420
|
+
}
|
421
|
+
class AbstractPreviewController {
|
422
|
+
}
|
423
|
+
class AbstractCheckoutController {
|
424
|
+
}
|
425
|
+
class AbstractReturnToEditController {
|
426
|
+
}
|
427
|
+
|
417
428
|
/*
|
418
429
|
from https://github.com/substack/vm-browserify/blob/bfd7c5f59edec856dc7efe0b77a4f6b2fa20f226/index.js
|
419
430
|
|
@@ -674,11 +685,11 @@
|
|
674
685
|
const driverClassName = options.name;
|
675
686
|
switch (currentScriptType) {
|
676
687
|
case 'esm':
|
677
|
-
return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];
|
688
|
+
return driver?.default[exports.E_DRIVER_CLASSES[driverClassName]] || driver[exports.E_DRIVER_CLASSES[driverClassName]];
|
678
689
|
case 'umd':
|
679
|
-
return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];
|
690
|
+
return driver?.default[exports.E_DRIVER_CLASSES[driverClassName]] || driver[exports.E_DRIVER_CLASSES[driverClassName]];
|
680
691
|
case 'cjs':
|
681
|
-
return driver[E_DRIVER_CLASSES[driverClassName]];
|
692
|
+
return driver[exports.E_DRIVER_CLASSES[driverClassName]];
|
682
693
|
default:
|
683
694
|
throw new Error(`Unknown script type: ${currentScriptType}`);
|
684
695
|
}
|
@@ -723,10 +734,10 @@
|
|
723
734
|
}
|
724
735
|
;
|
725
736
|
async setup() {
|
726
|
-
if (this.appContainer.providers.has(E_DRIVER_TOKENS.ENVIRONMENTS)) {
|
727
|
-
throw new Error(`Provider with token "${E_DRIVER_TOKENS.ENVIRONMENTS}" already exists`);
|
737
|
+
if (this.appContainer.providers.has(exports.E_DRIVER_TOKENS.ENVIRONMENTS)) {
|
738
|
+
throw new Error(`Provider with token "${exports.E_DRIVER_TOKENS.ENVIRONMENTS}" already exists`);
|
728
739
|
}
|
729
|
-
this.appContainer.providers.set(E_DRIVER_TOKENS.ENVIRONMENTS, this.environments);
|
740
|
+
this.appContainer.providers.set(exports.E_DRIVER_TOKENS.ENVIRONMENTS, this.environments);
|
730
741
|
if (this.environments?.input?.eCommerce) {
|
731
742
|
return await this.bootstrapDriver({
|
732
743
|
default: {
|
@@ -848,7 +859,13 @@
|
|
848
859
|
$window.CartSDK = CartSDK;
|
849
860
|
}
|
850
861
|
|
862
|
+
exports.AbstractCheckoutController = AbstractCheckoutController;
|
863
|
+
exports.AbstractLineItemsController = AbstractLineItemsController;
|
864
|
+
exports.AbstractPreviewController = AbstractPreviewController;
|
865
|
+
exports.AbstractPricingController = AbstractPricingController;
|
866
|
+
exports.AbstractReturnToEditController = AbstractReturnToEditController;
|
851
867
|
exports.CartSDK = CartSDK;
|
868
|
+
exports.DriverManager = DriverManager;
|
852
869
|
|
853
870
|
}));
|
854
871
|
//# 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_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":["E_DRIVER_CLASSES","E_DRIVER_TOKENS","E_MANDATORY_CONTROLLERS"],"mappings":"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","x_google_ignoreList":[0,1]}
|