@savafeed/cart-api-sdk 1.0.6 → 1.0.7

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.
@@ -404,13 +404,13 @@ var E_DRIVER_TOKENS;
404
404
  E_DRIVER_TOKENS["ENVIRONMENTS"] = "ENVIRONMENTS";
405
405
  })(E_DRIVER_TOKENS || (E_DRIVER_TOKENS = {}));
406
406
 
407
- var E_MANDATORY_CONTROLLERS;
407
+ exports.E_MANDATORY_CONTROLLERS = void 0;
408
408
  (function (E_MANDATORY_CONTROLLERS) {
409
409
  E_MANDATORY_CONTROLLERS["LINE_ITEMS"] = "line-items";
410
410
  E_MANDATORY_CONTROLLERS["PREVIEW"] = "preview";
411
411
  E_MANDATORY_CONTROLLERS["PRICING"] = "pricing";
412
412
  E_MANDATORY_CONTROLLERS["RETURN_TO_EDIT"] = "return-to-edit";
413
- })(E_MANDATORY_CONTROLLERS || (E_MANDATORY_CONTROLLERS = {}));
413
+ })(exports.E_MANDATORY_CONTROLLERS || (exports.E_MANDATORY_CONTROLLERS = {}));
414
414
 
415
415
  /*
416
416
  from https://github.com/substack/vm-browserify/blob/bfd7c5f59edec856dc7efe0b77a4f6b2fa20f226/index.js
@@ -826,10 +826,10 @@ class CartSDK {
826
826
  }
827
827
  purchasingMandatoryControllers() {
828
828
  const mandatoryControllers = [
829
- E_MANDATORY_CONTROLLERS.LINE_ITEMS,
830
- E_MANDATORY_CONTROLLERS.PREVIEW,
831
- E_MANDATORY_CONTROLLERS.PRICING,
832
- E_MANDATORY_CONTROLLERS.RETURN_TO_EDIT,
829
+ exports.E_MANDATORY_CONTROLLERS.LINE_ITEMS,
830
+ exports.E_MANDATORY_CONTROLLERS.PREVIEW,
831
+ exports.E_MANDATORY_CONTROLLERS.PRICING,
832
+ exports.E_MANDATORY_CONTROLLERS.RETURN_TO_EDIT,
833
833
  ];
834
834
  mandatoryControllers.forEach((controllerName) => {
835
835
  const controllerInstance = this.driverManager.getController(controllerName);
@@ -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":[],"mappings":"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","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"cart-api-sdk.cjs.js","sources":["../node_modules/@savafeed/module-manager/dist/index.esm.js","../node_modules/@savafeed/driver-manager/dist/index.esm.js","../src/polyfills/dom.ts","../src/index.ts"],"sourcesContent":["import 'reflect-metadata';\r\n\r\nclass TypeSpecifier {\r\n static isClass(input) {\r\n return (!TypeSpecifier.isFunction(input) &&\r\n !TypeSpecifier.isFunctionByTryCall(input) &&\r\n TypeSpecifier.isClassByStringLiteral(input));\r\n }\r\n static isClassByStringLiteral(input) {\r\n const functionString = input.toString();\r\n return !!functionString.startsWith('class');\r\n }\r\n static isFunction(input) {\r\n return typeof input !== 'function';\r\n }\r\n static isFunctionByTryCall(input) {\r\n try {\r\n input();\r\n return true;\r\n }\r\n catch (error) {\r\n return false;\r\n }\r\n }\r\n}\r\n\r\nclass ModuleRef {\r\n parentContainer;\r\n module;\r\n controllers = new Map();\r\n providers = new Map();\r\n constructor(parentContainer, module) {\r\n this.parentContainer = parentContainer;\r\n this.module = module;\r\n this[\"registerProviders\" /* E_REGISTER_CALL_ORDER.first */]();\r\n this[\"registerControllers\" /* E_REGISTER_CALL_ORDER.second */]();\r\n }\r\n ;\r\n registerProviders() {\r\n const providers = this.module.providers;\r\n if (!providers)\r\n return;\r\n for (const provider of providers) {\r\n if (this.providers.has(provider))\r\n continue;\r\n const dependencyTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, provider);\r\n const dependencies = [];\r\n dependencyTokens?.forEach((dependencyToken, index) => {\r\n if (!TypeSpecifier.isClass(dependencyToken)) {\r\n const injectTokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, provider) || [];\r\n const injectToken = injectTokens.find((injectObject) => injectObject.index === index);\r\n if (!this.parentContainer.providers.has(injectToken?.token))\r\n return console.warn(`[WARN] (Inject) ${injectToken} is not provide in`, this.parentContainer);\r\n dependencies.push(this.parentContainer.providers.get(injectToken?.token));\r\n }\r\n else {\r\n if (!this.parentContainer.providers.has(dependencyToken))\r\n return console.warn(`[WARN] (Injectable) ${dependencyToken} is not provide in`, this.parentContainer);\r\n dependencies.push(this.parentContainer.providers.get(dependencyToken));\r\n }\r\n });\r\n let providerToken;\r\n let providerInstance;\r\n if (provider?.token) {\r\n const injectProvider = this.getInjectProviderWithInstance(provider);\r\n if (!injectProvider)\r\n return console.warn(`[WARN] Provider type is not Inject. ${provider.token} is not provide in`, this.parentContainer);\r\n providerToken = injectProvider.token;\r\n providerInstance = injectProvider.instance;\r\n Reflect.defineMetadata(providerToken, providerInstance, this.module);\r\n }\r\n else {\r\n providerToken = provider;\r\n providerInstance = new provider(...dependencies);\r\n Reflect.defineMetadata(providerToken, provider, this.module);\r\n }\r\n this.providers.set(providerToken, providerInstance);\r\n }\r\n }\r\n ;\r\n getInjectProviderWithInstance(injectProvider) {\r\n if (!injectProvider?.token)\r\n return null;\r\n let injectInstance;\r\n if (injectProvider?.useValue) {\r\n injectInstance = injectProvider.useValue;\r\n }\r\n if (injectProvider?.useFactory) {\r\n const factory = injectProvider.useFactory;\r\n try {\r\n if (TypeSpecifier.isClass(factory)) {\r\n injectInstance = new injectProvider.useFactory();\r\n }\r\n else {\r\n injectInstance = injectProvider.useFactory();\r\n }\r\n }\r\n catch (error) {\r\n console.error('A factory can be either a function or a class.', error);\r\n return null;\r\n }\r\n }\r\n return {\r\n token: injectProvider.token,\r\n instance: injectInstance,\r\n };\r\n }\r\n ;\r\n registerControllers() {\r\n const controllers = this.module.controllers;\r\n if (!controllers)\r\n return;\r\n for (const controller of controllers) {\r\n if (this.controllers.has(controller))\r\n continue;\r\n const dependencyTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, controller);\r\n const dependencies = [];\r\n dependencyTokens?.forEach((dependencyToken) => {\r\n if (!this.providers.has(dependencyToken))\r\n return console.warn(`[WARN] ${dependencyToken} is not provide in`, String(this));\r\n dependencies.push(this.providers.get(dependencyToken));\r\n });\r\n const controllerToken = Reflect.getMetadata(\"controller:prefix\" /* E_TOKENS.CONTROLLER_PREFIX */, controller) || controller;\r\n const controllerInstance = new controller(...dependencies);\r\n this.controllers.set(controllerToken, controllerInstance);\r\n }\r\n }\r\n ;\r\n getController(controllerToken) {\r\n return this.controllers.get(controllerToken);\r\n }\r\n ;\r\n}\r\n\r\nfunction of(mapper) {\r\n const entryList = Array.from(mapper.entries());\r\n return entryList.map((entry) => {\r\n return {\r\n key: entry[0],\r\n value: entry[1],\r\n };\r\n });\r\n}\r\n\r\nclass Pool {\r\n factory;\r\n _pool = new Map();\r\n constructor(factory) {\r\n this.factory = factory;\r\n }\r\n ;\r\n acquire() {\r\n return of(this._pool)\r\n .map(({ value }) => value)\r\n .map(this.factory);\r\n }\r\n ;\r\n release(data) {\r\n this._pool.delete(data);\r\n }\r\n ;\r\n append(data) {\r\n this._pool.set(data, data);\r\n }\r\n ;\r\n}\r\n\r\nclass AuditContainer {\r\n providers = new Map();\r\n providersPool = new Pool((data) => data);\r\n addProviderToPool(type, providerToken) {\r\n this.providersPool.append({\r\n provider: providerToken,\r\n type,\r\n });\r\n }\r\n ;\r\n registerInnerInject(injectProvider) {\r\n this.registerGlobalInject(injectProvider);\r\n }\r\n processProvidersInPool() {\r\n const providers = this.providersPool.acquire();\r\n const providersByType = {\r\n [\"inject\" /* E_PROVIDER_TYPES.INJECT */]: [],\r\n [\"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */]: [],\r\n };\r\n providers.forEach(({ type, provider }) => {\r\n const condition = type === \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */ || type === \"inject\" /* E_PROVIDER_TYPES.INJECT */;\r\n if (condition) {\r\n providersByType[type].push(provider);\r\n }\r\n });\r\n this.dispatchRegisterProviders(providersByType, \"inject\" /* E_PROVIDER_TYPES.INJECT */);\r\n this.dispatchRegisterProviders(providersByType, \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */);\r\n }\r\n ;\r\n dispatchRegisterProviders(providersByType, type) {\r\n providersByType[type].forEach((provider) => {\r\n switch (type) {\r\n case \"inject\" /* E_PROVIDER_TYPES.INJECT */:\r\n this.registerGlobalInject(provider);\r\n break;\r\n case \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */:\r\n this.registerGlobalInjectable(provider);\r\n break;\r\n }\r\n this.providersPool.release(provider);\r\n });\r\n }\r\n ;\r\n registerGlobalInjectable(providerToken) {\r\n if (providerToken?.token) {\r\n if (this.providers.has(providerToken.token))\r\n return this.providers.get(providerToken.token);\r\n }\r\n else {\r\n if (this.providers.has(providerToken))\r\n return this.providers.get(providerToken);\r\n }\r\n const dependencies = [];\r\n const dependenciesTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, providerToken);\r\n const injectTokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, providerToken);\r\n dependenciesTokens?.forEach((dependencyToken, index) => {\r\n const injectToken = injectTokens?.find((injectTokenObject) => injectTokenObject.index === index);\r\n let injectInstance = injectToken || dependencyToken;\r\n const dependency = this.registerGlobalInjectable(injectInstance);\r\n dependencies.push(dependency);\r\n });\r\n const provider = new providerToken(...dependencies);\r\n this.providers.set(providerToken, provider);\r\n return provider;\r\n }\r\n ;\r\n registerGlobalInject(injectProvider) {\r\n let injectInstance;\r\n if (injectProvider?.useValue) {\r\n injectInstance = injectProvider.useValue;\r\n }\r\n if (injectProvider?.useFactory) {\r\n const factory = injectProvider.useFactory;\r\n try {\r\n if (TypeSpecifier.isClass(factory)) {\r\n injectInstance = new injectProvider.useFactory();\r\n }\r\n else {\r\n injectInstance = injectProvider.useFactory();\r\n }\r\n }\r\n catch (error) {\r\n console.error('A factory can be either a function or a class.', error);\r\n return error;\r\n }\r\n }\r\n this.providers.set(injectProvider.token, injectInstance);\r\n }\r\n ;\r\n}\r\n\r\nclass Container extends AuditContainer {\r\n _modules = new Map();\r\n get modules() {\r\n return this._modules;\r\n }\r\n ;\r\n registerModule(module) {\r\n if (this._modules.has(module))\r\n return console.warn(`Module has in Container`);\r\n this.processProvidersInPool();\r\n const moduleInstance = new ModuleRef(this, module);\r\n this._modules.set(module, moduleInstance);\r\n }\r\n ;\r\n getModuleByName(moduleName) {\r\n return of(this._modules).find(({ key }) => moduleName === key.name);\r\n }\r\n ;\r\n getController(prefix) {\r\n return of(this._modules).map(({ value }) => {\r\n return value.getController(prefix);\r\n }).find((controller) => !!controller);\r\n }\r\n ;\r\n findModuleByProviderToken(providerToken) {\r\n let module = null;\r\n this._modules.forEach((moduleRef, moduleClass) => {\r\n if (moduleClass.providers?.includes(providerToken)) {\r\n module = {\r\n token: moduleClass,\r\n reference: moduleRef,\r\n };\r\n }\r\n });\r\n return module;\r\n }\r\n ;\r\n}\r\nconst container = new Container();\r\n\r\nfunction Controller(prefix) {\r\n return (target) => {\r\n Reflect.defineMetadata(\"controller:prefix\" /* E_TOKENS.CONTROLLER_PREFIX */, prefix, target);\r\n };\r\n}\r\n\r\nfunction Module(options) {\r\n return (target) => {\r\n Reflect.defineProperty(target, 'name', {\r\n value: options.name,\r\n writable: false,\r\n configurable: false,\r\n });\r\n Reflect.defineProperty(target, 'controllers', {\r\n value: options.controllers,\r\n writable: false,\r\n configurable: false,\r\n });\r\n Reflect.defineProperty(target, 'providers', {\r\n value: options.providers,\r\n writable: false,\r\n configurable: false,\r\n });\r\n registerProviders(options.providers);\r\n };\r\n}\r\nfunction registerProviders(providers) {\r\n providers?.forEach((provider) => {\r\n const isObjectProvider = typeof provider === 'object' && !!provider?.token;\r\n if (isObjectProvider) {\r\n container.addProviderToPool(\"inject\" /* E_PROVIDER_TYPES.INJECT */, provider);\r\n }\r\n });\r\n}\r\n\r\nfunction Injectable() {\r\n return (target) => {\r\n container.addProviderToPool(\"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */, target);\r\n };\r\n}\r\nfunction Inject(token) {\r\n return (target, _, parameterIndex) => {\r\n const tokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, target) || [];\r\n tokens.push({\r\n index: parameterIndex,\r\n token,\r\n });\r\n Reflect.defineMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, tokens, target);\r\n };\r\n}\r\n\r\nclass AbstractModule {\r\n static name;\r\n static controllers = [];\r\n static providers = [];\r\n}\r\n\r\nclass Queue {\r\n _storage = {};\r\n _oldestIndex = 1;\r\n _newestIndex = 1;\r\n get count() {\r\n return this._newestIndex - this._oldestIndex;\r\n }\r\n enqueue(data) {\r\n this._storage[this._newestIndex] = data;\r\n this._newestIndex++;\r\n }\r\n dequeue() {\r\n const oldestIndex = this._oldestIndex;\r\n const deletedData = this._storage[oldestIndex];\r\n delete this._storage[oldestIndex];\r\n this._oldestIndex++;\r\n return deletedData;\r\n }\r\n toArray() {\r\n return Object.values(this._storage);\r\n }\r\n}\r\n\r\nexport { AbstractModule, Container, Controller, Inject, Injectable, Module, ModuleRef, Queue, TypeSpecifier, container, of };\r\n//# sourceMappingURL=index.esm.js.map\r\n","import 'reflect-metadata';\nimport * as moduleManager from '@savafeed/module-manager';\n\nvar E_DRIVER_CLASSES;\n(function (E_DRIVER_CLASSES) {\n E_DRIVER_CLASSES[\"shopify\"] = \"ShopifyDriver\";\n E_DRIVER_CLASSES[\"woo\"] = \"WooDriver\";\n})(E_DRIVER_CLASSES || (E_DRIVER_CLASSES = {}));\n\nvar E_DRIVER_TOKENS;\n(function (E_DRIVER_TOKENS) {\n E_DRIVER_TOKENS[\"ENVIRONMENTS\"] = \"ENVIRONMENTS\";\n})(E_DRIVER_TOKENS || (E_DRIVER_TOKENS = {}));\n\nvar E_MANDATORY_CONTROLLERS;\n(function (E_MANDATORY_CONTROLLERS) {\n E_MANDATORY_CONTROLLERS[\"LINE_ITEMS\"] = \"line-items\";\n E_MANDATORY_CONTROLLERS[\"PREVIEW\"] = \"preview\";\n E_MANDATORY_CONTROLLERS[\"PRICING\"] = \"pricing\";\n E_MANDATORY_CONTROLLERS[\"RETURN_TO_EDIT\"] = \"return-to-edit\";\n})(E_MANDATORY_CONTROLLERS || (E_MANDATORY_CONTROLLERS = {}));\n\nclass AbstractLineItemsController {\n}\nclass AbstractPricingController {\n}\nclass AbstractPreviewController {\n}\nclass AbstractCheckoutController {\n}\nclass AbstractReturnToEditController {\n}\n\n/*\nfrom https://github.com/substack/vm-browserify/blob/bfd7c5f59edec856dc7efe0b77a4f6b2fa20f226/index.js\n\nMIT license no Copyright holder mentioned\n*/\n\n\nfunction Object_keys(obj) {\n if (Object.keys) return Object.keys(obj)\n else {\n var res = [];\n for (var key in obj) res.push(key);\n return res;\n }\n}\n\nfunction forEach(xs, fn) {\n if (xs.forEach) return xs.forEach(fn)\n else\n for (var i = 0; i < xs.length; i++) {\n fn(xs[i], i, xs);\n }\n}\nvar _defineProp;\n\nfunction defineProp(obj, name, value) {\n if (typeof _defineProp !== 'function') {\n _defineProp = createDefineProp;\n }\n _defineProp(obj, name, value);\n}\n\nfunction createDefineProp() {\n try {\n Object.defineProperty({}, '_', {});\n return function(obj, name, value) {\n Object.defineProperty(obj, name, {\n writable: true,\n enumerable: false,\n configurable: true,\n value: value\n });\n };\n } catch (e) {\n return function(obj, name, value) {\n obj[name] = value;\n };\n }\n}\n\nvar globals = ['Array', 'Boolean', 'Date', 'Error', 'EvalError', 'Function',\n 'Infinity', 'JSON', 'Math', 'NaN', 'Number', 'Object', 'RangeError',\n 'ReferenceError', 'RegExp', 'String', 'SyntaxError', 'TypeError', 'URIError',\n 'decodeURI', 'decodeURIComponent', 'encodeURI', 'encodeURIComponent', 'escape',\n 'eval', 'isFinite', 'isNaN', 'parseFloat', 'parseInt', 'undefined', 'unescape'\n];\n\nfunction Context() {}\nContext.prototype = {};\n\nfunction Script(code) {\n if (!(this instanceof Script)) return new Script(code);\n this.code = code;\n}\nfunction otherRunInContext(code, context) {\n var args = Object_keys(global);\n args.push('with (this.__ctx__){return eval(this.__code__)}');\n var fn = Function.apply(null, args);\n return fn.apply({\n __code__: code,\n __ctx__: context\n });\n}\nScript.prototype.runInContext = function(context) {\n if (!(context instanceof Context)) {\n throw new TypeError('needs a \\'context\\' argument.');\n }\n if (global.document) {\n var iframe = global.document.createElement('iframe');\n if (!iframe.style) iframe.style = {};\n iframe.style.display = 'none';\n\n global.document.body.appendChild(iframe);\n\n var win = iframe.contentWindow;\n var wEval = win.eval,\n wExecScript = win.execScript;\n\n if (!wEval && wExecScript) {\n // win.eval() magically appears when this is called in IE:\n wExecScript.call(win, 'null');\n wEval = win.eval;\n }\n\n forEach(Object_keys(context), function(key) {\n win[key] = context[key];\n });\n forEach(globals, function(key) {\n if (context[key]) {\n win[key] = context[key];\n }\n });\n\n var winKeys = Object_keys(win);\n\n var res = wEval.call(win, this.code);\n\n forEach(Object_keys(win), function(key) {\n // Avoid copying circular objects like `top` and `window` by only\n // updating existing context properties or new properties in the `win`\n // that was only introduced after the eval.\n if (key in context || indexOf(winKeys, key) === -1) {\n context[key] = win[key];\n }\n });\n\n forEach(globals, function(key) {\n if (!(key in context)) {\n defineProp(context, key, win[key]);\n }\n });\n global.document.body.removeChild(iframe);\n\n return res;\n }\n return otherRunInContext(this.code, context);\n};\n\nScript.prototype.runInThisContext = function() {\n var fn = new Function('code', 'return eval(code);');\n return fn.call(global, this.code); // maybe...\n};\n\nScript.prototype.runInNewContext = function(context) {\n var ctx = createContext(context);\n var res = this.runInContext(ctx);\n if (context) {\n forEach(Object_keys(ctx), function(key) {\n context[key] = ctx[key];\n });\n }\n\n return res;\n};\n\nfunction createContext(context) {\n if (isContext(context)) {\n return context;\n }\n var copy = new Context();\n if (typeof context === 'object') {\n forEach(Object_keys(context), function(key) {\n copy[key] = context[key];\n });\n }\n return copy;\n}\nfunction runInContext(code, contextifiedSandbox, options) {\n var script = new Script(code);\n return script.runInContext(contextifiedSandbox, options);\n}\nfunction isContext(context) {\n return context instanceof Context;\n}\n\n\n/*\nfrom indexOf\n@ author tjholowaychuk\n@ license MIT\n*/\nvar _indexOf = [].indexOf;\n\nfunction indexOf(arr, obj){\n if (_indexOf) return arr.indexOf(obj);\n for (var i = 0; i < arr.length; ++i) {\n if (arr[i] === obj) return i;\n }\n return -1;\n}\n\nasync function virtualMachine(code) {\n const context = {\n module: { exports: {} },\n exports: {},\n require: (id) => {\n if (id === '@savafeed/module-manager') {\n return moduleManager;\n }\n throw new Error(`Cannot require('${id}') in this context`);\n },\n console,\n setTimeout,\n setInterval,\n Reflect,\n Promise,\n URL,\n fetch,\n };\n const isNodeJsEnv = typeof document === 'undefined';\n if (isNodeJsEnv) {\n await import('reflect-metadata');\n }\n else {\n // @ts-ignore\n await import('https://unpkg.com/reflect-metadata@0.2.2/Reflect.js');\n }\n context.Reflect = Reflect;\n const sandbox = createContext(context);\n runInContext(code, sandbox);\n const moduleObject = sandbox.exports;\n return moduleObject;\n}\n\nclass DriverProcessor {\n // static CDN: string = 'http://localhost:5000';\n static CDN = 'https://unpkg.com/@savafeed';\n static async getDriverModule(bootstrapOptions) {\n let driverModule;\n if (bootstrapOptions?.default) {\n driverModule = await DriverProcessor.defaultBootstrapDriver(bootstrapOptions.default);\n }\n else if (bootstrapOptions?.custom) {\n driverModule = await DriverProcessor.customBootstrapDriver(bootstrapOptions.custom);\n }\n else {\n throw new Error('Driver not found');\n }\n return driverModule;\n }\n ;\n static async defaultBootstrapDriver(options) {\n if (!options?.name)\n throw new Error(`Unable to get driver by this name: ${options?.name}`);\n const driver = await DriverProcessor.pullDriverByName(options.name, options.scriptType);\n const driverModule = DriverProcessor.exportDriverModule(driver, {\n scriptType: options.scriptType,\n name: options.name,\n });\n return driverModule;\n }\n static async customBootstrapDriver(options) {\n if (!options?.link)\n throw new Error('Driver link not found');\n if (!options?.className)\n throw new Error('Driver class name not found');\n const driver = await DriverProcessor.pullDriverByLink(options.link);\n const driverModule = DriverProcessor.exportDriverModule(driver, {\n scriptType: options.scriptType,\n name: options.className,\n });\n return driverModule;\n }\n static exportDriverModule(driver, options) {\n if (!driver)\n throw new Error('Driver not found');\n const currentScriptType = (!!options.scriptType) ? options.scriptType : 'umd';\n const driverClassName = options.name;\n switch (currentScriptType) {\n case 'esm':\n return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];\n case 'umd':\n return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];\n case 'cjs':\n return driver[E_DRIVER_CLASSES[driverClassName]];\n default:\n throw new Error(`Unknown script type: ${currentScriptType}`);\n }\n }\n static async pullDriverByLink(link) {\n if (!link)\n throw new Error('Driver link not found');\n const response = await fetch(link);\n if (!response?.ok) {\n throw new Error(`Failed to load script from CDN: ${response.statusText}`);\n }\n const scriptContent = await response.text();\n const driver = await virtualMachine(scriptContent);\n return driver;\n }\n ;\n static async pullDriverByName(driverName, scriptType) {\n if (!driverName)\n throw new Error('Driver name not found');\n const currentScriptType = (!!scriptType) ? scriptType : 'umd';\n const link = `${DriverProcessor.CDN}/${driverName}-driver@latest/${driverName}.driver.${currentScriptType}.js`;\n const response = await fetch(link);\n if (!response?.ok) {\n throw new Error(`Failed to load script from CDN: ${response.statusText}`);\n }\n const scriptContent = await response.text();\n const driver = await virtualMachine(scriptContent);\n return driver;\n }\n ;\n}\n\nclass DriverManager {\n appContainer;\n environments;\n constructor(appContainer, environments) {\n this.appContainer = appContainer;\n this.environments = environments;\n if (!!this?.environments?.core) {\n this.setCoreOptions(this.environments.core);\n }\n }\n ;\n async setup() {\n if (this.appContainer.providers.has(E_DRIVER_TOKENS.ENVIRONMENTS)) {\n throw new Error(`Provider with token \"${E_DRIVER_TOKENS.ENVIRONMENTS}\" already exists`);\n }\n this.appContainer.providers.set(E_DRIVER_TOKENS.ENVIRONMENTS, this.environments);\n if (this.environments?.input?.eCommerce) {\n return await this.bootstrapDriver({\n default: {\n name: this.environments?.input?.eCommerce,\n scriptType: this.environments?.input?.driverScriptType,\n },\n });\n }\n else {\n return await this.bootstrapDriver({\n custom: {\n link: this.environments?.input?.driverLink,\n className: this.environments?.input?.driverClassName,\n },\n });\n }\n }\n setCoreOptions(options) {\n if (options?.cdn) {\n DriverProcessor.CDN = options.cdn;\n }\n }\n getController(controllerName) {\n return this.appContainer.getController(controllerName);\n }\n async bootstrapDriver(bootstrapOptions) {\n const driverModule = await DriverProcessor.getDriverModule(bootstrapOptions);\n if (!driverModule) {\n console.error('Driver not found!', driverModule);\n console.warn('Bootstrap options:', bootstrapOptions);\n let stringOptions;\n try {\n stringOptions = JSON.stringify(bootstrapOptions);\n }\n catch (ex) {\n console.warn('Error trying to convert bootstrap parameters to JSON to show in error:', ex);\n stringOptions = String(bootstrapOptions);\n }\n throw new Error(`Driver with options: (${stringOptions}) not found`);\n }\n this.appContainer.registerModule(driverModule);\n return driverModule;\n }\n ;\n}\n\nexport { AbstractCheckoutController, AbstractLineItemsController, AbstractPreviewController, AbstractPricingController, AbstractReturnToEditController, DriverManager, E_DRIVER_CLASSES, E_DRIVER_TOKENS, E_MANDATORY_CONTROLLERS };\n//# sourceMappingURL=index.esm.js.map\n",null,null],"names":["E_MANDATORY_CONTROLLERS"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -1,7 +1,6 @@
1
1
  import * as _savafeed_module_manager from '@savafeed/module-manager';
2
- export * from '@savafeed/module-manager';
3
2
  import { IEnvironments, E_MANDATORY_CONTROLLERS, TGetControllerType } from '@savafeed/driver-manager';
4
- export * from '@savafeed/driver-manager';
3
+ export { E_MANDATORY_CONTROLLERS, IEnvironments } from '@savafeed/driver-manager';
5
4
 
6
5
  declare class CartSDK {
7
6
  private environments;
@@ -844,5 +844,5 @@ if ($window) {
844
844
  $window.CartSDK = CartSDK;
845
845
  }
846
846
 
847
- export { CartSDK };
847
+ export { CartSDK, E_MANDATORY_CONTROLLERS };
848
848
  //# sourceMappingURL=cart-api-sdk.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cart-api-sdk.esm.js","sources":["../node_modules/@savafeed/module-manager/dist/index.esm.js","../node_modules/@savafeed/driver-manager/dist/index.esm.js","../src/polyfills/dom.ts","../src/index.ts"],"sourcesContent":["import 'reflect-metadata';\r\n\r\nclass TypeSpecifier {\r\n static isClass(input) {\r\n return (!TypeSpecifier.isFunction(input) &&\r\n !TypeSpecifier.isFunctionByTryCall(input) &&\r\n TypeSpecifier.isClassByStringLiteral(input));\r\n }\r\n static isClassByStringLiteral(input) {\r\n const functionString = input.toString();\r\n return !!functionString.startsWith('class');\r\n }\r\n static isFunction(input) {\r\n return typeof input !== 'function';\r\n }\r\n static isFunctionByTryCall(input) {\r\n try {\r\n input();\r\n return true;\r\n }\r\n catch (error) {\r\n return false;\r\n }\r\n }\r\n}\r\n\r\nclass ModuleRef {\r\n parentContainer;\r\n module;\r\n controllers = new Map();\r\n providers = new Map();\r\n constructor(parentContainer, module) {\r\n this.parentContainer = parentContainer;\r\n this.module = module;\r\n this[\"registerProviders\" /* E_REGISTER_CALL_ORDER.first */]();\r\n this[\"registerControllers\" /* E_REGISTER_CALL_ORDER.second */]();\r\n }\r\n ;\r\n registerProviders() {\r\n const providers = this.module.providers;\r\n if (!providers)\r\n return;\r\n for (const provider of providers) {\r\n if (this.providers.has(provider))\r\n continue;\r\n const dependencyTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, provider);\r\n const dependencies = [];\r\n dependencyTokens?.forEach((dependencyToken, index) => {\r\n if (!TypeSpecifier.isClass(dependencyToken)) {\r\n const injectTokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, provider) || [];\r\n const injectToken = injectTokens.find((injectObject) => injectObject.index === index);\r\n if (!this.parentContainer.providers.has(injectToken?.token))\r\n return console.warn(`[WARN] (Inject) ${injectToken} is not provide in`, this.parentContainer);\r\n dependencies.push(this.parentContainer.providers.get(injectToken?.token));\r\n }\r\n else {\r\n if (!this.parentContainer.providers.has(dependencyToken))\r\n return console.warn(`[WARN] (Injectable) ${dependencyToken} is not provide in`, this.parentContainer);\r\n dependencies.push(this.parentContainer.providers.get(dependencyToken));\r\n }\r\n });\r\n let providerToken;\r\n let providerInstance;\r\n if (provider?.token) {\r\n const injectProvider = this.getInjectProviderWithInstance(provider);\r\n if (!injectProvider)\r\n return console.warn(`[WARN] Provider type is not Inject. ${provider.token} is not provide in`, this.parentContainer);\r\n providerToken = injectProvider.token;\r\n providerInstance = injectProvider.instance;\r\n Reflect.defineMetadata(providerToken, providerInstance, this.module);\r\n }\r\n else {\r\n providerToken = provider;\r\n providerInstance = new provider(...dependencies);\r\n Reflect.defineMetadata(providerToken, provider, this.module);\r\n }\r\n this.providers.set(providerToken, providerInstance);\r\n }\r\n }\r\n ;\r\n getInjectProviderWithInstance(injectProvider) {\r\n if (!injectProvider?.token)\r\n return null;\r\n let injectInstance;\r\n if (injectProvider?.useValue) {\r\n injectInstance = injectProvider.useValue;\r\n }\r\n if (injectProvider?.useFactory) {\r\n const factory = injectProvider.useFactory;\r\n try {\r\n if (TypeSpecifier.isClass(factory)) {\r\n injectInstance = new injectProvider.useFactory();\r\n }\r\n else {\r\n injectInstance = injectProvider.useFactory();\r\n }\r\n }\r\n catch (error) {\r\n console.error('A factory can be either a function or a class.', error);\r\n return null;\r\n }\r\n }\r\n return {\r\n token: injectProvider.token,\r\n instance: injectInstance,\r\n };\r\n }\r\n ;\r\n registerControllers() {\r\n const controllers = this.module.controllers;\r\n if (!controllers)\r\n return;\r\n for (const controller of controllers) {\r\n if (this.controllers.has(controller))\r\n continue;\r\n const dependencyTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, controller);\r\n const dependencies = [];\r\n dependencyTokens?.forEach((dependencyToken) => {\r\n if (!this.providers.has(dependencyToken))\r\n return console.warn(`[WARN] ${dependencyToken} is not provide in`, String(this));\r\n dependencies.push(this.providers.get(dependencyToken));\r\n });\r\n const controllerToken = Reflect.getMetadata(\"controller:prefix\" /* E_TOKENS.CONTROLLER_PREFIX */, controller) || controller;\r\n const controllerInstance = new controller(...dependencies);\r\n this.controllers.set(controllerToken, controllerInstance);\r\n }\r\n }\r\n ;\r\n getController(controllerToken) {\r\n return this.controllers.get(controllerToken);\r\n }\r\n ;\r\n}\r\n\r\nfunction of(mapper) {\r\n const entryList = Array.from(mapper.entries());\r\n return entryList.map((entry) => {\r\n return {\r\n key: entry[0],\r\n value: entry[1],\r\n };\r\n });\r\n}\r\n\r\nclass Pool {\r\n factory;\r\n _pool = new Map();\r\n constructor(factory) {\r\n this.factory = factory;\r\n }\r\n ;\r\n acquire() {\r\n return of(this._pool)\r\n .map(({ value }) => value)\r\n .map(this.factory);\r\n }\r\n ;\r\n release(data) {\r\n this._pool.delete(data);\r\n }\r\n ;\r\n append(data) {\r\n this._pool.set(data, data);\r\n }\r\n ;\r\n}\r\n\r\nclass AuditContainer {\r\n providers = new Map();\r\n providersPool = new Pool((data) => data);\r\n addProviderToPool(type, providerToken) {\r\n this.providersPool.append({\r\n provider: providerToken,\r\n type,\r\n });\r\n }\r\n ;\r\n registerInnerInject(injectProvider) {\r\n this.registerGlobalInject(injectProvider);\r\n }\r\n processProvidersInPool() {\r\n const providers = this.providersPool.acquire();\r\n const providersByType = {\r\n [\"inject\" /* E_PROVIDER_TYPES.INJECT */]: [],\r\n [\"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */]: [],\r\n };\r\n providers.forEach(({ type, provider }) => {\r\n const condition = type === \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */ || type === \"inject\" /* E_PROVIDER_TYPES.INJECT */;\r\n if (condition) {\r\n providersByType[type].push(provider);\r\n }\r\n });\r\n this.dispatchRegisterProviders(providersByType, \"inject\" /* E_PROVIDER_TYPES.INJECT */);\r\n this.dispatchRegisterProviders(providersByType, \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */);\r\n }\r\n ;\r\n dispatchRegisterProviders(providersByType, type) {\r\n providersByType[type].forEach((provider) => {\r\n switch (type) {\r\n case \"inject\" /* E_PROVIDER_TYPES.INJECT */:\r\n this.registerGlobalInject(provider);\r\n break;\r\n case \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */:\r\n this.registerGlobalInjectable(provider);\r\n break;\r\n }\r\n this.providersPool.release(provider);\r\n });\r\n }\r\n ;\r\n registerGlobalInjectable(providerToken) {\r\n if (providerToken?.token) {\r\n if (this.providers.has(providerToken.token))\r\n return this.providers.get(providerToken.token);\r\n }\r\n else {\r\n if (this.providers.has(providerToken))\r\n return this.providers.get(providerToken);\r\n }\r\n const dependencies = [];\r\n const dependenciesTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, providerToken);\r\n const injectTokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, providerToken);\r\n dependenciesTokens?.forEach((dependencyToken, index) => {\r\n const injectToken = injectTokens?.find((injectTokenObject) => injectTokenObject.index === index);\r\n let injectInstance = injectToken || dependencyToken;\r\n const dependency = this.registerGlobalInjectable(injectInstance);\r\n dependencies.push(dependency);\r\n });\r\n const provider = new providerToken(...dependencies);\r\n this.providers.set(providerToken, provider);\r\n return provider;\r\n }\r\n ;\r\n registerGlobalInject(injectProvider) {\r\n let injectInstance;\r\n if (injectProvider?.useValue) {\r\n injectInstance = injectProvider.useValue;\r\n }\r\n if (injectProvider?.useFactory) {\r\n const factory = injectProvider.useFactory;\r\n try {\r\n if (TypeSpecifier.isClass(factory)) {\r\n injectInstance = new injectProvider.useFactory();\r\n }\r\n else {\r\n injectInstance = injectProvider.useFactory();\r\n }\r\n }\r\n catch (error) {\r\n console.error('A factory can be either a function or a class.', error);\r\n return error;\r\n }\r\n }\r\n this.providers.set(injectProvider.token, injectInstance);\r\n }\r\n ;\r\n}\r\n\r\nclass Container extends AuditContainer {\r\n _modules = new Map();\r\n get modules() {\r\n return this._modules;\r\n }\r\n ;\r\n registerModule(module) {\r\n if (this._modules.has(module))\r\n return console.warn(`Module has in Container`);\r\n this.processProvidersInPool();\r\n const moduleInstance = new ModuleRef(this, module);\r\n this._modules.set(module, moduleInstance);\r\n }\r\n ;\r\n getModuleByName(moduleName) {\r\n return of(this._modules).find(({ key }) => moduleName === key.name);\r\n }\r\n ;\r\n getController(prefix) {\r\n return of(this._modules).map(({ value }) => {\r\n return value.getController(prefix);\r\n }).find((controller) => !!controller);\r\n }\r\n ;\r\n findModuleByProviderToken(providerToken) {\r\n let module = null;\r\n this._modules.forEach((moduleRef, moduleClass) => {\r\n if (moduleClass.providers?.includes(providerToken)) {\r\n module = {\r\n token: moduleClass,\r\n reference: moduleRef,\r\n };\r\n }\r\n });\r\n return module;\r\n }\r\n ;\r\n}\r\nconst container = new Container();\r\n\r\nfunction Controller(prefix) {\r\n return (target) => {\r\n Reflect.defineMetadata(\"controller:prefix\" /* E_TOKENS.CONTROLLER_PREFIX */, prefix, target);\r\n };\r\n}\r\n\r\nfunction Module(options) {\r\n return (target) => {\r\n Reflect.defineProperty(target, 'name', {\r\n value: options.name,\r\n writable: false,\r\n configurable: false,\r\n });\r\n Reflect.defineProperty(target, 'controllers', {\r\n value: options.controllers,\r\n writable: false,\r\n configurable: false,\r\n });\r\n Reflect.defineProperty(target, 'providers', {\r\n value: options.providers,\r\n writable: false,\r\n configurable: false,\r\n });\r\n registerProviders(options.providers);\r\n };\r\n}\r\nfunction registerProviders(providers) {\r\n providers?.forEach((provider) => {\r\n const isObjectProvider = typeof provider === 'object' && !!provider?.token;\r\n if (isObjectProvider) {\r\n container.addProviderToPool(\"inject\" /* E_PROVIDER_TYPES.INJECT */, provider);\r\n }\r\n });\r\n}\r\n\r\nfunction Injectable() {\r\n return (target) => {\r\n container.addProviderToPool(\"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */, target);\r\n };\r\n}\r\nfunction Inject(token) {\r\n return (target, _, parameterIndex) => {\r\n const tokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, target) || [];\r\n tokens.push({\r\n index: parameterIndex,\r\n token,\r\n });\r\n Reflect.defineMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, tokens, target);\r\n };\r\n}\r\n\r\nclass AbstractModule {\r\n static name;\r\n static controllers = [];\r\n static providers = [];\r\n}\r\n\r\nclass Queue {\r\n _storage = {};\r\n _oldestIndex = 1;\r\n _newestIndex = 1;\r\n get count() {\r\n return this._newestIndex - this._oldestIndex;\r\n }\r\n enqueue(data) {\r\n this._storage[this._newestIndex] = data;\r\n this._newestIndex++;\r\n }\r\n dequeue() {\r\n const oldestIndex = this._oldestIndex;\r\n const deletedData = this._storage[oldestIndex];\r\n delete this._storage[oldestIndex];\r\n this._oldestIndex++;\r\n return deletedData;\r\n }\r\n toArray() {\r\n return Object.values(this._storage);\r\n }\r\n}\r\n\r\nexport { AbstractModule, Container, Controller, Inject, Injectable, Module, ModuleRef, Queue, TypeSpecifier, container, of };\r\n//# sourceMappingURL=index.esm.js.map\r\n","import 'reflect-metadata';\nimport * as moduleManager from '@savafeed/module-manager';\n\nvar E_DRIVER_CLASSES;\n(function (E_DRIVER_CLASSES) {\n E_DRIVER_CLASSES[\"shopify\"] = \"ShopifyDriver\";\n E_DRIVER_CLASSES[\"woo\"] = \"WooDriver\";\n})(E_DRIVER_CLASSES || (E_DRIVER_CLASSES = {}));\n\nvar E_DRIVER_TOKENS;\n(function (E_DRIVER_TOKENS) {\n E_DRIVER_TOKENS[\"ENVIRONMENTS\"] = \"ENVIRONMENTS\";\n})(E_DRIVER_TOKENS || (E_DRIVER_TOKENS = {}));\n\nvar E_MANDATORY_CONTROLLERS;\n(function (E_MANDATORY_CONTROLLERS) {\n E_MANDATORY_CONTROLLERS[\"LINE_ITEMS\"] = \"line-items\";\n E_MANDATORY_CONTROLLERS[\"PREVIEW\"] = \"preview\";\n E_MANDATORY_CONTROLLERS[\"PRICING\"] = \"pricing\";\n E_MANDATORY_CONTROLLERS[\"RETURN_TO_EDIT\"] = \"return-to-edit\";\n})(E_MANDATORY_CONTROLLERS || (E_MANDATORY_CONTROLLERS = {}));\n\nclass AbstractLineItemsController {\n}\nclass AbstractPricingController {\n}\nclass AbstractPreviewController {\n}\nclass AbstractCheckoutController {\n}\nclass AbstractReturnToEditController {\n}\n\n/*\nfrom https://github.com/substack/vm-browserify/blob/bfd7c5f59edec856dc7efe0b77a4f6b2fa20f226/index.js\n\nMIT license no Copyright holder mentioned\n*/\n\n\nfunction Object_keys(obj) {\n if (Object.keys) return Object.keys(obj)\n else {\n var res = [];\n for (var key in obj) res.push(key);\n return res;\n }\n}\n\nfunction forEach(xs, fn) {\n if (xs.forEach) return xs.forEach(fn)\n else\n for (var i = 0; i < xs.length; i++) {\n fn(xs[i], i, xs);\n }\n}\nvar _defineProp;\n\nfunction defineProp(obj, name, value) {\n if (typeof _defineProp !== 'function') {\n _defineProp = createDefineProp;\n }\n _defineProp(obj, name, value);\n}\n\nfunction createDefineProp() {\n try {\n Object.defineProperty({}, '_', {});\n return function(obj, name, value) {\n Object.defineProperty(obj, name, {\n writable: true,\n enumerable: false,\n configurable: true,\n value: value\n });\n };\n } catch (e) {\n return function(obj, name, value) {\n obj[name] = value;\n };\n }\n}\n\nvar globals = ['Array', 'Boolean', 'Date', 'Error', 'EvalError', 'Function',\n 'Infinity', 'JSON', 'Math', 'NaN', 'Number', 'Object', 'RangeError',\n 'ReferenceError', 'RegExp', 'String', 'SyntaxError', 'TypeError', 'URIError',\n 'decodeURI', 'decodeURIComponent', 'encodeURI', 'encodeURIComponent', 'escape',\n 'eval', 'isFinite', 'isNaN', 'parseFloat', 'parseInt', 'undefined', 'unescape'\n];\n\nfunction Context() {}\nContext.prototype = {};\n\nfunction Script(code) {\n if (!(this instanceof Script)) return new Script(code);\n this.code = code;\n}\nfunction otherRunInContext(code, context) {\n var args = Object_keys(global);\n args.push('with (this.__ctx__){return eval(this.__code__)}');\n var fn = Function.apply(null, args);\n return fn.apply({\n __code__: code,\n __ctx__: context\n });\n}\nScript.prototype.runInContext = function(context) {\n if (!(context instanceof Context)) {\n throw new TypeError('needs a \\'context\\' argument.');\n }\n if (global.document) {\n var iframe = global.document.createElement('iframe');\n if (!iframe.style) iframe.style = {};\n iframe.style.display = 'none';\n\n global.document.body.appendChild(iframe);\n\n var win = iframe.contentWindow;\n var wEval = win.eval,\n wExecScript = win.execScript;\n\n if (!wEval && wExecScript) {\n // win.eval() magically appears when this is called in IE:\n wExecScript.call(win, 'null');\n wEval = win.eval;\n }\n\n forEach(Object_keys(context), function(key) {\n win[key] = context[key];\n });\n forEach(globals, function(key) {\n if (context[key]) {\n win[key] = context[key];\n }\n });\n\n var winKeys = Object_keys(win);\n\n var res = wEval.call(win, this.code);\n\n forEach(Object_keys(win), function(key) {\n // Avoid copying circular objects like `top` and `window` by only\n // updating existing context properties or new properties in the `win`\n // that was only introduced after the eval.\n if (key in context || indexOf(winKeys, key) === -1) {\n context[key] = win[key];\n }\n });\n\n forEach(globals, function(key) {\n if (!(key in context)) {\n defineProp(context, key, win[key]);\n }\n });\n global.document.body.removeChild(iframe);\n\n return res;\n }\n return otherRunInContext(this.code, context);\n};\n\nScript.prototype.runInThisContext = function() {\n var fn = new Function('code', 'return eval(code);');\n return fn.call(global, this.code); // maybe...\n};\n\nScript.prototype.runInNewContext = function(context) {\n var ctx = createContext(context);\n var res = this.runInContext(ctx);\n if (context) {\n forEach(Object_keys(ctx), function(key) {\n context[key] = ctx[key];\n });\n }\n\n return res;\n};\n\nfunction createContext(context) {\n if (isContext(context)) {\n return context;\n }\n var copy = new Context();\n if (typeof context === 'object') {\n forEach(Object_keys(context), function(key) {\n copy[key] = context[key];\n });\n }\n return copy;\n}\nfunction runInContext(code, contextifiedSandbox, options) {\n var script = new Script(code);\n return script.runInContext(contextifiedSandbox, options);\n}\nfunction isContext(context) {\n return context instanceof Context;\n}\n\n\n/*\nfrom indexOf\n@ author tjholowaychuk\n@ license MIT\n*/\nvar _indexOf = [].indexOf;\n\nfunction indexOf(arr, obj){\n if (_indexOf) return arr.indexOf(obj);\n for (var i = 0; i < arr.length; ++i) {\n if (arr[i] === obj) return i;\n }\n return -1;\n}\n\nasync function virtualMachine(code) {\n const context = {\n module: { exports: {} },\n exports: {},\n require: (id) => {\n if (id === '@savafeed/module-manager') {\n return moduleManager;\n }\n throw new Error(`Cannot require('${id}') in this context`);\n },\n console,\n setTimeout,\n setInterval,\n Reflect,\n Promise,\n URL,\n fetch,\n };\n const isNodeJsEnv = typeof document === 'undefined';\n if (isNodeJsEnv) {\n await import('reflect-metadata');\n }\n else {\n // @ts-ignore\n await import('https://unpkg.com/reflect-metadata@0.2.2/Reflect.js');\n }\n context.Reflect = Reflect;\n const sandbox = createContext(context);\n runInContext(code, sandbox);\n const moduleObject = sandbox.exports;\n return moduleObject;\n}\n\nclass DriverProcessor {\n // static CDN: string = 'http://localhost:5000';\n static CDN = 'https://unpkg.com/@savafeed';\n static async getDriverModule(bootstrapOptions) {\n let driverModule;\n if (bootstrapOptions?.default) {\n driverModule = await DriverProcessor.defaultBootstrapDriver(bootstrapOptions.default);\n }\n else if (bootstrapOptions?.custom) {\n driverModule = await DriverProcessor.customBootstrapDriver(bootstrapOptions.custom);\n }\n else {\n throw new Error('Driver not found');\n }\n return driverModule;\n }\n ;\n static async defaultBootstrapDriver(options) {\n if (!options?.name)\n throw new Error(`Unable to get driver by this name: ${options?.name}`);\n const driver = await DriverProcessor.pullDriverByName(options.name, options.scriptType);\n const driverModule = DriverProcessor.exportDriverModule(driver, {\n scriptType: options.scriptType,\n name: options.name,\n });\n return driverModule;\n }\n static async customBootstrapDriver(options) {\n if (!options?.link)\n throw new Error('Driver link not found');\n if (!options?.className)\n throw new Error('Driver class name not found');\n const driver = await DriverProcessor.pullDriverByLink(options.link);\n const driverModule = DriverProcessor.exportDriverModule(driver, {\n scriptType: options.scriptType,\n name: options.className,\n });\n return driverModule;\n }\n static exportDriverModule(driver, options) {\n if (!driver)\n throw new Error('Driver not found');\n const currentScriptType = (!!options.scriptType) ? options.scriptType : 'umd';\n const driverClassName = options.name;\n switch (currentScriptType) {\n case 'esm':\n return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];\n case 'umd':\n return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];\n case 'cjs':\n return driver[E_DRIVER_CLASSES[driverClassName]];\n default:\n throw new Error(`Unknown script type: ${currentScriptType}`);\n }\n }\n static async pullDriverByLink(link) {\n if (!link)\n throw new Error('Driver link not found');\n const response = await fetch(link);\n if (!response?.ok) {\n throw new Error(`Failed to load script from CDN: ${response.statusText}`);\n }\n const scriptContent = await response.text();\n const driver = await virtualMachine(scriptContent);\n return driver;\n }\n ;\n static async pullDriverByName(driverName, scriptType) {\n if (!driverName)\n throw new Error('Driver name not found');\n const currentScriptType = (!!scriptType) ? scriptType : 'umd';\n const link = `${DriverProcessor.CDN}/${driverName}-driver@latest/${driverName}.driver.${currentScriptType}.js`;\n const response = await fetch(link);\n if (!response?.ok) {\n throw new Error(`Failed to load script from CDN: ${response.statusText}`);\n }\n const scriptContent = await response.text();\n const driver = await virtualMachine(scriptContent);\n return driver;\n }\n ;\n}\n\nclass DriverManager {\n appContainer;\n environments;\n constructor(appContainer, environments) {\n this.appContainer = appContainer;\n this.environments = environments;\n if (!!this?.environments?.core) {\n this.setCoreOptions(this.environments.core);\n }\n }\n ;\n async setup() {\n if (this.appContainer.providers.has(E_DRIVER_TOKENS.ENVIRONMENTS)) {\n throw new Error(`Provider with token \"${E_DRIVER_TOKENS.ENVIRONMENTS}\" already exists`);\n }\n this.appContainer.providers.set(E_DRIVER_TOKENS.ENVIRONMENTS, this.environments);\n if (this.environments?.input?.eCommerce) {\n return await this.bootstrapDriver({\n default: {\n name: this.environments?.input?.eCommerce,\n scriptType: this.environments?.input?.driverScriptType,\n },\n });\n }\n else {\n return await this.bootstrapDriver({\n custom: {\n link: this.environments?.input?.driverLink,\n className: this.environments?.input?.driverClassName,\n },\n });\n }\n }\n setCoreOptions(options) {\n if (options?.cdn) {\n DriverProcessor.CDN = options.cdn;\n }\n }\n getController(controllerName) {\n return this.appContainer.getController(controllerName);\n }\n async bootstrapDriver(bootstrapOptions) {\n const driverModule = await DriverProcessor.getDriverModule(bootstrapOptions);\n if (!driverModule) {\n console.error('Driver not found!', driverModule);\n console.warn('Bootstrap options:', bootstrapOptions);\n let stringOptions;\n try {\n stringOptions = JSON.stringify(bootstrapOptions);\n }\n catch (ex) {\n console.warn('Error trying to convert bootstrap parameters to JSON to show in error:', ex);\n stringOptions = String(bootstrapOptions);\n }\n throw new Error(`Driver with options: (${stringOptions}) not found`);\n }\n this.appContainer.registerModule(driverModule);\n return driverModule;\n }\n ;\n}\n\nexport { AbstractCheckoutController, AbstractLineItemsController, AbstractPreviewController, AbstractPricingController, AbstractReturnToEditController, DriverManager, E_DRIVER_CLASSES, E_DRIVER_TOKENS, E_MANDATORY_CONTROLLERS };\n//# sourceMappingURL=index.esm.js.map\n",null,null],"names":[],"mappings":"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","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"cart-api-sdk.esm.js","sources":["../node_modules/@savafeed/module-manager/dist/index.esm.js","../node_modules/@savafeed/driver-manager/dist/index.esm.js","../src/polyfills/dom.ts","../src/index.ts"],"sourcesContent":["import 'reflect-metadata';\r\n\r\nclass TypeSpecifier {\r\n static isClass(input) {\r\n return (!TypeSpecifier.isFunction(input) &&\r\n !TypeSpecifier.isFunctionByTryCall(input) &&\r\n TypeSpecifier.isClassByStringLiteral(input));\r\n }\r\n static isClassByStringLiteral(input) {\r\n const functionString = input.toString();\r\n return !!functionString.startsWith('class');\r\n }\r\n static isFunction(input) {\r\n return typeof input !== 'function';\r\n }\r\n static isFunctionByTryCall(input) {\r\n try {\r\n input();\r\n return true;\r\n }\r\n catch (error) {\r\n return false;\r\n }\r\n }\r\n}\r\n\r\nclass ModuleRef {\r\n parentContainer;\r\n module;\r\n controllers = new Map();\r\n providers = new Map();\r\n constructor(parentContainer, module) {\r\n this.parentContainer = parentContainer;\r\n this.module = module;\r\n this[\"registerProviders\" /* E_REGISTER_CALL_ORDER.first */]();\r\n this[\"registerControllers\" /* E_REGISTER_CALL_ORDER.second */]();\r\n }\r\n ;\r\n registerProviders() {\r\n const providers = this.module.providers;\r\n if (!providers)\r\n return;\r\n for (const provider of providers) {\r\n if (this.providers.has(provider))\r\n continue;\r\n const dependencyTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, provider);\r\n const dependencies = [];\r\n dependencyTokens?.forEach((dependencyToken, index) => {\r\n if (!TypeSpecifier.isClass(dependencyToken)) {\r\n const injectTokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, provider) || [];\r\n const injectToken = injectTokens.find((injectObject) => injectObject.index === index);\r\n if (!this.parentContainer.providers.has(injectToken?.token))\r\n return console.warn(`[WARN] (Inject) ${injectToken} is not provide in`, this.parentContainer);\r\n dependencies.push(this.parentContainer.providers.get(injectToken?.token));\r\n }\r\n else {\r\n if (!this.parentContainer.providers.has(dependencyToken))\r\n return console.warn(`[WARN] (Injectable) ${dependencyToken} is not provide in`, this.parentContainer);\r\n dependencies.push(this.parentContainer.providers.get(dependencyToken));\r\n }\r\n });\r\n let providerToken;\r\n let providerInstance;\r\n if (provider?.token) {\r\n const injectProvider = this.getInjectProviderWithInstance(provider);\r\n if (!injectProvider)\r\n return console.warn(`[WARN] Provider type is not Inject. ${provider.token} is not provide in`, this.parentContainer);\r\n providerToken = injectProvider.token;\r\n providerInstance = injectProvider.instance;\r\n Reflect.defineMetadata(providerToken, providerInstance, this.module);\r\n }\r\n else {\r\n providerToken = provider;\r\n providerInstance = new provider(...dependencies);\r\n Reflect.defineMetadata(providerToken, provider, this.module);\r\n }\r\n this.providers.set(providerToken, providerInstance);\r\n }\r\n }\r\n ;\r\n getInjectProviderWithInstance(injectProvider) {\r\n if (!injectProvider?.token)\r\n return null;\r\n let injectInstance;\r\n if (injectProvider?.useValue) {\r\n injectInstance = injectProvider.useValue;\r\n }\r\n if (injectProvider?.useFactory) {\r\n const factory = injectProvider.useFactory;\r\n try {\r\n if (TypeSpecifier.isClass(factory)) {\r\n injectInstance = new injectProvider.useFactory();\r\n }\r\n else {\r\n injectInstance = injectProvider.useFactory();\r\n }\r\n }\r\n catch (error) {\r\n console.error('A factory can be either a function or a class.', error);\r\n return null;\r\n }\r\n }\r\n return {\r\n token: injectProvider.token,\r\n instance: injectInstance,\r\n };\r\n }\r\n ;\r\n registerControllers() {\r\n const controllers = this.module.controllers;\r\n if (!controllers)\r\n return;\r\n for (const controller of controllers) {\r\n if (this.controllers.has(controller))\r\n continue;\r\n const dependencyTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, controller);\r\n const dependencies = [];\r\n dependencyTokens?.forEach((dependencyToken) => {\r\n if (!this.providers.has(dependencyToken))\r\n return console.warn(`[WARN] ${dependencyToken} is not provide in`, String(this));\r\n dependencies.push(this.providers.get(dependencyToken));\r\n });\r\n const controllerToken = Reflect.getMetadata(\"controller:prefix\" /* E_TOKENS.CONTROLLER_PREFIX */, controller) || controller;\r\n const controllerInstance = new controller(...dependencies);\r\n this.controllers.set(controllerToken, controllerInstance);\r\n }\r\n }\r\n ;\r\n getController(controllerToken) {\r\n return this.controllers.get(controllerToken);\r\n }\r\n ;\r\n}\r\n\r\nfunction of(mapper) {\r\n const entryList = Array.from(mapper.entries());\r\n return entryList.map((entry) => {\r\n return {\r\n key: entry[0],\r\n value: entry[1],\r\n };\r\n });\r\n}\r\n\r\nclass Pool {\r\n factory;\r\n _pool = new Map();\r\n constructor(factory) {\r\n this.factory = factory;\r\n }\r\n ;\r\n acquire() {\r\n return of(this._pool)\r\n .map(({ value }) => value)\r\n .map(this.factory);\r\n }\r\n ;\r\n release(data) {\r\n this._pool.delete(data);\r\n }\r\n ;\r\n append(data) {\r\n this._pool.set(data, data);\r\n }\r\n ;\r\n}\r\n\r\nclass AuditContainer {\r\n providers = new Map();\r\n providersPool = new Pool((data) => data);\r\n addProviderToPool(type, providerToken) {\r\n this.providersPool.append({\r\n provider: providerToken,\r\n type,\r\n });\r\n }\r\n ;\r\n registerInnerInject(injectProvider) {\r\n this.registerGlobalInject(injectProvider);\r\n }\r\n processProvidersInPool() {\r\n const providers = this.providersPool.acquire();\r\n const providersByType = {\r\n [\"inject\" /* E_PROVIDER_TYPES.INJECT */]: [],\r\n [\"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */]: [],\r\n };\r\n providers.forEach(({ type, provider }) => {\r\n const condition = type === \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */ || type === \"inject\" /* E_PROVIDER_TYPES.INJECT */;\r\n if (condition) {\r\n providersByType[type].push(provider);\r\n }\r\n });\r\n this.dispatchRegisterProviders(providersByType, \"inject\" /* E_PROVIDER_TYPES.INJECT */);\r\n this.dispatchRegisterProviders(providersByType, \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */);\r\n }\r\n ;\r\n dispatchRegisterProviders(providersByType, type) {\r\n providersByType[type].forEach((provider) => {\r\n switch (type) {\r\n case \"inject\" /* E_PROVIDER_TYPES.INJECT */:\r\n this.registerGlobalInject(provider);\r\n break;\r\n case \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */:\r\n this.registerGlobalInjectable(provider);\r\n break;\r\n }\r\n this.providersPool.release(provider);\r\n });\r\n }\r\n ;\r\n registerGlobalInjectable(providerToken) {\r\n if (providerToken?.token) {\r\n if (this.providers.has(providerToken.token))\r\n return this.providers.get(providerToken.token);\r\n }\r\n else {\r\n if (this.providers.has(providerToken))\r\n return this.providers.get(providerToken);\r\n }\r\n const dependencies = [];\r\n const dependenciesTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, providerToken);\r\n const injectTokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, providerToken);\r\n dependenciesTokens?.forEach((dependencyToken, index) => {\r\n const injectToken = injectTokens?.find((injectTokenObject) => injectTokenObject.index === index);\r\n let injectInstance = injectToken || dependencyToken;\r\n const dependency = this.registerGlobalInjectable(injectInstance);\r\n dependencies.push(dependency);\r\n });\r\n const provider = new providerToken(...dependencies);\r\n this.providers.set(providerToken, provider);\r\n return provider;\r\n }\r\n ;\r\n registerGlobalInject(injectProvider) {\r\n let injectInstance;\r\n if (injectProvider?.useValue) {\r\n injectInstance = injectProvider.useValue;\r\n }\r\n if (injectProvider?.useFactory) {\r\n const factory = injectProvider.useFactory;\r\n try {\r\n if (TypeSpecifier.isClass(factory)) {\r\n injectInstance = new injectProvider.useFactory();\r\n }\r\n else {\r\n injectInstance = injectProvider.useFactory();\r\n }\r\n }\r\n catch (error) {\r\n console.error('A factory can be either a function or a class.', error);\r\n return error;\r\n }\r\n }\r\n this.providers.set(injectProvider.token, injectInstance);\r\n }\r\n ;\r\n}\r\n\r\nclass Container extends AuditContainer {\r\n _modules = new Map();\r\n get modules() {\r\n return this._modules;\r\n }\r\n ;\r\n registerModule(module) {\r\n if (this._modules.has(module))\r\n return console.warn(`Module has in Container`);\r\n this.processProvidersInPool();\r\n const moduleInstance = new ModuleRef(this, module);\r\n this._modules.set(module, moduleInstance);\r\n }\r\n ;\r\n getModuleByName(moduleName) {\r\n return of(this._modules).find(({ key }) => moduleName === key.name);\r\n }\r\n ;\r\n getController(prefix) {\r\n return of(this._modules).map(({ value }) => {\r\n return value.getController(prefix);\r\n }).find((controller) => !!controller);\r\n }\r\n ;\r\n findModuleByProviderToken(providerToken) {\r\n let module = null;\r\n this._modules.forEach((moduleRef, moduleClass) => {\r\n if (moduleClass.providers?.includes(providerToken)) {\r\n module = {\r\n token: moduleClass,\r\n reference: moduleRef,\r\n };\r\n }\r\n });\r\n return module;\r\n }\r\n ;\r\n}\r\nconst container = new Container();\r\n\r\nfunction Controller(prefix) {\r\n return (target) => {\r\n Reflect.defineMetadata(\"controller:prefix\" /* E_TOKENS.CONTROLLER_PREFIX */, prefix, target);\r\n };\r\n}\r\n\r\nfunction Module(options) {\r\n return (target) => {\r\n Reflect.defineProperty(target, 'name', {\r\n value: options.name,\r\n writable: false,\r\n configurable: false,\r\n });\r\n Reflect.defineProperty(target, 'controllers', {\r\n value: options.controllers,\r\n writable: false,\r\n configurable: false,\r\n });\r\n Reflect.defineProperty(target, 'providers', {\r\n value: options.providers,\r\n writable: false,\r\n configurable: false,\r\n });\r\n registerProviders(options.providers);\r\n };\r\n}\r\nfunction registerProviders(providers) {\r\n providers?.forEach((provider) => {\r\n const isObjectProvider = typeof provider === 'object' && !!provider?.token;\r\n if (isObjectProvider) {\r\n container.addProviderToPool(\"inject\" /* E_PROVIDER_TYPES.INJECT */, provider);\r\n }\r\n });\r\n}\r\n\r\nfunction Injectable() {\r\n return (target) => {\r\n container.addProviderToPool(\"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */, target);\r\n };\r\n}\r\nfunction Inject(token) {\r\n return (target, _, parameterIndex) => {\r\n const tokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, target) || [];\r\n tokens.push({\r\n index: parameterIndex,\r\n token,\r\n });\r\n Reflect.defineMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, tokens, target);\r\n };\r\n}\r\n\r\nclass AbstractModule {\r\n static name;\r\n static controllers = [];\r\n static providers = [];\r\n}\r\n\r\nclass Queue {\r\n _storage = {};\r\n _oldestIndex = 1;\r\n _newestIndex = 1;\r\n get count() {\r\n return this._newestIndex - this._oldestIndex;\r\n }\r\n enqueue(data) {\r\n this._storage[this._newestIndex] = data;\r\n this._newestIndex++;\r\n }\r\n dequeue() {\r\n const oldestIndex = this._oldestIndex;\r\n const deletedData = this._storage[oldestIndex];\r\n delete this._storage[oldestIndex];\r\n this._oldestIndex++;\r\n return deletedData;\r\n }\r\n toArray() {\r\n return Object.values(this._storage);\r\n }\r\n}\r\n\r\nexport { AbstractModule, Container, Controller, Inject, Injectable, Module, ModuleRef, Queue, TypeSpecifier, container, of };\r\n//# sourceMappingURL=index.esm.js.map\r\n","import 'reflect-metadata';\nimport * as moduleManager from '@savafeed/module-manager';\n\nvar E_DRIVER_CLASSES;\n(function (E_DRIVER_CLASSES) {\n E_DRIVER_CLASSES[\"shopify\"] = \"ShopifyDriver\";\n E_DRIVER_CLASSES[\"woo\"] = \"WooDriver\";\n})(E_DRIVER_CLASSES || (E_DRIVER_CLASSES = {}));\n\nvar E_DRIVER_TOKENS;\n(function (E_DRIVER_TOKENS) {\n E_DRIVER_TOKENS[\"ENVIRONMENTS\"] = \"ENVIRONMENTS\";\n})(E_DRIVER_TOKENS || (E_DRIVER_TOKENS = {}));\n\nvar E_MANDATORY_CONTROLLERS;\n(function (E_MANDATORY_CONTROLLERS) {\n E_MANDATORY_CONTROLLERS[\"LINE_ITEMS\"] = \"line-items\";\n E_MANDATORY_CONTROLLERS[\"PREVIEW\"] = \"preview\";\n E_MANDATORY_CONTROLLERS[\"PRICING\"] = \"pricing\";\n E_MANDATORY_CONTROLLERS[\"RETURN_TO_EDIT\"] = \"return-to-edit\";\n})(E_MANDATORY_CONTROLLERS || (E_MANDATORY_CONTROLLERS = {}));\n\nclass AbstractLineItemsController {\n}\nclass AbstractPricingController {\n}\nclass AbstractPreviewController {\n}\nclass AbstractCheckoutController {\n}\nclass AbstractReturnToEditController {\n}\n\n/*\nfrom https://github.com/substack/vm-browserify/blob/bfd7c5f59edec856dc7efe0b77a4f6b2fa20f226/index.js\n\nMIT license no Copyright holder mentioned\n*/\n\n\nfunction Object_keys(obj) {\n if (Object.keys) return Object.keys(obj)\n else {\n var res = [];\n for (var key in obj) res.push(key);\n return res;\n }\n}\n\nfunction forEach(xs, fn) {\n if (xs.forEach) return xs.forEach(fn)\n else\n for (var i = 0; i < xs.length; i++) {\n fn(xs[i], i, xs);\n }\n}\nvar _defineProp;\n\nfunction defineProp(obj, name, value) {\n if (typeof _defineProp !== 'function') {\n _defineProp = createDefineProp;\n }\n _defineProp(obj, name, value);\n}\n\nfunction createDefineProp() {\n try {\n Object.defineProperty({}, '_', {});\n return function(obj, name, value) {\n Object.defineProperty(obj, name, {\n writable: true,\n enumerable: false,\n configurable: true,\n value: value\n });\n };\n } catch (e) {\n return function(obj, name, value) {\n obj[name] = value;\n };\n }\n}\n\nvar globals = ['Array', 'Boolean', 'Date', 'Error', 'EvalError', 'Function',\n 'Infinity', 'JSON', 'Math', 'NaN', 'Number', 'Object', 'RangeError',\n 'ReferenceError', 'RegExp', 'String', 'SyntaxError', 'TypeError', 'URIError',\n 'decodeURI', 'decodeURIComponent', 'encodeURI', 'encodeURIComponent', 'escape',\n 'eval', 'isFinite', 'isNaN', 'parseFloat', 'parseInt', 'undefined', 'unescape'\n];\n\nfunction Context() {}\nContext.prototype = {};\n\nfunction Script(code) {\n if (!(this instanceof Script)) return new Script(code);\n this.code = code;\n}\nfunction otherRunInContext(code, context) {\n var args = Object_keys(global);\n args.push('with (this.__ctx__){return eval(this.__code__)}');\n var fn = Function.apply(null, args);\n return fn.apply({\n __code__: code,\n __ctx__: context\n });\n}\nScript.prototype.runInContext = function(context) {\n if (!(context instanceof Context)) {\n throw new TypeError('needs a \\'context\\' argument.');\n }\n if (global.document) {\n var iframe = global.document.createElement('iframe');\n if (!iframe.style) iframe.style = {};\n iframe.style.display = 'none';\n\n global.document.body.appendChild(iframe);\n\n var win = iframe.contentWindow;\n var wEval = win.eval,\n wExecScript = win.execScript;\n\n if (!wEval && wExecScript) {\n // win.eval() magically appears when this is called in IE:\n wExecScript.call(win, 'null');\n wEval = win.eval;\n }\n\n forEach(Object_keys(context), function(key) {\n win[key] = context[key];\n });\n forEach(globals, function(key) {\n if (context[key]) {\n win[key] = context[key];\n }\n });\n\n var winKeys = Object_keys(win);\n\n var res = wEval.call(win, this.code);\n\n forEach(Object_keys(win), function(key) {\n // Avoid copying circular objects like `top` and `window` by only\n // updating existing context properties or new properties in the `win`\n // that was only introduced after the eval.\n if (key in context || indexOf(winKeys, key) === -1) {\n context[key] = win[key];\n }\n });\n\n forEach(globals, function(key) {\n if (!(key in context)) {\n defineProp(context, key, win[key]);\n }\n });\n global.document.body.removeChild(iframe);\n\n return res;\n }\n return otherRunInContext(this.code, context);\n};\n\nScript.prototype.runInThisContext = function() {\n var fn = new Function('code', 'return eval(code);');\n return fn.call(global, this.code); // maybe...\n};\n\nScript.prototype.runInNewContext = function(context) {\n var ctx = createContext(context);\n var res = this.runInContext(ctx);\n if (context) {\n forEach(Object_keys(ctx), function(key) {\n context[key] = ctx[key];\n });\n }\n\n return res;\n};\n\nfunction createContext(context) {\n if (isContext(context)) {\n return context;\n }\n var copy = new Context();\n if (typeof context === 'object') {\n forEach(Object_keys(context), function(key) {\n copy[key] = context[key];\n });\n }\n return copy;\n}\nfunction runInContext(code, contextifiedSandbox, options) {\n var script = new Script(code);\n return script.runInContext(contextifiedSandbox, options);\n}\nfunction isContext(context) {\n return context instanceof Context;\n}\n\n\n/*\nfrom indexOf\n@ author tjholowaychuk\n@ license MIT\n*/\nvar _indexOf = [].indexOf;\n\nfunction indexOf(arr, obj){\n if (_indexOf) return arr.indexOf(obj);\n for (var i = 0; i < arr.length; ++i) {\n if (arr[i] === obj) return i;\n }\n return -1;\n}\n\nasync function virtualMachine(code) {\n const context = {\n module: { exports: {} },\n exports: {},\n require: (id) => {\n if (id === '@savafeed/module-manager') {\n return moduleManager;\n }\n throw new Error(`Cannot require('${id}') in this context`);\n },\n console,\n setTimeout,\n setInterval,\n Reflect,\n Promise,\n URL,\n fetch,\n };\n const isNodeJsEnv = typeof document === 'undefined';\n if (isNodeJsEnv) {\n await import('reflect-metadata');\n }\n else {\n // @ts-ignore\n await import('https://unpkg.com/reflect-metadata@0.2.2/Reflect.js');\n }\n context.Reflect = Reflect;\n const sandbox = createContext(context);\n runInContext(code, sandbox);\n const moduleObject = sandbox.exports;\n return moduleObject;\n}\n\nclass DriverProcessor {\n // static CDN: string = 'http://localhost:5000';\n static CDN = 'https://unpkg.com/@savafeed';\n static async getDriverModule(bootstrapOptions) {\n let driverModule;\n if (bootstrapOptions?.default) {\n driverModule = await DriverProcessor.defaultBootstrapDriver(bootstrapOptions.default);\n }\n else if (bootstrapOptions?.custom) {\n driverModule = await DriverProcessor.customBootstrapDriver(bootstrapOptions.custom);\n }\n else {\n throw new Error('Driver not found');\n }\n return driverModule;\n }\n ;\n static async defaultBootstrapDriver(options) {\n if (!options?.name)\n throw new Error(`Unable to get driver by this name: ${options?.name}`);\n const driver = await DriverProcessor.pullDriverByName(options.name, options.scriptType);\n const driverModule = DriverProcessor.exportDriverModule(driver, {\n scriptType: options.scriptType,\n name: options.name,\n });\n return driverModule;\n }\n static async customBootstrapDriver(options) {\n if (!options?.link)\n throw new Error('Driver link not found');\n if (!options?.className)\n throw new Error('Driver class name not found');\n const driver = await DriverProcessor.pullDriverByLink(options.link);\n const driverModule = DriverProcessor.exportDriverModule(driver, {\n scriptType: options.scriptType,\n name: options.className,\n });\n return driverModule;\n }\n static exportDriverModule(driver, options) {\n if (!driver)\n throw new Error('Driver not found');\n const currentScriptType = (!!options.scriptType) ? options.scriptType : 'umd';\n const driverClassName = options.name;\n switch (currentScriptType) {\n case 'esm':\n return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];\n case 'umd':\n return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];\n case 'cjs':\n return driver[E_DRIVER_CLASSES[driverClassName]];\n default:\n throw new Error(`Unknown script type: ${currentScriptType}`);\n }\n }\n static async pullDriverByLink(link) {\n if (!link)\n throw new Error('Driver link not found');\n const response = await fetch(link);\n if (!response?.ok) {\n throw new Error(`Failed to load script from CDN: ${response.statusText}`);\n }\n const scriptContent = await response.text();\n const driver = await virtualMachine(scriptContent);\n return driver;\n }\n ;\n static async pullDriverByName(driverName, scriptType) {\n if (!driverName)\n throw new Error('Driver name not found');\n const currentScriptType = (!!scriptType) ? scriptType : 'umd';\n const link = `${DriverProcessor.CDN}/${driverName}-driver@latest/${driverName}.driver.${currentScriptType}.js`;\n const response = await fetch(link);\n if (!response?.ok) {\n throw new Error(`Failed to load script from CDN: ${response.statusText}`);\n }\n const scriptContent = await response.text();\n const driver = await virtualMachine(scriptContent);\n return driver;\n }\n ;\n}\n\nclass DriverManager {\n appContainer;\n environments;\n constructor(appContainer, environments) {\n this.appContainer = appContainer;\n this.environments = environments;\n if (!!this?.environments?.core) {\n this.setCoreOptions(this.environments.core);\n }\n }\n ;\n async setup() {\n if (this.appContainer.providers.has(E_DRIVER_TOKENS.ENVIRONMENTS)) {\n throw new Error(`Provider with token \"${E_DRIVER_TOKENS.ENVIRONMENTS}\" already exists`);\n }\n this.appContainer.providers.set(E_DRIVER_TOKENS.ENVIRONMENTS, this.environments);\n if (this.environments?.input?.eCommerce) {\n return await this.bootstrapDriver({\n default: {\n name: this.environments?.input?.eCommerce,\n scriptType: this.environments?.input?.driverScriptType,\n },\n });\n }\n else {\n return await this.bootstrapDriver({\n custom: {\n link: this.environments?.input?.driverLink,\n className: this.environments?.input?.driverClassName,\n },\n });\n }\n }\n setCoreOptions(options) {\n if (options?.cdn) {\n DriverProcessor.CDN = options.cdn;\n }\n }\n getController(controllerName) {\n return this.appContainer.getController(controllerName);\n }\n async bootstrapDriver(bootstrapOptions) {\n const driverModule = await DriverProcessor.getDriverModule(bootstrapOptions);\n if (!driverModule) {\n console.error('Driver not found!', driverModule);\n console.warn('Bootstrap options:', bootstrapOptions);\n let stringOptions;\n try {\n stringOptions = JSON.stringify(bootstrapOptions);\n }\n catch (ex) {\n console.warn('Error trying to convert bootstrap parameters to JSON to show in error:', ex);\n stringOptions = String(bootstrapOptions);\n }\n throw new Error(`Driver with options: (${stringOptions}) not found`);\n }\n this.appContainer.registerModule(driverModule);\n return driverModule;\n }\n ;\n}\n\nexport { AbstractCheckoutController, AbstractLineItemsController, AbstractPreviewController, AbstractPricingController, AbstractReturnToEditController, DriverManager, E_DRIVER_CLASSES, E_DRIVER_TOKENS, E_MANDATORY_CONTROLLERS };\n//# sourceMappingURL=index.esm.js.map\n",null,null],"names":[],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -406,13 +406,13 @@
406
406
  E_DRIVER_TOKENS["ENVIRONMENTS"] = "ENVIRONMENTS";
407
407
  })(E_DRIVER_TOKENS || (E_DRIVER_TOKENS = {}));
