@savafeed/cart-api-sdk 1.0.10 → 1.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -393,16 +393,16 @@ var moduleManager = /*#__PURE__*/Object.freeze({
393
393
  of: of
394
394
  });
395
395
 
396
- var E_DRIVER_CLASSES;
396
+ exports.E_DRIVER_CLASSES = void 0;
397
397
  (function (E_DRIVER_CLASSES) {
398
398
  E_DRIVER_CLASSES["shopify"] = "ShopifyDriver";
399
399
  E_DRIVER_CLASSES["woo"] = "WooDriver";
400
- })(E_DRIVER_CLASSES || (E_DRIVER_CLASSES = {}));
400
+ })(exports.E_DRIVER_CLASSES || (exports.E_DRIVER_CLASSES = {}));
401
401
 
402
- var E_DRIVER_TOKENS;
402
+ exports.E_DRIVER_TOKENS = void 0;
403
403
  (function (E_DRIVER_TOKENS) {
404
404
  E_DRIVER_TOKENS["ENVIRONMENTS"] = "ENVIRONMENTS";
405
- })(E_DRIVER_TOKENS || (E_DRIVER_TOKENS = {}));
405
+ })(exports.E_DRIVER_TOKENS || (exports.E_DRIVER_TOKENS = {}));
406
406
 
407
407
  exports.E_MANDATORY_CONTROLLERS = void 0;
408
408
  (function (E_MANDATORY_CONTROLLERS) {
@@ -412,6 +412,17 @@ exports.E_MANDATORY_CONTROLLERS = void 0;
412
412
  E_MANDATORY_CONTROLLERS["RETURN_TO_EDIT"] = "return-to-edit";
413
413
  })(exports.E_MANDATORY_CONTROLLERS || (exports.E_MANDATORY_CONTROLLERS = {}));
414
414
 
