@one-commerce/sdk-core 1.17.1 → 1.19.1-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/bundles/bundle.esm.js +71 -3
- package/lib/bundles/bundle.esm.js.map +1 -1
- package/lib/bundles/bundle.esm.min.js +1 -1
- package/lib/bundles/bundle.esm.min.js.map +1 -1
- package/lib/bundles/bundle.umd.js +71 -2
- package/lib/bundles/bundle.umd.js.map +1 -1
- package/lib/bundles/bundle.umd.min.js +1 -1
- package/lib/bundles/bundle.umd.min.js.map +1 -1
- package/lib/cjs/backoffice/context.js +84 -0
- package/lib/cjs/backoffice/context.js.map +1 -0
- package/lib/cjs/{backofficeServices.js → backoffice/services.js} +2 -2
- package/lib/cjs/backoffice/services.js.map +1 -0
- package/lib/cjs/index.js +34 -16
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/{shopServices.js → shop/services.js} +2 -2
- package/lib/cjs/shop/services.js.map +1 -0
- package/lib/esm/backoffice/context.js +31 -0
- package/lib/esm/backoffice/context.js.map +1 -0
- package/lib/esm/{backofficeServices.js → backoffice/services.js} +2 -2
- package/lib/esm/backoffice/services.js.map +1 -0
- package/lib/esm/index.js +14 -3
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/{shopServices.js → shop/services.js} +2 -2
- package/lib/esm/shop/services.js.map +1 -0
- package/lib/types/backoffice/context.d.ts +13 -0
- package/lib/types/backoffice/context.d.ts.map +1 -0
- package/lib/types/{backofficeServices.d.ts → backoffice/services.d.ts} +2 -2
- package/lib/types/backoffice/services.d.ts.map +1 -0
- package/lib/types/index.d.ts +11 -3
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/{shopServices.d.ts → shop/services.d.ts} +2 -2
- package/lib/types/{shopServices.d.ts.map → shop/services.d.ts.map} +1 -1
- package/package.json +3 -3
- package/lib/cjs/backofficeServices.js.map +0 -1
- package/lib/cjs/shopServices.js.map +0 -1
- package/lib/esm/backofficeServices.js.map +0 -1
- package/lib/esm/shopServices.js.map +0 -1
- package/lib/types/backofficeServices.d.ts.map +0 -1
|
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.BackofficeUser = exports.BackofficeTenant = exports.BackofficePlugin = exports.BackofficeOrderpath = exports.BackofficeLayout = exports.BackofficeCustomer = exports.BackofficeCatalog = exports.BackofficeAuthorization = void 0;
|
|
9
9
|
|
|
10
|
-
var _utils = require("
|
|
10
|
+
var _utils = require("../utils");
|
|
11
11
|
|
|
12
12
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
13
13
|
|
|
@@ -283,4 +283,4 @@ var BackofficePlugin = /*#__PURE__*/function (_BaseCallClass8) {
|
|
|
283
283
|
}(_utils.BaseCallClass);
|
|
284
284
|
|
|
285
285
|
exports.BackofficePlugin = BackofficePlugin;
|
|
286
|
-
//# sourceMappingURL=
|
|
286
|
+
//# sourceMappingURL=services.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/backoffice/services.ts"],"names":["BackofficeCatalog","call","id","BaseCallClass","BackofficeUser","BackofficeTenant","BackofficeOrderpath","BackofficeLayout","BackofficeAuthorization","BackofficeCustomer","BackofficePlugin"],"mappings":";;;;;;;;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;IAEaA,iB;;;;;;;;;;;;;;;;kEACG,S;;;;;;;WAEd,2BAA2C;AACzC,aAAO,KAAKC,IAAL,CAAU,iBAAV,CAAP;AACD;;;WACD,sBAAoBC,EAApB,EAAkD;AAChD,aAAO,KAAKD,IAAL,CAAU,cAAV,EAA0BC,EAA1B,CAAP;AACD;;;;EARoCC,oB;;;;IAW1BC,c;;;;;;;;;;;;;;;;mEACG,M;;;;;;;;;;;;;;EADoBD,oB;;;;IAQvBE,gB;;;;;;;;;;;;;;;;mEACG,Q;;;;;;;;;;;;EADsBF,oB;;;;IAOzBG,mB;;;;;;;;;;;;;;;;mEACG,W;;;;;;EADyBH,oB;;;;IAI5BI,gB;;;;;;;;;;;;;;;;mEACG,Q;;;;;;;;EADsBJ,oB;;;;IAKzBK,uB;;;;;;;;;;;;;;;;mEACG,e;;;;;;;WAEd,wBAAgC;AAC9B,aAAO,KAAKP,IAAL,CAAU,cAAV,CAAP;AACD;;;;EAL0CE,oB;;;;IAQhCM,kB;;;;;;;;;;;;;;;;mEACG,U;;;;;;;;;;EADwBN,oB;;;;IAM3BO,gB;;;;;;;;;;;;;;;;mEACG,Q;;;;;;;;;;;;EADsBP,oB","sourcesContent":["import {Backoffice} from \"@one-commerce/sdk-shared\";\n\nimport {BaseCallClass} from \"../utils\";\n\nexport class BackofficeCatalog extends BaseCallClass implements Backoffice.Catalog {\n serviceName = 'catalog'\n\n fetchCategories(): Promise<Array<unknown>> {\n return this.call('fetchCategories')\n }\n public fetchProduct(id: string): Promise<unknown> {\n return this.call('fetchProduct', id)\n }\n}\n\nexport class BackofficeUser extends BaseCallClass implements Backoffice.User {\n serviceName = 'user'\n email?: string;\n id!: string;\n name?: string;\n authorities!: Array<string>;\n}\n\nexport class BackofficeTenant extends BaseCallClass implements Backoffice.Tenant {\n serviceName = 'tenant'\n tenantKey?: string;\n language?: string;\n currency?: string;\n}\n\nexport class BackofficeOrderpath extends BaseCallClass implements Backoffice.Orderpath {\n serviceName = 'orderpath'\n}\n\nexport class BackofficeLayout extends BaseCallClass implements Backoffice.Layout {\n serviceName = 'layout'\n isAsideOpened!: boolean;\n}\n\nexport class BackofficeAuthorization extends BaseCallClass implements Backoffice.Authorization {\n serviceName = 'authorization'\n\n getAuthToken(): Promise<string> {\n return this.call('getAuthToken')\n }\n}\n\nexport class BackofficeCustomer extends BaseCallClass implements Backoffice.Customer {\n serviceName = 'customer'\n id?: string;\n name?: string;\n}\n\nexport class BackofficePlugin extends BaseCallClass implements Backoffice.Plugin {\n serviceName = 'plugin'\n id: string;\n srcUrl?: string;\n name?: string;\n}\n"],"file":"services.js"}
|
package/lib/cjs/index.js
CHANGED
|
@@ -5,17 +5,25 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
+
Object.defineProperty(exports, "AddToCartContext", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function get() {
|
|
11
|
+
return _context.AddToCartContext;
|
|
12
|
+
}
|
|
13
|
+
});
|
|
8
14
|
exports.ShopSdk = exports.SdkEvents = exports.BackofficeSdk = void 0;
|
|
9
15
|
|
|
10
16
|
var _sdkShared = require("@one-commerce/sdk-shared");
|
|
11
17
|
|
|
12
18
|
var _iframeChannel = _interopRequireDefault(require("iframe-channel"));
|
|
13
19
|
|
|
14
|
-
var
|
|
20
|
+
var _context = require("./backoffice/context");
|
|
21
|
+
|
|
22
|
+
var _services = require("./backoffice/services");
|
|
15
23
|
|
|
16
24
|
var _events = _interopRequireDefault(require("./events"));
|
|
17
25
|
|
|
18
|
-
var
|
|
26
|
+
var _services2 = require("./shop/services");
|
|
19
27
|
|
|
20
28
|
var _utils = require("./utils");
|
|
21
29
|
|
|
@@ -94,6 +102,8 @@ var Sdk = /*#__PURE__*/function (_Events) {
|
|
|
94
102
|
|
|
95
103
|
_defineProperty(_assertThisInitialized(_this), "instances", void 0);
|
|
96
104
|
|
|
105
|
+
_defineProperty(_assertThisInitialized(_this), "contextClass", void 0);
|
|
106
|
+
|
|
97
107
|
_this.initializeServiceGetters();
|
|
98
108
|
|
|
99
109
|
_this.origin = options.origin;
|
|
@@ -157,6 +167,11 @@ var Sdk = /*#__PURE__*/function (_Events) {
|
|
|
157
167
|
}
|
|
158
168
|
|
|
159
169
|
_createClass(Sdk, [{
|
|
170
|
+
key: "initializeContextClass",
|
|
171
|
+
value: function initializeContextClass() {
|
|
172
|
+
return new this.contextClass(this.callFunction.bind(this));
|
|
173
|
+
}
|
|
174
|
+
}, {
|
|
160
175
|
key: "initializeServiceGetters",
|
|
161
176
|
value: function initializeServiceGetters() {
|
|
162
177
|
var _this2 = this;
|
|
@@ -216,6 +231,8 @@ var Sdk = /*#__PURE__*/function (_Events) {
|
|
|
216
231
|
if (typeof options.autoheight !== 'undefined') {
|
|
217
232
|
this.autoheight = options.autoheight;
|
|
218
233
|
}
|
|
234
|
+
|
|
235
|
+
this.contextClass = options.context;
|
|
219
236
|
}
|
|
220
237
|
}
|
|
221
238
|
}, {
|
|
@@ -308,14 +325,15 @@ var BackofficeSdk = /*#__PURE__*/function (_Sdk) {
|
|
|
308
325
|
hash: '',
|
|
309
326
|
query: {}
|
|
310
327
|
},
|
|
311
|
-
orderpath: new
|
|
312
|
-
catalog: new
|
|
313
|
-
user: new
|
|
314
|
-
tenant: new
|
|
315
|
-
layout: new
|
|
316
|
-
authorization: new
|
|
317
|
-
customer: new
|
|
318
|
-
plugin: new
|
|
328
|
+
orderpath: new _services.BackofficeOrderpath(_this5.callFunction.bind(_assertThisInitialized(_this5))),
|
|
329
|
+
catalog: new _services.BackofficeCatalog(_this5.callFunction.bind(_assertThisInitialized(_this5))),
|
|
330
|
+
user: new _services.BackofficeUser(_this5.callFunction.bind(_assertThisInitialized(_this5))),
|
|
331
|
+
tenant: new _services.BackofficeTenant(_this5.callFunction.bind(_assertThisInitialized(_this5))),
|
|
332
|
+
layout: new _services.BackofficeLayout(_this5.callFunction.bind(_assertThisInitialized(_this5))),
|
|
333
|
+
authorization: new _services.BackofficeAuthorization(_this5.callFunction.bind(_assertThisInitialized(_this5))),
|
|
334
|
+
customer: new _services.BackofficeCustomer(_this5.callFunction.bind(_assertThisInitialized(_this5))),
|
|
335
|
+
plugin: new _services.BackofficePlugin(_this5.callFunction.bind(_assertThisInitialized(_this5))),
|
|
336
|
+
context: _this5.initializeContextClass()
|
|
319
337
|
});
|
|
320
338
|
|
|
321
339
|
return _this5;
|
|
@@ -347,12 +365,12 @@ var ShopSdk = /*#__PURE__*/function (_Sdk2) {
|
|
|
347
365
|
hash: '',
|
|
348
366
|
query: {}
|
|
349
367
|
},
|
|
350
|
-
authorization: new
|
|
351
|
-
cart: new
|
|
352
|
-
catalog: new
|
|
353
|
-
account: new
|
|
354
|
-
utils: new
|
|
355
|
-
config: new
|
|
368
|
+
authorization: new _services2.ShopAuthorization(_this6.callFunction.bind(_assertThisInitialized(_this6))),
|
|
369
|
+
cart: new _services2.ShopCart(_this6.callFunction.bind(_assertThisInitialized(_this6))),
|
|
370
|
+
catalog: new _services2.ShopCatalog(_this6.callFunction.bind(_assertThisInitialized(_this6))),
|
|
371
|
+
account: new _services2.ShopAccount(_this6.callFunction.bind(_assertThisInitialized(_this6))),
|
|
372
|
+
utils: new _services2.ShopUtils(_this6.callFunction.bind(_assertThisInitialized(_this6))),
|
|
373
|
+
config: new _services2.ShopConfig(_this6.callFunction.bind(_assertThisInitialized(_this6)))
|
|
356
374
|
});
|
|
357
375
|
|
|
358
376
|
return _this6;
|
package/lib/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts"],"names":["SdkInternalEvents","SdkEvents","Sdk","options","initializeServiceGetters","origin","channel","Channel","targetOrigin","target","window","parent","subscribe","Message","INIT","payload","log","Object","entries","instances","forEach","key","value","BaseCallClass","update","attributesForKey","warn","emit","isInitialized","UPDATE","FRAME_HEIGHT_REQUEST","autoheight","sendFrameHeight","connect","then","initializeHeightObserver","setupOptions","keys","serviceName","defineProperty","get","body","document","html","documentElement","height","Math","max","scrollHeight","offsetHeight","clientHeight","postMessage","FRAME_HEIGHT_CHANGE","onMutationObserved","querySelector","config","attributes","attributeOldValue","characterData","characterDataOldValue","childList","subtree","heightMutationObserver","MutationObserver","observe","debug","service","fun","callId","METHOD_CALL","method","Promise","resolve","onChannelMessage","response","unsubscribe","METHOD_RESULT","result","event","NAVIGATION_PUSH","data","console","Events","BackofficeSdk","route","hash","query","orderpath","BackofficeOrderpath","callFunction","bind","catalog","BackofficeCatalog","user","BackofficeUser","tenant","BackofficeTenant","layout","BackofficeLayout","authorization","BackofficeAuthorization","customer","BackofficeCustomer","plugin","BackofficePlugin","ShopSdk","ShopAuthorization","cart","ShopCart","ShopCatalog","account","ShopAccount","utils","ShopUtils","ShopConfig"],"mappings":"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","sourcesContent":["import {Backoffice, Message, Route, Shop} from \"@one-commerce/sdk-shared\";\nimport Channel from \"iframe-channel\"\n\nimport {\n BackofficeAuthorization,\n BackofficeCatalog,\n BackofficeCustomer,\n BackofficeLayout,\n BackofficeOrderpath,\n BackofficePlugin,\n BackofficeTenant,\n BackofficeUser\n} from \"./backofficeServices\";\nimport Events from \"./events\";\nimport {\n ShopAccount, ShopAuthorization,\n ShopCart,\n ShopCatalog, ShopConfig, ShopUtils,\n} from \"./shopServices\";\nimport { BaseCallClass, generateCallId } from \"./utils\";\n\nenum SdkInternalEvents {\n INIT='INIT',\n UPDATE='UPDATE'\n}\nexport enum SdkEvents {\n INIT='INIT',\n UPDATE='UPDATE',\n}\nexport interface SdkOptions {\n debug?: boolean\n autoheight?: boolean\n origin: string\n}\n\ninterface NamedNavigationPayload {\n name: string\n params: any\n}\n\ninterface PathNavigationPayload {\n path: string\n params: any\n}\n\nabstract class Sdk<T> extends Events {\n private channel!: Channel;\n private static debug = false\n private autoheight = true\n private heightMutationObserver = null\n origin: string;\n isInitialized = false\n instances!: T;\n\n private static log(...data: any[]) {\n Sdk.debug && console.log('[SDK Core] ', ...data)\n }\n\n private static warn(...data: any[]) {\n console.warn('[SDK Core] ', ...data)\n }\n\n private initializeServiceGetters(): void {\n if (this.instances) {\n Object.keys(this.instances).forEach((serviceName: string) => {\n Object.defineProperty(this, serviceName, {\n get: () => {\n return this.isInitialized ? this.instances![serviceName as keyof T] : null\n }\n })\n })\n }\n }\n\n constructor(options: SdkOptions) {\n super()\n this.initializeServiceGetters()\n this.origin = options.origin\n this.channel = new Channel({\n targetOrigin: this.origin,\n target: window.parent,\n })\n this.channel.subscribe(Message.INIT, (payload: any) => {\n Sdk.log('Handling INIT message')\n Object.entries(this.instances!).forEach(([key, value]: [key: string, value: BaseCallClass | Record<string, any>]) => {\n if (value instanceof BaseCallClass) {\n value.update(payload)\n } else {\n const attributesForKey = payload[key]\n if (typeof attributesForKey !== 'undefined') {\n BaseCallClass.update(value as Record<string, any>, payload[key])\n } else {\n Sdk.warn(`Missing attributes for ${key} in `, payload)\n }\n }\n })\n Sdk.log('Emitting INIT with payload ', this.instances)\n this.emit(SdkInternalEvents.INIT, this.instances)\n this.isInitialized = true\n })\n this.channel.subscribe(Message.UPDATE, (payload: any) => {\n Sdk.log('Emitting UPDATE with payload ', payload)\n this.emit(SdkInternalEvents.UPDATE, payload)\n })\n this.channel.subscribe(Message.FRAME_HEIGHT_REQUEST, (payload: any) => {\n if (this.autoheight) {\n Sdk.log('Request for iframe height')\n this.sendFrameHeight()\n }\n })\n this.channel.connect().then(() => {\n Sdk.log('Connected with ONe SDK')\n if(this.autoheight) {\n this.initializeHeightObserver()\n }\n })\n this.setupOptions(options)\n Sdk.log('Initialized.')\n }\n\n private sendFrameHeight() {\n const body = document.body, html = document.documentElement;\n const height = Math.max(body.scrollHeight, body.offsetHeight,\n html.clientHeight, html.scrollHeight, html.offsetHeight);\n this.channel.postMessage(Message.FRAME_HEIGHT_CHANGE, height)\n }\n\n private initializeHeightObserver() {\n if (\"MutationObserver\" in window) {\n const onMutationObserved = () => {\n this.sendFrameHeight()\n }\n const target = document.querySelector('body'),\n config = {\n attributes: true,\n attributeOldValue: false,\n characterData: true,\n characterDataOldValue: false,\n childList: true,\n subtree: true\n }\n\n this.heightMutationObserver = new MutationObserver(onMutationObserved)\n\n Sdk.log('Create body MutationObserver')\n this.heightMutationObserver.observe(target, config)\n } else {\n Sdk.warn('MutationObserver not available. Auto-height functionality disabled.')\n }\n }\n\n private setupOptions(options?: SdkOptions) {\n if (options) {\n if (typeof options.debug !== 'undefined') {\n Sdk.debug = options.debug\n }\n if (typeof options.autoheight !== 'undefined') {\n this.autoheight = options.autoheight\n }\n }\n }\n protected callFunction(service: string, fun: string, ...payload: any) {\n const callId: string = generateCallId()\n if (this.isInitialized) {\n Sdk.log(`Call ID ${callId} for ${service}:${fun}`, payload)\n this.channel.postMessage(Message.METHOD_CALL, {\n callId,\n service,\n method: fun,\n payload: payload,\n })\n return new Promise((resolve) => {\n const onChannelMessage = (response: any) => {\n if (response.callId === callId) {\n this.channel.unsubscribe(Message.METHOD_RESULT, onChannelMessage)\n return resolve(response.result)\n }\n }\n this.channel.subscribe(Message.METHOD_RESULT, onChannelMessage)\n })\n }\n Sdk.log('SDK is not initialized!')\n return Promise.resolve(null)\n }\n\n public navigate(event: NamedNavigationPayload | PathNavigationPayload) {\n this.channel.postMessage(Message.NAVIGATION_PUSH, event)\n }\n\n}\n\nexport interface BackofficeInstances extends Backoffice.Api {\n route: Route,\n orderpath: BackofficeOrderpath,\n catalog: BackofficeCatalog,\n user: BackofficeUser,\n tenant: BackofficeTenant,\n layout: BackofficeLayout,\n authorization: BackofficeAuthorization,\n customer: BackofficeCustomer,\n plugin: BackofficePlugin\n}\n\nexport interface ShopInstances extends Shop.Api {\n authorization: ShopAuthorization,\n route: Route,\n cart: ShopCart,\n catalog: ShopCatalog,\n account: ShopAccount,\n utils: ShopUtils\n config: ShopConfig\n}\n\nexport class BackofficeSdk extends Sdk<BackofficeInstances> {\n instances = {\n route: {\n hash: '',\n query: {},\n },\n orderpath: new BackofficeOrderpath(this.callFunction.bind(this)),\n catalog: new BackofficeCatalog(this.callFunction.bind(this)),\n user: new BackofficeUser(this.callFunction.bind(this)),\n tenant: new BackofficeTenant(this.callFunction.bind(this)),\n layout: new BackofficeLayout(this.callFunction.bind(this)),\n authorization: new BackofficeAuthorization(this.callFunction.bind(this)),\n customer: new BackofficeCustomer(this.callFunction.bind(this)),\n plugin: new BackofficePlugin(this.callFunction.bind(this)),\n }\n}\n\nexport class ShopSdk extends Sdk<ShopInstances> {\n instances = {\n route: {\n hash: '',\n query: {},\n },\n authorization: new ShopAuthorization(this.callFunction.bind(this)),\n cart: new ShopCart(this.callFunction.bind(this)),\n catalog: new ShopCatalog(this.callFunction.bind(this)),\n account: new ShopAccount(this.callFunction.bind(this)),\n utils: new ShopUtils(this.callFunction.bind(this)),\n config: new ShopConfig(this.callFunction.bind(this))\n }\n}\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts"],"names":["SdkInternalEvents","SdkEvents","Sdk","options","initializeServiceGetters","origin","channel","Channel","targetOrigin","target","window","parent","subscribe","Message","INIT","payload","log","Object","entries","instances","forEach","key","value","BaseCallClass","update","attributesForKey","warn","emit","isInitialized","UPDATE","FRAME_HEIGHT_REQUEST","autoheight","sendFrameHeight","connect","then","initializeHeightObserver","setupOptions","contextClass","callFunction","bind","keys","serviceName","defineProperty","get","body","document","html","documentElement","height","Math","max","scrollHeight","offsetHeight","clientHeight","postMessage","FRAME_HEIGHT_CHANGE","onMutationObserved","querySelector","config","attributes","attributeOldValue","characterData","characterDataOldValue","childList","subtree","heightMutationObserver","MutationObserver","observe","debug","context","service","fun","callId","METHOD_CALL","method","Promise","resolve","onChannelMessage","response","unsubscribe","METHOD_RESULT","result","event","NAVIGATION_PUSH","data","console","Events","BackofficeSdk","route","hash","query","orderpath","BackofficeOrderpath","catalog","BackofficeCatalog","user","BackofficeUser","tenant","BackofficeTenant","layout","BackofficeLayout","authorization","BackofficeAuthorization","customer","BackofficeCustomer","plugin","BackofficePlugin","initializeContextClass","ShopSdk","ShopAuthorization","cart","ShopCart","ShopCatalog","account","ShopAccount","utils","ShopUtils","ShopConfig"],"mappings":"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","sourcesContent":["import {\n Backoffice,\n Message,\n Route,\n Shop\n} from \"@one-commerce/sdk-shared\";\nimport Channel from \"iframe-channel\"\n\nimport {\n AddToCartContext,\n} from \"./backoffice/context\";\nimport {\n BackofficeAuthorization,\n BackofficeCatalog,\n BackofficeCustomer,\n BackofficeLayout,\n BackofficeOrderpath,\n BackofficePlugin,\n BackofficeTenant,\n BackofficeUser,\n} from \"./backoffice/services\";\nimport Events from \"./events\";\nimport {\n ShopAccount, ShopAuthorization,\n ShopCart,\n ShopCatalog, ShopConfig, ShopUtils,\n} from \"./shop/services\";\nimport { BaseCallClass, generateCallId } from \"./utils\";\n\nexport type AvailableContext = AddToCartContext\n\nenum SdkInternalEvents {\n INIT='INIT',\n UPDATE='UPDATE'\n}\nexport enum SdkEvents {\n INIT='INIT',\n UPDATE='UPDATE',\n}\nexport interface SdkOptions {\n debug?: boolean\n autoheight?: boolean\n origin: string,\n context?: Class<AvailableContext>;\n}\n\ninterface NamedNavigationPayload {\n name: string\n params: any\n}\n\ninterface PathNavigationPayload {\n path: string\n params: any\n}\n\nexport type Class<T = any> = new (...args: any[]) => T;\n\nabstract class Sdk<T> extends Events {\n private channel!: Channel;\n private static debug = false\n private autoheight = true\n private heightMutationObserver = null\n origin: string;\n isInitialized = false\n instances!: T;\n contextClass?: Class<AvailableContext>;\n\n private static log(...data: any[]) {\n Sdk.debug && console.log('[SDK Core] ', ...data)\n }\n\n private static warn(...data: any[]) {\n console.warn('[SDK Core] ', ...data)\n }\n\n public initializeContextClass(): AvailableContext {\n return new this.contextClass(this.callFunction.bind(this))\n }\n\n private initializeServiceGetters(): void {\n if (this.instances) {\n Object.keys(this.instances).forEach((serviceName: string) => {\n Object.defineProperty(this, serviceName, {\n get: () => {\n return this.isInitialized ? this.instances![serviceName as keyof T] : null\n }\n })\n })\n }\n }\n\n constructor(options: SdkOptions) {\n super()\n this.initializeServiceGetters()\n this.origin = options.origin\n this.channel = new Channel({\n targetOrigin: this.origin,\n target: window.parent,\n })\n this.channel.subscribe(Message.INIT, (payload: any) => {\n Sdk.log('Handling INIT message')\n Object.entries(this.instances!).forEach(([key, value]: [key: string, value: BaseCallClass | Record<string, any>]) => {\n if (value instanceof BaseCallClass) {\n value.update(payload)\n } else {\n const attributesForKey = payload[key]\n if (typeof attributesForKey !== 'undefined') {\n BaseCallClass.update(value as Record<string, any>, payload[key])\n } else {\n Sdk.warn(`Missing attributes for ${key} in `, payload)\n }\n }\n })\n Sdk.log('Emitting INIT with payload ', this.instances)\n this.emit(SdkInternalEvents.INIT, this.instances)\n this.isInitialized = true\n })\n this.channel.subscribe(Message.UPDATE, (payload: any) => {\n Sdk.log('Emitting UPDATE with payload ', payload)\n this.emit(SdkInternalEvents.UPDATE, payload)\n })\n this.channel.subscribe(Message.FRAME_HEIGHT_REQUEST, (payload: any) => {\n if (this.autoheight) {\n Sdk.log('Request for iframe height')\n this.sendFrameHeight()\n }\n })\n this.channel.connect().then(() => {\n Sdk.log('Connected with ONe SDK')\n if(this.autoheight) {\n this.initializeHeightObserver()\n }\n })\n this.setupOptions(options)\n Sdk.log('Initialized.')\n }\n\n private sendFrameHeight() {\n const body = document.body, html = document.documentElement;\n const height = Math.max(body.scrollHeight, body.offsetHeight,\n html.clientHeight, html.scrollHeight, html.offsetHeight);\n this.channel.postMessage(Message.FRAME_HEIGHT_CHANGE, height)\n }\n\n private initializeHeightObserver() {\n if (\"MutationObserver\" in window) {\n const onMutationObserved = () => {\n this.sendFrameHeight()\n }\n const target = document.querySelector('body'),\n config = {\n attributes: true,\n attributeOldValue: false,\n characterData: true,\n characterDataOldValue: false,\n childList: true,\n subtree: true\n }\n\n this.heightMutationObserver = new MutationObserver(onMutationObserved)\n\n Sdk.log('Create body MutationObserver')\n this.heightMutationObserver.observe(target, config)\n } else {\n Sdk.warn('MutationObserver not available. Auto-height functionality disabled.')\n }\n }\n\n private setupOptions(options?: SdkOptions) {\n if (options) {\n if (typeof options.debug !== 'undefined') {\n Sdk.debug = options.debug\n }\n if (typeof options.autoheight !== 'undefined') {\n this.autoheight = options.autoheight\n }\n this.contextClass = options.context\n }\n }\n protected callFunction(service: string, fun: string, ...payload: any) {\n const callId: string = generateCallId()\n if (this.isInitialized) {\n Sdk.log(`Call ID ${callId} for ${service}:${fun}`, payload)\n this.channel.postMessage(Message.METHOD_CALL, {\n callId,\n service,\n method: fun,\n payload: payload,\n })\n return new Promise((resolve) => {\n const onChannelMessage = (response: any) => {\n if (response.callId === callId) {\n this.channel.unsubscribe(Message.METHOD_RESULT, onChannelMessage)\n return resolve(response.result)\n }\n }\n this.channel.subscribe(Message.METHOD_RESULT, onChannelMessage)\n })\n }\n Sdk.log('SDK is not initialized!')\n return Promise.resolve(null)\n }\n\n public navigate(event: NamedNavigationPayload | PathNavigationPayload) {\n this.channel.postMessage(Message.NAVIGATION_PUSH, event)\n }\n\n}\n\nexport interface BackofficeInstances extends Backoffice.Api {\n route: Route,\n orderpath: BackofficeOrderpath,\n catalog: BackofficeCatalog,\n user: BackofficeUser,\n tenant: BackofficeTenant,\n layout: BackofficeLayout,\n authorization: BackofficeAuthorization,\n customer: BackofficeCustomer,\n plugin: BackofficePlugin,\n context: AvailableContext\n}\n\nexport interface ShopInstances extends Shop.Api {\n authorization: ShopAuthorization,\n route: Route,\n cart: ShopCart,\n catalog: ShopCatalog,\n account: ShopAccount,\n utils: ShopUtils\n config: ShopConfig\n}\n\nexport class BackofficeSdk extends Sdk<BackofficeInstances> {\n instances = {\n route: {\n hash: '',\n query: {},\n },\n orderpath: new BackofficeOrderpath(this.callFunction.bind(this)),\n catalog: new BackofficeCatalog(this.callFunction.bind(this)),\n user: new BackofficeUser(this.callFunction.bind(this)),\n tenant: new BackofficeTenant(this.callFunction.bind(this)),\n layout: new BackofficeLayout(this.callFunction.bind(this)),\n authorization: new BackofficeAuthorization(this.callFunction.bind(this)),\n customer: new BackofficeCustomer(this.callFunction.bind(this)),\n plugin: new BackofficePlugin(this.callFunction.bind(this)),\n context: this.initializeContextClass()\n }\n}\n\nexport class ShopSdk extends Sdk<ShopInstances> {\n instances = {\n route: {\n hash: '',\n query: {},\n },\n authorization: new ShopAuthorization(this.callFunction.bind(this)),\n cart: new ShopCart(this.callFunction.bind(this)),\n catalog: new ShopCatalog(this.callFunction.bind(this)),\n account: new ShopAccount(this.callFunction.bind(this)),\n utils: new ShopUtils(this.callFunction.bind(this)),\n config: new ShopConfig(this.callFunction.bind(this))\n }\n}\n\nexport {\n AddToCartContext\n}\n"],"file":"index.js"}
|
|
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.ShopUtils = exports.ShopConfig = exports.ShopCatalog = exports.ShopCart = exports.ShopAuthorization = exports.ShopAccount = void 0;
|
|
9
9
|
|
|
10
|
-
var _utils = require("
|
|
10
|
+
var _utils = require("../utils");
|
|
11
11
|
|
|
12
12
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
13
13
|
|
|
@@ -297,4 +297,4 @@ var ShopConfig = /*#__PURE__*/function (_BaseCallClass6) {
|
|
|
297
297
|
}(_utils.BaseCallClass);
|
|
298
298
|
|
|
299
299
|
exports.ShopConfig = ShopConfig;
|
|
300
|
-
//# sourceMappingURL=
|
|
300
|
+
//# sourceMappingURL=services.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/shop/services.ts"],"names":["ShopCatalog","productId","call","categoryId","BaseCallClass","ShopAccount","name","ShopCart","amount","where","cartId","ShopAuthorization","ShopUtils","routes","getCategoryPath","getManufacturerSearchUrl","getProductUrl","isExternalUrl","id","manufacturer","product","url","ShopConfig"],"mappings":";;;;;;;;;AACA;;;;;;;;;;;;;;;;;;;;;;;;IAGaA,W;;;;;;;;;;;;;;;;kEACG,S;;;;;;;;;;;WAId,sBAAaC,SAAb,EAA8C;AAC5C,aAAO,KAAKC,IAAL,CAAU,cAAV,EAA0BD,SAA1B,CAAP;AACD;;;WAED,yBAAgBE,UAAhB,EAAkD;AAChD,aAAO,KAAKD,IAAL,CAAU,iBAAV,EAA6BC,UAA7B,CAAP;AACD;;;;EAX8BC,oB;;;;IAgBpBC,W;;;;;;;;;;;;;;;;mEACG,S;;;;;;;;;;;;;;;WAoDd,oBAAWC,IAAX,EAA2C;AACzC,aAAO,KAAKJ,IAAL,CAAU,YAAV,EAAwBI,IAAxB,CAAP;AACD;;;WAWD,kBAAe,CACb;AACD;;;;EApE8BF,oB;;;;IAuEpBG,Q;;;;;;;;;;;;;;;;mEACG,M;;;;;;;;;;;;;WAKd,mBAAUN,SAAV,EAA6BO,MAA7B,EAA6CC,KAA7C,EAA4DC,MAA5D,EAA4F;AAC1F,aAAO,KAAKR,IAAL,CAAU,WAAV,EAAuBD,SAAvB,EAAkCO,MAAlC,EAA0CC,KAA1C,EAAiDC,MAAjD,CAAP;AACD;;;;EAR2BN,oB;;;;IAWjBO,iB;;;;;;;;;;;;;;;;mEACG,e;;;;;;;WAEd,wBAAgC;AAC9B,aAAO,KAAKT,IAAL,CAAU,cAAV,CAAP;AACD;;;;EALoCE,oB;;;;IAQ1BQ,S;;;;;AASX,qBAAYV,IAAZ,EAA+E;AAAA;;AAAA;;AAC7E,gCAAMA,IAAN;;AAD6E,mEARjE,OAQiE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAE7E,WAAKW,MAAL,GAAc;AACZC,MAAAA,eAAe,EAAE,OAAKA,eADV;AAEZC,MAAAA,wBAAwB,EAAE,OAAKA,wBAFnB;AAGZC,MAAAA,aAAa,EAAE,OAAKA,aAHR;AAIZC,MAAAA,aAAa,EAAE,OAAKA;AAJR,KAAd;AAF6E;AAQ9E;;;;WAED,yBAAgBC,EAAhB,EAAqD;AACnD,aAAO,KAAKhB,IAAL,CAAU,iBAAV,EAA6BgB,EAA7B,CAAP;AACD;;;WAED,kCAAyBC,YAAzB,EAAgE;AAC9D,aAAO,KAAKjB,IAAL,CAAU,0BAAV,EAAsCiB,YAAtC,CAAP;AACD;;;WAED,uBAAcC,OAAd,EAAoD;AAClD,aAAO,KAAKlB,IAAL,CAAU,eAAV,EAA2BkB,OAA3B,CAAP;AACD;;;WAED,uBAAcC,GAAd,EAA6C;AAC3C,aAAO,KAAKnB,IAAL,CAAU,eAAV,EAA2BmB,GAA3B,CAAP;AACD;;;;EAjC4BjB,oB;;;;IAuDlBkB,U;;;;;;;;;;;;;;;;mEACG,Q;;;;;;;;;;;;;;;;;;;;;;;;EADgBlB,oB","sourcesContent":["import {Shop} from \"@one-commerce/sdk-shared\";\nimport {BaseCallClass} from \"../utils\";\n\n\nexport class ShopCatalog extends BaseCallClass implements Shop.Catalog {\n serviceName = 'catalog'\n categories!: Array<any>;\n selectedCategoryId!: string | null;\n\n fetchProduct(productId: string): Promise<any> {\n return this.call('fetchProduct', productId)\n }\n\n getCategoryById(categoryId: string): Promise<any> {\n return this.call('getCategoryById', categoryId)\n }\n\n\n}\n\nexport class ShopAccount extends BaseCallClass implements Shop.Account {\n serviceName = 'account'\n client!: {\n id: string;\n name: string;\n externalId?: string;\n tin?: string;\n phone?: string;\n segmentId?: string;\n segments: {\n additionalSegments?: Array<{\n id: string;\n name: string;\n externalId?: string;\n parentSegmentId?: string;\n }>;\n mainSegment: {\n id: string;\n name: string;\n externalId?: string;\n parentSegmentId?: string;\n };\n };\n warehouseId?: string;\n termPayment?: {\n id: string;\n label?: string;\n paymentDaysPeriod?: number;\n };\n isTaxPayer?: boolean;\n billingAddress?: {\n city: string;\n country: string;\n id: string;\n isDefault: boolean;\n name: string;\n phone: string;\n street: string;\n type: string;\n zipCode: string\n }\n };\n isAuthenticated!: boolean;\n user!: {\n email?: string;\n name?: string;\n phone?: string;\n /**\n * @deprecated Use non-nested function instead\n */\n hasSegment(name: string): Promise<boolean>\n };\n\n hasSegment(name: string): Promise<boolean> {\n return this.call('hasSegment', name)\n }\n\n manager!: {\n additionalEmail?: string;\n email: string; id: string;\n landlinePhone?: string;\n mobilePhone?: string;\n name: string;\n photo?: string\n };\n\n logout(): void {\n // NotImplementedYet\n }\n}\n\nexport class ShopCart extends BaseCallClass implements Shop.Cart {\n serviceName = 'cart'\n carts!: Array<any>;\n currentCart!: any;\n totalCartPrice!: number;\n\n addToCart(productId: string, amount: number, where: string, cartId?: string): Promise<void> {\n return this.call('addToCart', productId, amount, where, cartId)\n }\n}\n\nexport class ShopAuthorization extends BaseCallClass implements Shop.Authorization {\n serviceName = 'authorization'\n\n getAuthToken(): Promise<string> {\n return this.call('getAuthToken')\n }\n}\n\nexport class ShopUtils extends BaseCallClass implements Shop.Utils {\n serviceName = 'utils'\n currency!: any;\n isAnonymousAndPurchaseDisabled!: boolean;\n isB2B!: boolean;\n isB2BAndPlatformIsNotOpened!: boolean;\n isIndexPage!: boolean;\n isPurchaseEnabledOrAuthenticated!: boolean;\n\n constructor(call: (service: string, fun: string, ...arg: any) => Promise<any>) {\n super(call)\n this.routes = {\n getCategoryPath: this.getCategoryPath,\n getManufacturerSearchUrl: this.getManufacturerSearchUrl,\n getProductUrl: this.getProductUrl,\n isExternalUrl: this.isExternalUrl\n }\n }\n\n getCategoryPath(id?: string): Promise<string | null> {\n return this.call('getCategoryPath', id)\n }\n\n getManufacturerSearchUrl(manufacturer: string): Promise<string> {\n return this.call('getManufacturerSearchUrl', manufacturer)\n }\n\n getProductUrl(product: any): Promise<string | null> {\n return this.call('getProductUrl', product)\n }\n\n isExternalUrl(url: string): Promise<boolean> {\n return this.call('isExternalUrl', url)\n }\n\n routes: {\n /**\n * @deprecated Use non-nested function instead\n */\n getCategoryPath(id?: string): (Promise<string | null> | string | null);\n /**\n * @deprecated Use non-nested function instead\n */\n getManufacturerSearchUrl(manufacturer: string): (Promise<string> | string);\n /**\n * @deprecated Use non-nested function instead\n */\n getProductUrl(product: any): (Promise<string | null> | string | null);\n /**\n * @deprecated Use non-nested function instead\n */\n isExternalUrl(url: string): (Promise<boolean> | boolean)\n };\n}\n\nexport class ShopConfig extends BaseCallClass implements Shop.Config {\n serviceName = 'config'\n accessMode!: string;\n isB2CRegistrationEnabled!: boolean;\n isCatalogOpened!: boolean;\n isGrossSelected!: boolean;\n isPlatformClosed!: boolean;\n isPlatformOpened!: boolean;\n isPurchaseEnabled!: boolean;\n isRegistrationEnabled!: boolean;\n currency: any;\n}\n"],"file":"services.js"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
+
|
|
3
|
+
import { Backoffice } from "@one-commerce/sdk-shared";
|
|
4
|
+
import { BaseCallClass } from "../utils";
|
|
5
|
+
export class AddToCartContext extends BaseCallClass {
|
|
6
|
+
constructor(...args) {
|
|
7
|
+
super(...args);
|
|
8
|
+
|
|
9
|
+
_defineProperty(this, "serviceName", Backoffice.Context.AvailableContext.ADD_TO_CART);
|
|
10
|
+
|
|
11
|
+
_defineProperty(this, "productId", void 0);
|
|
12
|
+
|
|
13
|
+
_defineProperty(this, "cartId", void 0);
|
|
14
|
+
|
|
15
|
+
_defineProperty(this, "warehouses", void 0);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
closePlugin() {
|
|
19
|
+
return this.call('closePlugin');
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
closePluginAndAddToCart() {
|
|
23
|
+
return this.call('closePluginAndAddToCart');
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
closePluginAndRefreshCart() {
|
|
27
|
+
return this.call('closePluginAndRefreshCart');
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/backoffice/context.ts"],"names":["Backoffice","BaseCallClass","AddToCartContext","Context","AvailableContext","ADD_TO_CART","closePlugin","call","closePluginAndAddToCart","closePluginAndRefreshCart"],"mappings":";;AAAA,SAAQA,UAAR,QAAyB,0BAAzB;AACA,SAAQC,aAAR,QAA4B,UAA5B;AAEA,OAAO,MAAMC,gBAAN,SAA+BD,aAA/B,CAAqF;AAAA;AAAA;;AAAA,yCAC5ED,UAAU,CAACG,OAAX,CAAmBC,gBAAnB,CAAoCC,WADwC;;AAAA;;AAAA;;AAAA;AAAA;;AAK1FC,EAAAA,WAAW,GAAkB;AAC3B,WAAO,KAAKC,IAAL,CAAU,aAAV,CAAP;AACD;;AACDC,EAAAA,uBAAuB,GAAkB;AACvC,WAAO,KAAKD,IAAL,CAAU,yBAAV,CAAP;AACD;;AACDE,EAAAA,yBAAyB,GAAkB;AACzC,WAAO,KAAKF,IAAL,CAAU,2BAAV,CAAP;AACD;;AAbyF","sourcesContent":["import {Backoffice} from \"@one-commerce/sdk-shared\";\nimport {BaseCallClass} from \"../utils\";\n\nexport class AddToCartContext extends BaseCallClass implements Backoffice.Context.AddToCart {\n serviceName = Backoffice.Context.AvailableContext.ADD_TO_CART\n productId: string;\n cartId: string;\n warehouses: Array<any>;\n closePlugin(): Promise<void> {\n return this.call('closePlugin')\n }\n closePluginAndAddToCart(): Promise<void> {\n return this.call('closePluginAndAddToCart')\n }\n closePluginAndRefreshCart(): Promise<void> {\n return this.call('closePluginAndRefreshCart')\n }\n}\n\nexport type AvailableContext = AddToCartContext\n"],"file":"context.js"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
2
|
|
|
3
|
-
import { BaseCallClass } from "
|
|
3
|
+
import { BaseCallClass } from "../utils";
|
|
4
4
|
export class BackofficeCatalog extends BaseCallClass {
|
|
5
5
|
constructor(...args) {
|
|
6
6
|
super(...args);
|
|
@@ -103,4 +103,4 @@ export class BackofficePlugin extends BaseCallClass {
|
|
|
103
103
|
}
|
|
104
104
|
|
|
105
105
|
}
|
|
106
|
-
//# sourceMappingURL=
|
|
106
|
+
//# sourceMappingURL=services.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/backoffice/services.ts"],"names":["BaseCallClass","BackofficeCatalog","fetchCategories","call","fetchProduct","id","BackofficeUser","BackofficeTenant","BackofficeOrderpath","BackofficeLayout","BackofficeAuthorization","getAuthToken","BackofficeCustomer","BackofficePlugin"],"mappings":";;AAEA,SAAQA,aAAR,QAA4B,UAA5B;AAEA,OAAO,MAAMC,iBAAN,SAAgCD,aAAhC,CAA4E;AAAA;AAAA;;AAAA,yCACnE,SADmE;AAAA;;AAGjFE,EAAAA,eAAe,GAA4B;AACzC,WAAO,KAAKC,IAAL,CAAU,iBAAV,CAAP;AACD;;AACMC,EAAAA,YAAY,CAACC,EAAD,EAA+B;AAChD,WAAO,KAAKF,IAAL,CAAU,cAAV,EAA0BE,EAA1B,CAAP;AACD;;AARgF;AAWnF,OAAO,MAAMC,cAAN,SAA6BN,aAA7B,CAAsE;AAAA;AAAA;;AAAA,yCAC7D,MAD6D;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAQ7E,OAAO,MAAMO,gBAAN,SAA+BP,aAA/B,CAA0E;AAAA;AAAA;;AAAA,yCACjE,QADiE;;AAAA;;AAAA;;AAAA;AAAA;;AAAA;AAOjF,OAAO,MAAMQ,mBAAN,SAAkCR,aAAlC,CAAgF;AAAA;AAAA;;AAAA,yCACvE,WADuE;AAAA;;AAAA;AAIvF,OAAO,MAAMS,gBAAN,SAA+BT,aAA/B,CAA0E;AAAA;AAAA;;AAAA,yCACjE,QADiE;;AAAA;AAAA;;AAAA;AAKjF,OAAO,MAAMU,uBAAN,SAAsCV,aAAtC,CAAwF;AAAA;AAAA;;AAAA,yCAC/E,eAD+E;AAAA;;AAG7FW,EAAAA,YAAY,GAAoB;AAC9B,WAAO,KAAKR,IAAL,CAAU,cAAV,CAAP;AACD;;AAL4F;AAQ/F,OAAO,MAAMS,kBAAN,SAAiCZ,aAAjC,CAA8E;AAAA;AAAA;;AAAA,yCACrE,UADqE;;AAAA;;AAAA;AAAA;;AAAA;AAMrF,OAAO,MAAMa,gBAAN,SAA+Bb,aAA/B,CAA0E;AAAA;AAAA;;AAAA,yCACjE,QADiE;;AAAA;;AAAA;;AAAA;AAAA;;AAAA","sourcesContent":["import {Backoffice} from \"@one-commerce/sdk-shared\";\n\nimport {BaseCallClass} from \"../utils\";\n\nexport class BackofficeCatalog extends BaseCallClass implements Backoffice.Catalog {\n serviceName = 'catalog'\n\n fetchCategories(): Promise<Array<unknown>> {\n return this.call('fetchCategories')\n }\n public fetchProduct(id: string): Promise<unknown> {\n return this.call('fetchProduct', id)\n }\n}\n\nexport class BackofficeUser extends BaseCallClass implements Backoffice.User {\n serviceName = 'user'\n email?: string;\n id!: string;\n name?: string;\n authorities!: Array<string>;\n}\n\nexport class BackofficeTenant extends BaseCallClass implements Backoffice.Tenant {\n serviceName = 'tenant'\n tenantKey?: string;\n language?: string;\n currency?: string;\n}\n\nexport class BackofficeOrderpath extends BaseCallClass implements Backoffice.Orderpath {\n serviceName = 'orderpath'\n}\n\nexport class BackofficeLayout extends BaseCallClass implements Backoffice.Layout {\n serviceName = 'layout'\n isAsideOpened!: boolean;\n}\n\nexport class BackofficeAuthorization extends BaseCallClass implements Backoffice.Authorization {\n serviceName = 'authorization'\n\n getAuthToken(): Promise<string> {\n return this.call('getAuthToken')\n }\n}\n\nexport class BackofficeCustomer extends BaseCallClass implements Backoffice.Customer {\n serviceName = 'customer'\n id?: string;\n name?: string;\n}\n\nexport class BackofficePlugin extends BaseCallClass implements Backoffice.Plugin {\n serviceName = 'plugin'\n id: string;\n srcUrl?: string;\n name?: string;\n}\n"],"file":"services.js"}
|
package/lib/esm/index.js
CHANGED
|
@@ -2,9 +2,10 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
|
|
|
2
2
|
|
|
3
3
|
import { Message } from "@one-commerce/sdk-shared";
|
|
4
4
|
import Channel from "iframe-channel";
|
|
5
|
-
import {
|
|
5
|
+
import { AddToCartContext } from "./backoffice/context";
|
|
6
|
+
import { BackofficeAuthorization, BackofficeCatalog, BackofficeCustomer, BackofficeLayout, BackofficeOrderpath, BackofficePlugin, BackofficeTenant, BackofficeUser } from "./backoffice/services";
|
|
6
7
|
import Events from "./events";
|
|
7
|
-
import { ShopAccount, ShopAuthorization, ShopCart, ShopCatalog, ShopConfig, ShopUtils } from "./
|
|
8
|
+
import { ShopAccount, ShopAuthorization, ShopCart, ShopCatalog, ShopConfig, ShopUtils } from "./shop/services";
|
|
8
9
|
import { BaseCallClass, generateCallId } from "./utils";
|
|
9
10
|
var SdkInternalEvents;
|
|
10
11
|
|
|
@@ -29,6 +30,10 @@ class Sdk extends Events {
|
|
|
29
30
|
console.warn('[SDK Core] ', ...data);
|
|
30
31
|
}
|
|
31
32
|
|
|
33
|
+
initializeContextClass() {
|
|
34
|
+
return new this.contextClass(this.callFunction.bind(this));
|
|
35
|
+
}
|
|
36
|
+
|
|
32
37
|
initializeServiceGetters() {
|
|
33
38
|
if (this.instances) {
|
|
34
39
|
Object.keys(this.instances).forEach(serviceName => {
|
|
@@ -56,6 +61,8 @@ class Sdk extends Events {
|
|
|
56
61
|
|
|
57
62
|
_defineProperty(this, "instances", void 0);
|
|
58
63
|
|
|
64
|
+
_defineProperty(this, "contextClass", void 0);
|
|
65
|
+
|
|
59
66
|
this.initializeServiceGetters();
|
|
60
67
|
this.origin = options.origin;
|
|
61
68
|
this.channel = new Channel({
|
|
@@ -141,6 +148,8 @@ class Sdk extends Events {
|
|
|
141
148
|
if (typeof options.autoheight !== 'undefined') {
|
|
142
149
|
this.autoheight = options.autoheight;
|
|
143
150
|
}
|
|
151
|
+
|
|
152
|
+
this.contextClass = options.context;
|
|
144
153
|
}
|
|
145
154
|
}
|
|
146
155
|
|
|
@@ -195,7 +204,8 @@ export class BackofficeSdk extends Sdk {
|
|
|
195
204
|
layout: new BackofficeLayout(this.callFunction.bind(this)),
|
|
196
205
|
authorization: new BackofficeAuthorization(this.callFunction.bind(this)),
|
|
197
206
|
customer: new BackofficeCustomer(this.callFunction.bind(this)),
|
|
198
|
-
plugin: new BackofficePlugin(this.callFunction.bind(this))
|
|
207
|
+
plugin: new BackofficePlugin(this.callFunction.bind(this)),
|
|
208
|
+
context: this.initializeContextClass()
|
|
199
209
|
});
|
|
200
210
|
}
|
|
201
211
|
|
|
@@ -219,4 +229,5 @@ export class ShopSdk extends Sdk {
|
|
|
219
229
|
}
|
|
220
230
|
|
|
221
231
|
}
|
|
232
|
+
export { AddToCartContext };
|
|
222
233
|
//# sourceMappingURL=index.js.map
|
package/lib/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.ts"],"names":["Message","Channel","BackofficeAuthorization","BackofficeCatalog","BackofficeCustomer","BackofficeLayout","BackofficeOrderpath","BackofficePlugin","BackofficeTenant","BackofficeUser","Events","ShopAccount","ShopAuthorization","ShopCart","ShopCatalog","ShopConfig","ShopUtils","BaseCallClass","generateCallId","SdkInternalEvents","SdkEvents","Sdk","log","data","debug","console","warn","initializeServiceGetters","instances","Object","keys","forEach","serviceName","defineProperty","get","isInitialized","constructor","options","origin","channel","targetOrigin","target","window","parent","subscribe","INIT","payload","entries","key","value","update","attributesForKey","emit","UPDATE","FRAME_HEIGHT_REQUEST","autoheight","sendFrameHeight","connect","then","initializeHeightObserver","setupOptions","body","document","html","documentElement","height","Math","max","scrollHeight","offsetHeight","clientHeight","postMessage","FRAME_HEIGHT_CHANGE","onMutationObserved","querySelector","config","attributes","attributeOldValue","characterData","characterDataOldValue","childList","subtree","heightMutationObserver","MutationObserver","observe","callFunction","service","fun","callId","METHOD_CALL","method","Promise","resolve","onChannelMessage","response","unsubscribe","METHOD_RESULT","result","navigate","event","NAVIGATION_PUSH","BackofficeSdk","route","hash","query","orderpath","bind","catalog","user","tenant","layout","authorization","customer","plugin","ShopSdk","cart","account","utils"],"mappings":"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","sourcesContent":["import {Backoffice, Message, Route, Shop} from \"@one-commerce/sdk-shared\";\nimport Channel from \"iframe-channel\"\n\nimport {\n BackofficeAuthorization,\n BackofficeCatalog,\n BackofficeCustomer,\n BackofficeLayout,\n BackofficeOrderpath,\n BackofficePlugin,\n BackofficeTenant,\n BackofficeUser\n} from \"./backofficeServices\";\nimport Events from \"./events\";\nimport {\n ShopAccount, ShopAuthorization,\n ShopCart,\n ShopCatalog, ShopConfig, ShopUtils,\n} from \"./shopServices\";\nimport { BaseCallClass, generateCallId } from \"./utils\";\n\nenum SdkInternalEvents {\n INIT='INIT',\n UPDATE='UPDATE'\n}\nexport enum SdkEvents {\n INIT='INIT',\n UPDATE='UPDATE',\n}\nexport interface SdkOptions {\n debug?: boolean\n autoheight?: boolean\n origin: string\n}\n\ninterface NamedNavigationPayload {\n name: string\n params: any\n}\n\ninterface PathNavigationPayload {\n path: string\n params: any\n}\n\nabstract class Sdk<T> extends Events {\n private channel!: Channel;\n private static debug = false\n private autoheight = true\n private heightMutationObserver = null\n origin: string;\n isInitialized = false\n instances!: T;\n\n private static log(...data: any[]) {\n Sdk.debug && console.log('[SDK Core] ', ...data)\n }\n\n private static warn(...data: any[]) {\n console.warn('[SDK Core] ', ...data)\n }\n\n private initializeServiceGetters(): void {\n if (this.instances) {\n Object.keys(this.instances).forEach((serviceName: string) => {\n Object.defineProperty(this, serviceName, {\n get: () => {\n return this.isInitialized ? this.instances![serviceName as keyof T] : null\n }\n })\n })\n }\n }\n\n constructor(options: SdkOptions) {\n super()\n this.initializeServiceGetters()\n this.origin = options.origin\n this.channel = new Channel({\n targetOrigin: this.origin,\n target: window.parent,\n })\n this.channel.subscribe(Message.INIT, (payload: any) => {\n Sdk.log('Handling INIT message')\n Object.entries(this.instances!).forEach(([key, value]: [key: string, value: BaseCallClass | Record<string, any>]) => {\n if (value instanceof BaseCallClass) {\n value.update(payload)\n } else {\n const attributesForKey = payload[key]\n if (typeof attributesForKey !== 'undefined') {\n BaseCallClass.update(value as Record<string, any>, payload[key])\n } else {\n Sdk.warn(`Missing attributes for ${key} in `, payload)\n }\n }\n })\n Sdk.log('Emitting INIT with payload ', this.instances)\n this.emit(SdkInternalEvents.INIT, this.instances)\n this.isInitialized = true\n })\n this.channel.subscribe(Message.UPDATE, (payload: any) => {\n Sdk.log('Emitting UPDATE with payload ', payload)\n this.emit(SdkInternalEvents.UPDATE, payload)\n })\n this.channel.subscribe(Message.FRAME_HEIGHT_REQUEST, (payload: any) => {\n if (this.autoheight) {\n Sdk.log('Request for iframe height')\n this.sendFrameHeight()\n }\n })\n this.channel.connect().then(() => {\n Sdk.log('Connected with ONe SDK')\n if(this.autoheight) {\n this.initializeHeightObserver()\n }\n })\n this.setupOptions(options)\n Sdk.log('Initialized.')\n }\n\n private sendFrameHeight() {\n const body = document.body, html = document.documentElement;\n const height = Math.max(body.scrollHeight, body.offsetHeight,\n html.clientHeight, html.scrollHeight, html.offsetHeight);\n this.channel.postMessage(Message.FRAME_HEIGHT_CHANGE, height)\n }\n\n private initializeHeightObserver() {\n if (\"MutationObserver\" in window) {\n const onMutationObserved = () => {\n this.sendFrameHeight()\n }\n const target = document.querySelector('body'),\n config = {\n attributes: true,\n attributeOldValue: false,\n characterData: true,\n characterDataOldValue: false,\n childList: true,\n subtree: true\n }\n\n this.heightMutationObserver = new MutationObserver(onMutationObserved)\n\n Sdk.log('Create body MutationObserver')\n this.heightMutationObserver.observe(target, config)\n } else {\n Sdk.warn('MutationObserver not available. Auto-height functionality disabled.')\n }\n }\n\n private setupOptions(options?: SdkOptions) {\n if (options) {\n if (typeof options.debug !== 'undefined') {\n Sdk.debug = options.debug\n }\n if (typeof options.autoheight !== 'undefined') {\n this.autoheight = options.autoheight\n }\n }\n }\n protected callFunction(service: string, fun: string, ...payload: any) {\n const callId: string = generateCallId()\n if (this.isInitialized) {\n Sdk.log(`Call ID ${callId} for ${service}:${fun}`, payload)\n this.channel.postMessage(Message.METHOD_CALL, {\n callId,\n service,\n method: fun,\n payload: payload,\n })\n return new Promise((resolve) => {\n const onChannelMessage = (response: any) => {\n if (response.callId === callId) {\n this.channel.unsubscribe(Message.METHOD_RESULT, onChannelMessage)\n return resolve(response.result)\n }\n }\n this.channel.subscribe(Message.METHOD_RESULT, onChannelMessage)\n })\n }\n Sdk.log('SDK is not initialized!')\n return Promise.resolve(null)\n }\n\n public navigate(event: NamedNavigationPayload | PathNavigationPayload) {\n this.channel.postMessage(Message.NAVIGATION_PUSH, event)\n }\n\n}\n\nexport interface BackofficeInstances extends Backoffice.Api {\n route: Route,\n orderpath: BackofficeOrderpath,\n catalog: BackofficeCatalog,\n user: BackofficeUser,\n tenant: BackofficeTenant,\n layout: BackofficeLayout,\n authorization: BackofficeAuthorization,\n customer: BackofficeCustomer,\n plugin: BackofficePlugin\n}\n\nexport interface ShopInstances extends Shop.Api {\n authorization: ShopAuthorization,\n route: Route,\n cart: ShopCart,\n catalog: ShopCatalog,\n account: ShopAccount,\n utils: ShopUtils\n config: ShopConfig\n}\n\nexport class BackofficeSdk extends Sdk<BackofficeInstances> {\n instances = {\n route: {\n hash: '',\n query: {},\n },\n orderpath: new BackofficeOrderpath(this.callFunction.bind(this)),\n catalog: new BackofficeCatalog(this.callFunction.bind(this)),\n user: new BackofficeUser(this.callFunction.bind(this)),\n tenant: new BackofficeTenant(this.callFunction.bind(this)),\n layout: new BackofficeLayout(this.callFunction.bind(this)),\n authorization: new BackofficeAuthorization(this.callFunction.bind(this)),\n customer: new BackofficeCustomer(this.callFunction.bind(this)),\n plugin: new BackofficePlugin(this.callFunction.bind(this)),\n }\n}\n\nexport class ShopSdk extends Sdk<ShopInstances> {\n instances = {\n route: {\n hash: '',\n query: {},\n },\n authorization: new ShopAuthorization(this.callFunction.bind(this)),\n cart: new ShopCart(this.callFunction.bind(this)),\n catalog: new ShopCatalog(this.callFunction.bind(this)),\n account: new ShopAccount(this.callFunction.bind(this)),\n utils: new ShopUtils(this.callFunction.bind(this)),\n config: new ShopConfig(this.callFunction.bind(this))\n }\n}\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts"],"names":["Message","Channel","AddToCartContext","BackofficeAuthorization","BackofficeCatalog","BackofficeCustomer","BackofficeLayout","BackofficeOrderpath","BackofficePlugin","BackofficeTenant","BackofficeUser","Events","ShopAccount","ShopAuthorization","ShopCart","ShopCatalog","ShopConfig","ShopUtils","BaseCallClass","generateCallId","SdkInternalEvents","SdkEvents","Sdk","log","data","debug","console","warn","initializeContextClass","contextClass","callFunction","bind","initializeServiceGetters","instances","Object","keys","forEach","serviceName","defineProperty","get","isInitialized","constructor","options","origin","channel","targetOrigin","target","window","parent","subscribe","INIT","payload","entries","key","value","update","attributesForKey","emit","UPDATE","FRAME_HEIGHT_REQUEST","autoheight","sendFrameHeight","connect","then","initializeHeightObserver","setupOptions","body","document","html","documentElement","height","Math","max","scrollHeight","offsetHeight","clientHeight","postMessage","FRAME_HEIGHT_CHANGE","onMutationObserved","querySelector","config","attributes","attributeOldValue","characterData","characterDataOldValue","childList","subtree","heightMutationObserver","MutationObserver","observe","context","service","fun","callId","METHOD_CALL","method","Promise","resolve","onChannelMessage","response","unsubscribe","METHOD_RESULT","result","navigate","event","NAVIGATION_PUSH","BackofficeSdk","route","hash","query","orderpath","catalog","user","tenant","layout","authorization","customer","plugin","ShopSdk","cart","account","utils"],"mappings":"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","sourcesContent":["import {\n Backoffice,\n Message,\n Route,\n Shop\n} from \"@one-commerce/sdk-shared\";\nimport Channel from \"iframe-channel\"\n\nimport {\n AddToCartContext,\n} from \"./backoffice/context\";\nimport {\n BackofficeAuthorization,\n BackofficeCatalog,\n BackofficeCustomer,\n BackofficeLayout,\n BackofficeOrderpath,\n BackofficePlugin,\n BackofficeTenant,\n BackofficeUser,\n} from \"./backoffice/services\";\nimport Events from \"./events\";\nimport {\n ShopAccount, ShopAuthorization,\n ShopCart,\n ShopCatalog, ShopConfig, ShopUtils,\n} from \"./shop/services\";\nimport { BaseCallClass, generateCallId } from \"./utils\";\n\nexport type AvailableContext = AddToCartContext\n\nenum SdkInternalEvents {\n INIT='INIT',\n UPDATE='UPDATE'\n}\nexport enum SdkEvents {\n INIT='INIT',\n UPDATE='UPDATE',\n}\nexport interface SdkOptions {\n debug?: boolean\n autoheight?: boolean\n origin: string,\n context?: Class<AvailableContext>;\n}\n\ninterface NamedNavigationPayload {\n name: string\n params: any\n}\n\ninterface PathNavigationPayload {\n path: string\n params: any\n}\n\nexport type Class<T = any> = new (...args: any[]) => T;\n\nabstract class Sdk<T> extends Events {\n private channel!: Channel;\n private static debug = false\n private autoheight = true\n private heightMutationObserver = null\n origin: string;\n isInitialized = false\n instances!: T;\n contextClass?: Class<AvailableContext>;\n\n private static log(...data: any[]) {\n Sdk.debug && console.log('[SDK Core] ', ...data)\n }\n\n private static warn(...data: any[]) {\n console.warn('[SDK Core] ', ...data)\n }\n\n public initializeContextClass(): AvailableContext {\n return new this.contextClass(this.callFunction.bind(this))\n }\n\n private initializeServiceGetters(): void {\n if (this.instances) {\n Object.keys(this.instances).forEach((serviceName: string) => {\n Object.defineProperty(this, serviceName, {\n get: () => {\n return this.isInitialized ? this.instances![serviceName as keyof T] : null\n }\n })\n })\n }\n }\n\n constructor(options: SdkOptions) {\n super()\n this.initializeServiceGetters()\n this.origin = options.origin\n this.channel = new Channel({\n targetOrigin: this.origin,\n target: window.parent,\n })\n this.channel.subscribe(Message.INIT, (payload: any) => {\n Sdk.log('Handling INIT message')\n Object.entries(this.instances!).forEach(([key, value]: [key: string, value: BaseCallClass | Record<string, any>]) => {\n if (value instanceof BaseCallClass) {\n value.update(payload)\n } else {\n const attributesForKey = payload[key]\n if (typeof attributesForKey !== 'undefined') {\n BaseCallClass.update(value as Record<string, any>, payload[key])\n } else {\n Sdk.warn(`Missing attributes for ${key} in `, payload)\n }\n }\n })\n Sdk.log('Emitting INIT with payload ', this.instances)\n this.emit(SdkInternalEvents.INIT, this.instances)\n this.isInitialized = true\n })\n this.channel.subscribe(Message.UPDATE, (payload: any) => {\n Sdk.log('Emitting UPDATE with payload ', payload)\n this.emit(SdkInternalEvents.UPDATE, payload)\n })\n this.channel.subscribe(Message.FRAME_HEIGHT_REQUEST, (payload: any) => {\n if (this.autoheight) {\n Sdk.log('Request for iframe height')\n this.sendFrameHeight()\n }\n })\n this.channel.connect().then(() => {\n Sdk.log('Connected with ONe SDK')\n if(this.autoheight) {\n this.initializeHeightObserver()\n }\n })\n this.setupOptions(options)\n Sdk.log('Initialized.')\n }\n\n private sendFrameHeight() {\n const body = document.body, html = document.documentElement;\n const height = Math.max(body.scrollHeight, body.offsetHeight,\n html.clientHeight, html.scrollHeight, html.offsetHeight);\n this.channel.postMessage(Message.FRAME_HEIGHT_CHANGE, height)\n }\n\n private initializeHeightObserver() {\n if (\"MutationObserver\" in window) {\n const onMutationObserved = () => {\n this.sendFrameHeight()\n }\n const target = document.querySelector('body'),\n config = {\n attributes: true,\n attributeOldValue: false,\n characterData: true,\n characterDataOldValue: false,\n childList: true,\n subtree: true\n }\n\n this.heightMutationObserver = new MutationObserver(onMutationObserved)\n\n Sdk.log('Create body MutationObserver')\n this.heightMutationObserver.observe(target, config)\n } else {\n Sdk.warn('MutationObserver not available. Auto-height functionality disabled.')\n }\n }\n\n private setupOptions(options?: SdkOptions) {\n if (options) {\n if (typeof options.debug !== 'undefined') {\n Sdk.debug = options.debug\n }\n if (typeof options.autoheight !== 'undefined') {\n this.autoheight = options.autoheight\n }\n this.contextClass = options.context\n }\n }\n protected callFunction(service: string, fun: string, ...payload: any) {\n const callId: string = generateCallId()\n if (this.isInitialized) {\n Sdk.log(`Call ID ${callId} for ${service}:${fun}`, payload)\n this.channel.postMessage(Message.METHOD_CALL, {\n callId,\n service,\n method: fun,\n payload: payload,\n })\n return new Promise((resolve) => {\n const onChannelMessage = (response: any) => {\n if (response.callId === callId) {\n this.channel.unsubscribe(Message.METHOD_RESULT, onChannelMessage)\n return resolve(response.result)\n }\n }\n this.channel.subscribe(Message.METHOD_RESULT, onChannelMessage)\n })\n }\n Sdk.log('SDK is not initialized!')\n return Promise.resolve(null)\n }\n\n public navigate(event: NamedNavigationPayload | PathNavigationPayload) {\n this.channel.postMessage(Message.NAVIGATION_PUSH, event)\n }\n\n}\n\nexport interface BackofficeInstances extends Backoffice.Api {\n route: Route,\n orderpath: BackofficeOrderpath,\n catalog: BackofficeCatalog,\n user: BackofficeUser,\n tenant: BackofficeTenant,\n layout: BackofficeLayout,\n authorization: BackofficeAuthorization,\n customer: BackofficeCustomer,\n plugin: BackofficePlugin,\n context: AvailableContext\n}\n\nexport interface ShopInstances extends Shop.Api {\n authorization: ShopAuthorization,\n route: Route,\n cart: ShopCart,\n catalog: ShopCatalog,\n account: ShopAccount,\n utils: ShopUtils\n config: ShopConfig\n}\n\nexport class BackofficeSdk extends Sdk<BackofficeInstances> {\n instances = {\n route: {\n hash: '',\n query: {},\n },\n orderpath: new BackofficeOrderpath(this.callFunction.bind(this)),\n catalog: new BackofficeCatalog(this.callFunction.bind(this)),\n user: new BackofficeUser(this.callFunction.bind(this)),\n tenant: new BackofficeTenant(this.callFunction.bind(this)),\n layout: new BackofficeLayout(this.callFunction.bind(this)),\n authorization: new BackofficeAuthorization(this.callFunction.bind(this)),\n customer: new BackofficeCustomer(this.callFunction.bind(this)),\n plugin: new BackofficePlugin(this.callFunction.bind(this)),\n context: this.initializeContextClass()\n }\n}\n\nexport class ShopSdk extends Sdk<ShopInstances> {\n instances = {\n route: {\n hash: '',\n query: {},\n },\n authorization: new ShopAuthorization(this.callFunction.bind(this)),\n cart: new ShopCart(this.callFunction.bind(this)),\n catalog: new ShopCatalog(this.callFunction.bind(this)),\n account: new ShopAccount(this.callFunction.bind(this)),\n utils: new ShopUtils(this.callFunction.bind(this)),\n config: new ShopConfig(this.callFunction.bind(this))\n }\n}\n\nexport {\n AddToCartContext\n}\n"],"file":"index.js"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
2
|
|
|
3
|
-
import { BaseCallClass } from "
|
|
3
|
+
import { BaseCallClass } from "../utils";
|
|
4
4
|
export class ShopCatalog extends BaseCallClass {
|
|
5
5
|
constructor(...args) {
|
|
6
6
|
super(...args);
|
|
@@ -145,4 +145,4 @@ export class ShopConfig extends BaseCallClass {
|
|
|
145
145
|
}
|
|
146
146
|
|
|
147
147
|
}
|
|
148
|
-
//# sourceMappingURL=
|
|
148
|
+
//# sourceMappingURL=services.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/shop/services.ts"],"names":["BaseCallClass","ShopCatalog","fetchProduct","productId","call","getCategoryById","categoryId","ShopAccount","hasSegment","name","logout","ShopCart","addToCart","amount","where","cartId","ShopAuthorization","getAuthToken","ShopUtils","constructor","routes","getCategoryPath","getManufacturerSearchUrl","getProductUrl","isExternalUrl","id","manufacturer","product","url","ShopConfig"],"mappings":";;AACA,SAAQA,aAAR,QAA4B,UAA5B;AAGA,OAAO,MAAMC,WAAN,SAA0BD,aAA1B,CAAgE;AAAA;AAAA;;AAAA,yCACvD,SADuD;;AAAA;;AAAA;AAAA;;AAKrEE,EAAAA,YAAY,CAACC,SAAD,EAAkC;AAC5C,WAAO,KAAKC,IAAL,CAAU,cAAV,EAA0BD,SAA1B,CAAP;AACD;;AAEDE,EAAAA,eAAe,CAACC,UAAD,EAAmC;AAChD,WAAO,KAAKF,IAAL,CAAU,iBAAV,EAA6BE,UAA7B,CAAP;AACD;;AAXoE;AAgBvE,OAAO,MAAMC,WAAN,SAA0BP,aAA1B,CAAgE;AAAA;AAAA;;AAAA,yCACvD,SADuD;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAqDrEQ,EAAAA,UAAU,CAACC,IAAD,EAAiC;AACzC,WAAO,KAAKL,IAAL,CAAU,YAAV,EAAwBK,IAAxB,CAAP;AACD;;AAWDC,EAAAA,MAAM,GAAS,CACb;AACD;;AApEoE;AAuEvE,OAAO,MAAMC,QAAN,SAAuBX,aAAvB,CAA0D;AAAA;AAAA;;AAAA,yCACjD,MADiD;;AAAA;;AAAA;;AAAA;AAAA;;AAM/DY,EAAAA,SAAS,CAACT,SAAD,EAAoBU,MAApB,EAAoCC,KAApC,EAAmDC,MAAnD,EAAmF;AAC1F,WAAO,KAAKX,IAAL,CAAU,WAAV,EAAuBD,SAAvB,EAAkCU,MAAlC,EAA0CC,KAA1C,EAAiDC,MAAjD,CAAP;AACD;;AAR8D;AAWjE,OAAO,MAAMC,iBAAN,SAAgChB,aAAhC,CAA4E;AAAA;AAAA;;AAAA,yCACnE,eADmE;AAAA;;AAGjFiB,EAAAA,YAAY,GAAoB;AAC9B,WAAO,KAAKb,IAAL,CAAU,cAAV,CAAP;AACD;;AALgF;AAQnF,OAAO,MAAMc,SAAN,SAAwBlB,aAAxB,CAA4D;AASjEmB,EAAAA,WAAW,CAACf,IAAD,EAAoE;AAC7E,UAAMA,IAAN;;AAD6E,yCARjE,OAQiE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAE7E,SAAKgB,MAAL,GAAc;AACZC,MAAAA,eAAe,EAAE,KAAKA,eADV;AAEZC,MAAAA,wBAAwB,EAAE,KAAKA,wBAFnB;AAGZC,MAAAA,aAAa,EAAE,KAAKA,aAHR;AAIZC,MAAAA,aAAa,EAAE,KAAKA;AAJR,KAAd;AAMD;;AAEDH,EAAAA,eAAe,CAACI,EAAD,EAAsC;AACnD,WAAO,KAAKrB,IAAL,CAAU,iBAAV,EAA6BqB,EAA7B,CAAP;AACD;;AAEDH,EAAAA,wBAAwB,CAACI,YAAD,EAAwC;AAC9D,WAAO,KAAKtB,IAAL,CAAU,0BAAV,EAAsCsB,YAAtC,CAAP;AACD;;AAEDH,EAAAA,aAAa,CAACI,OAAD,EAAuC;AAClD,WAAO,KAAKvB,IAAL,CAAU,eAAV,EAA2BuB,OAA3B,CAAP;AACD;;AAEDH,EAAAA,aAAa,CAACI,GAAD,EAAgC;AAC3C,WAAO,KAAKxB,IAAL,CAAU,eAAV,EAA2BwB,GAA3B,CAAP;AACD;;AAjCgE;AAuDnE,OAAO,MAAMC,UAAN,SAAyB7B,aAAzB,CAA8D;AAAA;AAAA;;AAAA,yCACrD,QADqD;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAA","sourcesContent":["import {Shop} from \"@one-commerce/sdk-shared\";\nimport {BaseCallClass} from \"../utils\";\n\n\nexport class ShopCatalog extends BaseCallClass implements Shop.Catalog {\n serviceName = 'catalog'\n categories!: Array<any>;\n selectedCategoryId!: string | null;\n\n fetchProduct(productId: string): Promise<any> {\n return this.call('fetchProduct', productId)\n }\n\n getCategoryById(categoryId: string): Promise<any> {\n return this.call('getCategoryById', categoryId)\n }\n\n\n}\n\nexport class ShopAccount extends BaseCallClass implements Shop.Account {\n serviceName = 'account'\n client!: {\n id: string;\n name: string;\n externalId?: string;\n tin?: string;\n phone?: string;\n segmentId?: string;\n segments: {\n additionalSegments?: Array<{\n id: string;\n name: string;\n externalId?: string;\n parentSegmentId?: string;\n }>;\n mainSegment: {\n id: string;\n name: string;\n externalId?: string;\n parentSegmentId?: string;\n };\n };\n warehouseId?: string;\n termPayment?: {\n id: string;\n label?: string;\n paymentDaysPeriod?: number;\n };\n isTaxPayer?: boolean;\n billingAddress?: {\n city: string;\n country: string;\n id: string;\n isDefault: boolean;\n name: string;\n phone: string;\n street: string;\n type: string;\n zipCode: string\n }\n };\n isAuthenticated!: boolean;\n user!: {\n email?: string;\n name?: string;\n phone?: string;\n /**\n * @deprecated Use non-nested function instead\n */\n hasSegment(name: string): Promise<boolean>\n };\n\n hasSegment(name: string): Promise<boolean> {\n return this.call('hasSegment', name)\n }\n\n manager!: {\n additionalEmail?: string;\n email: string; id: string;\n landlinePhone?: string;\n mobilePhone?: string;\n name: string;\n photo?: string\n };\n\n logout(): void {\n // NotImplementedYet\n }\n}\n\nexport class ShopCart extends BaseCallClass implements Shop.Cart {\n serviceName = 'cart'\n carts!: Array<any>;\n currentCart!: any;\n totalCartPrice!: number;\n\n addToCart(productId: string, amount: number, where: string, cartId?: string): Promise<void> {\n return this.call('addToCart', productId, amount, where, cartId)\n }\n}\n\nexport class ShopAuthorization extends BaseCallClass implements Shop.Authorization {\n serviceName = 'authorization'\n\n getAuthToken(): Promise<string> {\n return this.call('getAuthToken')\n }\n}\n\nexport class ShopUtils extends BaseCallClass implements Shop.Utils {\n serviceName = 'utils'\n currency!: any;\n isAnonymousAndPurchaseDisabled!: boolean;\n isB2B!: boolean;\n isB2BAndPlatformIsNotOpened!: boolean;\n isIndexPage!: boolean;\n isPurchaseEnabledOrAuthenticated!: boolean;\n\n constructor(call: (service: string, fun: string, ...arg: any) => Promise<any>) {\n super(call)\n this.routes = {\n getCategoryPath: this.getCategoryPath,\n getManufacturerSearchUrl: this.getManufacturerSearchUrl,\n getProductUrl: this.getProductUrl,\n isExternalUrl: this.isExternalUrl\n }\n }\n\n getCategoryPath(id?: string): Promise<string | null> {\n return this.call('getCategoryPath', id)\n }\n\n getManufacturerSearchUrl(manufacturer: string): Promise<string> {\n return this.call('getManufacturerSearchUrl', manufacturer)\n }\n\n getProductUrl(product: any): Promise<string | null> {\n return this.call('getProductUrl', product)\n }\n\n isExternalUrl(url: string): Promise<boolean> {\n return this.call('isExternalUrl', url)\n }\n\n routes: {\n /**\n * @deprecated Use non-nested function instead\n */\n getCategoryPath(id?: string): (Promise<string | null> | string | null);\n /**\n * @deprecated Use non-nested function instead\n */\n getManufacturerSearchUrl(manufacturer: string): (Promise<string> | string);\n /**\n * @deprecated Use non-nested function instead\n */\n getProductUrl(product: any): (Promise<string | null> | string | null);\n /**\n * @deprecated Use non-nested function instead\n */\n isExternalUrl(url: string): (Promise<boolean> | boolean)\n };\n}\n\nexport class ShopConfig extends BaseCallClass implements Shop.Config {\n serviceName = 'config'\n accessMode!: string;\n isB2CRegistrationEnabled!: boolean;\n isCatalogOpened!: boolean;\n isGrossSelected!: boolean;\n isPlatformClosed!: boolean;\n isPlatformOpened!: boolean;\n isPurchaseEnabled!: boolean;\n isRegistrationEnabled!: boolean;\n currency: any;\n}\n"],"file":"services.js"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Backoffice } from "@one-commerce/sdk-shared";
|
|
2
|
+
import { BaseCallClass } from "../utils";
|
|
3
|
+
export declare class AddToCartContext extends BaseCallClass implements Backoffice.Context.AddToCart {
|
|
4
|
+
serviceName: Backoffice.Context.AvailableContext;
|
|
5
|
+
productId: string;
|
|
6
|
+
cartId: string;
|
|
7
|
+
warehouses: Array<any>;
|
|
8
|
+
closePlugin(): Promise<void>;
|
|
9
|
+
closePluginAndAddToCart(): Promise<void>;
|
|
10
|
+
closePluginAndRefreshCart(): Promise<void>;
|
|
11
|
+
}
|
|
12
|
+
export declare type AvailableContext = AddToCartContext;
|
|
13
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/backoffice/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;AAEvC,qBAAa,gBAAiB,SAAQ,aAAc,YAAW,UAAU,CAAC,OAAO,CAAC,SAAS;IACzF,WAAW,sCAAkD;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACvB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAG5B,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC;IAGxC,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC;CAG3C;AAED,oBAAY,gBAAgB,GAAG,gBAAgB,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Backoffice } from "@one-commerce/sdk-shared";
|
|
2
|
-
import { BaseCallClass } from "
|
|
2
|
+
import { BaseCallClass } from "../utils";
|
|
3
3
|
export declare class BackofficeCatalog extends BaseCallClass implements Backoffice.Catalog {
|
|
4
4
|
serviceName: string;
|
|
5
5
|
fetchCategories(): Promise<Array<unknown>>;
|
|
@@ -40,4 +40,4 @@ export declare class BackofficePlugin extends BaseCallClass implements Backoffic
|
|
|
40
40
|
srcUrl?: string;
|
|
41
41
|
name?: string;
|
|
42
42
|
}
|
|
43
|
-
//# sourceMappingURL=
|
|
43
|
+
//# sourceMappingURL=services.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"services.d.ts","sourceRoot":"","sources":["../../../src/backoffice/services.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAC;AAEpD,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;AAEvC,qBAAa,iBAAkB,SAAQ,aAAc,YAAW,UAAU,CAAC,OAAO;IAChF,WAAW,SAAY;IAEvB,eAAe,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAGnC,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAGlD;AAED,qBAAa,cAAe,SAAQ,aAAc,YAAW,UAAU,CAAC,IAAI;IAC1E,WAAW,SAAS;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,EAAG,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,EAAG,KAAK,CAAC,MAAM,CAAC,CAAC;CAC7B;AAED,qBAAa,gBAAiB,SAAQ,aAAc,YAAW,UAAU,CAAC,MAAM;IAC9E,WAAW,SAAW;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,mBAAoB,SAAQ,aAAc,YAAW,UAAU,CAAC,SAAS;IACpF,WAAW,SAAc;CAC1B;AAED,qBAAa,gBAAiB,SAAQ,aAAc,YAAW,UAAU,CAAC,MAAM;IAC9E,WAAW,SAAW;IACtB,aAAa,EAAG,OAAO,CAAC;CACzB;AAED,qBAAa,uBAAwB,SAAQ,aAAc,YAAW,UAAU,CAAC,aAAa;IAC5F,WAAW,SAAkB;IAE7B,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;CAGhC;AAED,qBAAa,kBAAmB,SAAQ,aAAc,YAAW,UAAU,CAAC,QAAQ;IAClF,WAAW,SAAa;IACxB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,gBAAiB,SAAQ,aAAc,YAAW,UAAU,CAAC,MAAM;IAC9E,WAAW,SAAW;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf"}
|
package/lib/types/index.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { Backoffice, Route, Shop } from "@one-commerce/sdk-shared";
|
|
2
|
-
import {
|
|
2
|
+
import { AddToCartContext } from "./backoffice/context";
|
|
3
|
+
import { BackofficeAuthorization, BackofficeCatalog, BackofficeCustomer, BackofficeLayout, BackofficeOrderpath, BackofficePlugin, BackofficeTenant, BackofficeUser } from "./backoffice/services";
|
|
3
4
|
import Events from "./events";
|
|
4
|
-
import { ShopAccount, ShopAuthorization, ShopCart, ShopCatalog, ShopConfig, ShopUtils } from "./
|
|
5
|
+
import { ShopAccount, ShopAuthorization, ShopCart, ShopCatalog, ShopConfig, ShopUtils } from "./shop/services";
|
|
6
|
+
export declare type AvailableContext = AddToCartContext;
|
|
5
7
|
export declare enum SdkEvents {
|
|
6
8
|
INIT = "INIT",
|
|
7
9
|
UPDATE = "UPDATE"
|
|
@@ -10,6 +12,7 @@ export interface SdkOptions {
|
|
|
10
12
|
debug?: boolean;
|
|
11
13
|
autoheight?: boolean;
|
|
12
14
|
origin: string;
|
|
15
|
+
context?: Class<AvailableContext>;
|
|
13
16
|
}
|
|
14
17
|
interface NamedNavigationPayload {
|
|
15
18
|
name: string;
|
|
@@ -19,6 +22,7 @@ interface PathNavigationPayload {
|
|
|
19
22
|
path: string;
|
|
20
23
|
params: any;
|
|
21
24
|
}
|
|
25
|
+
export declare type Class<T = any> = new (...args: any[]) => T;
|
|
22
26
|
declare abstract class Sdk<T> extends Events {
|
|
23
27
|
private channel;
|
|
24
28
|
private static debug;
|
|
@@ -27,8 +31,10 @@ declare abstract class Sdk<T> extends Events {
|
|
|
27
31
|
origin: string;
|
|
28
32
|
isInitialized: boolean;
|
|
29
33
|
instances: T;
|
|
34
|
+
contextClass?: Class<AvailableContext>;
|
|
30
35
|
private static log;
|
|
31
36
|
private static warn;
|
|
37
|
+
initializeContextClass(): AvailableContext;
|
|
32
38
|
private initializeServiceGetters;
|
|
33
39
|
constructor(options: SdkOptions);
|
|
34
40
|
private sendFrameHeight;
|
|
@@ -47,6 +53,7 @@ export interface BackofficeInstances extends Backoffice.Api {
|
|
|
47
53
|
authorization: BackofficeAuthorization;
|
|
48
54
|
customer: BackofficeCustomer;
|
|
49
55
|
plugin: BackofficePlugin;
|
|
56
|
+
context: AvailableContext;
|
|
50
57
|
}
|
|
51
58
|
export interface ShopInstances extends Shop.Api {
|
|
52
59
|
authorization: ShopAuthorization;
|
|
@@ -71,6 +78,7 @@ export declare class BackofficeSdk extends Sdk<BackofficeInstances> {
|
|
|
71
78
|
authorization: BackofficeAuthorization;
|
|
72
79
|
customer: BackofficeCustomer;
|
|
73
80
|
plugin: BackofficePlugin;
|
|
81
|
+
context: AddToCartContext;
|
|
74
82
|
};
|
|
75
83
|
}
|
|
76
84
|
export declare class ShopSdk extends Sdk<ShopInstances> {
|
|
@@ -87,5 +95,5 @@ export declare class ShopSdk extends Sdk<ShopInstances> {
|
|
|
87
95
|
config: ShopConfig;
|
|
88
96
|
};
|
|
89
97
|
}
|
|
90
|
-
export {};
|
|
98
|
+
export { AddToCartContext };
|
|
91
99
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAEV,KAAK,EACL,IAAI,EACL,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,EACL,WAAW,EAAE,iBAAiB,EAC9B,QAAQ,EACR,WAAW,EAAE,UAAU,EAAE,SAAS,EACnC,MAAM,iBAAiB,CAAC;AAGzB,oBAAY,gBAAgB,GAAG,gBAAgB,CAAA;AAM/C,oBAAY,SAAS;IACnB,IAAI,SAAO;IACX,MAAM,WAAS;CAChB;AACD,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;CACnC;AAED,UAAU,sBAAsB;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,GAAG,CAAA;CACZ;AAED,UAAU,qBAAqB;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,GAAG,CAAA;CACZ;AAED,oBAAY,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AAEvD,uBAAe,GAAG,CAAC,CAAC,CAAE,SAAQ,MAAM;IAClC,OAAO,CAAC,OAAO,CAAW;IAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAQ;IAC5B,OAAO,CAAC,UAAU,CAAO;IACzB,OAAO,CAAC,sBAAsB,CAAO;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,UAAQ;IACrB,SAAS,EAAG,CAAC,CAAC;IACd,YAAY,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAEvC,OAAO,CAAC,MAAM,CAAC,GAAG;IAIlB,OAAO,CAAC,MAAM,CAAC,IAAI;IAIZ,sBAAsB,IAAI,gBAAgB;IAIjD,OAAO,CAAC,wBAAwB;gBAYpB,OAAO,EAAE,UAAU;IA8C/B,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,wBAAwB;IAwBhC,OAAO,CAAC,YAAY;IAWpB,SAAS,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,GAAG;IAwB7D,QAAQ,CAAC,KAAK,EAAE,sBAAsB,GAAG,qBAAqB;CAItE;AAED,MAAM,WAAW,mBAAoB,SAAQ,UAAU,CAAC,GAAG;IACzD,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,EAAE,mBAAmB,CAAC;IAC/B,OAAO,EAAE,iBAAiB,CAAC;IAC3B,IAAI,EAAE,cAAc,CAAC;IACrB,MAAM,EAAE,gBAAgB,CAAC;IACzB,MAAM,EAAE,gBAAgB,CAAC;IACzB,aAAa,EAAE,uBAAuB,CAAC;IACvC,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,EAAE,gBAAgB,CAAA;CAC1B;AAED,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,GAAG;IAC7C,aAAa,EAAE,iBAAiB,CAAC;IACjC,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,EAAE,WAAW,CAAC;IACrB,KAAK,EAAE,SAAS,CAAA;IAChB,MAAM,EAAE,UAAU,CAAA;CACnB;AAED,qBAAa,aAAc,SAAQ,GAAG,CAAC,mBAAmB,CAAC;IACzD,SAAS;;;;;;;;;;;;;;MAcR;CACF;AAED,qBAAa,OAAQ,SAAQ,GAAG,CAAC,aAAa,CAAC;IAC7C,SAAS;;;;;;;;;;;MAWR;CACF;AAED,OAAO,EACL,gBAAgB,EACjB,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Shop } from "@one-commerce/sdk-shared";
|
|
2
|
-
import { BaseCallClass } from "
|
|
2
|
+
import { BaseCallClass } from "../utils";
|
|
3
3
|
export declare class ShopCatalog extends BaseCallClass implements Shop.Catalog {
|
|
4
4
|
serviceName: string;
|
|
5
5
|
categories: Array<any>;
|
|
@@ -126,4 +126,4 @@ export declare class ShopConfig extends BaseCallClass implements Shop.Config {
|
|
|
126
126
|
isRegistrationEnabled: boolean;
|
|
127
127
|
currency: any;
|
|
128
128
|
}
|
|
129
|
-
//# sourceMappingURL=
|
|
129
|
+
//# sourceMappingURL=services.d.ts.map
|