408
408
 
409
- var E_MANDATORY_CONTROLLERS;
409
+ exports.E_MANDATORY_CONTROLLERS = void 0;
410
410
  (function (E_MANDATORY_CONTROLLERS) {
411
411
  E_MANDATORY_CONTROLLERS["LINE_ITEMS"] = "line-items";
412
412
  E_MANDATORY_CONTROLLERS["PREVIEW"] = "preview";
413
413
  E_MANDATORY_CONTROLLERS["PRICING"] = "pricing";
414
414
  E_MANDATORY_CONTROLLERS["RETURN_TO_EDIT"] = "return-to-edit";
415
- })(E_MANDATORY_CONTROLLERS || (E_MANDATORY_CONTROLLERS = {}));
415
+ })(exports.E_MANDATORY_CONTROLLERS || (exports.E_MANDATORY_CONTROLLERS = {}));
416
416
 
417
417
  /*
418
418
  from https://github.com/substack/vm-browserify/blob/bfd7c5f59edec856dc7efe0b77a4f6b2fa20f226/index.js
@@ -828,10 +828,10 @@
828
828
  }
829
829
  purchasingMandatoryControllers() {
830
830
  const mandatoryControllers = [
831
- E_MANDATORY_CONTROLLERS.LINE_ITEMS,
832
- E_MANDATORY_CONTROLLERS.PREVIEW,
833
- E_MANDATORY_CONTROLLERS.PRICING,
834
- E_MANDATORY_CONTROLLERS.RETURN_TO_EDIT,
831
+ exports.E_MANDATORY_CONTROLLERS.LINE_ITEMS,
832
+ exports.E_MANDATORY_CONTROLLERS.PREVIEW,
833
+ exports.E_MANDATORY_CONTROLLERS.PRICING,
834
+ exports.E_MANDATORY_CONTROLLERS.RETURN_TO_EDIT,
835
835
  ];
836
836
  mandatoryControllers.forEach((controllerName) => {
837
837
  const controllerInstance = this.driverManager.getController(controllerName);
@@ -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":[],"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_MANDATORY_CONTROLLERS"],"mappings":"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","x_google_ignoreList":[0,1]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@savafeed/cart-api-sdk",
3
- "version": "1.0.6",
3
+ "version": "1.0.7",
4
4
  "main": "dist/cart-api-sdk.cjs.js",
5
5
  "module": "dist/cart-api-sdk.esm.js",
6
6
  "types": "dist/cart-api-sdk.d.ts",