415
+ class AbstractLineItemsController {
416
+ }
417
+ class AbstractPricingController {
418
+ }
419
+ class AbstractPreviewController {
420
+ }
421
+ class AbstractCheckoutController {
422
+ }
423
+ class AbstractReturnToEditController {
424
+ }
425
+
415
426
  /*
416
427
  from https://github.com/substack/vm-browserify/blob/bfd7c5f59edec856dc7efe0b77a4f6b2fa20f226/index.js
417
428
 
@@ -672,11 +683,11 @@ class DriverProcessor {
672
683
  const driverClassName = options.name;
673
684
  switch (currentScriptType) {
674
685
  case 'esm':
675
- return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];
686
+ return driver?.default[exports.E_DRIVER_CLASSES[driverClassName]] || driver[exports.E_DRIVER_CLASSES[driverClassName]];
676
687
  case 'umd':
677
- return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];
688
+ return driver?.default[exports.E_DRIVER_CLASSES[driverClassName]] || driver[exports.E_DRIVER_CLASSES[driverClassName]];
678
689
  case 'cjs':
679
- return driver[E_DRIVER_CLASSES[driverClassName]];
690
+ return driver[exports.E_DRIVER_CLASSES[driverClassName]];
680
691
  default:
681
692
  throw new Error(`Unknown script type: ${currentScriptType}`);
682
693
  }
@@ -721,10 +732,10 @@ class DriverManager {
721
732
  }
722
733
  ;
723
734
  async setup() {
724
- if (this.appContainer.providers.has(E_DRIVER_TOKENS.ENVIRONMENTS)) {
725
- throw new Error(`Provider with token "${E_DRIVER_TOKENS.ENVIRONMENTS}" already exists`);
735
+ if (this.appContainer.providers.has(exports.E_DRIVER_TOKENS.ENVIRONMENTS)) {
736
+ throw new Error(`Provider with token "${exports.E_DRIVER_TOKENS.ENVIRONMENTS}" already exists`);
726
737
  }
727
- this.appContainer.providers.set(E_DRIVER_TOKENS.ENVIRONMENTS, this.environments);
738
+ this.appContainer.providers.set(exports.E_DRIVER_TOKENS.ENVIRONMENTS, this.environments);
728
739
  if (this.environments?.input?.eCommerce) {
729
740
  return await this.bootstrapDriver({
730
741
  default: {
@@ -846,5 +857,11 @@ if ($window) {
846
857
  $window.CartSDK = CartSDK;
847
858
  }
848
859
 
860
+ exports.AbstractCheckoutController = AbstractCheckoutController;
861
+ exports.AbstractLineItemsController = AbstractLineItemsController;
862
+ exports.AbstractPreviewController = AbstractPreviewController;
863
+ exports.AbstractPricingController = AbstractPricingController;
864
+ exports.AbstractReturnToEditController = AbstractReturnToEditController;
849
865
  exports.CartSDK = CartSDK;
866
+ exports.DriverManager = DriverManager;
850
867
  //# sourceMappingURL=cart-api-sdk.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cart-api-sdk.cjs.js","sources":["../node_modules/@savafeed/module-manager/dist/index.esm.js","../node_modules/@savafeed/driver-manager/dist/index.esm.js","../src/polyfills/dom.ts","../src/index.ts"],"sourcesContent":["import 'reflect-metadata';\r\n\r\nclass TypeSpecifier {\r\n static isClass(input) {\r\n return (!TypeSpecifier.isFunction(input) &&\r\n !TypeSpecifier.isFunctionByTryCall(input) &&\r\n TypeSpecifier.isClassByStringLiteral(input));\r\n }\r\n static isClassByStringLiteral(input) {\r\n const functionString = input.toString();\r\n return !!functionString.startsWith('class');\r\n }\r\n static isFunction(input) {\r\n return typeof input !== 'function';\r\n }\r\n static isFunctionByTryCall(input) {\r\n try {\r\n input();\r\n return true;\r\n }\r\n catch (error) {\r\n return false;\r\n }\r\n }\r\n}\r\n\r\nclass ModuleRef {\r\n parentContainer;\r\n module;\r\n controllers = new Map();\r\n providers = new Map();\r\n constructor(parentContainer, module) {\r\n this.parentContainer = parentContainer;\r\n this.module = module;\r\n this[\"registerProviders\" /* E_REGISTER_CALL_ORDER.first */]();\r\n this[\"registerControllers\" /* E_REGISTER_CALL_ORDER.second */]();\r\n }\r\n ;\r\n registerProviders() {\r\n const providers = this.module.providers;\r\n if (!providers)\r\n return;\r\n for (const provider of providers) {\r\n if (this.providers.has(provider))\r\n continue;\r\n const dependencyTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, provider);\r\n const dependencies = [];\r\n dependencyTokens?.forEach((dependencyToken, index) => {\r\n if (!TypeSpecifier.isClass(dependencyToken)) {\r\n const injectTokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, provider) || [];\r\n const injectToken = injectTokens.find((injectObject) => injectObject.index === index);\r\n if (!this.parentContainer.providers.has(injectToken?.token))\r\n return console.warn(`[WARN] (Inject) ${injectToken} is not provide in`, this.parentContainer);\r\n dependencies.push(this.parentContainer.providers.get(injectToken?.token));\r\n }\r\n else {\r\n if (!this.parentContainer.providers.has(dependencyToken))\r\n return console.warn(`[WARN] (Injectable) ${dependencyToken} is not provide in`, this.parentContainer);\r\n dependencies.push(this.parentContainer.providers.get(dependencyToken));\r\n }\r\n });\r\n let providerToken;\r\n let providerInstance;\r\n if (provider?.token) {\r\n const injectProvider = this.getInjectProviderWithInstance(provider);\r\n if (!injectProvider)\r\n return console.warn(`[WARN] Provider type is not Inject. ${provider.token} is not provide in`, this.parentContainer);\r\n providerToken = injectProvider.token;\r\n providerInstance = injectProvider.instance;\r\n Reflect.defineMetadata(providerToken, providerInstance, this.module);\r\n }\r\n else {\r\n providerToken = provider;\r\n providerInstance = new provider(...dependencies);\r\n Reflect.defineMetadata(providerToken, provider, this.module);\r\n }\r\n this.providers.set(providerToken, providerInstance);\r\n }\r\n }\r\n ;\r\n getInjectProviderWithInstance(injectProvider) {\r\n if (!injectProvider?.token)\r\n return null;\r\n let injectInstance;\r\n if (injectProvider?.useValue) {\r\n injectInstance = injectProvider.useValue;\r\n }\r\n if (injectProvider?.useFactory) {\r\n const factory = injectProvider.useFactory;\r\n try {\r\n if (TypeSpecifier.isClass(factory)) {\r\n injectInstance = new injectProvider.useFactory();\r\n }\r\n else {\r\n injectInstance = injectProvider.useFactory();\r\n }\r\n }\r\n catch (error) {\r\n console.error('A factory can be either a function or a class.', error);\r\n return null;\r\n }\r\n }\r\n return {\r\n token: injectProvider.token,\r\n instance: injectInstance,\r\n };\r\n }\r\n ;\r\n registerControllers() {\r\n const controllers = this.module.controllers;\r\n if (!controllers)\r\n return;\r\n for (const controller of controllers) {\r\n if (this.controllers.has(controller))\r\n continue;\r\n const dependencyTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, controller);\r\n const dependencies = [];\r\n dependencyTokens?.forEach((dependencyToken) => {\r\n if (!this.providers.has(dependencyToken))\r\n return console.warn(`[WARN] ${dependencyToken} is not provide in`, String(this));\r\n dependencies.push(this.providers.get(dependencyToken));\r\n });\r\n const controllerToken = Reflect.getMetadata(\"controller:prefix\" /* E_TOKENS.CONTROLLER_PREFIX */, controller) || controller;\r\n const controllerInstance = new controller(...dependencies);\r\n this.controllers.set(controllerToken, controllerInstance);\r\n }\r\n }\r\n ;\r\n getController(controllerToken) {\r\n return this.controllers.get(controllerToken);\r\n }\r\n ;\r\n}\r\n\r\nfunction of(mapper) {\r\n const entryList = Array.from(mapper.entries());\r\n return entryList.map((entry) => {\r\n return {\r\n key: entry[0],\r\n value: entry[1],\r\n };\r\n });\r\n}\r\n\r\nclass Pool {\r\n factory;\r\n _pool = new Map();\r\n constructor(factory) {\r\n this.factory = factory;\r\n }\r\n ;\r\n acquire() {\r\n return of(this._pool)\r\n .map(({ value }) => value)\r\n .map(this.factory);\r\n }\r\n ;\r\n release(data) {\r\n this._pool.delete(data);\r\n }\r\n ;\r\n append(data) {\r\n this._pool.set(data, data);\r\n }\r\n ;\r\n}\r\n\r\nclass AuditContainer {\r\n providers = new Map();\r\n providersPool = new Pool((data) => data);\r\n addProviderToPool(type, providerToken) {\r\n this.providersPool.append({\r\n provider: providerToken,\r\n type,\r\n });\r\n }\r\n ;\r\n registerInnerInject(injectProvider) {\r\n this.registerGlobalInject(injectProvider);\r\n }\r\n processProvidersInPool() {\r\n const providers = this.providersPool.acquire();\r\n const providersByType = {\r\n [\"inject\" /* E_PROVIDER_TYPES.INJECT */]: [],\r\n [\"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */]: [],\r\n };\r\n providers.forEach(({ type, provider }) => {\r\n const condition = type === \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */ || type === \"inject\" /* E_PROVIDER_TYPES.INJECT */;\r\n if (condition) {\r\n providersByType[type].push(provider);\r\n }\r\n });\r\n this.dispatchRegisterProviders(providersByType, \"inject\" /* E_PROVIDER_TYPES.INJECT */);\r\n this.dispatchRegisterProviders(providersByType, \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */);\r\n }\r\n ;\r\n dispatchRegisterProviders(providersByType, type) {\r\n providersByType[type].forEach((provider) => {\r\n switch (type) {\r\n case \"inject\" /* E_PROVIDER_TYPES.INJECT */:\r\n this.registerGlobalInject(provider);\r\n break;\r\n case \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */:\r\n this.registerGlobalInjectable(provider);\r\n break;\r\n }\r\n this.providersPool.release(provider);\r\n });\r\n }\r\n ;\r\n registerGlobalInjectable(providerToken) {\r\n if (providerToken?.token) {\r\n if (this.providers.has(providerToken.token))\r\n return this.providers.get(providerToken.token);\r\n }\r\n else {\r\n if (this.providers.has(providerToken))\r\n return this.providers.get(providerToken);\r\n }\r\n const dependencies = [];\r\n const dependenciesTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, providerToken);\r\n const injectTokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, providerToken);\r\n dependenciesTokens?.forEach((dependencyToken, index) => {\r\n const injectToken = injectTokens?.find((injectTokenObject) => injectTokenObject.index === index);\r\n let injectInstance = injectToken || dependencyToken;\r\n const dependency = this.registerGlobalInjectable(injectInstance);\r\n dependencies.push(dependency);\r\n });\r\n const provider = new providerToken(...dependencies);\r\n this.providers.set(providerToken, provider);\r\n return provider;\r\n }\r\n ;\r\n registerGlobalInject(injectProvider) {\r\n let injectInstance;\r\n if (injectProvider?.useValue) {\r\n injectInstance = injectProvider.useValue;\r\n }\r\n if (injectProvider?.useFactory) {\r\n const factory = injectProvider.useFactory;\r\n try {\r\n if (TypeSpecifier.isClass(factory)) {\r\n injectInstance = new injectProvider.useFactory();\r\n }\r\n else {\r\n injectInstance = injectProvider.useFactory();\r\n }\r\n }\r\n catch (error) {\r\n console.error('A factory can be either a function or a class.', error);\r\n return error;\r\n }\r\n }\r\n this.providers.set(injectProvider.token, injectInstance);\r\n }\r\n ;\r\n}\r\n\r\nclass Container extends AuditContainer {\r\n _modules = new Map();\r\n get modules() {\r\n return this._modules;\r\n }\r\n ;\r\n registerModule(module) {\r\n if (this._modules.has(module))\r\n return console.warn(`Module has in Container`);\r\n this.processProvidersInPool();\r\n const moduleInstance = new ModuleRef(this, module);\r\n this._modules.set(module, moduleInstance);\r\n }\r\n ;\r\n getModuleByName(moduleName) {\r\n return of(this._modules).find(({ key }) => moduleName === key.name);\r\n }\r\n ;\r\n getController(prefix) {\r\n return of(this._modules).map(({ value }) => {\r\n return value.getController(prefix);\r\n }).find((controller) => !!controller);\r\n }\r\n ;\r\n findModuleByProviderToken(providerToken) {\r\n let module = null;\r\n this._modules.forEach((moduleRef, moduleClass) => {\r\n if (moduleClass.providers?.includes(providerToken)) {\r\n module = {\r\n token: moduleClass,\r\n reference: moduleRef,\r\n };\r\n }\r\n });\r\n return module;\r\n }\r\n ;\r\n}\r\nconst container = new Container();\r\n\r\nfunction Controller(prefix) {\r\n return (target) => {\r\n Reflect.defineMetadata(\"controller:prefix\" /* E_TOKENS.CONTROLLER_PREFIX */, prefix, target);\r\n };\r\n}\r\n\r\nfunction Module(options) {\r\n return (target) => {\r\n Reflect.defineProperty(target, 'name', {\r\n value: options.name,\r\n writable: false,\r\n configurable: false,\r\n });\r\n Reflect.defineProperty(target, 'controllers', {\r\n value: options.controllers,\r\n writable: false,\r\n configurable: false,\r\n });\r\n Reflect.defineProperty(target, 'providers', {\r\n value: options.providers,\r\n writable: false,\r\n configurable: false,\r\n });\r\n registerProviders(options.providers);\r\n };\r\n}\r\nfunction registerProviders(providers) {\r\n providers?.forEach((provider) => {\r\n const isObjectProvider = typeof provider === 'object' && !!provider?.token;\r\n if (isObjectProvider) {\r\n container.addProviderToPool(\"inject\" /* E_PROVIDER_TYPES.INJECT */, provider);\r\n }\r\n });\r\n}\r\n\r\nfunction Injectable() {\r\n return (target) => {\r\n container.addProviderToPool(\"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */, target);\r\n };\r\n}\r\nfunction Inject(token) {\r\n return (target, _, parameterIndex) => {\r\n const tokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, target) || [];\r\n tokens.push({\r\n index: parameterIndex,\r\n token,\r\n });\r\n Reflect.defineMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, tokens, target);\r\n };\r\n}\r\n\r\nclass AbstractModule {\r\n static name;\r\n static controllers = [];\r\n static providers = [];\r\n}\r\n\r\nclass Queue {\r\n _storage = {};\r\n _oldestIndex = 1;\r\n _newestIndex = 1;\r\n get count() {\r\n return this._newestIndex - this._oldestIndex;\r\n }\r\n enqueue(data) {\r\n this._storage[this._newestIndex] = data;\r\n this._newestIndex++;\r\n }\r\n dequeue() {\r\n const oldestIndex = this._oldestIndex;\r\n const deletedData = this._storage[oldestIndex];\r\n delete this._storage[oldestIndex];\r\n this._oldestIndex++;\r\n return deletedData;\r\n }\r\n toArray() {\r\n return Object.values(this._storage);\r\n }\r\n}\r\n\r\nexport { AbstractModule, Container, Controller, Inject, Injectable, Module, ModuleRef, Queue, TypeSpecifier, container, of };\r\n//# sourceMappingURL=index.esm.js.map\r\n","import 'reflect-metadata';\nimport * as moduleManager from '@savafeed/module-manager';\n\nvar E_DRIVER_CLASSES;\n(function (E_DRIVER_CLASSES) {\n E_DRIVER_CLASSES[\"shopify\"] = \"ShopifyDriver\";\n E_DRIVER_CLASSES[\"woo\"] = \"WooDriver\";\n})(E_DRIVER_CLASSES || (E_DRIVER_CLASSES = {}));\n\nvar E_DRIVER_TOKENS;\n(function (E_DRIVER_TOKENS) {\n E_DRIVER_TOKENS[\"ENVIRONMENTS\"] = \"ENVIRONMENTS\";\n})(E_DRIVER_TOKENS || (E_DRIVER_TOKENS = {}));\n\nvar E_MANDATORY_CONTROLLERS;\n(function (E_MANDATORY_CONTROLLERS) {\n E_MANDATORY_CONTROLLERS[\"LINE_ITEMS\"] = \"line-items\";\n E_MANDATORY_CONTROLLERS[\"PREVIEW\"] = \"preview\";\n E_MANDATORY_CONTROLLERS[\"PRICING\"] = \"pricing\";\n E_MANDATORY_CONTROLLERS[\"RETURN_TO_EDIT\"] = \"return-to-edit\";\n})(E_MANDATORY_CONTROLLERS || (E_MANDATORY_CONTROLLERS = {}));\n\nclass AbstractLineItemsController {\n}\nclass AbstractPricingController {\n}\nclass AbstractPreviewController {\n}\nclass AbstractCheckoutController {\n}\nclass AbstractReturnToEditController {\n}\n\n/*\nfrom https://github.com/substack/vm-browserify/blob/bfd7c5f59edec856dc7efe0b77a4f6b2fa20f226/index.js\n\nMIT license no Copyright holder mentioned\n*/\n\n\nfunction Object_keys(obj) {\n if (Object.keys) return Object.keys(obj)\n else {\n var res = [];\n for (var key in obj) res.push(key);\n return res;\n }\n}\n\nfunction forEach(xs, fn) {\n if (xs.forEach) return xs.forEach(fn)\n else\n for (var i = 0; i < xs.length; i++) {\n fn(xs[i], i, xs);\n }\n}\nvar _defineProp;\n\nfunction defineProp(obj, name, value) {\n if (typeof _defineProp !== 'function') {\n _defineProp = createDefineProp;\n }\n _defineProp(obj, name, value);\n}\n\nfunction createDefineProp() {\n try {\n Object.defineProperty({}, '_', {});\n return function(obj, name, value) {\n Object.defineProperty(obj, name, {\n writable: true,\n enumerable: false,\n configurable: true,\n value: value\n });\n };\n } catch (e) {\n return function(obj, name, value) {\n obj[name] = value;\n };\n }\n}\n\nvar globals = ['Array', 'Boolean', 'Date', 'Error', 'EvalError', 'Function',\n 'Infinity', 'JSON', 'Math', 'NaN', 'Number', 'Object', 'RangeError',\n 'ReferenceError', 'RegExp', 'String', 'SyntaxError', 'TypeError', 'URIError',\n 'decodeURI', 'decodeURIComponent', 'encodeURI', 'encodeURIComponent', 'escape',\n 'eval', 'isFinite', 'isNaN', 'parseFloat', 'parseInt', 'undefined', 'unescape'\n];\n\nfunction Context() {}\nContext.prototype = {};\n\nfunction Script(code) {\n if (!(this instanceof Script)) return new Script(code);\n this.code = code;\n}\nfunction otherRunInContext(code, context) {\n var args = Object_keys(global);\n args.push('with (this.__ctx__){return eval(this.__code__)}');\n var fn = Function.apply(null, args);\n return fn.apply({\n __code__: code,\n __ctx__: context\n });\n}\nScript.prototype.runInContext = function(context) {\n if (!(context instanceof Context)) {\n throw new TypeError('needs a \\'context\\' argument.');\n }\n if (global.document) {\n var iframe = global.document.createElement('iframe');\n if (!iframe.style) iframe.style = {};\n iframe.style.display = 'none';\n\n global.document.body.appendChild(iframe);\n\n var win = iframe.contentWindow;\n var wEval = win.eval,\n wExecScript = win.execScript;\n\n if (!wEval && wExecScript) {\n // win.eval() magically appears when this is called in IE:\n wExecScript.call(win, 'null');\n wEval = win.eval;\n }\n\n forEach(Object_keys(context), function(key) {\n win[key] = context[key];\n });\n forEach(globals, function(key) {\n if (context[key]) {\n win[key] = context[key];\n }\n });\n\n var winKeys = Object_keys(win);\n\n var res = wEval.call(win, this.code);\n\n forEach(Object_keys(win), function(key) {\n // Avoid copying circular objects like `top` and `window` by only\n // updating existing context properties or new properties in the `win`\n // that was only introduced after the eval.\n if (key in context || indexOf(winKeys, key) === -1) {\n context[key] = win[key];\n }\n });\n\n forEach(globals, function(key) {\n if (!(key in context)) {\n defineProp(context, key, win[key]);\n }\n });\n global.document.body.removeChild(iframe);\n\n return res;\n }\n return otherRunInContext(this.code, context);\n};\n\nScript.prototype.runInThisContext = function() {\n var fn = new Function('code', 'return eval(code);');\n return fn.call(global, this.code); // maybe...\n};\n\nScript.prototype.runInNewContext = function(context) {\n var ctx = createContext(context);\n var res = this.runInContext(ctx);\n if (context) {\n forEach(Object_keys(ctx), function(key) {\n context[key] = ctx[key];\n });\n }\n\n return res;\n};\n\nfunction createContext(context) {\n if (isContext(context)) {\n return context;\n }\n var copy = new Context();\n if (typeof context === 'object') {\n forEach(Object_keys(context), function(key) {\n copy[key] = context[key];\n });\n }\n return copy;\n}\nfunction runInContext(code, contextifiedSandbox, options) {\n var script = new Script(code);\n return script.runInContext(contextifiedSandbox, options);\n}\nfunction isContext(context) {\n return context instanceof Context;\n}\n\n\n/*\nfrom indexOf\n@ author tjholowaychuk\n@ license MIT\n*/\nvar _indexOf = [].indexOf;\n\nfunction indexOf(arr, obj){\n if (_indexOf) return arr.indexOf(obj);\n for (var i = 0; i < arr.length; ++i) {\n if (arr[i] === obj) return i;\n }\n return -1;\n}\n\nasync function virtualMachine(code) {\n const context = {\n module: { exports: {} },\n exports: {},\n require: (id) => {\n if (id === '@savafeed/module-manager') {\n return moduleManager;\n }\n throw new Error(`Cannot require('${id}') in this context`);\n },\n console,\n setTimeout,\n setInterval,\n Reflect,\n Promise,\n URL,\n fetch,\n };\n const isNodeJsEnv = typeof document === 'undefined';\n if (isNodeJsEnv) {\n await import('reflect-metadata');\n }\n else {\n // @ts-ignore\n await import('https://unpkg.com/reflect-metadata@0.2.2/Reflect.js');\n }\n context.Reflect = Reflect;\n const sandbox = createContext(context);\n runInContext(code, sandbox);\n const moduleObject = sandbox.exports;\n return moduleObject;\n}\n\nclass DriverProcessor {\n // static CDN: string = 'http://localhost:5000';\n static CDN = 'https://unpkg.com/@savafeed';\n static async getDriverModule(bootstrapOptions) {\n let driverModule;\n if (bootstrapOptions?.default) {\n driverModule = await DriverProcessor.defaultBootstrapDriver(bootstrapOptions.default);\n }\n else if (bootstrapOptions?.custom) {\n driverModule = await DriverProcessor.customBootstrapDriver(bootstrapOptions.custom);\n }\n else {\n throw new Error('Driver not found');\n }\n return driverModule;\n }\n ;\n static async defaultBootstrapDriver(options) {\n if (!options?.name)\n throw new Error(`Unable to get driver by this name: ${options?.name}`);\n const driver = await DriverProcessor.pullDriverByName(options.name, options.scriptType);\n const driverModule = DriverProcessor.exportDriverModule(driver, {\n scriptType: options.scriptType,\n name: options.name,\n });\n return driverModule;\n }\n static async customBootstrapDriver(options) {\n if (!options?.link)\n throw new Error('Driver link not found');\n if (!options?.className)\n throw new Error('Driver class name not found');\n const driver = await DriverProcessor.pullDriverByLink(options.link);\n const driverModule = DriverProcessor.exportDriverModule(driver, {\n scriptType: options.scriptType,\n name: options.className,\n });\n return driverModule;\n }\n static exportDriverModule(driver, options) {\n if (!driver)\n throw new Error('Driver not found');\n const currentScriptType = (!!options.scriptType) ? options.scriptType : 'umd';\n const driverClassName = options.name;\n switch (currentScriptType) {\n case 'esm':\n return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];\n case 'umd':\n return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];\n case 'cjs':\n return driver[E_DRIVER_CLASSES[driverClassName]];\n default:\n throw new Error(`Unknown script type: ${currentScriptType}`);\n }\n }\n static async pullDriverByLink(link) {\n if (!link)\n throw new Error('Driver link not found');\n const response = await fetch(link);\n if (!response?.ok) {\n throw new Error(`Failed to load script from CDN: ${response.statusText}`);\n }\n const scriptContent = await response.text();\n const driver = await virtualMachine(scriptContent);\n return driver;\n }\n ;\n static async pullDriverByName(driverName, scriptType) {\n if (!driverName)\n throw new Error('Driver name not found');\n const currentScriptType = (!!scriptType) ? scriptType : 'umd';\n const link = `${DriverProcessor.CDN}/${driverName}-driver@latest/${driverName}.driver.${currentScriptType}.js`;\n const response = await fetch(link);\n if (!response?.ok) {\n throw new Error(`Failed to load script from CDN: ${response.statusText}`);\n }\n const scriptContent = await response.text();\n const driver = await virtualMachine(scriptContent);\n return driver;\n }\n ;\n}\n\nclass DriverManager {\n appContainer;\n environments;\n constructor(appContainer, environments) {\n this.appContainer = appContainer;\n this.environments = environments;\n if (!!this?.environments?.core) {\n this.setCoreOptions(this.environments.core);\n }\n }\n ;\n async setup() {\n if (this.appContainer.providers.has(E_DRIVER_TOKENS.ENVIRONMENTS)) {\n throw new Error(`Provider with token \"${E_DRIVER_TOKENS.ENVIRONMENTS}\" already exists`);\n }\n this.appContainer.providers.set(E_DRIVER_TOKENS.ENVIRONMENTS, this.environments);\n if (this.environments?.input?.eCommerce) {\n return await this.bootstrapDriver({\n default: {\n name: this.environments?.input?.eCommerce,\n scriptType: this.environments?.input?.driverScriptType,\n },\n });\n }\n else {\n return await this.bootstrapDriver({\n custom: {\n link: this.environments?.input?.driverLink,\n className: this.environments?.input?.driverClassName,\n },\n });\n }\n }\n setCoreOptions(options) {\n if (options?.cdn) {\n DriverProcessor.CDN = options.cdn;\n }\n }\n getController(controllerName) {\n return this.appContainer.getController(controllerName);\n }\n async bootstrapDriver(bootstrapOptions) {\n const driverModule = await DriverProcessor.getDriverModule(bootstrapOptions);\n if (!driverModule) {\n console.error('Driver not found!', driverModule);\n console.warn('Bootstrap options:', bootstrapOptions);\n let stringOptions;\n try {\n stringOptions = JSON.stringify(bootstrapOptions);\n }\n catch (ex) {\n console.warn('Error trying to convert bootstrap parameters to JSON to show in error:', ex);\n stringOptions = String(bootstrapOptions);\n }\n throw new Error(`Driver with options: (${stringOptions}) not found`);\n }\n this.appContainer.registerModule(driverModule);\n return driverModule;\n }\n ;\n}\n\nexport { AbstractCheckoutController, AbstractLineItemsController, AbstractPreviewController, AbstractPricingController, AbstractReturnToEditController, DriverManager, E_DRIVER_CLASSES, E_DRIVER_TOKENS, E_MANDATORY_CONTROLLERS };\n//# sourceMappingURL=index.esm.js.map\n",null,null],"names":["E_MANDATORY_CONTROLLERS"],"mappings":"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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_DRIVER_CLASSES","E_DRIVER_TOKENS","E_MANDATORY_CONTROLLERS"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -1,6 +1,6 @@
1
1
  import * as _savafeed_module_manager from '@savafeed/module-manager';
2
2
  import { IEnvironments, E_MANDATORY_CONTROLLERS, TGetControllerType } from '@savafeed/driver-manager';
3
- export { E_MANDATORY_CONTROLLERS, IEnvironments } from '@savafeed/driver-manager';
3
+ export { AbstractCheckoutController, AbstractLineItemsController, AbstractPreviewController, AbstractPricingController, AbstractReturnToEditController, DriverManager, E_DRIVER_CLASSES, E_DRIVER_TOKENS, E_MANDATORY_CONTROLLERS, IBootstrapOptions, ICheckoutController, IEnvironments, ILineItemsController, IPreviewController, IPricingController, IReturnToEditController, TControllerMap, TDefaultDriverName, TGetControllerType } from '@savafeed/driver-manager';
4
4
 
5
5
  declare class CartSDK {
6
6
  private environments;
@@ -410,6 +410,17 @@ var E_MANDATORY_CONTROLLERS;
410
410
  E_MANDATORY_CONTROLLERS["RETURN_TO_EDIT"] = "return-to-edit";
411
411
  })(E_MANDATORY_CONTROLLERS || (E_MANDATORY_CONTROLLERS = {}));
412
412
 
413
+ class AbstractLineItemsController {
414
+ }
415
+ class AbstractPricingController {
416
+ }
417
+ class AbstractPreviewController {
418
+ }
419
+ class AbstractCheckoutController {
420
+ }
421
+ class AbstractReturnToEditController {
422
+ }
423
+
413
424
  /*
414
425
  from https://github.com/substack/vm-browserify/blob/bfd7c5f59edec856dc7efe0b77a4f6b2fa20f226/index.js
415
426
 
@@ -844,5 +855,5 @@ if ($window) {
844
855
  $window.CartSDK = CartSDK;
845
856
  }
846
857
 
847
- export { CartSDK, E_MANDATORY_CONTROLLERS };
858
+ export { AbstractCheckoutController, AbstractLineItemsController, AbstractPreviewController, AbstractPricingController, AbstractReturnToEditController, CartSDK, DriverManager, E_DRIVER_CLASSES, E_DRIVER_TOKENS, E_MANDATORY_CONTROLLERS };
848
859
  //# sourceMappingURL=cart-api-sdk.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cart-api-sdk.esm.js","sources":["../node_modules/@savafeed/module-manager/dist/index.esm.js","../node_modules/@savafeed/driver-manager/dist/index.esm.js","../src/polyfills/dom.ts","../src/index.ts"],"sourcesContent":["import 'reflect-metadata';\r\n\r\nclass TypeSpecifier {\r\n static isClass(input) {\r\n return (!TypeSpecifier.isFunction(input) &&\r\n !TypeSpecifier.isFunctionByTryCall(input) &&\r\n TypeSpecifier.isClassByStringLiteral(input));\r\n }\r\n static isClassByStringLiteral(input) {\r\n const functionString = input.toString();\r\n return !!functionString.startsWith('class');\r\n }\r\n static isFunction(input) {\r\n return typeof input !== 'function';\r\n }\r\n static isFunctionByTryCall(input) {\r\n try {\r\n input();\r\n return true;\r\n }\r\n catch (error) {\r\n return false;\r\n }\r\n }\r\n}\r\n\r\nclass ModuleRef {\r\n parentContainer;\r\n module;\r\n controllers = new Map();\r\n providers = new Map();\r\n constructor(parentContainer, module) {\r\n this.parentContainer = parentContainer;\r\n this.module = module;\r\n this[\"registerProviders\" /* E_REGISTER_CALL_ORDER.first */]();\r\n this[\"registerControllers\" /* E_REGISTER_CALL_ORDER.second */]();\r\n }\r\n ;\r\n registerProviders() {\r\n const providers = this.module.providers;\r\n if (!providers)\r\n return;\r\n for (const provider of providers) {\r\n if (this.providers.has(provider))\r\n continue;\r\n const dependencyTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, provider);\r\n const dependencies = [];\r\n dependencyTokens?.forEach((dependencyToken, index) => {\r\n if (!TypeSpecifier.isClass(dependencyToken)) {\r\n const injectTokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, provider) || [];\r\n const injectToken = injectTokens.find((injectObject) => injectObject.index === index);\r\n if (!this.parentContainer.providers.has(injectToken?.token))\r\n return console.warn(`[WARN] (Inject) ${injectToken} is not provide in`, this.parentContainer);\r\n dependencies.push(this.parentContainer.providers.get(injectToken?.token));\r\n }\r\n else {\r\n if (!this.parentContainer.providers.has(dependencyToken))\r\n return console.warn(`[WARN] (Injectable) ${dependencyToken} is not provide in`, this.parentContainer);\r\n dependencies.push(this.parentContainer.providers.get(dependencyToken));\r\n }\r\n });\r\n let providerToken;\r\n let providerInstance;\r\n if (provider?.token) {\r\n const injectProvider = this.getInjectProviderWithInstance(provider);\r\n if (!injectProvider)\r\n return console.warn(`[WARN] Provider type is not Inject. ${provider.token} is not provide in`, this.parentContainer);\r\n providerToken = injectProvider.token;\r\n providerInstance = injectProvider.instance;\r\n Reflect.defineMetadata(providerToken, providerInstance, this.module);\r\n }\r\n else {\r\n providerToken = provider;\r\n providerInstance = new provider(...dependencies);\r\n Reflect.defineMetadata(providerToken, provider, this.module);\r\n }\r\n this.providers.set(providerToken, providerInstance);\r\n }\r\n }\r\n ;\r\n getInjectProviderWithInstance(injectProvider) {\r\n if (!injectProvider?.token)\r\n return null;\r\n let injectInstance;\r\n if (injectProvider?.useValue) {\r\n injectInstance = injectProvider.useValue;\r\n }\r\n if (injectProvider?.useFactory) {\r\n const factory = injectProvider.useFactory;\r\n try {\r\n if (TypeSpecifier.isClass(factory)) {\r\n injectInstance = new injectProvider.useFactory();\r\n }\r\n else {\r\n injectInstance = injectProvider.useFactory();\r\n }\r\n }\r\n catch (error) {\r\n console.error('A factory can be either a function or a class.', error);\r\n return null;\r\n }\r\n }\r\n return {\r\n token: injectProvider.token,\r\n instance: injectInstance,\r\n };\r\n }\r\n ;\r\n registerControllers() {\r\n const controllers = this.module.controllers;\r\n if (!controllers)\r\n return;\r\n for (const controller of controllers) {\r\n if (this.controllers.has(controller))\r\n continue;\r\n const dependencyTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, controller);\r\n const dependencies = [];\r\n dependencyTokens?.forEach((dependencyToken) => {\r\n if (!this.providers.has(dependencyToken))\r\n return console.warn(`[WARN] ${dependencyToken} is not provide in`, String(this));\r\n dependencies.push(this.providers.get(dependencyToken));\r\n });\r\n const controllerToken = Reflect.getMetadata(\"controller:prefix\" /* E_TOKENS.CONTROLLER_PREFIX */, controller) || controller;\r\n const controllerInstance = new controller(...dependencies);\r\n this.controllers.set(controllerToken, controllerInstance);\r\n }\r\n }\r\n ;\r\n getController(controllerToken) {\r\n return this.controllers.get(controllerToken);\r\n }\r\n ;\r\n}\r\n\r\nfunction of(mapper) {\r\n const entryList = Array.from(mapper.entries());\r\n return entryList.map((entry) => {\r\n return {\r\n key: entry[0],\r\n value: entry[1],\r\n };\r\n });\r\n}\r\n\r\nclass Pool {\r\n factory;\r\n _pool = new Map();\r\n constructor(factory) {\r\n this.factory = factory;\r\n }\r\n ;\r\n acquire() {\r\n return of(this._pool)\r\n .map(({ value }) => value)\r\n .map(this.factory);\r\n }\r\n ;\r\n release(data) {\r\n this._pool.delete(data);\r\n }\r\n ;\r\n append(data) {\r\n this._pool.set(data, data);\r\n }\r\n ;\r\n}\r\n\r\nclass AuditContainer {\r\n providers = new Map();\r\n providersPool = new Pool((data) => data);\r\n addProviderToPool(type, providerToken) {\r\n this.providersPool.append({\r\n provider: providerToken,\r\n type,\r\n });\r\n }\r\n ;\r\n registerInnerInject(injectProvider) {\r\n this.registerGlobalInject(injectProvider);\r\n }\r\n processProvidersInPool() {\r\n const providers = this.providersPool.acquire();\r\n const providersByType = {\r\n [\"inject\" /* E_PROVIDER_TYPES.INJECT */]: [],\r\n [\"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */]: [],\r\n };\r\n providers.forEach(({ type, provider }) => {\r\n const condition = type === \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */ || type === \"inject\" /* E_PROVIDER_TYPES.INJECT */;\r\n if (condition) {\r\n providersByType[type].push(provider);\r\n }\r\n });\r\n this.dispatchRegisterProviders(providersByType, \"inject\" /* E_PROVIDER_TYPES.INJECT */);\r\n this.dispatchRegisterProviders(providersByType, \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */);\r\n }\r\n ;\r\n dispatchRegisterProviders(providersByType, type) {\r\n providersByType[type].forEach((provider) => {\r\n switch (type) {\r\n case \"inject\" /* E_PROVIDER_TYPES.INJECT */:\r\n this.registerGlobalInject(provider);\r\n break;\r\n case \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */:\r\n this.registerGlobalInjectable(provider);\r\n break;\r\n }\r\n this.providersPool.release(provider);\r\n });\r\n }\r\n ;\r\n registerGlobalInjectable(providerToken) {\r\n if (providerToken?.token) {\r\n if (this.providers.has(providerToken.token))\r\n return this.providers.get(providerToken.token);\r\n }\r\n else {\r\n if (this.providers.has(providerToken))\r\n return this.providers.get(providerToken);\r\n }\r\n const dependencies = [];\r\n const dependenciesTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, providerToken);\r\n const injectTokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, providerToken);\r\n dependenciesTokens?.forEach((dependencyToken, index) => {\r\n const injectToken = injectTokens?.find((injectTokenObject) => injectTokenObject.index === index);\r\n let injectInstance = injectToken || dependencyToken;\r\n const dependency = this.registerGlobalInjectable(injectInstance);\r\n dependencies.push(dependency);\r\n });\r\n const provider = new providerToken(...dependencies);\r\n this.providers.set(providerToken, provider);\r\n return provider;\r\n }\r\n ;\r\n registerGlobalInject(injectProvider) {\r\n let injectInstance;\r\n if (injectProvider?.useValue) {\r\n injectInstance = injectProvider.useValue;\r\n }\r\n if (injectProvider?.useFactory) {\r\n const factory = injectProvider.useFactory;\r\n try {\r\n if (TypeSpecifier.isClass(factory)) {\r\n injectInstance = new injectProvider.useFactory();\r\n }\r\n else {\r\n injectInstance = injectProvider.useFactory();\r\n }\r\n }\r\n catch (error) {\r\n console.error('A factory can be either a function or a class.', error);\r\n return error;\r\n }\r\n }\r\n this.providers.set(injectProvider.token, injectInstance);\r\n }\r\n ;\r\n}\r\n\r\nclass Container extends AuditContainer {\r\n _modules = new Map();\r\n get modules() {\r\n return this._modules;\r\n }\r\n ;\r\n registerModule(module) {\r\n if (this._modules.has(module))\r\n return console.warn(`Module has in Container`);\r\n this.processProvidersInPool();\r\n const moduleInstance = new ModuleRef(this, module);\r\n this._modules.set(module, moduleInstance);\r\n }\r\n ;\r\n getModuleByName(moduleName) {\r\n return of(this._modules).find(({ key }) => moduleName === key.name);\r\n }\r\n ;\r\n getController(prefix) {\r\n return of(this._modules).map(({ value }) => {\r\n return value.getController(prefix);\r\n }).find((controller) => !!controller);\r\n }\r\n ;\r\n findModuleByProviderToken(providerToken) {\r\n let module = null;\r\n this._modules.forEach((moduleRef, moduleClass) => {\r\n if (moduleClass.providers?.includes(providerToken)) {\r\n module = {\r\n token: moduleClass,\r\n reference: moduleRef,\r\n };\r\n }\r\n });\r\n return module;\r\n }\r\n ;\r\n}\r\nconst container = new Container();\r\n\r\nfunction Controller(prefix) {\r\n return (target) => {\r\n Reflect.defineMetadata(\"controller:prefix\" /* E_TOKENS.CONTROLLER_PREFIX */, prefix, target);\r\n };\r\n}\r\n\r\nfunction Module(options) {\r\n return (target) => {\r\n Reflect.defineProperty(target, 'name', {\r\n value: options.name,\r\n writable: false,\r\n configurable: false,\r\n });\r\n Reflect.defineProperty(target, 'controllers', {\r\n value: options.controllers,\r\n writable: false,\r\n configurable: false,\r\n });\r\n Reflect.defineProperty(target, 'providers', {\r\n value: options.providers,\r\n writable: false,\r\n configurable: false,\r\n });\r\n registerProviders(options.providers);\r\n };\r\n}\r\nfunction registerProviders(providers) {\r\n providers?.forEach((provider) => {\r\n const isObjectProvider = typeof provider === 'object' && !!provider?.token;\r\n if (isObjectProvider) {\r\n container.addProviderToPool(\"inject\" /* E_PROVIDER_TYPES.INJECT */, provider);\r\n }\r\n });\r\n}\r\n\r\nfunction Injectable() {\r\n return (target) => {\r\n container.addProviderToPool(\"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */, target);\r\n };\r\n}\r\nfunction Inject(token) {\r\n return (target, _, parameterIndex) => {\r\n const tokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, target) || [];\r\n tokens.push({\r\n index: parameterIndex,\r\n token,\r\n });\r\n Reflect.defineMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, tokens, target);\r\n };\r\n}\r\n\r\nclass AbstractModule {\r\n static name;\r\n static controllers = [];\r\n static providers = [];\r\n}\r\n\r\nclass Queue {\r\n _storage = {};\r\n _oldestIndex = 1;\r\n _newestIndex = 1;\r\n get count() {\r\n return this._newestIndex - this._oldestIndex;\r\n }\r\n enqueue(data) {\r\n this._storage[this._newestIndex] = data;\r\n this._newestIndex++;\r\n }\r\n dequeue() {\r\n const oldestIndex = this._oldestIndex;\r\n const deletedData = this._storage[oldestIndex];\r\n delete this._storage[oldestIndex];\r\n this._oldestIndex++;\r\n return deletedData;\r\n }\r\n toArray() {\r\n return Object.values(this._storage);\r\n }\r\n}\r\n\r\nexport { AbstractModule, Container, Controller, Inject, Injectable, Module, ModuleRef, Queue, TypeSpecifier, container, of };\r\n//# sourceMappingURL=index.esm.js.map\r\n","import 'reflect-metadata';\nimport * as moduleManager from '@savafeed/module-manager';\n\nvar E_DRIVER_CLASSES;\n(function (E_DRIVER_CLASSES) {\n E_DRIVER_CLASSES[\"shopify\"] = \"ShopifyDriver\";\n E_DRIVER_CLASSES[\"woo\"] = \"WooDriver\";\n})(E_DRIVER_CLASSES || (E_DRIVER_CLASSES = {}));\n\nvar E_DRIVER_TOKENS;\n(function (E_DRIVER_TOKENS) {\n E_DRIVER_TOKENS[\"ENVIRONMENTS\"] = \"ENVIRONMENTS\";\n})(E_DRIVER_TOKENS || (E_DRIVER_TOKENS = {}));\n\nvar E_MANDATORY_CONTROLLERS;\n(function (E_MANDATORY_CONTROLLERS) {\n E_MANDATORY_CONTROLLERS[\"LINE_ITEMS\"] = \"line-items\";\n E_MANDATORY_CONTROLLERS[\"PREVIEW\"] = \"preview\";\n E_MANDATORY_CONTROLLERS[\"PRICING\"] = \"pricing\";\n E_MANDATORY_CONTROLLERS[\"RETURN_TO_EDIT\"] = \"return-to-edit\";\n})(E_MANDATORY_CONTROLLERS || (E_MANDATORY_CONTROLLERS = {}));\n\nclass AbstractLineItemsController {\n}\nclass AbstractPricingController {\n}\nclass AbstractPreviewController {\n}\nclass AbstractCheckoutController {\n}\nclass AbstractReturnToEditController {\n}\n\n/*\nfrom https://github.com/substack/vm-browserify/blob/bfd7c5f59edec856dc7efe0b77a4f6b2fa20f226/index.js\n\nMIT license no Copyright holder mentioned\n*/\n\n\nfunction Object_keys(obj) {\n if (Object.keys) return Object.keys(obj)\n else {\n var res = [];\n for (var key in obj) res.push(key);\n return res;\n }\n}\n\nfunction forEach(xs, fn) {\n if (xs.forEach) return xs.forEach(fn)\n else\n for (var i = 0; i < xs.length; i++) {\n fn(xs[i], i, xs);\n }\n}\nvar _defineProp;\n\nfunction defineProp(obj, name, value) {\n if (typeof _defineProp !== 'function') {\n _defineProp = createDefineProp;\n }\n _defineProp(obj, name, value);\n}\n\nfunction createDefineProp() {\n try {\n Object.defineProperty({}, '_', {});\n return function(obj, name, value) {\n Object.defineProperty(obj, name, {\n writable: true,\n enumerable: false,\n configurable: true,\n value: value\n });\n };\n } catch (e) {\n return function(obj, name, value) {\n obj[name] = value;\n };\n }\n}\n\nvar globals = ['Array', 'Boolean', 'Date', 'Error', 'EvalError', 'Function',\n 'Infinity', 'JSON', 'Math', 'NaN', 'Number', 'Object', 'RangeError',\n 'ReferenceError', 'RegExp', 'String', 'SyntaxError', 'TypeError', 'URIError',\n 'decodeURI', 'decodeURIComponent', 'encodeURI', 'encodeURIComponent', 'escape',\n 'eval', 'isFinite', 'isNaN', 'parseFloat', 'parseInt', 'undefined', 'unescape'\n];\n\nfunction Context() {}\nContext.prototype = {};\n\nfunction Script(code) {\n if (!(this instanceof Script)) return new Script(code);\n this.code = code;\n}\nfunction otherRunInContext(code, context) {\n var args = Object_keys(global);\n args.push('with (this.__ctx__){return eval(this.__code__)}');\n var fn = Function.apply(null, args);\n return fn.apply({\n __code__: code,\n __ctx__: context\n });\n}\nScript.prototype.runInContext = function(context) {\n if (!(context instanceof Context)) {\n throw new TypeError('needs a \\'context\\' argument.');\n }\n if (global.document) {\n var iframe = global.document.createElement('iframe');\n if (!iframe.style) iframe.style = {};\n iframe.style.display = 'none';\n\n global.document.body.appendChild(iframe);\n\n var win = iframe.contentWindow;\n var wEval = win.eval,\n wExecScript = win.execScript;\n\n if (!wEval && wExecScript) {\n // win.eval() magically appears when this is called in IE:\n wExecScript.call(win, 'null');\n wEval = win.eval;\n }\n\n forEach(Object_keys(context), function(key) {\n win[key] = context[key];\n });\n forEach(globals, function(key) {\n if (context[key]) {\n win[key] = context[key];\n }\n });\n\n var winKeys = Object_keys(win);\n\n var res = wEval.call(win, this.code);\n\n forEach(Object_keys(win), function(key) {\n // Avoid copying circular objects like `top` and `window` by only\n // updating existing context properties or new properties in the `win`\n // that was only introduced after the eval.\n if (key in context || indexOf(winKeys, key) === -1) {\n context[key] = win[key];\n }\n });\n\n forEach(globals, function(key) {\n if (!(key in context)) {\n defineProp(context, key, win[key]);\n }\n });\n global.document.body.removeChild(iframe);\n\n return res;\n }\n return otherRunInContext(this.code, context);\n};\n\nScript.prototype.runInThisContext = function() {\n var fn = new Function('code', 'return eval(code);');\n return fn.call(global, this.code); // maybe...\n};\n\nScript.prototype.runInNewContext = function(context) {\n var ctx = createContext(context);\n var res = this.runInContext(ctx);\n if (context) {\n forEach(Object_keys(ctx), function(key) {\n context[key] = ctx[key];\n });\n }\n\n return res;\n};\n\nfunction createContext(context) {\n if (isContext(context)) {\n return context;\n }\n var copy = new Context();\n if (typeof context === 'object') {\n forEach(Object_keys(context), function(key) {\n copy[key] = context[key];\n });\n }\n return copy;\n}\nfunction runInContext(code, contextifiedSandbox, options) {\n var script = new Script(code);\n return script.runInContext(contextifiedSandbox, options);\n}\nfunction isContext(context) {\n return context instanceof Context;\n}\n\n\n/*\nfrom indexOf\n@ author tjholowaychuk\n@ license MIT\n*/\nvar _indexOf = [].indexOf;\n\nfunction indexOf(arr, obj){\n if (_indexOf) return arr.indexOf(obj);\n for (var i = 0; i < arr.length; ++i) {\n if (arr[i] === obj) return i;\n }\n return -1;\n}\n\nasync function virtualMachine(code) {\n const context = {\n module: { exports: {} },\n exports: {},\n require: (id) => {\n if (id === '@savafeed/module-manager') {\n return moduleManager;\n }\n throw new Error(`Cannot require('${id}') in this context`);\n },\n console,\n setTimeout,\n setInterval,\n Reflect,\n Promise,\n URL,\n fetch,\n };\n const isNodeJsEnv = typeof document === 'undefined';\n if (isNodeJsEnv) {\n await import('reflect-metadata');\n }\n else {\n // @ts-ignore\n await import('https://unpkg.com/reflect-metadata@0.2.2/Reflect.js');\n }\n context.Reflect = Reflect;\n const sandbox = createContext(context);\n runInContext(code, sandbox);\n const moduleObject = sandbox.exports;\n return moduleObject;\n}\n\nclass DriverProcessor {\n // static CDN: string = 'http://localhost:5000';\n static CDN = 'https://unpkg.com/@savafeed';\n static async getDriverModule(bootstrapOptions) {\n let driverModule;\n if (bootstrapOptions?.default) {\n driverModule = await DriverProcessor.defaultBootstrapDriver(bootstrapOptions.default);\n }\n else if (bootstrapOptions?.custom) {\n driverModule = await DriverProcessor.customBootstrapDriver(bootstrapOptions.custom);\n }\n else {\n throw new Error('Driver not found');\n }\n return driverModule;\n }\n ;\n static async defaultBootstrapDriver(options) {\n if (!options?.name)\n throw new Error(`Unable to get driver by this name: ${options?.name}`);\n const driver = await DriverProcessor.pullDriverByName(options.name, options.scriptType);\n const driverModule = DriverProcessor.exportDriverModule(driver, {\n scriptType: options.scriptType,\n name: options.name,\n });\n return driverModule;\n }\n static async customBootstrapDriver(options) {\n if (!options?.link)\n throw new Error('Driver link not found');\n if (!options?.className)\n throw new Error('Driver class name not found');\n const driver = await DriverProcessor.pullDriverByLink(options.link);\n const driverModule = DriverProcessor.exportDriverModule(driver, {\n scriptType: options.scriptType,\n name: options.className,\n });\n return driverModule;\n }\n static exportDriverModule(driver, options) {\n if (!driver)\n throw new Error('Driver not found');\n const currentScriptType = (!!options.scriptType) ? options.scriptType : 'umd';\n const driverClassName = options.name;\n switch (currentScriptType) {\n case 'esm':\n return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];\n case 'umd':\n return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];\n case 'cjs':\n return driver[E_DRIVER_CLASSES[driverClassName]];\n default:\n throw new Error(`Unknown script type: ${currentScriptType}`);\n }\n }\n static async pullDriverByLink(link) {\n if (!link)\n throw new Error('Driver link not found');\n const response = await fetch(link);\n if (!response?.ok) {\n throw new Error(`Failed to load script from CDN: ${response.statusText}`);\n }\n const scriptContent = await response.text();\n const driver = await virtualMachine(scriptContent);\n return driver;\n }\n ;\n static async pullDriverByName(driverName, scriptType) {\n if (!driverName)\n throw new Error('Driver name not found');\n const currentScriptType = (!!scriptType) ? scriptType : 'umd';\n const link = `${DriverProcessor.CDN}/${driverName}-driver@latest/${driverName}.driver.${currentScriptType}.js`;\n const response = await fetch(link);\n if (!response?.ok) {\n throw new Error(`Failed to load script from CDN: ${response.statusText}`);\n }\n const scriptContent = await response.text();\n const driver = await virtualMachine(scriptContent);\n return driver;\n }\n ;\n}\n\nclass DriverManager {\n appContainer;\n environments;\n constructor(appContainer, environments) {\n this.appContainer = appContainer;\n this.environments = environments;\n if (!!this?.environments?.core) {\n this.setCoreOptions(this.environments.core);\n }\n }\n ;\n async setup() {\n if (this.appContainer.providers.has(E_DRIVER_TOKENS.ENVIRONMENTS)) {\n throw new Error(`Provider with token \"${E_DRIVER_TOKENS.ENVIRONMENTS}\" already exists`);\n }\n this.appContainer.providers.set(E_DRIVER_TOKENS.ENVIRONMENTS, this.environments);\n if (this.environments?.input?.eCommerce) {\n return await this.bootstrapDriver({\n default: {\n name: this.environments?.input?.eCommerce,\n scriptType: this.environments?.input?.driverScriptType,\n },\n });\n }\n else {\n return await this.bootstrapDriver({\n custom: {\n link: this.environments?.input?.driverLink,\n className: this.environments?.input?.driverClassName,\n },\n });\n }\n }\n setCoreOptions(options) {\n if (options?.cdn) {\n DriverProcessor.CDN = options.cdn;\n }\n }\n getController(controllerName) {\n return this.appContainer.getController(controllerName);\n }\n async bootstrapDriver(bootstrapOptions) {\n const driverModule = await DriverProcessor.getDriverModule(bootstrapOptions);\n if (!driverModule) {\n console.error('Driver not found!', driverModule);\n console.warn('Bootstrap options:', bootstrapOptions);\n let stringOptions;\n try {\n stringOptions = JSON.stringify(bootstrapOptions);\n }\n catch (ex) {\n console.warn('Error trying to convert bootstrap parameters to JSON to show in error:', ex);\n stringOptions = String(bootstrapOptions);\n }\n throw new Error(`Driver with options: (${stringOptions}) not found`);\n }\n this.appContainer.registerModule(driverModule);\n return driverModule;\n }\n ;\n}\n\nexport { AbstractCheckoutController, AbstractLineItemsController, AbstractPreviewController, AbstractPricingController, AbstractReturnToEditController, DriverManager, E_DRIVER_CLASSES, E_DRIVER_TOKENS, E_MANDATORY_CONTROLLERS };\n//# sourceMappingURL=index.esm.js.map\n",null,null],"names":[],"mappings":"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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]}
@@ -395,16 +395,16 @@
395
395
  of: of
396
396
  });
397
397
 
398
- var E_DRIVER_CLASSES;
398
+ exports.E_DRIVER_CLASSES = void 0;
399
399
  (function (E_DRIVER_CLASSES) {
400
400
  E_DRIVER_CLASSES["shopify"] = "ShopifyDriver";
401
401
  E_DRIVER_CLASSES["woo"] = "WooDriver";
402
- })(E_DRIVER_CLASSES || (E_DRIVER_CLASSES = {}));
402
+ })(exports.E_DRIVER_CLASSES || (exports.E_DRIVER_CLASSES = {}));
403
403
 
404
- var E_DRIVER_TOKENS;
404
+ exports.E_DRIVER_TOKENS = void 0;
405
405
  (function (E_DRIVER_TOKENS) {
406
406
  E_DRIVER_TOKENS["ENVIRONMENTS"] = "ENVIRONMENTS";
407
- })(E_DRIVER_TOKENS || (E_DRIVER_TOKENS = {}));
407
+ })(exports.E_DRIVER_TOKENS || (exports.E_DRIVER_TOKENS = {}));
408
408
 
409
409
  exports.E_MANDATORY_CONTROLLERS = void 0;
410
410
  (function (E_MANDATORY_CONTROLLERS) {
@@ -414,6 +414,17 @@
414
414
  E_MANDATORY_CONTROLLERS["RETURN_TO_EDIT"] = "return-to-edit";
415
415
  })(exports.E_MANDATORY_CONTROLLERS || (exports.E_MANDATORY_CONTROLLERS = {}));
416
416
 
417
+ class AbstractLineItemsController {
418
+ }
419
+ class AbstractPricingController {
420
+ }
421
+ class AbstractPreviewController {
422
+ }
423
+ class AbstractCheckoutController {
424
+ }
425
+ class AbstractReturnToEditController {
426
+ }
427
+
417
428
  /*
418
429
  from https://github.com/substack/vm-browserify/blob/bfd7c5f59edec856dc7efe0b77a4f6b2fa20f226/index.js
419
430
 
@@ -674,11 +685,11 @@
674
685
  const driverClassName = options.name;
675
686
  switch (currentScriptType) {
676
687
  case 'esm':
677
- return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];
688
+ return driver?.default[exports.E_DRIVER_CLASSES[driverClassName]] || driver[exports.E_DRIVER_CLASSES[driverClassName]];
678
689
  case 'umd':
679
- return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];
690
+ return driver?.default[exports.E_DRIVER_CLASSES[driverClassName]] || driver[exports.E_DRIVER_CLASSES[driverClassName]];
680
691
  case 'cjs':
681
- return driver[E_DRIVER_CLASSES[driverClassName]];
692
+ return driver[exports.E_DRIVER_CLASSES[driverClassName]];
682
693
  default:
683
694
  throw new Error(`Unknown script type: ${currentScriptType}`);
684
695
  }
@@ -723,10 +734,10 @@
723
734
  }
724
735
  ;
725
736
  async setup() {
726
- if (this.appContainer.providers.has(E_DRIVER_TOKENS.ENVIRONMENTS)) {
727
- throw new Error(`Provider with token "${E_DRIVER_TOKENS.ENVIRONMENTS}" already exists`);
737
+ if (this.appContainer.providers.has(exports.E_DRIVER_TOKENS.ENVIRONMENTS)) {
738
+ throw new Error(`Provider with token "${exports.E_DRIVER_TOKENS.ENVIRONMENTS}" already exists`);
728
739
  }
729
- this.appContainer.providers.set(E_DRIVER_TOKENS.ENVIRONMENTS, this.environments);
740
+ this.appContainer.providers.set(exports.E_DRIVER_TOKENS.ENVIRONMENTS, this.environments);
730
741
  if (this.environments?.input?.eCommerce) {
731
742
  return await this.bootstrapDriver({
732
743
  default: {
@@ -848,7 +859,13 @@
848
859
  $window.CartSDK = CartSDK;
849
860
  }
850
861
 
862
+ exports.AbstractCheckoutController = AbstractCheckoutController;
863
+ exports.AbstractLineItemsController = AbstractLineItemsController;
864
+ exports.AbstractPreviewController = AbstractPreviewController;
865
+ exports.AbstractPricingController = AbstractPricingController;
866
+ exports.AbstractReturnToEditController = AbstractReturnToEditController;
851
867
  exports.CartSDK = CartSDK;
868
+ exports.DriverManager = DriverManager;
852
869
 
853
870
  }));
854
871
  //# sourceMappingURL=cart-api-sdk.umd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cart-api-sdk.umd.js","sources":["../node_modules/@savafeed/module-manager/dist/index.esm.js","../node_modules/@savafeed/driver-manager/dist/index.esm.js","../src/polyfills/dom.ts","../src/index.ts"],"sourcesContent":["import 'reflect-metadata';\r\n\r\nclass TypeSpecifier {\r\n static isClass(input) {\r\n return (!TypeSpecifier.isFunction(input) &&\r\n !TypeSpecifier.isFunctionByTryCall(input) &&\r\n TypeSpecifier.isClassByStringLiteral(input));\r\n }\r\n static isClassByStringLiteral(input) {\r\n const functionString = input.toString();\r\n return !!functionString.startsWith('class');\r\n }\r\n static isFunction(input) {\r\n return typeof input !== 'function';\r\n }\r\n static isFunctionByTryCall(input) {\r\n try {\r\n input();\r\n return true;\r\n }\r\n catch (error) {\r\n return false;\r\n }\r\n }\r\n}\r\n\r\nclass ModuleRef {\r\n parentContainer;\r\n module;\r\n controllers = new Map();\r\n providers = new Map();\r\n constructor(parentContainer, module) {\r\n this.parentContainer = parentContainer;\r\n this.module = module;\r\n this[\"registerProviders\" /* E_REGISTER_CALL_ORDER.first */]();\r\n this[\"registerControllers\" /* E_REGISTER_CALL_ORDER.second */]();\r\n }\r\n ;\r\n registerProviders() {\r\n const providers = this.module.providers;\r\n if (!providers)\r\n return;\r\n for (const provider of providers) {\r\n if (this.providers.has(provider))\r\n continue;\r\n const dependencyTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, provider);\r\n const dependencies = [];\r\n dependencyTokens?.forEach((dependencyToken, index) => {\r\n if (!TypeSpecifier.isClass(dependencyToken)) {\r\n const injectTokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, provider) || [];\r\n const injectToken = injectTokens.find((injectObject) => injectObject.index === index);\r\n if (!this.parentContainer.providers.has(injectToken?.token))\r\n return console.warn(`[WARN] (Inject) ${injectToken} is not provide in`, this.parentContainer);\r\n dependencies.push(this.parentContainer.providers.get(injectToken?.token));\r\n }\r\n else {\r\n if (!this.parentContainer.providers.has(dependencyToken))\r\n return console.warn(`[WARN] (Injectable) ${dependencyToken} is not provide in`, this.parentContainer);\r\n dependencies.push(this.parentContainer.providers.get(dependencyToken));\r\n }\r\n });\r\n let providerToken;\r\n let providerInstance;\r\n if (provider?.token) {\r\n const injectProvider = this.getInjectProviderWithInstance(provider);\r\n if (!injectProvider)\r\n return console.warn(`[WARN] Provider type is not Inject. ${provider.token} is not provide in`, this.parentContainer);\r\n providerToken = injectProvider.token;\r\n providerInstance = injectProvider.instance;\r\n Reflect.defineMetadata(providerToken, providerInstance, this.module);\r\n }\r\n else {\r\n providerToken = provider;\r\n providerInstance = new provider(...dependencies);\r\n Reflect.defineMetadata(providerToken, provider, this.module);\r\n }\r\n this.providers.set(providerToken, providerInstance);\r\n }\r\n }\r\n ;\r\n getInjectProviderWithInstance(injectProvider) {\r\n if (!injectProvider?.token)\r\n return null;\r\n let injectInstance;\r\n if (injectProvider?.useValue) {\r\n injectInstance = injectProvider.useValue;\r\n }\r\n if (injectProvider?.useFactory) {\r\n const factory = injectProvider.useFactory;\r\n try {\r\n if (TypeSpecifier.isClass(factory)) {\r\n injectInstance = new injectProvider.useFactory();\r\n }\r\n else {\r\n injectInstance = injectProvider.useFactory();\r\n }\r\n }\r\n catch (error) {\r\n console.error('A factory can be either a function or a class.', error);\r\n return null;\r\n }\r\n }\r\n return {\r\n token: injectProvider.token,\r\n instance: injectInstance,\r\n };\r\n }\r\n ;\r\n registerControllers() {\r\n const controllers = this.module.controllers;\r\n if (!controllers)\r\n return;\r\n for (const controller of controllers) {\r\n if (this.controllers.has(controller))\r\n continue;\r\n const dependencyTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, controller);\r\n const dependencies = [];\r\n dependencyTokens?.forEach((dependencyToken) => {\r\n if (!this.providers.has(dependencyToken))\r\n return console.warn(`[WARN] ${dependencyToken} is not provide in`, String(this));\r\n dependencies.push(this.providers.get(dependencyToken));\r\n });\r\n const controllerToken = Reflect.getMetadata(\"controller:prefix\" /* E_TOKENS.CONTROLLER_PREFIX */, controller) || controller;\r\n const controllerInstance = new controller(...dependencies);\r\n this.controllers.set(controllerToken, controllerInstance);\r\n }\r\n }\r\n ;\r\n getController(controllerToken) {\r\n return this.controllers.get(controllerToken);\r\n }\r\n ;\r\n}\r\n\r\nfunction of(mapper) {\r\n const entryList = Array.from(mapper.entries());\r\n return entryList.map((entry) => {\r\n return {\r\n key: entry[0],\r\n value: entry[1],\r\n };\r\n });\r\n}\r\n\r\nclass Pool {\r\n factory;\r\n _pool = new Map();\r\n constructor(factory) {\r\n this.factory = factory;\r\n }\r\n ;\r\n acquire() {\r\n return of(this._pool)\r\n .map(({ value }) => value)\r\n .map(this.factory);\r\n }\r\n ;\r\n release(data) {\r\n this._pool.delete(data);\r\n }\r\n ;\r\n append(data) {\r\n this._pool.set(data, data);\r\n }\r\n ;\r\n}\r\n\r\nclass AuditContainer {\r\n providers = new Map();\r\n providersPool = new Pool((data) => data);\r\n addProviderToPool(type, providerToken) {\r\n this.providersPool.append({\r\n provider: providerToken,\r\n type,\r\n });\r\n }\r\n ;\r\n registerInnerInject(injectProvider) {\r\n this.registerGlobalInject(injectProvider);\r\n }\r\n processProvidersInPool() {\r\n const providers = this.providersPool.acquire();\r\n const providersByType = {\r\n [\"inject\" /* E_PROVIDER_TYPES.INJECT */]: [],\r\n [\"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */]: [],\r\n };\r\n providers.forEach(({ type, provider }) => {\r\n const condition = type === \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */ || type === \"inject\" /* E_PROVIDER_TYPES.INJECT */;\r\n if (condition) {\r\n providersByType[type].push(provider);\r\n }\r\n });\r\n this.dispatchRegisterProviders(providersByType, \"inject\" /* E_PROVIDER_TYPES.INJECT */);\r\n this.dispatchRegisterProviders(providersByType, \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */);\r\n }\r\n ;\r\n dispatchRegisterProviders(providersByType, type) {\r\n providersByType[type].forEach((provider) => {\r\n switch (type) {\r\n case \"inject\" /* E_PROVIDER_TYPES.INJECT */:\r\n this.registerGlobalInject(provider);\r\n break;\r\n case \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */:\r\n this.registerGlobalInjectable(provider);\r\n break;\r\n }\r\n this.providersPool.release(provider);\r\n });\r\n }\r\n ;\r\n registerGlobalInjectable(providerToken) {\r\n if (providerToken?.token) {\r\n if (this.providers.has(providerToken.token))\r\n return this.providers.get(providerToken.token);\r\n }\r\n else {\r\n if (this.providers.has(providerToken))\r\n return this.providers.get(providerToken);\r\n }\r\n const dependencies = [];\r\n const dependenciesTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, providerToken);\r\n const injectTokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, providerToken);\r\n dependenciesTokens?.forEach((dependencyToken, index) => {\r\n const injectToken = injectTokens?.find((injectTokenObject) => injectTokenObject.index === index);\r\n let injectInstance = injectToken || dependencyToken;\r\n const dependency = this.registerGlobalInjectable(injectInstance);\r\n dependencies.push(dependency);\r\n });\r\n const provider = new providerToken(...dependencies);\r\n this.providers.set(providerToken, provider);\r\n return provider;\r\n }\r\n ;\r\n registerGlobalInject(injectProvider) {\r\n let injectInstance;\r\n if (injectProvider?.useValue) {\r\n injectInstance = injectProvider.useValue;\r\n }\r\n if (injectProvider?.useFactory) {\r\n const factory = injectProvider.useFactory;\r\n try {\r\n if (TypeSpecifier.isClass(factory)) {\r\n injectInstance = new injectProvider.useFactory();\r\n }\r\n else {\r\n injectInstance = injectProvider.useFactory();\r\n }\r\n }\r\n catch (error) {\r\n console.error('A factory can be either a function or a class.', error);\r\n return error;\r\n }\r\n }\r\n this.providers.set(injectProvider.token, injectInstance);\r\n }\r\n ;\r\n}\r\n\r\nclass Container extends AuditContainer {\r\n _modules = new Map();\r\n get modules() {\r\n return this._modules;\r\n }\r\n ;\r\n registerModule(module) {\r\n if (this._modules.has(module))\r\n return console.warn(`Module has in Container`);\r\n this.processProvidersInPool();\r\n const moduleInstance = new ModuleRef(this, module);\r\n this._modules.set(module, moduleInstance);\r\n }\r\n ;\r\n getModuleByName(moduleName) {\r\n return of(this._modules).find(({ key }) => moduleName === key.name);\r\n }\r\n ;\r\n getController(prefix) {\r\n return of(this._modules).map(({ value }) => {\r\n return value.getController(prefix);\r\n }).find((controller) => !!controller);\r\n }\r\n ;\r\n findModuleByProviderToken(providerToken) {\r\n let module = null;\r\n this._modules.forEach((moduleRef, moduleClass) => {\r\n if (moduleClass.providers?.includes(providerToken)) {\r\n module = {\r\n token: moduleClass,\r\n reference: moduleRef,\r\n };\r\n }\r\n });\r\n return module;\r\n }\r\n ;\r\n}\r\nconst container = new Container();\r\n\r\nfunction Controller(prefix) {\r\n return (target) => {\r\n Reflect.defineMetadata(\"controller:prefix\" /* E_TOKENS.CONTROLLER_PREFIX */, prefix, target);\r\n };\r\n}\r\n\r\nfunction Module(options) {\r\n return (target) => {\r\n Reflect.defineProperty(target, 'name', {\r\n value: options.name,\r\n writable: false,\r\n configurable: false,\r\n });\r\n Reflect.defineProperty(target, 'controllers', {\r\n value: options.controllers,\r\n writable: false,\r\n configurable: false,\r\n });\r\n Reflect.defineProperty(target, 'providers', {\r\n value: options.providers,\r\n writable: false,\r\n configurable: false,\r\n });\r\n registerProviders(options.providers);\r\n };\r\n}\r\nfunction registerProviders(providers) {\r\n providers?.forEach((provider) => {\r\n const isObjectProvider = typeof provider === 'object' && !!provider?.token;\r\n if (isObjectProvider) {\r\n container.addProviderToPool(\"inject\" /* E_PROVIDER_TYPES.INJECT */, provider);\r\n }\r\n });\r\n}\r\n\r\nfunction Injectable() {\r\n return (target) => {\r\n container.addProviderToPool(\"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */, target);\r\n };\r\n}\r\nfunction Inject(token) {\r\n return (target, _, parameterIndex) => {\r\n const tokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, target) || [];\r\n tokens.push({\r\n index: parameterIndex,\r\n token,\r\n });\r\n Reflect.defineMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, tokens, target);\r\n };\r\n}\r\n\r\nclass AbstractModule {\r\n static name;\r\n static controllers = [];\r\n static providers = [];\r\n}\r\n\r\nclass Queue {\r\n _storage = {};\r\n _oldestIndex = 1;\r\n _newestIndex = 1;\r\n get count() {\r\n return this._newestIndex - this._oldestIndex;\r\n }\r\n enqueue(data) {\r\n this._storage[this._newestIndex] = data;\r\n this._newestIndex++;\r\n }\r\n dequeue() {\r\n const oldestIndex = this._oldestIndex;\r\n const deletedData = this._storage[oldestIndex];\r\n delete this._storage[oldestIndex];\r\n this._oldestIndex++;\r\n return deletedData;\r\n }\r\n toArray() {\r\n return Object.values(this._storage);\r\n }\r\n}\r\n\r\nexport { AbstractModule, Container, Controller, Inject, Injectable, Module, ModuleRef, Queue, TypeSpecifier, container, of };\r\n//# sourceMappingURL=index.esm.js.map\r\n","import 'reflect-metadata';\nimport * as moduleManager from '@savafeed/module-manager';\n\nvar E_DRIVER_CLASSES;\n(function (E_DRIVER_CLASSES) {\n E_DRIVER_CLASSES[\"shopify\"] = \"ShopifyDriver\";\n E_DRIVER_CLASSES[\"woo\"] = \"WooDriver\";\n})(E_DRIVER_CLASSES || (E_DRIVER_CLASSES = {}));\n\nvar E_DRIVER_TOKENS;\n(function (E_DRIVER_TOKENS) {\n E_DRIVER_TOKENS[\"ENVIRONMENTS\"] = \"ENVIRONMENTS\";\n})(E_DRIVER_TOKENS || (E_DRIVER_TOKENS = {}));\n\nvar E_MANDATORY_CONTROLLERS;\n(function (E_MANDATORY_CONTROLLERS) {\n E_MANDATORY_CONTROLLERS[\"LINE_ITEMS\"] = \"line-items\";\n E_MANDATORY_CONTROLLERS[\"PREVIEW\"] = \"preview\";\n E_MANDATORY_CONTROLLERS[\"PRICING\"] = \"pricing\";\n E_MANDATORY_CONTROLLERS[\"RETURN_TO_EDIT\"] = \"return-to-edit\";\n})(E_MANDATORY_CONTROLLERS || (E_MANDATORY_CONTROLLERS = {}));\n\nclass AbstractLineItemsController {\n}\nclass AbstractPricingController {\n}\nclass AbstractPreviewController {\n}\nclass AbstractCheckoutController {\n}\nclass AbstractReturnToEditController {\n}\n\n/*\nfrom https://github.com/substack/vm-browserify/blob/bfd7c5f59edec856dc7efe0b77a4f6b2fa20f226/index.js\n\nMIT license no Copyright holder mentioned\n*/\n\n\nfunction Object_keys(obj) {\n if (Object.keys) return Object.keys(obj)\n else {\n var res = [];\n for (var key in obj) res.push(key);\n return res;\n }\n}\n\nfunction forEach(xs, fn) {\n if (xs.forEach) return xs.forEach(fn)\n else\n for (var i = 0; i < xs.length; i++) {\n fn(xs[i], i, xs);\n }\n}\nvar _defineProp;\n\nfunction defineProp(obj, name, value) {\n if (typeof _defineProp !== 'function') {\n _defineProp = createDefineProp;\n }\n _defineProp(obj, name, value);\n}\n\nfunction createDefineProp() {\n try {\n Object.defineProperty({}, '_', {});\n return function(obj, name, value) {\n Object.defineProperty(obj, name, {\n writable: true,\n enumerable: false,\n configurable: true,\n value: value\n });\n };\n } catch (e) {\n return function(obj, name, value) {\n obj[name] = value;\n };\n }\n}\n\nvar globals = ['Array', 'Boolean', 'Date', 'Error', 'EvalError', 'Function',\n 'Infinity', 'JSON', 'Math', 'NaN', 'Number', 'Object', 'RangeError',\n 'ReferenceError', 'RegExp', 'String', 'SyntaxError', 'TypeError', 'URIError',\n 'decodeURI', 'decodeURIComponent', 'encodeURI', 'encodeURIComponent', 'escape',\n 'eval', 'isFinite', 'isNaN', 'parseFloat', 'parseInt', 'undefined', 'unescape'\n];\n\nfunction Context() {}\nContext.prototype = {};\n\nfunction Script(code) {\n if (!(this instanceof Script)) return new Script(code);\n this.code = code;\n}\nfunction otherRunInContext(code, context) {\n var args = Object_keys(global);\n args.push('with (this.__ctx__){return eval(this.__code__)}');\n var fn = Function.apply(null, args);\n return fn.apply({\n __code__: code,\n __ctx__: context\n });\n}\nScript.prototype.runInContext = function(context) {\n if (!(context instanceof Context)) {\n throw new TypeError('needs a \\'context\\' argument.');\n }\n if (global.document) {\n var iframe = global.document.createElement('iframe');\n if (!iframe.style) iframe.style = {};\n iframe.style.display = 'none';\n\n global.document.body.appendChild(iframe);\n\n var win = iframe.contentWindow;\n var wEval = win.eval,\n wExecScript = win.execScript;\n\n if (!wEval && wExecScript) {\n // win.eval() magically appears when this is called in IE:\n wExecScript.call(win, 'null');\n wEval = win.eval;\n }\n\n forEach(Object_keys(context), function(key) {\n win[key] = context[key];\n });\n forEach(globals, function(key) {\n if (context[key]) {\n win[key] = context[key];\n }\n });\n\n var winKeys = Object_keys(win);\n\n var res = wEval.call(win, this.code);\n\n forEach(Object_keys(win), function(key) {\n // Avoid copying circular objects like `top` and `window` by only\n // updating existing context properties or new properties in the `win`\n // that was only introduced after the eval.\n if (key in context || indexOf(winKeys, key) === -1) {\n context[key] = win[key];\n }\n });\n\n forEach(globals, function(key) {\n if (!(key in context)) {\n defineProp(context, key, win[key]);\n }\n });\n global.document.body.removeChild(iframe);\n\n return res;\n }\n return otherRunInContext(this.code, context);\n};\n\nScript.prototype.runInThisContext = function() {\n var fn = new Function('code', 'return eval(code);');\n return fn.call(global, this.code); // maybe...\n};\n\nScript.prototype.runInNewContext = function(context) {\n var ctx = createContext(context);\n var res = this.runInContext(ctx);\n if (context) {\n forEach(Object_keys(ctx), function(key) {\n context[key] = ctx[key];\n });\n }\n\n return res;\n};\n\nfunction createContext(context) {\n if (isContext(context)) {\n return context;\n }\n var copy = new Context();\n if (typeof context === 'object') {\n forEach(Object_keys(context), function(key) {\n copy[key] = context[key];\n });\n }\n return copy;\n}\nfunction runInContext(code, contextifiedSandbox, options) {\n var script = new Script(code);\n return script.runInContext(contextifiedSandbox, options);\n}\nfunction isContext(context) {\n return context instanceof Context;\n}\n\n\n/*\nfrom indexOf\n@ author tjholowaychuk\n@ license MIT\n*/\nvar _indexOf = [].indexOf;\n\nfunction indexOf(arr, obj){\n if (_indexOf) return arr.indexOf(obj);\n for (var i = 0; i < arr.length; ++i) {\n if (arr[i] === obj) return i;\n }\n return -1;\n}\n\nasync function virtualMachine(code) {\n const context = {\n module: { exports: {} },\n exports: {},\n require: (id) => {\n if (id === '@savafeed/module-manager') {\n return moduleManager;\n }\n throw new Error(`Cannot require('${id}') in this context`);\n },\n console,\n setTimeout,\n setInterval,\n Reflect,\n Promise,\n URL,\n fetch,\n };\n const isNodeJsEnv = typeof document === 'undefined';\n if (isNodeJsEnv) {\n await import('reflect-metadata');\n }\n else {\n // @ts-ignore\n await import('https://unpkg.com/reflect-metadata@0.2.2/Reflect.js');\n }\n context.Reflect = Reflect;\n const sandbox = createContext(context);\n runInContext(code, sandbox);\n const moduleObject = sandbox.exports;\n return moduleObject;\n}\n\nclass DriverProcessor {\n // static CDN: string = 'http://localhost:5000';\n static CDN = 'https://unpkg.com/@savafeed';\n static async getDriverModule(bootstrapOptions) {\n let driverModule;\n if (bootstrapOptions?.default) {\n driverModule = await DriverProcessor.defaultBootstrapDriver(bootstrapOptions.default);\n }\n else if (bootstrapOptions?.custom) {\n driverModule = await DriverProcessor.customBootstrapDriver(bootstrapOptions.custom);\n }\n else {\n throw new Error('Driver not found');\n }\n return driverModule;\n }\n ;\n static async defaultBootstrapDriver(options) {\n if (!options?.name)\n throw new Error(`Unable to get driver by this name: ${options?.name}`);\n const driver = await DriverProcessor.pullDriverByName(options.name, options.scriptType);\n const driverModule = DriverProcessor.exportDriverModule(driver, {\n scriptType: options.scriptType,\n name: options.name,\n });\n return driverModule;\n }\n static async customBootstrapDriver(options) {\n if (!options?.link)\n throw new Error('Driver link not found');\n if (!options?.className)\n throw new Error('Driver class name not found');\n const driver = await DriverProcessor.pullDriverByLink(options.link);\n const driverModule = DriverProcessor.exportDriverModule(driver, {\n scriptType: options.scriptType,\n name: options.className,\n });\n return driverModule;\n }\n static exportDriverModule(driver, options) {\n if (!driver)\n throw new Error('Driver not found');\n const currentScriptType = (!!options.scriptType) ? options.scriptType : 'umd';\n const driverClassName = options.name;\n switch (currentScriptType) {\n case 'esm':\n return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];\n case 'umd':\n return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];\n case 'cjs':\n return driver[E_DRIVER_CLASSES[driverClassName]];\n default:\n throw new Error(`Unknown script type: ${currentScriptType}`);\n }\n }\n static async pullDriverByLink(link) {\n if (!link)\n throw new Error('Driver link not found');\n const response = await fetch(link);\n if (!response?.ok) {\n throw new Error(`Failed to load script from CDN: ${response.statusText}`);\n }\n const scriptContent = await response.text();\n const driver = await virtualMachine(scriptContent);\n return driver;\n }\n ;\n static async pullDriverByName(driverName, scriptType) {\n if (!driverName)\n throw new Error('Driver name not found');\n const currentScriptType = (!!scriptType) ? scriptType : 'umd';\n const link = `${DriverProcessor.CDN}/${driverName}-driver@latest/${driverName}.driver.${currentScriptType}.js`;\n const response = await fetch(link);\n if (!response?.ok) {\n throw new Error(`Failed to load script from CDN: ${response.statusText}`);\n }\n const scriptContent = await response.text();\n const driver = await virtualMachine(scriptContent);\n return driver;\n }\n ;\n}\n\nclass DriverManager {\n appContainer;\n environments;\n constructor(appContainer, environments) {\n this.appContainer = appContainer;\n this.environments = environments;\n if (!!this?.environments?.core) {\n this.setCoreOptions(this.environments.core);\n }\n }\n ;\n async setup() {\n if (this.appContainer.providers.has(E_DRIVER_TOKENS.ENVIRONMENTS)) {\n throw new Error(`Provider with token \"${E_DRIVER_TOKENS.ENVIRONMENTS}\" already exists`);\n }\n this.appContainer.providers.set(E_DRIVER_TOKENS.ENVIRONMENTS, this.environments);\n if (this.environments?.input?.eCommerce) {\n return await this.bootstrapDriver({\n default: {\n name: this.environments?.input?.eCommerce,\n scriptType: this.environments?.input?.driverScriptType,\n },\n });\n }\n else {\n return await this.bootstrapDriver({\n custom: {\n link: this.environments?.input?.driverLink,\n className: this.environments?.input?.driverClassName,\n },\n });\n }\n }\n setCoreOptions(options) {\n if (options?.cdn) {\n DriverProcessor.CDN = options.cdn;\n }\n }\n getController(controllerName) {\n return this.appContainer.getController(controllerName);\n }\n async bootstrapDriver(bootstrapOptions) {\n const driverModule = await DriverProcessor.getDriverModule(bootstrapOptions);\n if (!driverModule) {\n console.error('Driver not found!', driverModule);\n console.warn('Bootstrap options:', bootstrapOptions);\n let stringOptions;\n try {\n stringOptions = JSON.stringify(bootstrapOptions);\n }\n catch (ex) {\n console.warn('Error trying to convert bootstrap parameters to JSON to show in error:', ex);\n stringOptions = String(bootstrapOptions);\n }\n throw new Error(`Driver with options: (${stringOptions}) not found`);\n }\n this.appContainer.registerModule(driverModule);\n return driverModule;\n }\n ;\n}\n\nexport { AbstractCheckoutController, AbstractLineItemsController, AbstractPreviewController, AbstractPricingController, AbstractReturnToEditController, DriverManager, E_DRIVER_CLASSES, E_DRIVER_TOKENS, E_MANDATORY_CONTROLLERS };\n//# sourceMappingURL=index.esm.js.map\n",null,null],"names":["E_MANDATORY_CONTROLLERS"],"mappings":"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","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"cart-api-sdk.umd.js","sources":["../node_modules/@savafeed/module-manager/dist/index.esm.js","../node_modules/@savafeed/driver-manager/dist/index.esm.js","../src/polyfills/dom.ts","../src/index.ts"],"sourcesContent":["import 'reflect-metadata';\r\n\r\nclass TypeSpecifier {\r\n static isClass(input) {\r\n return (!TypeSpecifier.isFunction(input) &&\r\n !TypeSpecifier.isFunctionByTryCall(input) &&\r\n TypeSpecifier.isClassByStringLiteral(input));\r\n }\r\n static isClassByStringLiteral(input) {\r\n const functionString = input.toString();\r\n return !!functionString.startsWith('class');\r\n }\r\n static isFunction(input) {\r\n return typeof input !== 'function';\r\n }\r\n static isFunctionByTryCall(input) {\r\n try {\r\n input();\r\n return true;\r\n }\r\n catch (error) {\r\n return false;\r\n }\r\n }\r\n}\r\n\r\nclass ModuleRef {\r\n parentContainer;\r\n module;\r\n controllers = new Map();\r\n providers = new Map();\r\n constructor(parentContainer, module) {\r\n this.parentContainer = parentContainer;\r\n this.module = module;\r\n this[\"registerProviders\" /* E_REGISTER_CALL_ORDER.first */]();\r\n this[\"registerControllers\" /* E_REGISTER_CALL_ORDER.second */]();\r\n }\r\n ;\r\n registerProviders() {\r\n const providers = this.module.providers;\r\n if (!providers)\r\n return;\r\n for (const provider of providers) {\r\n if (this.providers.has(provider))\r\n continue;\r\n const dependencyTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, provider);\r\n const dependencies = [];\r\n dependencyTokens?.forEach((dependencyToken, index) => {\r\n if (!TypeSpecifier.isClass(dependencyToken)) {\r\n const injectTokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, provider) || [];\r\n const injectToken = injectTokens.find((injectObject) => injectObject.index === index);\r\n if (!this.parentContainer.providers.has(injectToken?.token))\r\n return console.warn(`[WARN] (Inject) ${injectToken} is not provide in`, this.parentContainer);\r\n dependencies.push(this.parentContainer.providers.get(injectToken?.token));\r\n }\r\n else {\r\n if (!this.parentContainer.providers.has(dependencyToken))\r\n return console.warn(`[WARN] (Injectable) ${dependencyToken} is not provide in`, this.parentContainer);\r\n dependencies.push(this.parentContainer.providers.get(dependencyToken));\r\n }\r\n });\r\n let providerToken;\r\n let providerInstance;\r\n if (provider?.token) {\r\n const injectProvider = this.getInjectProviderWithInstance(provider);\r\n if (!injectProvider)\r\n return console.warn(`[WARN] Provider type is not Inject. ${provider.token} is not provide in`, this.parentContainer);\r\n providerToken = injectProvider.token;\r\n providerInstance = injectProvider.instance;\r\n Reflect.defineMetadata(providerToken, providerInstance, this.module);\r\n }\r\n else {\r\n providerToken = provider;\r\n providerInstance = new provider(...dependencies);\r\n Reflect.defineMetadata(providerToken, provider, this.module);\r\n }\r\n this.providers.set(providerToken, providerInstance);\r\n }\r\n }\r\n ;\r\n getInjectProviderWithInstance(injectProvider) {\r\n if (!injectProvider?.token)\r\n return null;\r\n let injectInstance;\r\n if (injectProvider?.useValue) {\r\n injectInstance = injectProvider.useValue;\r\n }\r\n if (injectProvider?.useFactory) {\r\n const factory = injectProvider.useFactory;\r\n try {\r\n if (TypeSpecifier.isClass(factory)) {\r\n injectInstance = new injectProvider.useFactory();\r\n }\r\n else {\r\n injectInstance = injectProvider.useFactory();\r\n }\r\n }\r\n catch (error) {\r\n console.error('A factory can be either a function or a class.', error);\r\n return null;\r\n }\r\n }\r\n return {\r\n token: injectProvider.token,\r\n instance: injectInstance,\r\n };\r\n }\r\n ;\r\n registerControllers() {\r\n const controllers = this.module.controllers;\r\n if (!controllers)\r\n return;\r\n for (const controller of controllers) {\r\n if (this.controllers.has(controller))\r\n continue;\r\n const dependencyTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, controller);\r\n const dependencies = [];\r\n dependencyTokens?.forEach((dependencyToken) => {\r\n if (!this.providers.has(dependencyToken))\r\n return console.warn(`[WARN] ${dependencyToken} is not provide in`, String(this));\r\n dependencies.push(this.providers.get(dependencyToken));\r\n });\r\n const controllerToken = Reflect.getMetadata(\"controller:prefix\" /* E_TOKENS.CONTROLLER_PREFIX */, controller) || controller;\r\n const controllerInstance = new controller(...dependencies);\r\n this.controllers.set(controllerToken, controllerInstance);\r\n }\r\n }\r\n ;\r\n getController(controllerToken) {\r\n return this.controllers.get(controllerToken);\r\n }\r\n ;\r\n}\r\n\r\nfunction of(mapper) {\r\n const entryList = Array.from(mapper.entries());\r\n return entryList.map((entry) => {\r\n return {\r\n key: entry[0],\r\n value: entry[1],\r\n };\r\n });\r\n}\r\n\r\nclass Pool {\r\n factory;\r\n _pool = new Map();\r\n constructor(factory) {\r\n this.factory = factory;\r\n }\r\n ;\r\n acquire() {\r\n return of(this._pool)\r\n .map(({ value }) => value)\r\n .map(this.factory);\r\n }\r\n ;\r\n release(data) {\r\n this._pool.delete(data);\r\n }\r\n ;\r\n append(data) {\r\n this._pool.set(data, data);\r\n }\r\n ;\r\n}\r\n\r\nclass AuditContainer {\r\n providers = new Map();\r\n providersPool = new Pool((data) => data);\r\n addProviderToPool(type, providerToken) {\r\n this.providersPool.append({\r\n provider: providerToken,\r\n type,\r\n });\r\n }\r\n ;\r\n registerInnerInject(injectProvider) {\r\n this.registerGlobalInject(injectProvider);\r\n }\r\n processProvidersInPool() {\r\n const providers = this.providersPool.acquire();\r\n const providersByType = {\r\n [\"inject\" /* E_PROVIDER_TYPES.INJECT */]: [],\r\n [\"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */]: [],\r\n };\r\n providers.forEach(({ type, provider }) => {\r\n const condition = type === \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */ || type === \"inject\" /* E_PROVIDER_TYPES.INJECT */;\r\n if (condition) {\r\n providersByType[type].push(provider);\r\n }\r\n });\r\n this.dispatchRegisterProviders(providersByType, \"inject\" /* E_PROVIDER_TYPES.INJECT */);\r\n this.dispatchRegisterProviders(providersByType, \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */);\r\n }\r\n ;\r\n dispatchRegisterProviders(providersByType, type) {\r\n providersByType[type].forEach((provider) => {\r\n switch (type) {\r\n case \"inject\" /* E_PROVIDER_TYPES.INJECT */:\r\n this.registerGlobalInject(provider);\r\n break;\r\n case \"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */:\r\n this.registerGlobalInjectable(provider);\r\n break;\r\n }\r\n this.providersPool.release(provider);\r\n });\r\n }\r\n ;\r\n registerGlobalInjectable(providerToken) {\r\n if (providerToken?.token) {\r\n if (this.providers.has(providerToken.token))\r\n return this.providers.get(providerToken.token);\r\n }\r\n else {\r\n if (this.providers.has(providerToken))\r\n return this.providers.get(providerToken);\r\n }\r\n const dependencies = [];\r\n const dependenciesTokens = Reflect.getMetadata(\"design:paramtypes\" /* E_TOKENS.DESIGN_PARAMTYPES */, providerToken);\r\n const injectTokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, providerToken);\r\n dependenciesTokens?.forEach((dependencyToken, index) => {\r\n const injectToken = injectTokens?.find((injectTokenObject) => injectTokenObject.index === index);\r\n let injectInstance = injectToken || dependencyToken;\r\n const dependency = this.registerGlobalInjectable(injectInstance);\r\n dependencies.push(dependency);\r\n });\r\n const provider = new providerToken(...dependencies);\r\n this.providers.set(providerToken, provider);\r\n return provider;\r\n }\r\n ;\r\n registerGlobalInject(injectProvider) {\r\n let injectInstance;\r\n if (injectProvider?.useValue) {\r\n injectInstance = injectProvider.useValue;\r\n }\r\n if (injectProvider?.useFactory) {\r\n const factory = injectProvider.useFactory;\r\n try {\r\n if (TypeSpecifier.isClass(factory)) {\r\n injectInstance = new injectProvider.useFactory();\r\n }\r\n else {\r\n injectInstance = injectProvider.useFactory();\r\n }\r\n }\r\n catch (error) {\r\n console.error('A factory can be either a function or a class.', error);\r\n return error;\r\n }\r\n }\r\n this.providers.set(injectProvider.token, injectInstance);\r\n }\r\n ;\r\n}\r\n\r\nclass Container extends AuditContainer {\r\n _modules = new Map();\r\n get modules() {\r\n return this._modules;\r\n }\r\n ;\r\n registerModule(module) {\r\n if (this._modules.has(module))\r\n return console.warn(`Module has in Container`);\r\n this.processProvidersInPool();\r\n const moduleInstance = new ModuleRef(this, module);\r\n this._modules.set(module, moduleInstance);\r\n }\r\n ;\r\n getModuleByName(moduleName) {\r\n return of(this._modules).find(({ key }) => moduleName === key.name);\r\n }\r\n ;\r\n getController(prefix) {\r\n return of(this._modules).map(({ value }) => {\r\n return value.getController(prefix);\r\n }).find((controller) => !!controller);\r\n }\r\n ;\r\n findModuleByProviderToken(providerToken) {\r\n let module = null;\r\n this._modules.forEach((moduleRef, moduleClass) => {\r\n if (moduleClass.providers?.includes(providerToken)) {\r\n module = {\r\n token: moduleClass,\r\n reference: moduleRef,\r\n };\r\n }\r\n });\r\n return module;\r\n }\r\n ;\r\n}\r\nconst container = new Container();\r\n\r\nfunction Controller(prefix) {\r\n return (target) => {\r\n Reflect.defineMetadata(\"controller:prefix\" /* E_TOKENS.CONTROLLER_PREFIX */, prefix, target);\r\n };\r\n}\r\n\r\nfunction Module(options) {\r\n return (target) => {\r\n Reflect.defineProperty(target, 'name', {\r\n value: options.name,\r\n writable: false,\r\n configurable: false,\r\n });\r\n Reflect.defineProperty(target, 'controllers', {\r\n value: options.controllers,\r\n writable: false,\r\n configurable: false,\r\n });\r\n Reflect.defineProperty(target, 'providers', {\r\n value: options.providers,\r\n writable: false,\r\n configurable: false,\r\n });\r\n registerProviders(options.providers);\r\n };\r\n}\r\nfunction registerProviders(providers) {\r\n providers?.forEach((provider) => {\r\n const isObjectProvider = typeof provider === 'object' && !!provider?.token;\r\n if (isObjectProvider) {\r\n container.addProviderToPool(\"inject\" /* E_PROVIDER_TYPES.INJECT */, provider);\r\n }\r\n });\r\n}\r\n\r\nfunction Injectable() {\r\n return (target) => {\r\n container.addProviderToPool(\"injectable\" /* E_PROVIDER_TYPES.INJECTABLE */, target);\r\n };\r\n}\r\nfunction Inject(token) {\r\n return (target, _, parameterIndex) => {\r\n const tokens = Reflect.getMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, target) || [];\r\n tokens.push({\r\n index: parameterIndex,\r\n token,\r\n });\r\n Reflect.defineMetadata(\"inject:tokens\" /* E_TOKENS.INJECT_TOKENS */, tokens, target);\r\n };\r\n}\r\n\r\nclass AbstractModule {\r\n static name;\r\n static controllers = [];\r\n static providers = [];\r\n}\r\n\r\nclass Queue {\r\n _storage = {};\r\n _oldestIndex = 1;\r\n _newestIndex = 1;\r\n get count() {\r\n return this._newestIndex - this._oldestIndex;\r\n }\r\n enqueue(data) {\r\n this._storage[this._newestIndex] = data;\r\n this._newestIndex++;\r\n }\r\n dequeue() {\r\n const oldestIndex = this._oldestIndex;\r\n const deletedData = this._storage[oldestIndex];\r\n delete this._storage[oldestIndex];\r\n this._oldestIndex++;\r\n return deletedData;\r\n }\r\n toArray() {\r\n return Object.values(this._storage);\r\n }\r\n}\r\n\r\nexport { AbstractModule, Container, Controller, Inject, Injectable, Module, ModuleRef, Queue, TypeSpecifier, container, of };\r\n//# sourceMappingURL=index.esm.js.map\r\n","import 'reflect-metadata';\nimport * as moduleManager from '@savafeed/module-manager';\n\nvar E_DRIVER_CLASSES;\n(function (E_DRIVER_CLASSES) {\n E_DRIVER_CLASSES[\"shopify\"] = \"ShopifyDriver\";\n E_DRIVER_CLASSES[\"woo\"] = \"WooDriver\";\n})(E_DRIVER_CLASSES || (E_DRIVER_CLASSES = {}));\n\nvar E_DRIVER_TOKENS;\n(function (E_DRIVER_TOKENS) {\n E_DRIVER_TOKENS[\"ENVIRONMENTS\"] = \"ENVIRONMENTS\";\n})(E_DRIVER_TOKENS || (E_DRIVER_TOKENS = {}));\n\nvar E_MANDATORY_CONTROLLERS;\n(function (E_MANDATORY_CONTROLLERS) {\n E_MANDATORY_CONTROLLERS[\"LINE_ITEMS\"] = \"line-items\";\n E_MANDATORY_CONTROLLERS[\"PREVIEW\"] = \"preview\";\n E_MANDATORY_CONTROLLERS[\"PRICING\"] = \"pricing\";\n E_MANDATORY_CONTROLLERS[\"RETURN_TO_EDIT\"] = \"return-to-edit\";\n})(E_MANDATORY_CONTROLLERS || (E_MANDATORY_CONTROLLERS = {}));\n\nclass AbstractLineItemsController {\n}\nclass AbstractPricingController {\n}\nclass AbstractPreviewController {\n}\nclass AbstractCheckoutController {\n}\nclass AbstractReturnToEditController {\n}\n\n/*\nfrom https://github.com/substack/vm-browserify/blob/bfd7c5f59edec856dc7efe0b77a4f6b2fa20f226/index.js\n\nMIT license no Copyright holder mentioned\n*/\n\n\nfunction Object_keys(obj) {\n if (Object.keys) return Object.keys(obj)\n else {\n var res = [];\n for (var key in obj) res.push(key);\n return res;\n }\n}\n\nfunction forEach(xs, fn) {\n if (xs.forEach) return xs.forEach(fn)\n else\n for (var i = 0; i < xs.length; i++) {\n fn(xs[i], i, xs);\n }\n}\nvar _defineProp;\n\nfunction defineProp(obj, name, value) {\n if (typeof _defineProp !== 'function') {\n _defineProp = createDefineProp;\n }\n _defineProp(obj, name, value);\n}\n\nfunction createDefineProp() {\n try {\n Object.defineProperty({}, '_', {});\n return function(obj, name, value) {\n Object.defineProperty(obj, name, {\n writable: true,\n enumerable: false,\n configurable: true,\n value: value\n });\n };\n } catch (e) {\n return function(obj, name, value) {\n obj[name] = value;\n };\n }\n}\n\nvar globals = ['Array', 'Boolean', 'Date', 'Error', 'EvalError', 'Function',\n 'Infinity', 'JSON', 'Math', 'NaN', 'Number', 'Object', 'RangeError',\n 'ReferenceError', 'RegExp', 'String', 'SyntaxError', 'TypeError', 'URIError',\n 'decodeURI', 'decodeURIComponent', 'encodeURI', 'encodeURIComponent', 'escape',\n 'eval', 'isFinite', 'isNaN', 'parseFloat', 'parseInt', 'undefined', 'unescape'\n];\n\nfunction Context() {}\nContext.prototype = {};\n\nfunction Script(code) {\n if (!(this instanceof Script)) return new Script(code);\n this.code = code;\n}\nfunction otherRunInContext(code, context) {\n var args = Object_keys(global);\n args.push('with (this.__ctx__){return eval(this.__code__)}');\n var fn = Function.apply(null, args);\n return fn.apply({\n __code__: code,\n __ctx__: context\n });\n}\nScript.prototype.runInContext = function(context) {\n if (!(context instanceof Context)) {\n throw new TypeError('needs a \\'context\\' argument.');\n }\n if (global.document) {\n var iframe = global.document.createElement('iframe');\n if (!iframe.style) iframe.style = {};\n iframe.style.display = 'none';\n\n global.document.body.appendChild(iframe);\n\n var win = iframe.contentWindow;\n var wEval = win.eval,\n wExecScript = win.execScript;\n\n if (!wEval && wExecScript) {\n // win.eval() magically appears when this is called in IE:\n wExecScript.call(win, 'null');\n wEval = win.eval;\n }\n\n forEach(Object_keys(context), function(key) {\n win[key] = context[key];\n });\n forEach(globals, function(key) {\n if (context[key]) {\n win[key] = context[key];\n }\n });\n\n var winKeys = Object_keys(win);\n\n var res = wEval.call(win, this.code);\n\n forEach(Object_keys(win), function(key) {\n // Avoid copying circular objects like `top` and `window` by only\n // updating existing context properties or new properties in the `win`\n // that was only introduced after the eval.\n if (key in context || indexOf(winKeys, key) === -1) {\n context[key] = win[key];\n }\n });\n\n forEach(globals, function(key) {\n if (!(key in context)) {\n defineProp(context, key, win[key]);\n }\n });\n global.document.body.removeChild(iframe);\n\n return res;\n }\n return otherRunInContext(this.code, context);\n};\n\nScript.prototype.runInThisContext = function() {\n var fn = new Function('code', 'return eval(code);');\n return fn.call(global, this.code); // maybe...\n};\n\nScript.prototype.runInNewContext = function(context) {\n var ctx = createContext(context);\n var res = this.runInContext(ctx);\n if (context) {\n forEach(Object_keys(ctx), function(key) {\n context[key] = ctx[key];\n });\n }\n\n return res;\n};\n\nfunction createContext(context) {\n if (isContext(context)) {\n return context;\n }\n var copy = new Context();\n if (typeof context === 'object') {\n forEach(Object_keys(context), function(key) {\n copy[key] = context[key];\n });\n }\n return copy;\n}\nfunction runInContext(code, contextifiedSandbox, options) {\n var script = new Script(code);\n return script.runInContext(contextifiedSandbox, options);\n}\nfunction isContext(context) {\n return context instanceof Context;\n}\n\n\n/*\nfrom indexOf\n@ author tjholowaychuk\n@ license MIT\n*/\nvar _indexOf = [].indexOf;\n\nfunction indexOf(arr, obj){\n if (_indexOf) return arr.indexOf(obj);\n for (var i = 0; i < arr.length; ++i) {\n if (arr[i] === obj) return i;\n }\n return -1;\n}\n\nasync function virtualMachine(code) {\n const context = {\n module: { exports: {} },\n exports: {},\n require: (id) => {\n if (id === '@savafeed/module-manager') {\n return moduleManager;\n }\n throw new Error(`Cannot require('${id}') in this context`);\n },\n console,\n setTimeout,\n setInterval,\n Reflect,\n Promise,\n URL,\n fetch,\n };\n const isNodeJsEnv = typeof document === 'undefined';\n if (isNodeJsEnv) {\n await import('reflect-metadata');\n }\n else {\n // @ts-ignore\n await import('https://unpkg.com/reflect-metadata@0.2.2/Reflect.js');\n }\n context.Reflect = Reflect;\n const sandbox = createContext(context);\n runInContext(code, sandbox);\n const moduleObject = sandbox.exports;\n return moduleObject;\n}\n\nclass DriverProcessor {\n // static CDN: string = 'http://localhost:5000';\n static CDN = 'https://unpkg.com/@savafeed';\n static async getDriverModule(bootstrapOptions) {\n let driverModule;\n if (bootstrapOptions?.default) {\n driverModule = await DriverProcessor.defaultBootstrapDriver(bootstrapOptions.default);\n }\n else if (bootstrapOptions?.custom) {\n driverModule = await DriverProcessor.customBootstrapDriver(bootstrapOptions.custom);\n }\n else {\n throw new Error('Driver not found');\n }\n return driverModule;\n }\n ;\n static async defaultBootstrapDriver(options) {\n if (!options?.name)\n throw new Error(`Unable to get driver by this name: ${options?.name}`);\n const driver = await DriverProcessor.pullDriverByName(options.name, options.scriptType);\n const driverModule = DriverProcessor.exportDriverModule(driver, {\n scriptType: options.scriptType,\n name: options.name,\n });\n return driverModule;\n }\n static async customBootstrapDriver(options) {\n if (!options?.link)\n throw new Error('Driver link not found');\n if (!options?.className)\n throw new Error('Driver class name not found');\n const driver = await DriverProcessor.pullDriverByLink(options.link);\n const driverModule = DriverProcessor.exportDriverModule(driver, {\n scriptType: options.scriptType,\n name: options.className,\n });\n return driverModule;\n }\n static exportDriverModule(driver, options) {\n if (!driver)\n throw new Error('Driver not found');\n const currentScriptType = (!!options.scriptType) ? options.scriptType : 'umd';\n const driverClassName = options.name;\n switch (currentScriptType) {\n case 'esm':\n return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];\n case 'umd':\n return driver?.default[E_DRIVER_CLASSES[driverClassName]] || driver[E_DRIVER_CLASSES[driverClassName]];\n case 'cjs':\n return driver[E_DRIVER_CLASSES[driverClassName]];\n default:\n throw new Error(`Unknown script type: ${currentScriptType}`);\n }\n }\n static async pullDriverByLink(link) {\n if (!link)\n throw new Error('Driver link not found');\n const response = await fetch(link);\n if (!response?.ok) {\n throw new Error(`Failed to load script from CDN: ${response.statusText}`);\n }\n const scriptContent = await response.text();\n const driver = await virtualMachine(scriptContent);\n return driver;\n }\n ;\n static async pullDriverByName(driverName, scriptType) {\n if (!driverName)\n throw new Error('Driver name not found');\n const currentScriptType = (!!scriptType) ? scriptType : 'umd';\n const link = `${DriverProcessor.CDN}/${driverName}-driver@latest/${driverName}.driver.${currentScriptType}.js`;\n const response = await fetch(link);\n if (!response?.ok) {\n throw new Error(`Failed to load script from CDN: ${response.statusText}`);\n }\n const scriptContent = await response.text();\n const driver = await virtualMachine(scriptContent);\n return driver;\n }\n ;\n}\n\nclass DriverManager {\n appContainer;\n environments;\n constructor(appContainer, environments) {\n this.appContainer = appContainer;\n this.environments = environments;\n if (!!this?.environments?.core) {\n this.setCoreOptions(this.environments.core);\n }\n }\n ;\n async setup() {\n if (this.appContainer.providers.has(E_DRIVER_TOKENS.ENVIRONMENTS)) {\n throw new Error(`Provider with token \"${E_DRIVER_TOKENS.ENVIRONMENTS}\" already exists`);\n }\n this.appContainer.providers.set(E_DRIVER_TOKENS.ENVIRONMENTS, this.environments);\n if (this.environments?.input?.eCommerce) {\n return await this.bootstrapDriver({\n default: {\n name: this.environments?.input?.eCommerce,\n scriptType: this.environments?.input?.driverScriptType,\n },\n });\n }\n else {\n return await this.bootstrapDriver({\n custom: {\n link: this.environments?.input?.driverLink,\n className: this.environments?.input?.driverClassName,\n },\n });\n }\n }\n setCoreOptions(options) {\n if (options?.cdn) {\n DriverProcessor.CDN = options.cdn;\n }\n }\n getController(controllerName) {\n return this.appContainer.getController(controllerName);\n }\n async bootstrapDriver(bootstrapOptions) {\n const driverModule = await DriverProcessor.getDriverModule(bootstrapOptions);\n if (!driverModule) {\n console.error('Driver not found!', driverModule);\n console.warn('Bootstrap options:', bootstrapOptions);\n let stringOptions;\n try {\n stringOptions = JSON.stringify(bootstrapOptions);\n }\n catch (ex) {\n console.warn('Error trying to convert bootstrap parameters to JSON to show in error:', ex);\n stringOptions = String(bootstrapOptions);\n }\n throw new Error(`Driver with options: (${stringOptions}) not found`);\n }\n this.appContainer.registerModule(driverModule);\n return driverModule;\n }\n ;\n}\n\nexport { AbstractCheckoutController, AbstractLineItemsController, AbstractPreviewController, AbstractPricingController, AbstractReturnToEditController, DriverManager, E_DRIVER_CLASSES, E_DRIVER_TOKENS, E_MANDATORY_CONTROLLERS };\n//# sourceMappingURL=index.esm.js.map\n",null,null],"names":["E_DRIVER_CLASSES","E_DRIVER_TOKENS","E_MANDATORY_CONTROLLERS"],"mappings":"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","x_google_ignoreList":[0,1]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@savafeed/cart-api-sdk",
3
- "version": "1.0.10",
3
+ "version": "1.0.11",
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",