@geins/crm 0.6.1 → 0.7.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.
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { EventService, StorageInterface } from '@geins/core';
|
|
2
|
+
import type { FavoritesInterface } from '../types/favoritesTypes';
|
|
3
|
+
export interface FavoritesSessionOptions {
|
|
4
|
+
storage?: StorageInterface;
|
|
5
|
+
events?: EventService;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Client-side favorites session.
|
|
9
|
+
* Manages a list of favorite product IDs with storage persistence
|
|
10
|
+
* and event emission.
|
|
11
|
+
*
|
|
12
|
+
* Always reads from storage on every operation (no in-memory cache)
|
|
13
|
+
* so that cross-tab writes are immediately visible.
|
|
14
|
+
*/
|
|
15
|
+
export declare class FavoritesSession implements FavoritesInterface {
|
|
16
|
+
private _storage;
|
|
17
|
+
private _events?;
|
|
18
|
+
constructor(options?: FavoritesSessionOptions);
|
|
19
|
+
getAll(): string[];
|
|
20
|
+
has(productId: string): boolean;
|
|
21
|
+
add(productId: string): void;
|
|
22
|
+
remove(productId: string): void;
|
|
23
|
+
toggle(productId: string): boolean;
|
|
24
|
+
clear(): void;
|
|
25
|
+
get count(): number;
|
|
26
|
+
private readFromStorage;
|
|
27
|
+
private writeToStorage;
|
|
28
|
+
private emitEvent;
|
|
29
|
+
}
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("@geins/core"),n=require("@geins/types"),i=function(e,n){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,n){e.__proto__=n}||function(e,n){for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])},i(e,n)};function t(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function t(){this.constructor=e}i(e,n),e.prototype=null===n?Object.create(n):(t.prototype=n.prototype,new t)}var r=function(){return r=Object.assign||function(e){for(var n,i=1,t=arguments.length;i<t;i++)for(var r in n=arguments[i])Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r]);return e},r.apply(this,arguments)};function a(e,n,i,t){return new(i||(i=Promise))((function(r,a){function o(e){try{d(t.next(e))}catch(e){a(e)}}function s(e){try{d(t.throw(e))}catch(e){a(e)}}function d(e){var n;e.done?r(e.value):(n=e.value,n instanceof i?n:new i((function(e){e(n)}))).then(o,s)}d((t=t.apply(e,n||[])).next())}))}function o(e,n){var i,t,r,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return o.next=s(0),o.throw=s(1),o.return=s(2),"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(d){return function(s){if(i)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(i=1,t&&(r=2&s[0]?t.return:s[0]?t.throw||((r=t.return)&&r.call(t),0):t.next)&&!(r=r.call(t,s[1])).done)return r;switch(t=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,t=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(r=a.trys,(r=r.length>0&&r[r.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]<r[3])){a.label=s[1];break}if(6===s[0]&&a.label<r[1]){a.label=r[1],r=s;break}if(r&&a.label<r[2]){a.label=r[2],a.ops.push(s);break}r[2]&&a.ops.pop(),a.trys.pop();continue}s=n.call(e,a)}catch(e){s=[6,e],t=0}finally{i=r=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,d])}}}function s(e){var n=function(e){try{var n=e.split(".")[1];if(!n)return null;var i=n.replace(/-/g,"+").replace(/_/g,"/"),t=atob(i);return JSON.parse(t)}catch(e){return null}}(e);return n?Object.entries(n).map((function(e){var n=e[0],i=e[1];return Array.isArray(i)?i.map((function(e){return"".concat(n,"=").concat(e)})).join(";"):"".concat(n,"=").concat(i)})).join(";"):null}function d(e){var n=new Uint8Array(e).reduce((function(e,n){return e+String.fromCharCode(n)}),"");return btoa(n)}function u(e){return a(this,void 0,void 0,(function(){return o(this,(function(n){switch(n.label){case 0:return[4,crypto.subtle.digest("SHA-384",(new TextEncoder).encode(e+"Dd1dfLonNy6Am2fXQl2AcoI+IbhLhXvaibnDNn8uEa6vbJ05eyJajSuGFm9uQSmD"))];case 1:return[2,d(n.sent())]}}))}))}"function"==typeof SuppressedError&&SuppressedError;var c=function(){function n(n,i){if(!n||!i)throw new e.GeinsError("Both authEndpoint and signEndpoint are required",e.GeinsErrorCode.INVALID_ARGUMENT);this.authEndpoint=n,this.signEndpoint=i}return n.prototype.destroy=function(){},n.prototype.getAuthEndpointUrl=function(e){return"".concat(this.authEndpoint,"/").concat(e)},n.prototype.getSignEndpointUrl=function(e){return"".concat(this.signEndpoint).concat(encodeURIComponent(e))},n.prototype.extractRefreshTokenFromResponse=function(n){var i=n.headers.get(e.AUTH_HEADERS.REFRESH_TOKEN);if(!i)throw new e.AuthError("Challenge request failed");return i},n.prototype.requestAuthChallenge=function(i){return a(this,void 0,void 0,(function(){var t,r,a,s;return o(this,(function(o){switch(o.label){case 0:return t=this.getAuthEndpointUrl("login"),r={method:"POST",cache:"no-cache",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:i}),signal:AbortSignal.timeout(n.FETCH_TIMEOUT_MS)},[4,fetch(t,r)];case 1:return[4,o.sent().text()];case 2:if(!(a=o.sent()))throw new e.AuthError("Failed to request challenge: Empty response");if(!(null==(s=JSON.parse(a))?void 0:s.sign))throw new e.AuthError("Failed to fetch sign",e.GeinsErrorCode.AUTH_FAILED);return[2,s.sign]}}))}))},n.prototype.verifyAuthChallenge=function(i){return a(this,void 0,void 0,(function(){var t,r,a;return o(this,(function(o){switch(o.label){case 0:return t=this.getSignEndpointUrl(i),[4,fetch(t,{method:"GET",headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(n.FETCH_TIMEOUT_MS)})];case 1:if(!(r=o.sent()).ok)throw new e.AuthError("Failed to verify challenge");return[4,r.text()];case 2:if(!(a=o.sent()))throw new e.AuthError("Failed to verify challenge: Empty response");return[2,JSON.parse(a)]}}))}))},n.prototype.fetchUserToken=function(i,t,s){return a(this,void 0,void 0,(function(){var a,d,c,l,m,f,v,h,k,p;return o(this,(function(o){switch(o.label){case 0:return a=this.getAuthEndpointUrl("login"),[4,this.requestAuthChallenge(i)];case 1:return d=o.sent(),[4,this.verifyAuthChallenge(d)];case 2:return c=o.sent(),p={username:i,signature:c},[4,u(t)];case 3:return l=r.apply(void 0,[(p.password=o.sent(),p),s?{}:{sessionLifetime:30}]),m={method:"POST",cache:"no-cache",headers:{"Content-Type":"application/json"},body:JSON.stringify(l),signal:AbortSignal.timeout(n.FETCH_TIMEOUT_MS)},[4,fetch(a,m)];case 4:if(!(f=o.sent()).ok)throw new e.AuthError("Failed to fetch user token: ".concat(f.statusText));return v=this.extractRefreshTokenFromResponse(f),[4,f.text()];case 5:if(!(h=o.sent()))throw new e.AuthError("Failed to fetch user token: Empty response");return[2,{maxAge:(k=JSON.parse(h)).maxAge,token:k.token,refreshToken:v}]}}))}))},n.prototype.fetchRefreshToken=function(i){return a(this,void 0,void 0,(function(){var t,r,a,s,d,u,c;return o(this,(function(o){switch(o.label){case 0:return t=this.getAuthEndpointUrl("login"),r={method:"GET",cache:"no-cache",headers:(c={"Content-Type":"application/json"},c["".concat(e.AUTH_HEADERS.REFRESH_TOKEN)]=i,c),signal:AbortSignal.timeout(n.FETCH_TIMEOUT_MS)},[4,fetch(t,r)];case 1:if(!(a=o.sent()).ok)throw new e.AuthError("Failed to renew refresh token: ".concat(a.statusText));return s=this.extractRefreshTokenFromResponse(a),[4,a.text()];case 2:if(!(d=o.sent()))throw new e.AuthError("Failed to fetch user token: Empty response");return[2,{maxAge:(u=JSON.parse(d)).maxAge,token:u.token,refreshToken:s}]}}))}))},n.prototype.performChangePassword=function(i,t,r,s){return a(this,void 0,void 0,(function(){var a,d,c,l,m,f,v,h,k,p;return o(this,(function(o){switch(o.label){case 0:return a=this.getAuthEndpointUrl("password"),[4,this.requestAuthChallenge(i)];case 1:return d=o.sent(),[4,this.verifyAuthChallenge(d)];case 2:return c=o.sent(),k={username:i,signature:c},[4,u(t)];case 3:return k.password=o.sent(),[4,u(r)];case 4:return k.newPassword=o.sent(),l=k,m={method:"POST",cache:"no-cache",headers:(p={"Content-Type":"application/json"},p["".concat(e.AUTH_HEADERS.REFRESH_TOKEN)]=s,p),body:JSON.stringify(l),signal:AbortSignal.timeout(n.FETCH_TIMEOUT_MS)},[4,fetch(a,m)];case 5:if(!(f=o.sent()).ok)throw new e.AuthError("Failed to change password: ".concat(f.statusText));return s=this.extractRefreshTokenFromResponse(f),[4,f.text()];case 6:if(!(v=o.sent()))throw new e.AuthError("Failed to change password: Empty response");return[2,{maxAge:(h=JSON.parse(v)).maxAge,token:h.token,refreshToken:s}]}}))}))},n.prototype.performUserRegister=function(i,t){return a(this,void 0,void 0,(function(){var r,a,s,d,c,l,m,f,v,h;return o(this,(function(o){switch(o.label){case 0:return r=this.getAuthEndpointUrl("register"),[4,this.requestAuthChallenge(i)];case 1:return a=o.sent(),[4,this.verifyAuthChallenge(a)];case 2:return s=o.sent(),h={username:i,signature:s},[4,u(t)];case 3:return h.password=o.sent(),d=h,c={method:"POST",cache:"no-cache",headers:{"Content-Type":"application/json"},body:JSON.stringify(d),signal:AbortSignal.timeout(n.FETCH_TIMEOUT_MS)},[4,fetch(r,c)];case 4:if(!(l=o.sent()).ok)throw new e.AuthError("Failed to register user: ".concat(l.statusText));return m=this.extractRefreshTokenFromResponse(l),[4,l.text()];case 5:if(!(f=o.sent()))throw new e.AuthError("Failed to register user: Empty response");return[2,{maxAge:(v=JSON.parse(f)).maxAge,token:v.token,refreshToken:m}]}}))}))},n.prototype.register=function(e,n){return a(this,void 0,void 0,(function(){return o(this,(function(i){return[2,this.performUserRegister(e,n)]}))}))},n.prototype.login=function(e,n,i){return a(this,void 0,void 0,(function(){return o(this,(function(t){return[2,this.fetchUserToken(e,n,i)]}))}))},n.prototype.renewRefreshtoken=function(e){return a(this,void 0,void 0,(function(){return o(this,(function(n){return[2,this.fetchRefreshToken(e)]}))}))},n.prototype.changePassword=function(n,i){return a(this,void 0,void 0,(function(){return o(this,(function(t){if(!n.newPassword)throw new e.GeinsError("New password is required",e.GeinsErrorCode.INVALID_ARGUMENT);return[2,this.performChangePassword(n.username,n.password,n.newPassword,i)]}))}))},n.prototype.logout=function(e){return a(this,void 0,void 0,(function(){return o(this,(function(e){return[2,!0]}))}))},n.FETCH_TIMEOUT_MS=1e4,n}(),l=function(){function n(e,n){this.signEndpoint=e,this.authEndpoint=n,this.initClient()}return n.prototype.initClient=function(){this.client=new c(this.authEndpoint,this.signEndpoint)},n.prototype.ensureClientInitialized=function(){if(this.client||this.initClient(),!this.client)throw new e.GeinsError("AuthServiceClient is not initialized",e.GeinsErrorCode.NOT_INITIALIZED)},n.prototype.destroy=function(){this.client&&this.client.destroy(),this.client=void 0},n.prototype.login=function(e){return a(this,void 0,void 0,(function(){var i,t;return o(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),this.ensureClientInitialized(),[4,this.client.login(e.username,e.password,e.rememberUser)];case 1:return i=r.sent(),[2,n.getUserObjectFromToken(i.token,i.refreshToken)];case 2:return t=r.sent(),[2,this.handleError("Login failed",t)];case 3:return[2]}}))}))},n.prototype.getUser=function(e,i){return a(this,void 0,void 0,(function(){var t,r,a;return o(this,(function(o){switch(o.label){case 0:return o.trys.push([0,6,,7]),i?(t=n.getUserObjectFromToken(i,e))?(null===(a=t.tokens)||void 0===a?void 0:a.expiresSoon)?[4,this.refresh(e)]:[3,2]:[2,{succeeded:!1}]:[3,3];case 1:case 4:return[2,o.sent()];case 2:return[2,t];case 3:return[4,this.refresh(e)];case 5:return[3,7];case 6:return r=o.sent(),[2,this.handleError("Get user failed",r)];case 7:return[2]}}))}))},n.prototype.changePassword=function(e,i){return a(this,void 0,void 0,(function(){var t,r,a;return o(this,(function(o){switch(o.label){case 0:if(!e.newPassword||!i)return[2,{succeeded:!1}];o.label=1;case 1:return o.trys.push([1,3,,4]),this.ensureClientInitialized(),[4,this.client.changePassword(e,i)];case 2:return(t=o.sent()).token&&(r=n.getUserObjectFromToken(t.token,t.refreshToken))?[2,r]:[2,{succeeded:!1}];case 3:return a=o.sent(),[2,this.handleError("Token refresh failed",a)];case 4:return[2]}}))}))},n.prototype.refresh=function(e){return a(this,void 0,void 0,(function(){var i,t,r;return o(this,(function(a){switch(a.label){case 0:if(!e)return[2,{succeeded:!1}];a.label=1;case 1:return a.trys.push([1,3,,4]),this.ensureClientInitialized(),[4,this.client.renewRefreshtoken(e)];case 2:return(i=a.sent()).token&&(t=n.getUserObjectFromToken(i.token,i.refreshToken))?[2,t]:[2,{succeeded:!1}];case 3:return r=a.sent(),[2,this.handleError("Token refresh failed",r)];case 4:return[2]}}))}))},n.prototype.register=function(e){return a(this,void 0,void 0,(function(){var i,t;return o(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),this.ensureClientInitialized(),[4,this.client.register(e.username,e.password)];case 1:return(i=r.sent())?[2,n.getUserObjectFromToken(i.token,i.refreshToken)]:[2,{succeeded:!1}];case 2:return t=r.sent(),[2,this.handleError("Register new user failed",t)];case 3:return[2]}}))}))},n.getUserObjectFromToken=function(n,i){try{var t=function(e){try{var n=s(e);return n?n.split(";").reduce((function(e,n){var i=n.split("="),t=i[0],r=i[1];return t.includes("/")&&(t=t.split("/").pop()||t),e[t=t.charAt(0).toLowerCase()+t.slice(1)]=r,e}),{}):null}catch(e){return null}}(n);if(!t)throw new e.AuthError("Failed to parse user token",e.GeinsErrorCode.PARSE_ERROR);var r=Math.floor(Date.now()/1e3),a=parseInt(t.exp||"0")-r,o=a<90;return{succeeded:!0,user:{authenticated:!t.expired,userId:t.sid||"",username:t.name||"unknown",customerType:(t.customerType||"unknown").toUpperCase(),memberDiscount:t.memberDiscount||"0",memberType:t.memberType||"unknown",memberId:t.memberId||"0"},tokens:{token:n,expires:parseInt(t.exp||"0"),expired:r>=parseInt(t.exp||"0"),expiresSoon:o,expiresIn:a,refreshToken:i}}}catch(n){throw new e.AuthError("Failed to parse user token",e.GeinsErrorCode.PARSE_ERROR)}},n.prototype.handleError=function(e,n){return{succeeded:!1}},n}(),m=function(){function e(){}return e.prototype.destroy=function(){},e.prototype.login=function(e){return a(this,void 0,void 0,(function(){return o(this,(function(n){return[2,this.handleLogin(e)]}))}))},e.prototype.refresh=function(e){return a(this,void 0,void 0,(function(){return o(this,(function(n){return e?[2,this.handleRefresh(e)]:[2,void 0]}))}))},e.prototype.getUser=function(e,n){return a(this,void 0,void 0,(function(){return o(this,(function(i){return e?n?[2,this.handleUserTokenScenario({userToken:n,refreshToken:e})]:[2,this.handleGetUser(e)]:[2,void 0]}))}))},e.prototype.changePassword=function(e,n){return a(this,void 0,void 0,(function(){return o(this,(function(i){return n?[2,this.handleChangePassword(e,n)]:[2,void 0]}))}))},e.prototype.register=function(e){return a(this,void 0,void 0,(function(){return o(this,(function(n){return[2,this.handleRegister(e)]}))}))},e.prototype.logout=function(){return a(this,void 0,void 0,(function(){return o(this,(function(e){return[2,{succeeded:!0}]}))}))},e.prototype.handleUserTokenScenario=function(e){return a(this,void 0,void 0,(function(){var n,i;return o(this,(function(t){return(null==(n=l.getUserObjectFromToken(e.userToken,e.refreshToken))?void 0:n.succeeded)&&(null===(i=n.tokens)||void 0===i?void 0:i.expiresSoon)?[2,this.handleGetUser(e.refreshToken,e.userToken)]:[2,n]}))}))},e}(),f=function(e){function n(n,i){var t=e.call(this)||this;return t._authService=new l(n,i),t}return t(n,e),n.prototype.destroy=function(){this._authService.destroy(),this._authService=void 0},n.prototype.handleLogin=function(e){return a(this,void 0,void 0,(function(){return o(this,(function(n){return[2,this._authService.login(e)]}))}))},n.prototype.handleRefresh=function(e){return a(this,void 0,void 0,(function(){return o(this,(function(n){return[2,this._authService.refresh(e)]}))}))},n.prototype.handleGetUser=function(e,n){return a(this,void 0,void 0,(function(){return o(this,(function(i){return[2,this._authService.getUser(e,n)]}))}))},n.prototype.handleChangePassword=function(e,n){return a(this,void 0,void 0,(function(){return o(this,(function(i){return[2,this._authService.changePassword(e,n)]}))}))},n.prototype.handleRegister=function(e){return a(this,void 0,void 0,(function(){return o(this,(function(n){return[2,this._authService.register(e)]}))}))},n}(m),v=function(n){function i(e){var i=n.call(this)||this;return i._authEndpointApp=e,i}return t(i,n),i.prototype.destroy=function(){this._authEndpointApp=""},i.prototype.request=function(n,t,s){return a(this,void 0,void 0,(function(){var a,d,u,c;return o(this,(function(o){switch(o.label){case 0:return t.headers||(t.headers={"Content-Type":"application/json"}),s&&(t.headers=r(r({},t.headers),((u={})["".concat(e.AUTH_HEADERS.REFRESH_TOKEN)]=s,u))),"GET"!==t.method&&"HEAD"!==t.method||delete t.body,[4,fetch("".concat(this._authEndpointApp).concat(n),r(r({},t),{signal:AbortSignal.timeout(i.FETCH_TIMEOUT_MS)}))];case 1:return[4,(a=o.sent()).json()];case 2:if(d=o.sent(),!a.ok)throw new e.AuthError("API request failed");return[2,null===(c=d.body)||void 0===c?void 0:c.data]}}))}))},i.prototype.handleLogin=function(e){return a(this,void 0,void 0,(function(){return o(this,(function(n){return[2,this.request("/login",{method:"POST",body:JSON.stringify(e)})]}))}))},i.prototype.handleRefresh=function(e){return a(this,void 0,void 0,(function(){return o(this,(function(n){return[2,this.request("/refresh",{method:"POST"},e)]}))}))},i.prototype.handleGetUser=function(e,n){return a(this,void 0,void 0,(function(){return o(this,(function(n){return[2,this.request("/user",{method:"GET"},e)]}))}))},i.prototype.handleChangePassword=function(e,n){return a(this,void 0,void 0,(function(){return o(this,(function(i){return[2,this.request("/change-password",{method:"POST",body:JSON.stringify(e)},n)]}))}))},i.prototype.handleRegister=function(e){return a(this,void 0,void 0,(function(){return o(this,(function(n){return[2,this.request("/register",{method:"POST",body:JSON.stringify(e)})]}))}))},i.FETCH_TIMEOUT_MS=1e4,i}(m),h={kind:"Document",definitions:[{kind:"FragmentDefinition",name:{kind:"Name",value:"Address"},typeCondition:{kind:"NamedType",name:{kind:"Name",value:"AddressType"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"firstName"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"lastName"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"company"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"mobile"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"phone"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"careOf"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"entryCode"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"addressLine1"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"addressLine2"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"addressLine3"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"zip"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"city"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"state"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"country"},arguments:[],directives:[]}]}}],loc:{start:0,end:183}};function k(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){k(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){k(e,n)})),e.definitions&&e.definitions.forEach((function(e){k(e,n)}))}h.loc.source={body:"fragment Address on AddressType {\n firstName\n lastName\n company\n mobile\n phone\n careOf\n entryCode\n addressLine1\n addressLine2\n addressLine3\n zip\n city\n state\n country\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};var p={};function g(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}h.definitions.forEach((function(e){if(e.name){var n=new Set;k(e,n),p[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[g(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=p[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(p[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=g(e,n);t&&i.definitions.push(t)}))}(h,"Address");var S={kind:"Document",definitions:[{kind:"FragmentDefinition",name:{kind:"Name",value:"UserBalance"},typeCondition:{kind:"NamedType",name:{kind:"Name",value:"UserBalanceType"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"currency"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"amount"},arguments:[],directives:[]}]}}],loc:{start:0,end:83}};function y(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){y(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){y(e,n)})),e.definitions&&e.definitions.forEach((function(e){y(e,n)}))}S.loc.source={body:"fragment UserBalance on UserBalanceType {\n currency\n amount\n #amountFormatted\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};var E={};function N(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}S.definitions.forEach((function(e){if(e.name){var n=new Set;y(e,n),E[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[N(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=E[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(E[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=N(e,n);t&&i.definitions.push(t)}))}(S,"UserBalance");var b={kind:"Document",definitions:[{kind:"FragmentDefinition",name:{kind:"Name",value:"User"},typeCondition:{kind:"NamedType",name:{kind:"Name",value:"UserType"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"email"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"personalId"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"customerType"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"gender"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"address"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"Address"},directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"balances"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"UserBalance"},directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"metaData"},arguments:[],directives:[]}]}}],loc:{start:0,end:207}};b.loc.source={body:'#import "./address.gql"\n#import "./balances.gql"\nfragment User on UserType {\n id\n email\n personalId\n customerType\n gender\n address {\n ...Address\n }\n balances {\n ...UserBalance\n }\n metaData\n}\n',name:"GraphQL request",locationOffset:{line:1,column:1}};var T={};function w(e){return e.filter((function(e){if("FragmentDefinition"!==e.kind)return!0;var n=e.name.value;return!T[n]&&(T[n]=!0,!0)}))}function F(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){F(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){F(e,n)})),e.definitions&&e.definitions.forEach((function(e){F(e,n)}))}b.definitions=b.definitions.concat(w(h.definitions)),b.definitions=b.definitions.concat(w(S.definitions));var _={};function A(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}b.definitions.forEach((function(e){if(e.name){var n=new Set;F(e,n),_[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[A(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=_[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(_[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=A(e,n);t&&i.definitions.push(t)}))}(b,"User");var I={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"UserGet"},variableDefinitions:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"getUser"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"User"},directives:[]}]}}]}}],loc:{start:0,end:78}};I.loc.source={body:'#import "../fragments/user.gql"\nquery UserGet {\n getUser {\n ...User\n }\n}\n',name:"GraphQL request",locationOffset:{line:1,column:1}};var U={};function V(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){V(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){V(e,n)})),e.definitions&&e.definitions.forEach((function(e){V(e,n)}))}I.definitions=I.definitions.concat(b.definitions.filter((function(e){if("FragmentDefinition"!==e.kind)return!0;var n=e.name.value;return!U[n]&&(U[n]=!0,!0)})));var R={};function O(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}I.definitions.forEach((function(e){if(e.name){var n=new Set;V(e,n),R[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[O(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=R[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(R[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=O(e,n);t&&i.definitions.push(t)}))}(I,"UserGet");var D={kind:"Document",definitions:[{kind:"FragmentDefinition",name:{kind:"Name",value:"Price"},typeCondition:{kind:"NamedType",name:{kind:"Name",value:"PriceType"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"isDiscounted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceIncVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceExVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"regularPriceIncVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"regularPriceExVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"vat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"discountPercentage"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"regularPriceIncVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceIncVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"regularPriceExVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceExVatFormatted"},arguments:[],directives:[]}]}}],loc:{start:0,end:274}};function P(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){P(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){P(e,n)})),e.definitions&&e.definitions.forEach((function(e){P(e,n)}))}D.loc.source={body:"fragment Price on PriceType {\n isDiscounted\n sellingPriceIncVat\n sellingPriceExVat\n regularPriceIncVat\n regularPriceExVat\n vat\n discountPercentage\n regularPriceIncVatFormatted\n sellingPriceIncVatFormatted\n regularPriceExVatFormatted\n sellingPriceExVatFormatted\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};var C={};function x(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}D.definitions.forEach((function(e){if(e.name){var n=new Set;P(e,n),C[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[x(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=C[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(C[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=x(e,n);t&&i.definitions.push(t)}))}(D,"Price");var G={kind:"Document",definitions:[{kind:"FragmentDefinition",name:{kind:"Name",value:"Stock"},typeCondition:{kind:"NamedType",name:{kind:"Name",value:"StockType"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"inStock"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"oversellable"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"totalStock"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"static"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"incoming"},arguments:[],directives:[]}]}}],loc:{start:0,end:90}};function q(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){q(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){q(e,n)})),e.definitions&&e.definitions.forEach((function(e){q(e,n)}))}G.loc.source={body:"fragment Stock on StockType {\n inStock\n oversellable\n totalStock\n static\n incoming\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};var L={};function M(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}G.definitions.forEach((function(e){if(e.name){var n=new Set;q(e,n),L[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[M(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=L[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(L[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=M(e,n);t&&i.definitions.push(t)}))}(G,"Stock");var H={kind:"Document",definitions:[{kind:"FragmentDefinition",name:{kind:"Name",value:"Cart"},typeCondition:{kind:"NamedType",name:{kind:"Name",value:"CartType"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"promoCode"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"appliedCampaigns"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"name"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"hideTitle"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"items"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"campaign"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"appliedCampaigns"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"name"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"hideTitle"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"prices"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"price"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"Price"},directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"quantity"},arguments:[],directives:[]}]}}]}},{kind:"Field",name:{kind:"Name",value:"unitPrice"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"Price"},directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"product"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"productId"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"articleNumber"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"brand"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"name"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"name"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"productImages"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"fileName"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"alias"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"canonicalUrl"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"primaryCategory"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"name"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"skus"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"skuId"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"name"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"stock"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"Stock"},directives:[]}]}}]}},{kind:"Field",name:{kind:"Name",value:"unitPrice"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"Price"},directives:[]}]}}]}},{kind:"Field",name:{kind:"Name",value:"quantity"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"skuId"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"totalPrice"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"Price"},directives:[]}]}}]}},{kind:"Field",name:{kind:"Name",value:"summary"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"fixedAmountDiscountIncVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"fixedAmountDiscountExVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"balance"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"pending"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"pendingFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"totalSellingPriceExBalanceExVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"totalSellingPriceExBalanceIncVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"totalSellingPriceExBalanceIncVatFormatted"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"subTotal"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"regularPriceIncVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"regularPriceExVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceIncVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceExVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceExVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceIncVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"vat"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"shipping"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"amountLeftToFreeShipping"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"amountLeftToFreeShippingFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"feeExVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"feeIncVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"feeIncVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"feeExVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"isDefault"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"total"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"isDiscounted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceIncVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceExVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceIncVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceExVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"discountIncVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"discountExVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"discountExVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"discountIncVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"vatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"vat"},arguments:[],directives:[]}]}}]}}]}}],loc:{start:0,end:1724}};H.loc.source={body:'#import "./price.gql"\n#import "./stock.gql"\n\nfragment Cart on CartType {\n id\n promoCode\n appliedCampaigns {\n name\n hideTitle\n }\n items {\n campaign {\n appliedCampaigns {\n name\n hideTitle\n }\n prices {\n price {\n ...Price\n }\n quantity\n }\n }\n unitPrice {\n ...Price\n }\n product {\n productId\n articleNumber\n brand {\n name\n }\n name\n productImages {\n fileName\n }\n alias\n canonicalUrl\n primaryCategory {\n name\n }\n skus {\n skuId\n name\n stock {\n ...Stock\n }\n }\n unitPrice {\n ...Price\n }\n }\n quantity\n skuId\n totalPrice {\n ...Price\n }\n }\n summary {\n fixedAmountDiscountIncVat\n fixedAmountDiscountExVat\n balance {\n pending\n pendingFormatted\n totalSellingPriceExBalanceExVat\n totalSellingPriceExBalanceIncVat\n totalSellingPriceExBalanceIncVatFormatted\n }\n subTotal {\n regularPriceIncVatFormatted\n regularPriceExVatFormatted\n sellingPriceIncVatFormatted\n sellingPriceExVatFormatted\n sellingPriceExVat\n sellingPriceIncVat\n vat\n }\n shipping {\n amountLeftToFreeShipping\n amountLeftToFreeShippingFormatted\n feeExVatFormatted\n feeIncVatFormatted\n feeIncVat\n feeExVat\n isDefault\n }\n total {\n isDiscounted\n sellingPriceIncVatFormatted\n sellingPriceExVatFormatted\n sellingPriceIncVat\n sellingPriceExVat\n discountIncVatFormatted\n discountExVatFormatted\n discountExVat\n discountIncVat\n vatFormatted\n vat\n }\n }\n}\n',name:"GraphQL request",locationOffset:{line:1,column:1}};var j={};function $(e){return e.filter((function(e){if("FragmentDefinition"!==e.kind)return!0;var n=e.name.value;return!j[n]&&(j[n]=!0,!0)}))}function K(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){K(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){K(e,n)})),e.definitions&&e.definitions.forEach((function(e){K(e,n)}))}H.definitions=H.definitions.concat($(D.definitions)),H.definitions=H.definitions.concat($(G.definitions));var z={};function B(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}H.definitions.forEach((function(e){if(e.name){var n=new Set;K(e,n),z[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[B(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=z[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(z[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=B(e,n);t&&i.definitions.push(t)}))}(H,"Cart");var J={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"UserOrders"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"channelId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"languageId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"marketId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"getOrders"},arguments:[{kind:"Argument",name:{kind:"Name",value:"channelId"},value:{kind:"Variable",name:{kind:"Name",value:"channelId"}}},{kind:"Argument",name:{kind:"Name",value:"languageId"},value:{kind:"Variable",name:{kind:"Name",value:"languageId"}}},{kind:"Argument",name:{kind:"Name",value:"marketId"},value:{kind:"Variable",name:{kind:"Name",value:"marketId"}}}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"cart"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"Cart"},directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"billingAddress"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"Address"},directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"shippingAddress"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"Address"},directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"createdAt"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"id"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"status"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"shippingDetails"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"name"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"trackingLink"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"paymentDetails"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"displayName"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"refunds"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"itemId"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"createdAt"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"reason"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"total"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"vat"},arguments:[],directives:[]}]}}]}}]}}],loc:{start:0,end:631}};J.loc.source={body:'#import "../fragments/price.gql"\n#import "../fragments/address.gql"\n#import "../fragments/cart.gql"\n\nquery UserOrders($channelId: String, $languageId: String, $marketId: String) {\n getOrders(\n channelId: $channelId\n languageId: $languageId\n marketId: $marketId\n ) {\n cart {\n ...Cart\n }\n billingAddress {\n ...Address\n }\n shippingAddress {\n ...Address\n }\n createdAt\n id\n status\n shippingDetails {\n name\n trackingLink\n }\n paymentDetails {\n displayName\n }\n refunds {\n id\n itemId\n createdAt\n reason\n total\n vat\n }\n }\n}\n',name:"GraphQL request",locationOffset:{line:1,column:1}};var Q={};function Y(e){return e.filter((function(e){if("FragmentDefinition"!==e.kind)return!0;var n=e.name.value;return!Q[n]&&(Q[n]=!0,!0)}))}function X(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){X(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){X(e,n)})),e.definitions&&e.definitions.forEach((function(e){X(e,n)}))}J.definitions=J.definitions.concat(Y(D.definitions)),J.definitions=J.definitions.concat(Y(h.definitions)),J.definitions=J.definitions.concat(Y(H.definitions));var Z={};function W(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}J.definitions.forEach((function(e){if(e.name){var n=new Set;X(e,n),Z[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[W(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=Z[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(Z[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=W(e,n);t&&i.definitions.push(t)}))}(J,"UserOrders");var ee={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"UserCreate"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"user"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"UserInputType"}}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"channelId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"languageId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"marketId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"updateUser"},arguments:[{kind:"Argument",name:{kind:"Name",value:"user"},value:{kind:"Variable",name:{kind:"Name",value:"user"}}},{kind:"Argument",name:{kind:"Name",value:"channelId"},value:{kind:"Variable",name:{kind:"Name",value:"channelId"}}},{kind:"Argument",name:{kind:"Name",value:"languageId"},value:{kind:"Variable",name:{kind:"Name",value:"languageId"}}},{kind:"Argument",name:{kind:"Name",value:"marketId"},value:{kind:"Variable",name:{kind:"Name",value:"marketId"}}}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"email"},arguments:[],directives:[]}]}}]}}],loc:{start:0,end:242}};function ne(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){ne(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){ne(e,n)})),e.definitions&&e.definitions.forEach((function(e){ne(e,n)}))}ee.loc.source={body:"mutation UserCreate(\n $user: UserInputType!\n $channelId: String\n $languageId: String\n $marketId: String\n) {\n updateUser(\n user: $user\n channelId: $channelId\n languageId: $languageId\n marketId: $marketId\n ) {\n email\n }\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};var ie={};function te(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}ee.definitions.forEach((function(e){if(e.name){var n=new Set;ne(e,n),ie[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[te(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=ie[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(ie[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=te(e,n);t&&i.definitions.push(t)}))}(ee,"UserCreate");var re={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"UserUpdate"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"user"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"UserInputType"}}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"channelId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"languageId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"marketId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"updateUser"},arguments:[{kind:"Argument",name:{kind:"Name",value:"user"},value:{kind:"Variable",name:{kind:"Name",value:"user"}}},{kind:"Argument",name:{kind:"Name",value:"channelId"},value:{kind:"Variable",name:{kind:"Name",value:"channelId"}}},{kind:"Argument",name:{kind:"Name",value:"languageId"},value:{kind:"Variable",name:{kind:"Name",value:"languageId"}}},{kind:"Argument",name:{kind:"Name",value:"marketId"},value:{kind:"Variable",name:{kind:"Name",value:"marketId"}}}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"User"},directives:[]}]}}]}}],loc:{start:0,end:276}};re.loc.source={body:'#import "../fragments/user.gql"\nmutation UserUpdate(\n $user: UserInputType!\n $channelId: String\n $languageId: String\n $marketId: String\n) {\n updateUser(\n user: $user\n channelId: $channelId\n languageId: $languageId\n marketId: $marketId\n ) {\n ...User\n }\n}\n',name:"GraphQL request",locationOffset:{line:1,column:1}};var ae={};function oe(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){oe(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){oe(e,n)})),e.definitions&&e.definitions.forEach((function(e){oe(e,n)}))}re.definitions=re.definitions.concat(function(e){return e.filter((function(e){if("FragmentDefinition"!==e.kind)return!0;var n=e.name.value;return!ae[n]&&(ae[n]=!0,!0)}))}(b.definitions));var se={};function de(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}re.definitions.forEach((function(e){if(e.name){var n=new Set;oe(e,n),se[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[de(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=se[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(se[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=de(e,n);t&&i.definitions.push(t)}))}(re,"UserUpdate");var ue={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"UserDelete"},variableDefinitions:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"deleteUser"},arguments:[],directives:[]}]}}],loc:{start:0,end:37}};function ce(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){ce(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){ce(e,n)})),e.definitions&&e.definitions.forEach((function(e){ce(e,n)}))}ue.loc.source={body:"mutation UserDelete {\n deleteUser\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};var le={};function me(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}ue.definitions.forEach((function(e){if(e.name){var n=new Set;ce(e,n),le[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[me(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=le[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(le[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=me(e,n);t&&i.definitions.push(t)}))}(ue,"UserDelete");var fe={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"UserRequestPasswordReset"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"email"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"String"}}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"channelId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"languageId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"marketId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"requestPasswordReset"},arguments:[{kind:"Argument",name:{kind:"Name",value:"email"},value:{kind:"Variable",name:{kind:"Name",value:"email"}}},{kind:"Argument",name:{kind:"Name",value:"channelId"},value:{kind:"Variable",name:{kind:"Name",value:"channelId"}}},{kind:"Argument",name:{kind:"Name",value:"languageId"},value:{kind:"Variable",name:{kind:"Name",value:"languageId"}}},{kind:"Argument",name:{kind:"Name",value:"marketId"},value:{kind:"Variable",name:{kind:"Name",value:"marketId"}}}],directives:[]}]}}],loc:{start:0,end:246}};function ve(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){ve(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){ve(e,n)})),e.definitions&&e.definitions.forEach((function(e){ve(e,n)}))}fe.loc.source={body:"mutation UserRequestPasswordReset(\n $email: String!\n $channelId: String\n $languageId: String\n $marketId: String\n) {\n requestPasswordReset(\n email: $email\n channelId: $channelId\n languageId: $languageId\n marketId: $marketId\n )\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};var he={};function ke(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}fe.definitions.forEach((function(e){if(e.name){var n=new Set;ve(e,n),he[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[ke(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=he[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(he[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=ke(e,n);t&&i.definitions.push(t)}))}(fe,"UserRequestPasswordReset");var pe={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"UserPasswordResetCommit"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"resetKey"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"String"}}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"password"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"String"}}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"channelId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"languageId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"marketId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"commitReset"},arguments:[{kind:"Argument",name:{kind:"Name",value:"resetKey"},value:{kind:"Variable",name:{kind:"Name",value:"resetKey"}}},{kind:"Argument",name:{kind:"Name",value:"password"},value:{kind:"Variable",name:{kind:"Name",value:"password"}}},{kind:"Argument",name:{kind:"Name",value:"channelId"},value:{kind:"Variable",name:{kind:"Name",value:"channelId"}}},{kind:"Argument",name:{kind:"Name",value:"languageId"},value:{kind:"Variable",name:{kind:"Name",value:"languageId"}}},{kind:"Argument",name:{kind:"Name",value:"marketId"},value:{kind:"Variable",name:{kind:"Name",value:"marketId"}}}],directives:[]}]}}],loc:{start:0,end:290}};function ge(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){ge(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){ge(e,n)})),e.definitions&&e.definitions.forEach((function(e){ge(e,n)}))}pe.loc.source={body:"mutation UserPasswordResetCommit(\n $resetKey: String!\n $password: String!\n $channelId: String\n $languageId: String\n $marketId: String\n) {\n commitReset(\n resetKey: $resetKey\n password: $password\n channelId: $channelId\n languageId: $languageId\n marketId: $marketId\n )\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};var Se={};function ye(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}pe.definitions.forEach((function(e){if(e.name){var n=new Set;ge(e,n),Se[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[ye(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=Se[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(Se[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=ye(e,n);t&&i.definitions.push(t)}))}(pe,"UserPasswordResetCommit");var Ee={userGet:I,userOrders:J},Ne={userRegister:ee,userUpdate:re,userDelete:ue,pwResetRequest:fe,pwResetCommit:pe},be=function(n){function i(e,i){return n.call(this,e,i)||this}return t(i,n),i.prototype.generateVars=function(e){return this.createVariables(e)},i.prototype.generateMutationVars=function(e){var n=e.user;return(null==n?void 0:n.entityId)&&(n.personalId=n.entityId,delete n.entityId),n&&(n.newsletter=!("true"!==n.newsletter)),this.createVariables(e)},i.prototype.get=function(e){return a(this,void 0,void 0,(function(){var n;return o(this,(function(i){return n={query:Ee.userGet,variables:this.generateVars({}),userToken:e},[2,this.runQueryParsed(n)]}))}))},i.prototype.create=function(e,n){return a(this,void 0,void 0,(function(){var i,t;return o(this,(function(r){switch(r.label){case 0:return i={query:Ne.userRegister,variables:this.generateMutationVars({user:e}),userToken:n},[4,this.runMutation(i)];case 1:return t=r.sent(),[2,this.parseResult(t)]}}))}))},i.prototype.update=function(e,n){return a(this,void 0,void 0,(function(){var i,t;return o(this,(function(r){switch(r.label){case 0:return i={query:Ne.userUpdate,variables:this.generateMutationVars({user:e}),userToken:n},[4,this.runMutation(i)];case 1:return t=r.sent(),[2,this.parseResult(t)]}}))}))},i.prototype.delete=function(e){return a(this,void 0,void 0,(function(){var n;return o(this,(function(i){switch(i.label){case 0:return n={query:Ne.userDelete,variables:this.generateVars({}),userToken:e},[4,this.runMutation(n)];case 1:return[2,!!i.sent()]}}))}))},i.prototype.parseResult=function(n){var i=n;if(!(null==i?void 0:i.data))throw new e.GeinsError("Invalid user data",e.GeinsErrorCode.PARSE_ERROR);return i.data.getUser?i.data.getUser:i.data.updateUser?this.cleanObject(i.data.updateUser):void 0},i}(e.BaseApiService),Te=function(e){function n(n,i){return e.call(this,n,i)||this}return t(n,e),n.prototype.generateVars=function(e){return this.createVariables(e)},n.prototype.get=function(e){return a(this,void 0,void 0,(function(){var n;return o(this,(function(i){return n={query:Ee.userOrders,variables:this.generateVars({}),userToken:e},[2,this.runQueryParsed(n)]}))}))},n.prototype.parseResult=function(e){var n,i=e;if(null===(n=null==i?void 0:i.data)||void 0===n?void 0:n.getOrders)return i.data.getOrders},n}(e.BaseApiService),we=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return t(n,e),n.prototype.request=function(e){return a(this,void 0,void 0,(function(){var n;return o(this,(function(i){return n={query:Ne.pwResetRequest,variables:this.createVariables({email:e})},[2,this.runMutation(n)]}))}))},n.prototype.commit=function(e,n){return a(this,void 0,void 0,(function(){var i,t;return o(this,(function(r){switch(r.label){case 0:return[4,u(n)];case 1:return i=r.sent(),t={query:Ne.pwResetCommit,variables:this.createVariables({resetKey:e,password:i})},[2,this.runMutation(t)]}}))}))},n}(e.BaseApiService),Fe=function(i){function r(t,r){var a=i.call(this,t)||this,o=t.geinsSettings;if(r.clientConnectionMode===n.AuthClientConnectionModes.Proxy){var s=r.proxyUrl||"/api/auth";a._authClient=new v(s)}else{if(r.clientConnectionMode!==n.AuthClientConnectionModes.Direct)throw new e.GeinsError("Invalid client connection mode",e.GeinsErrorCode.INVALID_ARGUMENT);var d=e.buildEndpoints(o.apiKey,o.accountName,o.environment);a._authClient=new f(d.authSign,d.auth)}return a}return t(r,i),r.prototype.destroy=function(){var e,n,i;this._authClient.destroy(),null===(e=this._userService)||void 0===e||e.destroy(),null===(n=this._passwordResetService)||void 0===n||n.destroy(),null===(i=this._userOrdersService)||void 0===i||i.destroy()},Object.defineProperty(r.prototype,"userService",{get:function(){var e=this;return this._userService||(this._userService=new be((function(){return e._apiClient()}),this._geinsSettings)),this._userService},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"passwordResetService",{get:function(){var e=this;return this._passwordResetService||(this._passwordResetService=new we((function(){return e._apiClient()}),this._geinsSettings)),this._passwordResetService},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"userOrdersService",{get:function(){var e=this;return this._userOrdersService||(this._userOrdersService=new Te((function(){return e._apiClient()}),this._geinsSettings)),this._userOrdersService},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"auth",{get:function(){var e=this;return{login:function(n){return e.authLogin(n)},logout:function(){return e._authClient.logout()},refresh:function(n){return e._authClient.refresh(n)},getUser:function(n,i){return e._authClient.getUser(n,i)},authorized:function(n){return a(e,void 0,void 0,(function(){var e,i;return o(this,(function(t){switch(t.label){case 0:return[4,this._authClient.getUser(n)];case 1:return e=t.sent(),[2,null!==(i=null==e?void 0:e.succeeded)&&void 0!==i&&i]}}))}))}}},enumerable:!1,configurable:!0}),r.prototype.authLogin=function(e){return a(this,void 0,void 0,(function(){var i;return o(this,(function(t){switch(t.label){case 0:return[4,this._authClient.login(e)];case 1:i=t.sent();try{this.pushEvent({subject:n.GeinsEventType.USER_LOGIN,payload:{success:null==i?void 0:i.succeeded,user:e.username}},n.GeinsEventType.USER_LOGIN)}catch(e){}return[2,i]}}))}))},Object.defineProperty(r.prototype,"user",{get:function(){var e=this;return{get:function(n){return e.userGet(n)},update:function(n,i){return e.userUpdate(n,i)},create:function(n,i){return e.userRegisterAndCreate(n,i)},remove:function(n){return e.userRemove(n)},password:{change:function(n,i){return e._authClient.changePassword(n,i)},requestReset:function(n){return e.userPasswordResetRequest(n)},commitReset:function(n,i){return e.userPasswordResetCommit(n,i)}},orders:{get:function(n){return e.userOrders(n)}}}},enumerable:!1,configurable:!0}),r.prototype.userGet=function(e){return a(this,void 0,void 0,(function(){return o(this,(function(n){return[2,this.userService.get(e)]}))}))},r.prototype.userUpdate=function(e,i){return a(this,void 0,void 0,(function(){var t;return o(this,(function(r){t=JSON.parse(JSON.stringify(e));try{this.pushEvent({subject:n.GeinsEventType.USER_UPDATE,payload:t},n.GeinsEventType.USER_UPDATE)}catch(e){}return[2,this.userService.update(e,i)]}))}))},r.prototype.userRegisterAndCreate=function(e,i){return a(this,void 0,void 0,(function(){var t,r,a;return o(this,(function(o){switch(o.label){case 0:return[4,this._authClient.register(e)];case 1:return(null==(t=o.sent())?void 0:t.succeeded)&&(null===(a=t.tokens)||void 0===a?void 0:a.token)?(r=t.tokens.token,i?[4,this.userUpdate(i,r)]:[3,3]):[2,t];case 2:return o.sent(),[3,5];case 3:return[4,this.userService.create({newsletter:!1,customerType:n.GeinsCustomerType.PersonType},r)];case 4:o.sent(),o.label=5;case 5:return[2,this._authClient.getUser(t.tokens.refreshToken,r)]}}))}))},r.prototype.userRemove=function(e){return a(this,void 0,void 0,(function(){return o(this,(function(i){try{this.pushEvent({subject:n.GeinsEventType.USER_DELETE,payload:{}},n.GeinsEventType.USER_DELETE)}catch(e){}return[2,this.userService.delete(e)]}))}))},r.prototype.userOrders=function(e){return a(this,void 0,void 0,(function(){return o(this,(function(n){return[2,this.userOrdersService.get(e)]}))}))},r.prototype.userPasswordResetRequest=function(e){return a(this,void 0,void 0,(function(){return o(this,(function(n){switch(n.label){case 0:return[4,this.passwordResetService.request(e)];case 1:return[2,!!n.sent()]}}))}))},r.prototype.userPasswordResetCommit=function(e,n){return a(this,void 0,void 0,(function(){return o(this,(function(i){switch(i.label){case 0:return[4,this.passwordResetService.commit(e,n)];case 1:return[2,!!i.sent()]}}))}))},r}(e.BasePackage),_e=function(){function i(i,t){var r,a=this;this._refreshPromise=null,this._crm=i,this._storage=null!==(r=null==t?void 0:t.storage)&&void 0!==r?r:new e.CookieStorageAdapter,this._events=null==t?void 0:t.events,this._userToken=this._storage.get(e.AUTH_STORAGE_KEYS.USER_AUTH),this._refreshToken=this._storage.get(e.AUTH_STORAGE_KEYS.REFRESH_TOKEN),this._events&&(this._events.listenerAdd((function(){return a.syncFromStorage()}),n.GeinsEventType.SESSION_REFRESH),this._events.listenerAdd((function(){return a.syncFromStorage()}),n.GeinsEventType.USER_LOGOUT))}return Object.defineProperty(i.prototype,"isAuthenticated",{get:function(){return!!this._refreshToken},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"userToken",{get:function(){return this._userToken},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"refreshToken",{get:function(){return this._refreshToken},enumerable:!1,configurable:!0}),i.prototype.login=function(e){return a(this,void 0,void 0,(function(){var i,t;return o(this,(function(r){switch(r.label){case 0:return[4,this._crm.auth.login(e)];case 1:return(null==(i=r.sent())?void 0:i.succeeded)&&(this.storeTokens(i.tokens,e.rememberUser),this.storeUser(i.user,e.rememberUser),this.emitEvent(n.GeinsEventType.USER_LOGIN,{user:null===(t=i.user)||void 0===t?void 0:t.username})),[2,i]}}))}))},i.prototype.refresh=function(){return a(this,void 0,void 0,(function(){return o(this,(function(e){return[2,this.deduplicatedRefresh()]}))}))},i.prototype.getAuthUser=function(){return a(this,void 0,void 0,(function(){var e,n;return o(this,(function(i){switch(i.label){case 0:return this._refreshToken?[4,this.ensureValidToken()]:[2,void 0];case 1:return e=i.sent(),[4,this._crm.auth.getUser(this._refreshToken,e)];case 2:return(null==(n=i.sent())?void 0:n.succeeded)&&n.tokens&&(this.storeTokens(n.tokens),this.storeUser(n.user)),[2,n]}}))}))},i.prototype.authorized=function(){return a(this,void 0,void 0,(function(){return o(this,(function(e){return this._refreshToken?[2,this._crm.auth.authorized(this._refreshToken)]:[2,!1]}))}))},i.prototype.getUser=function(){return a(this,void 0,void 0,(function(){var e;return o(this,(function(n){switch(n.label){case 0:return[4,this.ensureValidToken()];case 1:return(e=n.sent())?[2,this._crm.user.get(e)]:[2,void 0]}}))}))},i.prototype.updateUser=function(e){return a(this,void 0,void 0,(function(){var n;return o(this,(function(i){switch(i.label){case 0:return[4,this.ensureValidToken()];case 1:return(n=i.sent())?[2,this._crm.user.update(e,n)]:[2,void 0]}}))}))},i.prototype.logout=function(){this.emitEvent(n.GeinsEventType.USER_LOGOUT,{}),this.clearAuth()},i.prototype.ensureValidToken=function(){return a(this,void 0,void 0,(function(){var e,n,i,t,r,a,s;return o(this,(function(o){switch(o.label){case 0:return this._refreshToken?this._userToken?[3,2]:[4,this.deduplicatedRefresh()]:[2,void 0];case 1:return e=o.sent(),[2,null===(t=null==e?void 0:e.tokens)||void 0===t?void 0:t.token];case 2:try{if(n=l.getUserObjectFromToken(this._userToken,this._refreshToken),!(null===(r=n.tokens)||void 0===r?void 0:r.expiresSoon)&&!(null===(a=n.tokens)||void 0===a?void 0:a.expired))return[2,this._userToken]}catch(e){}return[4,this.deduplicatedRefresh()];case 3:return i=o.sent(),[2,null===(s=null==i?void 0:i.tokens)||void 0===s?void 0:s.token]}}))}))},i.prototype.deduplicatedRefresh=function(){return a(this,void 0,void 0,(function(){return o(this,(function(e){switch(e.label){case 0:if(this._refreshPromise)return[2,this._refreshPromise];this._refreshPromise=this.performRefresh(),e.label=1;case 1:return e.trys.push([1,,3,4]),[4,this._refreshPromise];case 2:return[2,e.sent()];case 3:return this._refreshPromise=null,[7];case 4:return[2]}}))}))},i.prototype.performRefresh=function(){return a(this,void 0,void 0,(function(){var i,t,r;return o(this,(function(a){switch(a.label){case 0:if(!this._refreshToken)return[2,void 0];a.label=1;case 1:return a.trys.push([1,3,,4]),[4,this._crm.auth.refresh(this._refreshToken)];case 2:if((null==(i=a.sent())?void 0:i.succeeded)&&i.tokens)return this.storeTokens(i.tokens),this.storeUser(i.user),this.emitEvent(n.GeinsEventType.SESSION_REFRESH,{user:null===(r=i.user)||void 0===r?void 0:r.username}),[2,i];throw this.emitEvent(n.GeinsEventType.SESSION_EXPIRED,{}),this.clearAuth(),new e.TokenExpiredError("Session expired — refresh was not successful");case 3:if((t=a.sent())instanceof e.TokenExpiredError)throw t;throw this.emitEvent(n.GeinsEventType.SESSION_EXPIRED,{}),this.clearAuth(),new e.TokenRefreshError("Token refresh failed",t);case 4:return[2]}}))}))},i.prototype.emitEvent=function(e,n){if(this._events){var i={subject:e,payload:n},t=e;if(t.includes("_")){var r=t.split("_")[0];this._events.push(i,r)}this._events.push(i,t)}},i.prototype.storeTokens=function(n,i){var t;if(n){var r=i?e.AUTH_STORAGE_MAX_AGE.REMEMBER_USER:null!==(t=this.getStoredMaxAge())&&void 0!==t?t:e.AUTH_STORAGE_MAX_AGE.DEFAULT;n.refreshToken&&(this._refreshToken=n.refreshToken,this._storage.set(e.AUTH_STORAGE_KEYS.REFRESH_TOKEN,n.refreshToken,{maxAge:r})),n.token&&(this._userToken=n.token,this._storage.set(e.AUTH_STORAGE_KEYS.USER_AUTH,n.token,{maxAge:n.expiresIn||900}))}},i.prototype.storeUser=function(n,i){var t;if(n){var r=i?e.AUTH_STORAGE_MAX_AGE.REMEMBER_USER:null!==(t=this.getStoredMaxAge())&&void 0!==t?t:e.AUTH_STORAGE_MAX_AGE.DEFAULT;this._storage.set(e.AUTH_STORAGE_KEYS.USER_MAX_AGE,r.toString(),{maxAge:r}),n.username&&this._storage.set(e.AUTH_STORAGE_KEYS.USER,n.username,{maxAge:r}),n.customerType&&this._storage.set(e.AUTH_STORAGE_KEYS.USER_TYPE,n.customerType,{maxAge:r})}},i.prototype.clearAuth=function(){var n=this;this._userToken=void 0,this._refreshToken=void 0,Object.values(e.AUTH_STORAGE_KEYS).forEach((function(e){n._storage.remove(e)}))},i.prototype.syncFromStorage=function(){this._userToken=this._storage.get(e.AUTH_STORAGE_KEYS.USER_AUTH),this._refreshToken=this._storage.get(e.AUTH_STORAGE_KEYS.REFRESH_TOKEN)},i.prototype.getStoredMaxAge=function(){var n=this._storage.get(e.AUTH_STORAGE_KEYS.USER_MAX_AGE);return n?parseInt(n,10):void 0},i}();exports.CrmSession=_e,exports.GeinsCRM=Fe;
|
|
1
|
+
"use strict";var e=require("@geins/core"),n=require("@geins/types"),i=function(e,n){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,n){e.__proto__=n}||function(e,n){for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])},i(e,n)};function t(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function t(){this.constructor=e}i(e,n),e.prototype=null===n?Object.create(n):(t.prototype=n.prototype,new t)}var r=function(){return r=Object.assign||function(e){for(var n,i=1,t=arguments.length;i<t;i++)for(var r in n=arguments[i])Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r]);return e},r.apply(this,arguments)};function a(e,n,i,t){return new(i||(i=Promise))((function(r,a){function o(e){try{d(t.next(e))}catch(e){a(e)}}function s(e){try{d(t.throw(e))}catch(e){a(e)}}function d(e){var n;e.done?r(e.value):(n=e.value,n instanceof i?n:new i((function(e){e(n)}))).then(o,s)}d((t=t.apply(e,n||[])).next())}))}function o(e,n){var i,t,r,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return o.next=s(0),o.throw=s(1),o.return=s(2),"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(d){return function(s){if(i)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(i=1,t&&(r=2&s[0]?t.return:s[0]?t.throw||((r=t.return)&&r.call(t),0):t.next)&&!(r=r.call(t,s[1])).done)return r;switch(t=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,t=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(r=a.trys,(r=r.length>0&&r[r.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]<r[3])){a.label=s[1];break}if(6===s[0]&&a.label<r[1]){a.label=r[1],r=s;break}if(r&&a.label<r[2]){a.label=r[2],a.ops.push(s);break}r[2]&&a.ops.pop(),a.trys.pop();continue}s=n.call(e,a)}catch(e){s=[6,e],t=0}finally{i=r=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,d])}}}function s(e){var n=function(e){try{var n=e.split(".")[1];if(!n)return null;var i=n.replace(/-/g,"+").replace(/_/g,"/"),t=atob(i);return JSON.parse(t)}catch(e){return null}}(e);return n?Object.entries(n).map((function(e){var n=e[0],i=e[1];return Array.isArray(i)?i.map((function(e){return"".concat(n,"=").concat(e)})).join(";"):"".concat(n,"=").concat(i)})).join(";"):null}function d(e){var n=new Uint8Array(e).reduce((function(e,n){return e+String.fromCharCode(n)}),"");return btoa(n)}function u(e){return a(this,void 0,void 0,(function(){return o(this,(function(n){switch(n.label){case 0:return[4,crypto.subtle.digest("SHA-384",(new TextEncoder).encode(e+"Dd1dfLonNy6Am2fXQl2AcoI+IbhLhXvaibnDNn8uEa6vbJ05eyJajSuGFm9uQSmD"))];case 1:return[2,d(n.sent())]}}))}))}"function"==typeof SuppressedError&&SuppressedError;var c=function(){function n(n,i){if(!n||!i)throw new e.GeinsError("Both authEndpoint and signEndpoint are required",e.GeinsErrorCode.INVALID_ARGUMENT);this.authEndpoint=n,this.signEndpoint=i}return n.prototype.destroy=function(){},n.prototype.getAuthEndpointUrl=function(e){return"".concat(this.authEndpoint,"/").concat(e)},n.prototype.getSignEndpointUrl=function(e){return"".concat(this.signEndpoint).concat(encodeURIComponent(e))},n.prototype.extractRefreshTokenFromResponse=function(n){var i=n.headers.get(e.AUTH_HEADERS.REFRESH_TOKEN);if(!i)throw new e.AuthError("Challenge request failed");return i},n.prototype.requestAuthChallenge=function(i){return a(this,void 0,void 0,(function(){var t,r,a,s;return o(this,(function(o){switch(o.label){case 0:return t=this.getAuthEndpointUrl("login"),r={method:"POST",cache:"no-cache",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:i}),signal:AbortSignal.timeout(n.FETCH_TIMEOUT_MS)},[4,fetch(t,r)];case 1:return[4,o.sent().text()];case 2:if(!(a=o.sent()))throw new e.AuthError("Failed to request challenge: Empty response");if(!(null==(s=JSON.parse(a))?void 0:s.sign))throw new e.AuthError("Failed to fetch sign",e.GeinsErrorCode.AUTH_FAILED);return[2,s.sign]}}))}))},n.prototype.verifyAuthChallenge=function(i){return a(this,void 0,void 0,(function(){var t,r,a;return o(this,(function(o){switch(o.label){case 0:return t=this.getSignEndpointUrl(i),[4,fetch(t,{method:"GET",headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(n.FETCH_TIMEOUT_MS)})];case 1:if(!(r=o.sent()).ok)throw new e.AuthError("Failed to verify challenge");return[4,r.text()];case 2:if(!(a=o.sent()))throw new e.AuthError("Failed to verify challenge: Empty response");return[2,JSON.parse(a)]}}))}))},n.prototype.fetchUserToken=function(i,t,s){return a(this,void 0,void 0,(function(){var a,d,c,l,m,f,v,h,k,p;return o(this,(function(o){switch(o.label){case 0:return a=this.getAuthEndpointUrl("login"),[4,this.requestAuthChallenge(i)];case 1:return d=o.sent(),[4,this.verifyAuthChallenge(d)];case 2:return c=o.sent(),p={username:i,signature:c},[4,u(t)];case 3:return l=r.apply(void 0,[(p.password=o.sent(),p),s?{}:{sessionLifetime:30}]),m={method:"POST",cache:"no-cache",headers:{"Content-Type":"application/json"},body:JSON.stringify(l),signal:AbortSignal.timeout(n.FETCH_TIMEOUT_MS)},[4,fetch(a,m)];case 4:if(!(f=o.sent()).ok)throw new e.AuthError("Failed to fetch user token: ".concat(f.statusText));return v=this.extractRefreshTokenFromResponse(f),[4,f.text()];case 5:if(!(h=o.sent()))throw new e.AuthError("Failed to fetch user token: Empty response");return[2,{maxAge:(k=JSON.parse(h)).maxAge,token:k.token,refreshToken:v}]}}))}))},n.prototype.fetchRefreshToken=function(i){return a(this,void 0,void 0,(function(){var t,r,a,s,d,u,c;return o(this,(function(o){switch(o.label){case 0:return t=this.getAuthEndpointUrl("login"),r={method:"GET",cache:"no-cache",headers:(c={"Content-Type":"application/json"},c["".concat(e.AUTH_HEADERS.REFRESH_TOKEN)]=i,c),signal:AbortSignal.timeout(n.FETCH_TIMEOUT_MS)},[4,fetch(t,r)];case 1:if(!(a=o.sent()).ok)throw new e.AuthError("Failed to renew refresh token: ".concat(a.statusText));return s=this.extractRefreshTokenFromResponse(a),[4,a.text()];case 2:if(!(d=o.sent()))throw new e.AuthError("Failed to fetch user token: Empty response");return[2,{maxAge:(u=JSON.parse(d)).maxAge,token:u.token,refreshToken:s}]}}))}))},n.prototype.performChangePassword=function(i,t,r,s){return a(this,void 0,void 0,(function(){var a,d,c,l,m,f,v,h,k,p;return o(this,(function(o){switch(o.label){case 0:return a=this.getAuthEndpointUrl("password"),[4,this.requestAuthChallenge(i)];case 1:return d=o.sent(),[4,this.verifyAuthChallenge(d)];case 2:return c=o.sent(),k={username:i,signature:c},[4,u(t)];case 3:return k.password=o.sent(),[4,u(r)];case 4:return k.newPassword=o.sent(),l=k,m={method:"POST",cache:"no-cache",headers:(p={"Content-Type":"application/json"},p["".concat(e.AUTH_HEADERS.REFRESH_TOKEN)]=s,p),body:JSON.stringify(l),signal:AbortSignal.timeout(n.FETCH_TIMEOUT_MS)},[4,fetch(a,m)];case 5:if(!(f=o.sent()).ok)throw new e.AuthError("Failed to change password: ".concat(f.statusText));return s=this.extractRefreshTokenFromResponse(f),[4,f.text()];case 6:if(!(v=o.sent()))throw new e.AuthError("Failed to change password: Empty response");return[2,{maxAge:(h=JSON.parse(v)).maxAge,token:h.token,refreshToken:s}]}}))}))},n.prototype.performUserRegister=function(i,t){return a(this,void 0,void 0,(function(){var r,a,s,d,c,l,m,f,v,h;return o(this,(function(o){switch(o.label){case 0:return r=this.getAuthEndpointUrl("register"),[4,this.requestAuthChallenge(i)];case 1:return a=o.sent(),[4,this.verifyAuthChallenge(a)];case 2:return s=o.sent(),h={username:i,signature:s},[4,u(t)];case 3:return h.password=o.sent(),d=h,c={method:"POST",cache:"no-cache",headers:{"Content-Type":"application/json"},body:JSON.stringify(d),signal:AbortSignal.timeout(n.FETCH_TIMEOUT_MS)},[4,fetch(r,c)];case 4:if(!(l=o.sent()).ok)throw new e.AuthError("Failed to register user: ".concat(l.statusText));return m=this.extractRefreshTokenFromResponse(l),[4,l.text()];case 5:if(!(f=o.sent()))throw new e.AuthError("Failed to register user: Empty response");return[2,{maxAge:(v=JSON.parse(f)).maxAge,token:v.token,refreshToken:m}]}}))}))},n.prototype.register=function(e,n){return a(this,void 0,void 0,(function(){return o(this,(function(i){return[2,this.performUserRegister(e,n)]}))}))},n.prototype.login=function(e,n,i){return a(this,void 0,void 0,(function(){return o(this,(function(t){return[2,this.fetchUserToken(e,n,i)]}))}))},n.prototype.renewRefreshtoken=function(e){return a(this,void 0,void 0,(function(){return o(this,(function(n){return[2,this.fetchRefreshToken(e)]}))}))},n.prototype.changePassword=function(n,i){return a(this,void 0,void 0,(function(){return o(this,(function(t){if(!n.newPassword)throw new e.GeinsError("New password is required",e.GeinsErrorCode.INVALID_ARGUMENT);return[2,this.performChangePassword(n.username,n.password,n.newPassword,i)]}))}))},n.prototype.logout=function(e){return a(this,void 0,void 0,(function(){return o(this,(function(e){return[2,!0]}))}))},n.FETCH_TIMEOUT_MS=1e4,n}(),l=function(){function n(e,n){this.signEndpoint=e,this.authEndpoint=n,this.initClient()}return n.prototype.initClient=function(){this.client=new c(this.authEndpoint,this.signEndpoint)},n.prototype.ensureClientInitialized=function(){if(this.client||this.initClient(),!this.client)throw new e.GeinsError("AuthServiceClient is not initialized",e.GeinsErrorCode.NOT_INITIALIZED)},n.prototype.destroy=function(){this.client&&this.client.destroy(),this.client=void 0},n.prototype.login=function(e){return a(this,void 0,void 0,(function(){var i,t;return o(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),this.ensureClientInitialized(),[4,this.client.login(e.username,e.password,e.rememberUser)];case 1:return i=r.sent(),[2,n.getUserObjectFromToken(i.token,i.refreshToken)];case 2:return t=r.sent(),[2,this.handleError("Login failed",t)];case 3:return[2]}}))}))},n.prototype.getUser=function(e,i){return a(this,void 0,void 0,(function(){var t,r,a;return o(this,(function(o){switch(o.label){case 0:return o.trys.push([0,6,,7]),i?(t=n.getUserObjectFromToken(i,e))?(null===(a=t.tokens)||void 0===a?void 0:a.expiresSoon)?[4,this.refresh(e)]:[3,2]:[2,{succeeded:!1}]:[3,3];case 1:case 4:return[2,o.sent()];case 2:return[2,t];case 3:return[4,this.refresh(e)];case 5:return[3,7];case 6:return r=o.sent(),[2,this.handleError("Get user failed",r)];case 7:return[2]}}))}))},n.prototype.changePassword=function(e,i){return a(this,void 0,void 0,(function(){var t,r,a;return o(this,(function(o){switch(o.label){case 0:if(!e.newPassword||!i)return[2,{succeeded:!1}];o.label=1;case 1:return o.trys.push([1,3,,4]),this.ensureClientInitialized(),[4,this.client.changePassword(e,i)];case 2:return(t=o.sent()).token&&(r=n.getUserObjectFromToken(t.token,t.refreshToken))?[2,r]:[2,{succeeded:!1}];case 3:return a=o.sent(),[2,this.handleError("Token refresh failed",a)];case 4:return[2]}}))}))},n.prototype.refresh=function(e){return a(this,void 0,void 0,(function(){var i,t,r;return o(this,(function(a){switch(a.label){case 0:if(!e)return[2,{succeeded:!1}];a.label=1;case 1:return a.trys.push([1,3,,4]),this.ensureClientInitialized(),[4,this.client.renewRefreshtoken(e)];case 2:return(i=a.sent()).token&&(t=n.getUserObjectFromToken(i.token,i.refreshToken))?[2,t]:[2,{succeeded:!1}];case 3:return r=a.sent(),[2,this.handleError("Token refresh failed",r)];case 4:return[2]}}))}))},n.prototype.register=function(e){return a(this,void 0,void 0,(function(){var i,t;return o(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),this.ensureClientInitialized(),[4,this.client.register(e.username,e.password)];case 1:return(i=r.sent())?[2,n.getUserObjectFromToken(i.token,i.refreshToken)]:[2,{succeeded:!1}];case 2:return t=r.sent(),[2,this.handleError("Register new user failed",t)];case 3:return[2]}}))}))},n.getUserObjectFromToken=function(n,i){try{var t=function(e){try{var n=s(e);return n?n.split(";").reduce((function(e,n){var i=n.split("="),t=i[0],r=i[1];return t.includes("/")&&(t=t.split("/").pop()||t),e[t=t.charAt(0).toLowerCase()+t.slice(1)]=r,e}),{}):null}catch(e){return null}}(n);if(!t)throw new e.AuthError("Failed to parse user token",e.GeinsErrorCode.PARSE_ERROR);var r=Math.floor(Date.now()/1e3),a=parseInt(t.exp||"0")-r,o=a<90;return{succeeded:!0,user:{authenticated:!t.expired,userId:t.sid||"",username:t.name||"unknown",customerType:(t.customerType||"unknown").toUpperCase(),memberDiscount:t.memberDiscount||"0",memberType:t.memberType||"unknown",memberId:t.memberId||"0"},tokens:{token:n,expires:parseInt(t.exp||"0"),expired:r>=parseInt(t.exp||"0"),expiresSoon:o,expiresIn:a,refreshToken:i}}}catch(n){throw new e.AuthError("Failed to parse user token",e.GeinsErrorCode.PARSE_ERROR)}},n.prototype.handleError=function(e,n){return{succeeded:!1}},n}(),m=function(){function e(){}return e.prototype.destroy=function(){},e.prototype.login=function(e){return a(this,void 0,void 0,(function(){return o(this,(function(n){return[2,this.handleLogin(e)]}))}))},e.prototype.refresh=function(e){return a(this,void 0,void 0,(function(){return o(this,(function(n){return e?[2,this.handleRefresh(e)]:[2,void 0]}))}))},e.prototype.getUser=function(e,n){return a(this,void 0,void 0,(function(){return o(this,(function(i){return e?n?[2,this.handleUserTokenScenario({userToken:n,refreshToken:e})]:[2,this.handleGetUser(e)]:[2,void 0]}))}))},e.prototype.changePassword=function(e,n){return a(this,void 0,void 0,(function(){return o(this,(function(i){return n?[2,this.handleChangePassword(e,n)]:[2,void 0]}))}))},e.prototype.register=function(e){return a(this,void 0,void 0,(function(){return o(this,(function(n){return[2,this.handleRegister(e)]}))}))},e.prototype.logout=function(){return a(this,void 0,void 0,(function(){return o(this,(function(e){return[2,{succeeded:!0}]}))}))},e.prototype.handleUserTokenScenario=function(e){return a(this,void 0,void 0,(function(){var n,i;return o(this,(function(t){return(null==(n=l.getUserObjectFromToken(e.userToken,e.refreshToken))?void 0:n.succeeded)&&(null===(i=n.tokens)||void 0===i?void 0:i.expiresSoon)?[2,this.handleGetUser(e.refreshToken,e.userToken)]:[2,n]}))}))},e}(),f=function(e){function n(n,i){var t=e.call(this)||this;return t._authService=new l(n,i),t}return t(n,e),n.prototype.destroy=function(){this._authService.destroy(),this._authService=void 0},n.prototype.handleLogin=function(e){return a(this,void 0,void 0,(function(){return o(this,(function(n){return[2,this._authService.login(e)]}))}))},n.prototype.handleRefresh=function(e){return a(this,void 0,void 0,(function(){return o(this,(function(n){return[2,this._authService.refresh(e)]}))}))},n.prototype.handleGetUser=function(e,n){return a(this,void 0,void 0,(function(){return o(this,(function(i){return[2,this._authService.getUser(e,n)]}))}))},n.prototype.handleChangePassword=function(e,n){return a(this,void 0,void 0,(function(){return o(this,(function(i){return[2,this._authService.changePassword(e,n)]}))}))},n.prototype.handleRegister=function(e){return a(this,void 0,void 0,(function(){return o(this,(function(n){return[2,this._authService.register(e)]}))}))},n}(m),v=function(n){function i(e){var i=n.call(this)||this;return i._authEndpointApp=e,i}return t(i,n),i.prototype.destroy=function(){this._authEndpointApp=""},i.prototype.request=function(n,t,s){return a(this,void 0,void 0,(function(){var a,d,u,c;return o(this,(function(o){switch(o.label){case 0:return t.headers||(t.headers={"Content-Type":"application/json"}),s&&(t.headers=r(r({},t.headers),((u={})["".concat(e.AUTH_HEADERS.REFRESH_TOKEN)]=s,u))),"GET"!==t.method&&"HEAD"!==t.method||delete t.body,[4,fetch("".concat(this._authEndpointApp).concat(n),r(r({},t),{signal:AbortSignal.timeout(i.FETCH_TIMEOUT_MS)}))];case 1:return[4,(a=o.sent()).json()];case 2:if(d=o.sent(),!a.ok)throw new e.AuthError("API request failed");return[2,null===(c=d.body)||void 0===c?void 0:c.data]}}))}))},i.prototype.handleLogin=function(e){return a(this,void 0,void 0,(function(){return o(this,(function(n){return[2,this.request("/login",{method:"POST",body:JSON.stringify(e)})]}))}))},i.prototype.handleRefresh=function(e){return a(this,void 0,void 0,(function(){return o(this,(function(n){return[2,this.request("/refresh",{method:"POST"},e)]}))}))},i.prototype.handleGetUser=function(e,n){return a(this,void 0,void 0,(function(){return o(this,(function(n){return[2,this.request("/user",{method:"GET"},e)]}))}))},i.prototype.handleChangePassword=function(e,n){return a(this,void 0,void 0,(function(){return o(this,(function(i){return[2,this.request("/change-password",{method:"POST",body:JSON.stringify(e)},n)]}))}))},i.prototype.handleRegister=function(e){return a(this,void 0,void 0,(function(){return o(this,(function(n){return[2,this.request("/register",{method:"POST",body:JSON.stringify(e)})]}))}))},i.FETCH_TIMEOUT_MS=1e4,i}(m),h={kind:"Document",definitions:[{kind:"FragmentDefinition",name:{kind:"Name",value:"Address"},typeCondition:{kind:"NamedType",name:{kind:"Name",value:"AddressType"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"firstName"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"lastName"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"company"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"mobile"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"phone"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"careOf"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"entryCode"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"addressLine1"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"addressLine2"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"addressLine3"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"zip"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"city"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"state"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"country"},arguments:[],directives:[]}]}}],loc:{start:0,end:183}};function k(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){k(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){k(e,n)})),e.definitions&&e.definitions.forEach((function(e){k(e,n)}))}h.loc.source={body:"fragment Address on AddressType {\n firstName\n lastName\n company\n mobile\n phone\n careOf\n entryCode\n addressLine1\n addressLine2\n addressLine3\n zip\n city\n state\n country\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};var p={};function g(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}h.definitions.forEach((function(e){if(e.name){var n=new Set;k(e,n),p[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[g(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=p[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(p[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=g(e,n);t&&i.definitions.push(t)}))}(h,"Address");var S={kind:"Document",definitions:[{kind:"FragmentDefinition",name:{kind:"Name",value:"UserBalance"},typeCondition:{kind:"NamedType",name:{kind:"Name",value:"UserBalanceType"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"currency"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"amount"},arguments:[],directives:[]}]}}],loc:{start:0,end:83}};function y(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){y(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){y(e,n)})),e.definitions&&e.definitions.forEach((function(e){y(e,n)}))}S.loc.source={body:"fragment UserBalance on UserBalanceType {\n currency\n amount\n #amountFormatted\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};var E={};function N(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}S.definitions.forEach((function(e){if(e.name){var n=new Set;y(e,n),E[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[N(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=E[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(E[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=N(e,n);t&&i.definitions.push(t)}))}(S,"UserBalance");var T={kind:"Document",definitions:[{kind:"FragmentDefinition",name:{kind:"Name",value:"User"},typeCondition:{kind:"NamedType",name:{kind:"Name",value:"UserType"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"email"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"personalId"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"customerType"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"gender"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"address"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"Address"},directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"balances"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"UserBalance"},directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"metaData"},arguments:[],directives:[]}]}}],loc:{start:0,end:207}};T.loc.source={body:'#import "./address.gql"\n#import "./balances.gql"\nfragment User on UserType {\n id\n email\n personalId\n customerType\n gender\n address {\n ...Address\n }\n balances {\n ...UserBalance\n }\n metaData\n}\n',name:"GraphQL request",locationOffset:{line:1,column:1}};var b={};function F(e){return e.filter((function(e){if("FragmentDefinition"!==e.kind)return!0;var n=e.name.value;return!b[n]&&(b[n]=!0,!0)}))}function w(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){w(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){w(e,n)})),e.definitions&&e.definitions.forEach((function(e){w(e,n)}))}T.definitions=T.definitions.concat(F(h.definitions)),T.definitions=T.definitions.concat(F(S.definitions));var _={};function A(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}T.definitions.forEach((function(e){if(e.name){var n=new Set;w(e,n),_[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[A(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=_[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(_[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=A(e,n);t&&i.definitions.push(t)}))}(T,"User");var I={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"UserGet"},variableDefinitions:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"getUser"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"User"},directives:[]}]}}]}}],loc:{start:0,end:78}};I.loc.source={body:'#import "../fragments/user.gql"\nquery UserGet {\n getUser {\n ...User\n }\n}\n',name:"GraphQL request",locationOffset:{line:1,column:1}};var U={};function O(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){O(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){O(e,n)})),e.definitions&&e.definitions.forEach((function(e){O(e,n)}))}I.definitions=I.definitions.concat(T.definitions.filter((function(e){if("FragmentDefinition"!==e.kind)return!0;var n=e.name.value;return!U[n]&&(U[n]=!0,!0)})));var R={};function V(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}I.definitions.forEach((function(e){if(e.name){var n=new Set;O(e,n),R[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[V(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=R[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(R[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=V(e,n);t&&i.definitions.push(t)}))}(I,"UserGet");var D={kind:"Document",definitions:[{kind:"FragmentDefinition",name:{kind:"Name",value:"Price"},typeCondition:{kind:"NamedType",name:{kind:"Name",value:"PriceType"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"isDiscounted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceIncVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceExVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"regularPriceIncVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"regularPriceExVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"vat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"discountPercentage"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"regularPriceIncVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceIncVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"regularPriceExVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceExVatFormatted"},arguments:[],directives:[]}]}}],loc:{start:0,end:274}};function P(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){P(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){P(e,n)})),e.definitions&&e.definitions.forEach((function(e){P(e,n)}))}D.loc.source={body:"fragment Price on PriceType {\n isDiscounted\n sellingPriceIncVat\n sellingPriceExVat\n regularPriceIncVat\n regularPriceExVat\n vat\n discountPercentage\n regularPriceIncVatFormatted\n sellingPriceIncVatFormatted\n regularPriceExVatFormatted\n sellingPriceExVatFormatted\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};var C={};function x(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}D.definitions.forEach((function(e){if(e.name){var n=new Set;P(e,n),C[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[x(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=C[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(C[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=x(e,n);t&&i.definitions.push(t)}))}(D,"Price");var G={kind:"Document",definitions:[{kind:"FragmentDefinition",name:{kind:"Name",value:"Stock"},typeCondition:{kind:"NamedType",name:{kind:"Name",value:"StockType"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"inStock"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"oversellable"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"totalStock"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"static"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"incoming"},arguments:[],directives:[]}]}}],loc:{start:0,end:90}};function q(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){q(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){q(e,n)})),e.definitions&&e.definitions.forEach((function(e){q(e,n)}))}G.loc.source={body:"fragment Stock on StockType {\n inStock\n oversellable\n totalStock\n static\n incoming\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};var M={};function L(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}G.definitions.forEach((function(e){if(e.name){var n=new Set;q(e,n),M[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[L(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=M[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(M[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=L(e,n);t&&i.definitions.push(t)}))}(G,"Stock");var H={kind:"Document",definitions:[{kind:"FragmentDefinition",name:{kind:"Name",value:"Cart"},typeCondition:{kind:"NamedType",name:{kind:"Name",value:"CartType"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"promoCode"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"appliedCampaigns"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"name"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"hideTitle"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"items"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"campaign"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"appliedCampaigns"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"name"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"hideTitle"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"prices"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"price"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"Price"},directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"quantity"},arguments:[],directives:[]}]}}]}},{kind:"Field",name:{kind:"Name",value:"unitPrice"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"Price"},directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"product"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"productId"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"articleNumber"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"brand"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"name"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"name"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"productImages"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"fileName"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"alias"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"canonicalUrl"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"primaryCategory"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"name"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"skus"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"skuId"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"name"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"stock"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"Stock"},directives:[]}]}}]}},{kind:"Field",name:{kind:"Name",value:"unitPrice"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"Price"},directives:[]}]}}]}},{kind:"Field",name:{kind:"Name",value:"quantity"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"skuId"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"totalPrice"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"Price"},directives:[]}]}}]}},{kind:"Field",name:{kind:"Name",value:"summary"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"fixedAmountDiscountIncVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"fixedAmountDiscountExVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"balance"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"pending"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"pendingFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"totalSellingPriceExBalanceExVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"totalSellingPriceExBalanceIncVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"totalSellingPriceExBalanceIncVatFormatted"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"subTotal"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"regularPriceIncVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"regularPriceExVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceIncVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceExVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceExVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceIncVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"vat"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"shipping"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"amountLeftToFreeShipping"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"amountLeftToFreeShippingFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"feeExVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"feeIncVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"feeIncVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"feeExVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"isDefault"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"total"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"isDiscounted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceIncVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceExVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceIncVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceExVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"discountIncVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"discountExVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"discountExVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"discountIncVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"vatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"vat"},arguments:[],directives:[]}]}}]}}]}}],loc:{start:0,end:1724}};H.loc.source={body:'#import "./price.gql"\n#import "./stock.gql"\n\nfragment Cart on CartType {\n id\n promoCode\n appliedCampaigns {\n name\n hideTitle\n }\n items {\n campaign {\n appliedCampaigns {\n name\n hideTitle\n }\n prices {\n price {\n ...Price\n }\n quantity\n }\n }\n unitPrice {\n ...Price\n }\n product {\n productId\n articleNumber\n brand {\n name\n }\n name\n productImages {\n fileName\n }\n alias\n canonicalUrl\n primaryCategory {\n name\n }\n skus {\n skuId\n name\n stock {\n ...Stock\n }\n }\n unitPrice {\n ...Price\n }\n }\n quantity\n skuId\n totalPrice {\n ...Price\n }\n }\n summary {\n fixedAmountDiscountIncVat\n fixedAmountDiscountExVat\n balance {\n pending\n pendingFormatted\n totalSellingPriceExBalanceExVat\n totalSellingPriceExBalanceIncVat\n totalSellingPriceExBalanceIncVatFormatted\n }\n subTotal {\n regularPriceIncVatFormatted\n regularPriceExVatFormatted\n sellingPriceIncVatFormatted\n sellingPriceExVatFormatted\n sellingPriceExVat\n sellingPriceIncVat\n vat\n }\n shipping {\n amountLeftToFreeShipping\n amountLeftToFreeShippingFormatted\n feeExVatFormatted\n feeIncVatFormatted\n feeIncVat\n feeExVat\n isDefault\n }\n total {\n isDiscounted\n sellingPriceIncVatFormatted\n sellingPriceExVatFormatted\n sellingPriceIncVat\n sellingPriceExVat\n discountIncVatFormatted\n discountExVatFormatted\n discountExVat\n discountIncVat\n vatFormatted\n vat\n }\n }\n}\n',name:"GraphQL request",locationOffset:{line:1,column:1}};var j={};function $(e){return e.filter((function(e){if("FragmentDefinition"!==e.kind)return!0;var n=e.name.value;return!j[n]&&(j[n]=!0,!0)}))}function K(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){K(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){K(e,n)})),e.definitions&&e.definitions.forEach((function(e){K(e,n)}))}H.definitions=H.definitions.concat($(D.definitions)),H.definitions=H.definitions.concat($(G.definitions));var z={};function B(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}H.definitions.forEach((function(e){if(e.name){var n=new Set;K(e,n),z[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[B(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=z[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(z[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=B(e,n);t&&i.definitions.push(t)}))}(H,"Cart");var J={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"UserOrders"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"channelId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"languageId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"marketId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"getOrders"},arguments:[{kind:"Argument",name:{kind:"Name",value:"channelId"},value:{kind:"Variable",name:{kind:"Name",value:"channelId"}}},{kind:"Argument",name:{kind:"Name",value:"languageId"},value:{kind:"Variable",name:{kind:"Name",value:"languageId"}}},{kind:"Argument",name:{kind:"Name",value:"marketId"},value:{kind:"Variable",name:{kind:"Name",value:"marketId"}}}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"cart"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"Cart"},directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"billingAddress"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"Address"},directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"shippingAddress"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"Address"},directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"createdAt"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"id"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"status"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"shippingDetails"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"name"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"trackingLink"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"paymentDetails"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"displayName"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"refunds"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"itemId"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"createdAt"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"reason"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"total"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"vat"},arguments:[],directives:[]}]}}]}}]}}],loc:{start:0,end:631}};J.loc.source={body:'#import "../fragments/price.gql"\n#import "../fragments/address.gql"\n#import "../fragments/cart.gql"\n\nquery UserOrders($channelId: String, $languageId: String, $marketId: String) {\n getOrders(\n channelId: $channelId\n languageId: $languageId\n marketId: $marketId\n ) {\n cart {\n ...Cart\n }\n billingAddress {\n ...Address\n }\n shippingAddress {\n ...Address\n }\n createdAt\n id\n status\n shippingDetails {\n name\n trackingLink\n }\n paymentDetails {\n displayName\n }\n refunds {\n id\n itemId\n createdAt\n reason\n total\n vat\n }\n }\n}\n',name:"GraphQL request",locationOffset:{line:1,column:1}};var Q={};function Y(e){return e.filter((function(e){if("FragmentDefinition"!==e.kind)return!0;var n=e.name.value;return!Q[n]&&(Q[n]=!0,!0)}))}function X(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){X(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){X(e,n)})),e.definitions&&e.definitions.forEach((function(e){X(e,n)}))}J.definitions=J.definitions.concat(Y(D.definitions)),J.definitions=J.definitions.concat(Y(h.definitions)),J.definitions=J.definitions.concat(Y(H.definitions));var Z={};function W(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}J.definitions.forEach((function(e){if(e.name){var n=new Set;X(e,n),Z[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[W(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=Z[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(Z[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=W(e,n);t&&i.definitions.push(t)}))}(J,"UserOrders");var ee={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"UserCreate"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"user"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"UserInputType"}}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"channelId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"languageId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"marketId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"updateUser"},arguments:[{kind:"Argument",name:{kind:"Name",value:"user"},value:{kind:"Variable",name:{kind:"Name",value:"user"}}},{kind:"Argument",name:{kind:"Name",value:"channelId"},value:{kind:"Variable",name:{kind:"Name",value:"channelId"}}},{kind:"Argument",name:{kind:"Name",value:"languageId"},value:{kind:"Variable",name:{kind:"Name",value:"languageId"}}},{kind:"Argument",name:{kind:"Name",value:"marketId"},value:{kind:"Variable",name:{kind:"Name",value:"marketId"}}}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"email"},arguments:[],directives:[]}]}}]}}],loc:{start:0,end:242}};function ne(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){ne(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){ne(e,n)})),e.definitions&&e.definitions.forEach((function(e){ne(e,n)}))}ee.loc.source={body:"mutation UserCreate(\n $user: UserInputType!\n $channelId: String\n $languageId: String\n $marketId: String\n) {\n updateUser(\n user: $user\n channelId: $channelId\n languageId: $languageId\n marketId: $marketId\n ) {\n email\n }\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};var ie={};function te(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}ee.definitions.forEach((function(e){if(e.name){var n=new Set;ne(e,n),ie[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[te(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=ie[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(ie[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=te(e,n);t&&i.definitions.push(t)}))}(ee,"UserCreate");var re={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"UserUpdate"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"user"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"UserInputType"}}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"channelId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"languageId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"marketId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"updateUser"},arguments:[{kind:"Argument",name:{kind:"Name",value:"user"},value:{kind:"Variable",name:{kind:"Name",value:"user"}}},{kind:"Argument",name:{kind:"Name",value:"channelId"},value:{kind:"Variable",name:{kind:"Name",value:"channelId"}}},{kind:"Argument",name:{kind:"Name",value:"languageId"},value:{kind:"Variable",name:{kind:"Name",value:"languageId"}}},{kind:"Argument",name:{kind:"Name",value:"marketId"},value:{kind:"Variable",name:{kind:"Name",value:"marketId"}}}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"User"},directives:[]}]}}]}}],loc:{start:0,end:276}};re.loc.source={body:'#import "../fragments/user.gql"\nmutation UserUpdate(\n $user: UserInputType!\n $channelId: String\n $languageId: String\n $marketId: String\n) {\n updateUser(\n user: $user\n channelId: $channelId\n languageId: $languageId\n marketId: $marketId\n ) {\n ...User\n }\n}\n',name:"GraphQL request",locationOffset:{line:1,column:1}};var ae={};function oe(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){oe(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){oe(e,n)})),e.definitions&&e.definitions.forEach((function(e){oe(e,n)}))}re.definitions=re.definitions.concat(function(e){return e.filter((function(e){if("FragmentDefinition"!==e.kind)return!0;var n=e.name.value;return!ae[n]&&(ae[n]=!0,!0)}))}(T.definitions));var se={};function de(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}re.definitions.forEach((function(e){if(e.name){var n=new Set;oe(e,n),se[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[de(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=se[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(se[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=de(e,n);t&&i.definitions.push(t)}))}(re,"UserUpdate");var ue={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"UserDelete"},variableDefinitions:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"deleteUser"},arguments:[],directives:[]}]}}],loc:{start:0,end:37}};function ce(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){ce(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){ce(e,n)})),e.definitions&&e.definitions.forEach((function(e){ce(e,n)}))}ue.loc.source={body:"mutation UserDelete {\n deleteUser\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};var le={};function me(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}ue.definitions.forEach((function(e){if(e.name){var n=new Set;ce(e,n),le[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[me(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=le[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(le[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=me(e,n);t&&i.definitions.push(t)}))}(ue,"UserDelete");var fe={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"UserRequestPasswordReset"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"email"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"String"}}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"channelId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"languageId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"marketId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"requestPasswordReset"},arguments:[{kind:"Argument",name:{kind:"Name",value:"email"},value:{kind:"Variable",name:{kind:"Name",value:"email"}}},{kind:"Argument",name:{kind:"Name",value:"channelId"},value:{kind:"Variable",name:{kind:"Name",value:"channelId"}}},{kind:"Argument",name:{kind:"Name",value:"languageId"},value:{kind:"Variable",name:{kind:"Name",value:"languageId"}}},{kind:"Argument",name:{kind:"Name",value:"marketId"},value:{kind:"Variable",name:{kind:"Name",value:"marketId"}}}],directives:[]}]}}],loc:{start:0,end:246}};function ve(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){ve(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){ve(e,n)})),e.definitions&&e.definitions.forEach((function(e){ve(e,n)}))}fe.loc.source={body:"mutation UserRequestPasswordReset(\n $email: String!\n $channelId: String\n $languageId: String\n $marketId: String\n) {\n requestPasswordReset(\n email: $email\n channelId: $channelId\n languageId: $languageId\n marketId: $marketId\n )\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};var he={};function ke(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}fe.definitions.forEach((function(e){if(e.name){var n=new Set;ve(e,n),he[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[ke(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=he[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(he[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=ke(e,n);t&&i.definitions.push(t)}))}(fe,"UserRequestPasswordReset");var pe={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"UserPasswordResetCommit"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"resetKey"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"String"}}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"password"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"String"}}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"channelId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"languageId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"marketId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"commitReset"},arguments:[{kind:"Argument",name:{kind:"Name",value:"resetKey"},value:{kind:"Variable",name:{kind:"Name",value:"resetKey"}}},{kind:"Argument",name:{kind:"Name",value:"password"},value:{kind:"Variable",name:{kind:"Name",value:"password"}}},{kind:"Argument",name:{kind:"Name",value:"channelId"},value:{kind:"Variable",name:{kind:"Name",value:"channelId"}}},{kind:"Argument",name:{kind:"Name",value:"languageId"},value:{kind:"Variable",name:{kind:"Name",value:"languageId"}}},{kind:"Argument",name:{kind:"Name",value:"marketId"},value:{kind:"Variable",name:{kind:"Name",value:"marketId"}}}],directives:[]}]}}],loc:{start:0,end:290}};function ge(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){ge(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){ge(e,n)})),e.definitions&&e.definitions.forEach((function(e){ge(e,n)}))}pe.loc.source={body:"mutation UserPasswordResetCommit(\n $resetKey: String!\n $password: String!\n $channelId: String\n $languageId: String\n $marketId: String\n) {\n commitReset(\n resetKey: $resetKey\n password: $password\n channelId: $channelId\n languageId: $languageId\n marketId: $marketId\n )\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};var Se={};function ye(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}pe.definitions.forEach((function(e){if(e.name){var n=new Set;ge(e,n),Se[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[ye(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=Se[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(Se[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=ye(e,n);t&&i.definitions.push(t)}))}(pe,"UserPasswordResetCommit");var Ee={userGet:I,userOrders:J},Ne={userRegister:ee,userUpdate:re,userDelete:ue,pwResetRequest:fe,pwResetCommit:pe},Te=function(n){function i(e,i){return n.call(this,e,i)||this}return t(i,n),i.prototype.generateVars=function(e){return this.createVariables(e)},i.prototype.generateMutationVars=function(e){var n=e.user;return(null==n?void 0:n.entityId)&&(n.personalId=n.entityId,delete n.entityId),n&&(n.newsletter=!("true"!==n.newsletter)),this.createVariables(e)},i.prototype.get=function(e){return a(this,void 0,void 0,(function(){var n;return o(this,(function(i){return n={query:Ee.userGet,variables:this.generateVars({}),userToken:e},[2,this.runQueryParsed(n)]}))}))},i.prototype.create=function(e,n){return a(this,void 0,void 0,(function(){var i,t;return o(this,(function(r){switch(r.label){case 0:return i={query:Ne.userRegister,variables:this.generateMutationVars({user:e}),userToken:n},[4,this.runMutation(i)];case 1:return t=r.sent(),[2,this.parseResult(t)]}}))}))},i.prototype.update=function(e,n){return a(this,void 0,void 0,(function(){var i,t;return o(this,(function(r){switch(r.label){case 0:return i={query:Ne.userUpdate,variables:this.generateMutationVars({user:e}),userToken:n},[4,this.runMutation(i)];case 1:return t=r.sent(),[2,this.parseResult(t)]}}))}))},i.prototype.delete=function(e){return a(this,void 0,void 0,(function(){var n;return o(this,(function(i){switch(i.label){case 0:return n={query:Ne.userDelete,variables:this.generateVars({}),userToken:e},[4,this.runMutation(n)];case 1:return[2,!!i.sent()]}}))}))},i.prototype.parseResult=function(n){var i=n;if(!(null==i?void 0:i.data))throw new e.GeinsError("Invalid user data",e.GeinsErrorCode.PARSE_ERROR);return i.data.getUser?i.data.getUser:i.data.updateUser?this.cleanObject(i.data.updateUser):void 0},i}(e.BaseApiService),be=function(e){function n(n,i){return e.call(this,n,i)||this}return t(n,e),n.prototype.generateVars=function(e){return this.createVariables(e)},n.prototype.get=function(e){return a(this,void 0,void 0,(function(){var n;return o(this,(function(i){return n={query:Ee.userOrders,variables:this.generateVars({}),userToken:e},[2,this.runQueryParsed(n)]}))}))},n.prototype.parseResult=function(e){var n,i=e;if(null===(n=null==i?void 0:i.data)||void 0===n?void 0:n.getOrders)return i.data.getOrders},n}(e.BaseApiService),Fe=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return t(n,e),n.prototype.request=function(e){return a(this,void 0,void 0,(function(){var n;return o(this,(function(i){return n={query:Ne.pwResetRequest,variables:this.createVariables({email:e})},[2,this.runMutation(n)]}))}))},n.prototype.commit=function(e,n){return a(this,void 0,void 0,(function(){var i,t;return o(this,(function(r){switch(r.label){case 0:return[4,u(n)];case 1:return i=r.sent(),t={query:Ne.pwResetCommit,variables:this.createVariables({resetKey:e,password:i})},[2,this.runMutation(t)]}}))}))},n}(e.BaseApiService),we=function(i){function r(t,r){var a=i.call(this,t)||this,o=t.geinsSettings;if(r.clientConnectionMode===n.AuthClientConnectionModes.Proxy){var s=r.proxyUrl||"/api/auth";a._authClient=new v(s)}else{if(r.clientConnectionMode!==n.AuthClientConnectionModes.Direct)throw new e.GeinsError("Invalid client connection mode",e.GeinsErrorCode.INVALID_ARGUMENT);var d=e.buildEndpoints(o.apiKey,o.accountName,o.environment);a._authClient=new f(d.authSign,d.auth)}return a}return t(r,i),r.prototype.destroy=function(){var e,n,i;this._authClient.destroy(),null===(e=this._userService)||void 0===e||e.destroy(),null===(n=this._passwordResetService)||void 0===n||n.destroy(),null===(i=this._userOrdersService)||void 0===i||i.destroy()},Object.defineProperty(r.prototype,"userService",{get:function(){var e=this;return this._userService||(this._userService=new Te((function(){return e._apiClient()}),this._geinsSettings)),this._userService},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"passwordResetService",{get:function(){var e=this;return this._passwordResetService||(this._passwordResetService=new Fe((function(){return e._apiClient()}),this._geinsSettings)),this._passwordResetService},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"userOrdersService",{get:function(){var e=this;return this._userOrdersService||(this._userOrdersService=new be((function(){return e._apiClient()}),this._geinsSettings)),this._userOrdersService},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"auth",{get:function(){var e=this;return{login:function(n){return e.authLogin(n)},logout:function(){return e._authClient.logout()},refresh:function(n){return e._authClient.refresh(n)},getUser:function(n,i){return e._authClient.getUser(n,i)},authorized:function(n){return a(e,void 0,void 0,(function(){var e,i;return o(this,(function(t){switch(t.label){case 0:return[4,this._authClient.getUser(n)];case 1:return e=t.sent(),[2,null!==(i=null==e?void 0:e.succeeded)&&void 0!==i&&i]}}))}))}}},enumerable:!1,configurable:!0}),r.prototype.authLogin=function(e){return a(this,void 0,void 0,(function(){var i;return o(this,(function(t){switch(t.label){case 0:return[4,this._authClient.login(e)];case 1:i=t.sent();try{this.pushEvent({subject:n.GeinsEventType.USER_LOGIN,payload:{success:null==i?void 0:i.succeeded,user:e.username}},n.GeinsEventType.USER_LOGIN)}catch(e){}return[2,i]}}))}))},Object.defineProperty(r.prototype,"user",{get:function(){var e=this;return{get:function(n){return e.userGet(n)},update:function(n,i){return e.userUpdate(n,i)},create:function(n,i){return e.userRegisterAndCreate(n,i)},remove:function(n){return e.userRemove(n)},password:{change:function(n,i){return e._authClient.changePassword(n,i)},requestReset:function(n){return e.userPasswordResetRequest(n)},commitReset:function(n,i){return e.userPasswordResetCommit(n,i)}},orders:{get:function(n){return e.userOrders(n)}}}},enumerable:!1,configurable:!0}),r.prototype.userGet=function(e){return a(this,void 0,void 0,(function(){return o(this,(function(n){return[2,this.userService.get(e)]}))}))},r.prototype.userUpdate=function(e,i){return a(this,void 0,void 0,(function(){var t;return o(this,(function(r){t=JSON.parse(JSON.stringify(e));try{this.pushEvent({subject:n.GeinsEventType.USER_UPDATE,payload:t},n.GeinsEventType.USER_UPDATE)}catch(e){}return[2,this.userService.update(e,i)]}))}))},r.prototype.userRegisterAndCreate=function(e,i){return a(this,void 0,void 0,(function(){var t,r,a;return o(this,(function(o){switch(o.label){case 0:return[4,this._authClient.register(e)];case 1:return(null==(t=o.sent())?void 0:t.succeeded)&&(null===(a=t.tokens)||void 0===a?void 0:a.token)?(r=t.tokens.token,i?[4,this.userUpdate(i,r)]:[3,3]):[2,t];case 2:return o.sent(),[3,5];case 3:return[4,this.userService.create({newsletter:!1,customerType:n.GeinsCustomerType.PersonType},r)];case 4:o.sent(),o.label=5;case 5:return[2,this._authClient.getUser(t.tokens.refreshToken,r)]}}))}))},r.prototype.userRemove=function(e){return a(this,void 0,void 0,(function(){return o(this,(function(i){try{this.pushEvent({subject:n.GeinsEventType.USER_DELETE,payload:{}},n.GeinsEventType.USER_DELETE)}catch(e){}return[2,this.userService.delete(e)]}))}))},r.prototype.userOrders=function(e){return a(this,void 0,void 0,(function(){return o(this,(function(n){return[2,this.userOrdersService.get(e)]}))}))},r.prototype.userPasswordResetRequest=function(e){return a(this,void 0,void 0,(function(){return o(this,(function(n){switch(n.label){case 0:return[4,this.passwordResetService.request(e)];case 1:return[2,!!n.sent()]}}))}))},r.prototype.userPasswordResetCommit=function(e,n){return a(this,void 0,void 0,(function(){return o(this,(function(i){switch(i.label){case 0:return[4,this.passwordResetService.commit(e,n)];case 1:return[2,!!i.sent()]}}))}))},r}(e.BasePackage),_e=function(){function i(i,t){var r,a=this;this._refreshPromise=null,this._crm=i,this._storage=null!==(r=null==t?void 0:t.storage)&&void 0!==r?r:new e.CookieStorageAdapter,this._events=null==t?void 0:t.events,this._userToken=this._storage.get(e.AUTH_STORAGE_KEYS.USER_AUTH),this._refreshToken=this._storage.get(e.AUTH_STORAGE_KEYS.REFRESH_TOKEN),this._events&&(this._events.listenerAdd((function(){return a.syncFromStorage()}),n.GeinsEventType.SESSION_REFRESH),this._events.listenerAdd((function(){return a.syncFromStorage()}),n.GeinsEventType.USER_LOGOUT))}return Object.defineProperty(i.prototype,"isAuthenticated",{get:function(){return!!this._refreshToken},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"userToken",{get:function(){return this._userToken},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,"refreshToken",{get:function(){return this._refreshToken},enumerable:!1,configurable:!0}),i.prototype.login=function(e){return a(this,void 0,void 0,(function(){var i,t;return o(this,(function(r){switch(r.label){case 0:return[4,this._crm.auth.login(e)];case 1:return(null==(i=r.sent())?void 0:i.succeeded)&&(this.storeTokens(i.tokens,e.rememberUser),this.storeUser(i.user,e.rememberUser),this.emitEvent(n.GeinsEventType.USER_LOGIN,{user:null===(t=i.user)||void 0===t?void 0:t.username})),[2,i]}}))}))},i.prototype.refresh=function(){return a(this,void 0,void 0,(function(){return o(this,(function(e){return[2,this.deduplicatedRefresh()]}))}))},i.prototype.getAuthUser=function(){return a(this,void 0,void 0,(function(){var e,n;return o(this,(function(i){switch(i.label){case 0:return this._refreshToken?[4,this.ensureValidToken()]:[2,void 0];case 1:return e=i.sent(),[4,this._crm.auth.getUser(this._refreshToken,e)];case 2:return(null==(n=i.sent())?void 0:n.succeeded)&&n.tokens&&(this.storeTokens(n.tokens),this.storeUser(n.user)),[2,n]}}))}))},i.prototype.authorized=function(){return a(this,void 0,void 0,(function(){return o(this,(function(e){return this._refreshToken?[2,this._crm.auth.authorized(this._refreshToken)]:[2,!1]}))}))},i.prototype.getUser=function(){return a(this,void 0,void 0,(function(){var e;return o(this,(function(n){switch(n.label){case 0:return[4,this.ensureValidToken()];case 1:return(e=n.sent())?[2,this._crm.user.get(e)]:[2,void 0]}}))}))},i.prototype.updateUser=function(e){return a(this,void 0,void 0,(function(){var n;return o(this,(function(i){switch(i.label){case 0:return[4,this.ensureValidToken()];case 1:return(n=i.sent())?[2,this._crm.user.update(e,n)]:[2,void 0]}}))}))},i.prototype.logout=function(){this.emitEvent(n.GeinsEventType.USER_LOGOUT,{}),this.clearAuth()},i.prototype.ensureValidToken=function(){return a(this,void 0,void 0,(function(){var e,n,i,t,r,a,s;return o(this,(function(o){switch(o.label){case 0:return this._refreshToken?this._userToken?[3,2]:[4,this.deduplicatedRefresh()]:[2,void 0];case 1:return e=o.sent(),[2,null===(t=null==e?void 0:e.tokens)||void 0===t?void 0:t.token];case 2:try{if(n=l.getUserObjectFromToken(this._userToken,this._refreshToken),!(null===(r=n.tokens)||void 0===r?void 0:r.expiresSoon)&&!(null===(a=n.tokens)||void 0===a?void 0:a.expired))return[2,this._userToken]}catch(e){}return[4,this.deduplicatedRefresh()];case 3:return i=o.sent(),[2,null===(s=null==i?void 0:i.tokens)||void 0===s?void 0:s.token]}}))}))},i.prototype.deduplicatedRefresh=function(){return a(this,void 0,void 0,(function(){return o(this,(function(e){switch(e.label){case 0:if(this._refreshPromise)return[2,this._refreshPromise];this._refreshPromise=this.performRefresh(),e.label=1;case 1:return e.trys.push([1,,3,4]),[4,this._refreshPromise];case 2:return[2,e.sent()];case 3:return this._refreshPromise=null,[7];case 4:return[2]}}))}))},i.prototype.performRefresh=function(){return a(this,void 0,void 0,(function(){var i,t,r;return o(this,(function(a){switch(a.label){case 0:if(!this._refreshToken)return[2,void 0];a.label=1;case 1:return a.trys.push([1,3,,4]),[4,this._crm.auth.refresh(this._refreshToken)];case 2:if((null==(i=a.sent())?void 0:i.succeeded)&&i.tokens)return this.storeTokens(i.tokens),this.storeUser(i.user),this.emitEvent(n.GeinsEventType.SESSION_REFRESH,{user:null===(r=i.user)||void 0===r?void 0:r.username}),[2,i];throw this.emitEvent(n.GeinsEventType.SESSION_EXPIRED,{}),this.clearAuth(),new e.TokenExpiredError("Session expired — refresh was not successful");case 3:if((t=a.sent())instanceof e.TokenExpiredError)throw t;throw this.emitEvent(n.GeinsEventType.SESSION_EXPIRED,{}),this.clearAuth(),new e.TokenRefreshError("Token refresh failed",t);case 4:return[2]}}))}))},i.prototype.emitEvent=function(e,n){if(this._events){var i={subject:e,payload:n},t=e;if(t.includes("_")){var r=t.split("_")[0];this._events.push(i,r)}this._events.push(i,t)}},i.prototype.storeTokens=function(n,i){var t;if(n){var r=i?e.AUTH_STORAGE_MAX_AGE.REMEMBER_USER:null!==(t=this.getStoredMaxAge())&&void 0!==t?t:e.AUTH_STORAGE_MAX_AGE.DEFAULT;n.refreshToken&&(this._refreshToken=n.refreshToken,this._storage.set(e.AUTH_STORAGE_KEYS.REFRESH_TOKEN,n.refreshToken,{maxAge:r})),n.token&&(this._userToken=n.token,this._storage.set(e.AUTH_STORAGE_KEYS.USER_AUTH,n.token,{maxAge:n.expiresIn||900}))}},i.prototype.storeUser=function(n,i){var t;if(n){var r=i?e.AUTH_STORAGE_MAX_AGE.REMEMBER_USER:null!==(t=this.getStoredMaxAge())&&void 0!==t?t:e.AUTH_STORAGE_MAX_AGE.DEFAULT;this._storage.set(e.AUTH_STORAGE_KEYS.USER_MAX_AGE,r.toString(),{maxAge:r}),n.username&&this._storage.set(e.AUTH_STORAGE_KEYS.USER,n.username,{maxAge:r}),n.customerType&&this._storage.set(e.AUTH_STORAGE_KEYS.USER_TYPE,n.customerType,{maxAge:r})}},i.prototype.clearAuth=function(){var n=this;this._userToken=void 0,this._refreshToken=void 0,Object.values(e.AUTH_STORAGE_KEYS).forEach((function(e){n._storage.remove(e)}))},i.prototype.syncFromStorage=function(){this._userToken=this._storage.get(e.AUTH_STORAGE_KEYS.USER_AUTH),this._refreshToken=this._storage.get(e.AUTH_STORAGE_KEYS.REFRESH_TOKEN)},i.prototype.getStoredMaxAge=function(){var n=this._storage.get(e.AUTH_STORAGE_KEYS.USER_MAX_AGE);return n?parseInt(n,10):void 0},i}(),Ae=function(){function i(n){var i;this._storage=null!==(i=null==n?void 0:n.storage)&&void 0!==i?i:new e.CookieStorageAdapter,this._events=null==n?void 0:n.events}return i.prototype.getAll=function(){return this.readFromStorage()},i.prototype.has=function(e){return this.readFromStorage().includes(e)},i.prototype.add=function(e){var i=this.readFromStorage();i.includes(e)||(i.push(e),this.writeToStorage(i),this.emitEvent(n.GeinsEventType.FAVORITES_ADD,{productId:e}))},i.prototype.remove=function(e){var i=this.readFromStorage(),t=i.indexOf(e);-1!==t&&(i.splice(t,1),this.writeToStorage(i),this.emitEvent(n.GeinsEventType.FAVORITES_REMOVE,{productId:e}))},i.prototype.toggle=function(e){return this.has(e)?(this.remove(e),!1):(this.add(e),!0)},i.prototype.clear=function(){this.writeToStorage([]),this.emitEvent(n.GeinsEventType.FAVORITES_CLEAR,{})},Object.defineProperty(i.prototype,"count",{get:function(){return this.readFromStorage().length},enumerable:!1,configurable:!0}),i.prototype.readFromStorage=function(){var n=this._storage.get(e.FAVORITES_STORAGE_KEYS.ITEMS);if(!n)return[];try{var i=JSON.parse(n);return Array.isArray(i)?i:[]}catch(e){return[]}},i.prototype.writeToStorage=function(n){this._storage.set(e.FAVORITES_STORAGE_KEYS.ITEMS,JSON.stringify(n),{maxAge:e.FAVORITES_STORAGE_MAX_AGE.DEFAULT})},i.prototype.emitEvent=function(e,n){if(this._events){var i={subject:e,payload:n},t=e;if(t.includes("_")){var r=t.split("_")[0];this._events.push(i,r)}this._events.push(i,t)}},i}();exports.CrmSession=_e,exports.FavoritesSession=Ae,exports.GeinsCRM=we;
|
package/dist/index.d.ts
CHANGED
package/dist/index.esm.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{GeinsError as e,GeinsErrorCode as n,AUTH_HEADERS as i,AuthError as t,BaseApiService as r,buildEndpoints as a,BasePackage as o,AUTH_STORAGE_MAX_AGE as s,AUTH_STORAGE_KEYS as d,CookieStorageAdapter as u,TokenExpiredError as c,TokenRefreshError as l}from"@geins/core";import{AuthClientConnectionModes as m,GeinsEventType as f,GeinsCustomerType as v}from"@geins/types";var h=function(e,n){return h=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,n){e.__proto__=n}||function(e,n){for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])},h(e,n)};function k(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=e}h(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}var p=function(){return p=Object.assign||function(e){for(var n,i=1,t=arguments.length;i<t;i++)for(var r in n=arguments[i])Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r]);return e},p.apply(this,arguments)};function g(e,n,i,t){return new(i||(i=Promise))((function(r,a){function o(e){try{d(t.next(e))}catch(e){a(e)}}function s(e){try{d(t.throw(e))}catch(e){a(e)}}function d(e){var n;e.done?r(e.value):(n=e.value,n instanceof i?n:new i((function(e){e(n)}))).then(o,s)}d((t=t.apply(e,n||[])).next())}))}function S(e,n){var i,t,r,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return o.next=s(0),o.throw=s(1),o.return=s(2),"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(d){return function(s){if(i)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(i=1,t&&(r=2&s[0]?t.return:s[0]?t.throw||((r=t.return)&&r.call(t),0):t.next)&&!(r=r.call(t,s[1])).done)return r;switch(t=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,t=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(r=a.trys,(r=r.length>0&&r[r.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]<r[3])){a.label=s[1];break}if(6===s[0]&&a.label<r[1]){a.label=r[1],r=s;break}if(r&&a.label<r[2]){a.label=r[2],a.ops.push(s);break}r[2]&&a.ops.pop(),a.trys.pop();continue}s=n.call(e,a)}catch(e){s=[6,e],t=0}finally{i=r=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,d])}}}function y(e){var n=function(e){try{var n=e.split(".")[1];if(!n)return null;var i=n.replace(/-/g,"+").replace(/_/g,"/"),t=atob(i);return JSON.parse(t)}catch(e){return null}}(e);return n?Object.entries(n).map((function(e){var n=e[0],i=e[1];return Array.isArray(i)?i.map((function(e){return"".concat(n,"=").concat(e)})).join(";"):"".concat(n,"=").concat(i)})).join(";"):null}function N(e){var n=new Uint8Array(e).reduce((function(e,n){return e+String.fromCharCode(n)}),"");return btoa(n)}function b(e){return g(this,void 0,void 0,(function(){return S(this,(function(n){switch(n.label){case 0:return[4,crypto.subtle.digest("SHA-384",(new TextEncoder).encode(e+"Dd1dfLonNy6Am2fXQl2AcoI+IbhLhXvaibnDNn8uEa6vbJ05eyJajSuGFm9uQSmD"))];case 1:return[2,N(n.sent())]}}))}))}"function"==typeof SuppressedError&&SuppressedError;var E=function(){function r(i,t){if(!i||!t)throw new e("Both authEndpoint and signEndpoint are required",n.INVALID_ARGUMENT);this.authEndpoint=i,this.signEndpoint=t}return r.prototype.destroy=function(){},r.prototype.getAuthEndpointUrl=function(e){return"".concat(this.authEndpoint,"/").concat(e)},r.prototype.getSignEndpointUrl=function(e){return"".concat(this.signEndpoint).concat(encodeURIComponent(e))},r.prototype.extractRefreshTokenFromResponse=function(e){var n=e.headers.get(i.REFRESH_TOKEN);if(!n)throw new t("Challenge request failed");return n},r.prototype.requestAuthChallenge=function(e){return g(this,void 0,void 0,(function(){var i,a,o,s;return S(this,(function(d){switch(d.label){case 0:return i=this.getAuthEndpointUrl("login"),a={method:"POST",cache:"no-cache",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:e}),signal:AbortSignal.timeout(r.FETCH_TIMEOUT_MS)},[4,fetch(i,a)];case 1:return[4,d.sent().text()];case 2:if(!(o=d.sent()))throw new t("Failed to request challenge: Empty response");if(!(null==(s=JSON.parse(o))?void 0:s.sign))throw new t("Failed to fetch sign",n.AUTH_FAILED);return[2,s.sign]}}))}))},r.prototype.verifyAuthChallenge=function(e){return g(this,void 0,void 0,(function(){var n,i,a;return S(this,(function(o){switch(o.label){case 0:return n=this.getSignEndpointUrl(e),[4,fetch(n,{method:"GET",headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(r.FETCH_TIMEOUT_MS)})];case 1:if(!(i=o.sent()).ok)throw new t("Failed to verify challenge");return[4,i.text()];case 2:if(!(a=o.sent()))throw new t("Failed to verify challenge: Empty response");return[2,JSON.parse(a)]}}))}))},r.prototype.fetchUserToken=function(e,n,i){return g(this,void 0,void 0,(function(){var a,o,s,d,u,c,l,m,f,v;return S(this,(function(h){switch(h.label){case 0:return a=this.getAuthEndpointUrl("login"),[4,this.requestAuthChallenge(e)];case 1:return o=h.sent(),[4,this.verifyAuthChallenge(o)];case 2:return s=h.sent(),v={username:e,signature:s},[4,b(n)];case 3:return d=p.apply(void 0,[(v.password=h.sent(),v),i?{}:{sessionLifetime:30}]),u={method:"POST",cache:"no-cache",headers:{"Content-Type":"application/json"},body:JSON.stringify(d),signal:AbortSignal.timeout(r.FETCH_TIMEOUT_MS)},[4,fetch(a,u)];case 4:if(!(c=h.sent()).ok)throw new t("Failed to fetch user token: ".concat(c.statusText));return l=this.extractRefreshTokenFromResponse(c),[4,c.text()];case 5:if(!(m=h.sent()))throw new t("Failed to fetch user token: Empty response");return[2,{maxAge:(f=JSON.parse(m)).maxAge,token:f.token,refreshToken:l}]}}))}))},r.prototype.fetchRefreshToken=function(e){return g(this,void 0,void 0,(function(){var n,a,o,s,d,u,c;return S(this,(function(l){switch(l.label){case 0:return n=this.getAuthEndpointUrl("login"),a={method:"GET",cache:"no-cache",headers:(c={"Content-Type":"application/json"},c["".concat(i.REFRESH_TOKEN)]=e,c),signal:AbortSignal.timeout(r.FETCH_TIMEOUT_MS)},[4,fetch(n,a)];case 1:if(!(o=l.sent()).ok)throw new t("Failed to renew refresh token: ".concat(o.statusText));return s=this.extractRefreshTokenFromResponse(o),[4,o.text()];case 2:if(!(d=l.sent()))throw new t("Failed to fetch user token: Empty response");return[2,{maxAge:(u=JSON.parse(d)).maxAge,token:u.token,refreshToken:s}]}}))}))},r.prototype.performChangePassword=function(e,n,a,o){return g(this,void 0,void 0,(function(){var s,d,u,c,l,m,f,v,h,k;return S(this,(function(p){switch(p.label){case 0:return s=this.getAuthEndpointUrl("password"),[4,this.requestAuthChallenge(e)];case 1:return d=p.sent(),[4,this.verifyAuthChallenge(d)];case 2:return u=p.sent(),h={username:e,signature:u},[4,b(n)];case 3:return h.password=p.sent(),[4,b(a)];case 4:return h.newPassword=p.sent(),c=h,l={method:"POST",cache:"no-cache",headers:(k={"Content-Type":"application/json"},k["".concat(i.REFRESH_TOKEN)]=o,k),body:JSON.stringify(c),signal:AbortSignal.timeout(r.FETCH_TIMEOUT_MS)},[4,fetch(s,l)];case 5:if(!(m=p.sent()).ok)throw new t("Failed to change password: ".concat(m.statusText));return o=this.extractRefreshTokenFromResponse(m),[4,m.text()];case 6:if(!(f=p.sent()))throw new t("Failed to change password: Empty response");return[2,{maxAge:(v=JSON.parse(f)).maxAge,token:v.token,refreshToken:o}]}}))}))},r.prototype.performUserRegister=function(e,n){return g(this,void 0,void 0,(function(){var i,a,o,s,d,u,c,l,m,f;return S(this,(function(v){switch(v.label){case 0:return i=this.getAuthEndpointUrl("register"),[4,this.requestAuthChallenge(e)];case 1:return a=v.sent(),[4,this.verifyAuthChallenge(a)];case 2:return o=v.sent(),f={username:e,signature:o},[4,b(n)];case 3:return f.password=v.sent(),s=f,d={method:"POST",cache:"no-cache",headers:{"Content-Type":"application/json"},body:JSON.stringify(s),signal:AbortSignal.timeout(r.FETCH_TIMEOUT_MS)},[4,fetch(i,d)];case 4:if(!(u=v.sent()).ok)throw new t("Failed to register user: ".concat(u.statusText));return c=this.extractRefreshTokenFromResponse(u),[4,u.text()];case 5:if(!(l=v.sent()))throw new t("Failed to register user: Empty response");return[2,{maxAge:(m=JSON.parse(l)).maxAge,token:m.token,refreshToken:c}]}}))}))},r.prototype.register=function(e,n){return g(this,void 0,void 0,(function(){return S(this,(function(i){return[2,this.performUserRegister(e,n)]}))}))},r.prototype.login=function(e,n,i){return g(this,void 0,void 0,(function(){return S(this,(function(t){return[2,this.fetchUserToken(e,n,i)]}))}))},r.prototype.renewRefreshtoken=function(e){return g(this,void 0,void 0,(function(){return S(this,(function(n){return[2,this.fetchRefreshToken(e)]}))}))},r.prototype.changePassword=function(i,t){return g(this,void 0,void 0,(function(){return S(this,(function(r){if(!i.newPassword)throw new e("New password is required",n.INVALID_ARGUMENT);return[2,this.performChangePassword(i.username,i.password,i.newPassword,t)]}))}))},r.prototype.logout=function(e){return g(this,void 0,void 0,(function(){return S(this,(function(e){return[2,!0]}))}))},r.FETCH_TIMEOUT_MS=1e4,r}(),w=function(){function i(e,n){this.signEndpoint=e,this.authEndpoint=n,this.initClient()}return i.prototype.initClient=function(){this.client=new E(this.authEndpoint,this.signEndpoint)},i.prototype.ensureClientInitialized=function(){if(this.client||this.initClient(),!this.client)throw new e("AuthServiceClient is not initialized",n.NOT_INITIALIZED)},i.prototype.destroy=function(){this.client&&this.client.destroy(),this.client=void 0},i.prototype.login=function(e){return g(this,void 0,void 0,(function(){var n,t;return S(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),this.ensureClientInitialized(),[4,this.client.login(e.username,e.password,e.rememberUser)];case 1:return n=r.sent(),[2,i.getUserObjectFromToken(n.token,n.refreshToken)];case 2:return t=r.sent(),[2,this.handleError("Login failed",t)];case 3:return[2]}}))}))},i.prototype.getUser=function(e,n){return g(this,void 0,void 0,(function(){var t,r,a;return S(this,(function(o){switch(o.label){case 0:return o.trys.push([0,6,,7]),n?(t=i.getUserObjectFromToken(n,e))?(null===(a=t.tokens)||void 0===a?void 0:a.expiresSoon)?[4,this.refresh(e)]:[3,2]:[2,{succeeded:!1}]:[3,3];case 1:case 4:return[2,o.sent()];case 2:return[2,t];case 3:return[4,this.refresh(e)];case 5:return[3,7];case 6:return r=o.sent(),[2,this.handleError("Get user failed",r)];case 7:return[2]}}))}))},i.prototype.changePassword=function(e,n){return g(this,void 0,void 0,(function(){var t,r,a;return S(this,(function(o){switch(o.label){case 0:if(!e.newPassword||!n)return[2,{succeeded:!1}];o.label=1;case 1:return o.trys.push([1,3,,4]),this.ensureClientInitialized(),[4,this.client.changePassword(e,n)];case 2:return(t=o.sent()).token&&(r=i.getUserObjectFromToken(t.token,t.refreshToken))?[2,r]:[2,{succeeded:!1}];case 3:return a=o.sent(),[2,this.handleError("Token refresh failed",a)];case 4:return[2]}}))}))},i.prototype.refresh=function(e){return g(this,void 0,void 0,(function(){var n,t,r;return S(this,(function(a){switch(a.label){case 0:if(!e)return[2,{succeeded:!1}];a.label=1;case 1:return a.trys.push([1,3,,4]),this.ensureClientInitialized(),[4,this.client.renewRefreshtoken(e)];case 2:return(n=a.sent()).token&&(t=i.getUserObjectFromToken(n.token,n.refreshToken))?[2,t]:[2,{succeeded:!1}];case 3:return r=a.sent(),[2,this.handleError("Token refresh failed",r)];case 4:return[2]}}))}))},i.prototype.register=function(e){return g(this,void 0,void 0,(function(){var n,t;return S(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),this.ensureClientInitialized(),[4,this.client.register(e.username,e.password)];case 1:return(n=r.sent())?[2,i.getUserObjectFromToken(n.token,n.refreshToken)]:[2,{succeeded:!1}];case 2:return t=r.sent(),[2,this.handleError("Register new user failed",t)];case 3:return[2]}}))}))},i.getUserObjectFromToken=function(e,i){try{var r=function(e){try{var n=y(e);return n?n.split(";").reduce((function(e,n){var i=n.split("="),t=i[0],r=i[1];return t.includes("/")&&(t=t.split("/").pop()||t),e[t=t.charAt(0).toLowerCase()+t.slice(1)]=r,e}),{}):null}catch(e){return null}}(e);if(!r)throw new t("Failed to parse user token",n.PARSE_ERROR);var a=Math.floor(Date.now()/1e3),o=parseInt(r.exp||"0")-a,s=o<90;return{succeeded:!0,user:{authenticated:!r.expired,userId:r.sid||"",username:r.name||"unknown",customerType:(r.customerType||"unknown").toUpperCase(),memberDiscount:r.memberDiscount||"0",memberType:r.memberType||"unknown",memberId:r.memberId||"0"},tokens:{token:e,expires:parseInt(r.exp||"0"),expired:a>=parseInt(r.exp||"0"),expiresSoon:s,expiresIn:o,refreshToken:i}}}catch(e){throw new t("Failed to parse user token",n.PARSE_ERROR)}},i.prototype.handleError=function(e,n){return{succeeded:!1}},i}(),F=function(){function e(){}return e.prototype.destroy=function(){},e.prototype.login=function(e){return g(this,void 0,void 0,(function(){return S(this,(function(n){return[2,this.handleLogin(e)]}))}))},e.prototype.refresh=function(e){return g(this,void 0,void 0,(function(){return S(this,(function(n){return e?[2,this.handleRefresh(e)]:[2,void 0]}))}))},e.prototype.getUser=function(e,n){return g(this,void 0,void 0,(function(){return S(this,(function(i){return e?n?[2,this.handleUserTokenScenario({userToken:n,refreshToken:e})]:[2,this.handleGetUser(e)]:[2,void 0]}))}))},e.prototype.changePassword=function(e,n){return g(this,void 0,void 0,(function(){return S(this,(function(i){return n?[2,this.handleChangePassword(e,n)]:[2,void 0]}))}))},e.prototype.register=function(e){return g(this,void 0,void 0,(function(){return S(this,(function(n){return[2,this.handleRegister(e)]}))}))},e.prototype.logout=function(){return g(this,void 0,void 0,(function(){return S(this,(function(e){return[2,{succeeded:!0}]}))}))},e.prototype.handleUserTokenScenario=function(e){return g(this,void 0,void 0,(function(){var n,i;return S(this,(function(t){return(null==(n=w.getUserObjectFromToken(e.userToken,e.refreshToken))?void 0:n.succeeded)&&(null===(i=n.tokens)||void 0===i?void 0:i.expiresSoon)?[2,this.handleGetUser(e.refreshToken,e.userToken)]:[2,n]}))}))},e}(),T=function(e){function n(n,i){var t=e.call(this)||this;return t._authService=new w(n,i),t}return k(n,e),n.prototype.destroy=function(){this._authService.destroy(),this._authService=void 0},n.prototype.handleLogin=function(e){return g(this,void 0,void 0,(function(){return S(this,(function(n){return[2,this._authService.login(e)]}))}))},n.prototype.handleRefresh=function(e){return g(this,void 0,void 0,(function(){return S(this,(function(n){return[2,this._authService.refresh(e)]}))}))},n.prototype.handleGetUser=function(e,n){return g(this,void 0,void 0,(function(){return S(this,(function(i){return[2,this._authService.getUser(e,n)]}))}))},n.prototype.handleChangePassword=function(e,n){return g(this,void 0,void 0,(function(){return S(this,(function(i){return[2,this._authService.changePassword(e,n)]}))}))},n.prototype.handleRegister=function(e){return g(this,void 0,void 0,(function(){return S(this,(function(n){return[2,this._authService.register(e)]}))}))},n}(F),I=function(e){function n(n){var i=e.call(this)||this;return i._authEndpointApp=n,i}return k(n,e),n.prototype.destroy=function(){this._authEndpointApp=""},n.prototype.request=function(e,r,a){return g(this,void 0,void 0,(function(){var o,s,d,u;return S(this,(function(c){switch(c.label){case 0:return r.headers||(r.headers={"Content-Type":"application/json"}),a&&(r.headers=p(p({},r.headers),((d={})["".concat(i.REFRESH_TOKEN)]=a,d))),"GET"!==r.method&&"HEAD"!==r.method||delete r.body,[4,fetch("".concat(this._authEndpointApp).concat(e),p(p({},r),{signal:AbortSignal.timeout(n.FETCH_TIMEOUT_MS)}))];case 1:return[4,(o=c.sent()).json()];case 2:if(s=c.sent(),!o.ok)throw new t("API request failed");return[2,null===(u=s.body)||void 0===u?void 0:u.data]}}))}))},n.prototype.handleLogin=function(e){return g(this,void 0,void 0,(function(){return S(this,(function(n){return[2,this.request("/login",{method:"POST",body:JSON.stringify(e)})]}))}))},n.prototype.handleRefresh=function(e){return g(this,void 0,void 0,(function(){return S(this,(function(n){return[2,this.request("/refresh",{method:"POST"},e)]}))}))},n.prototype.handleGetUser=function(e,n){return g(this,void 0,void 0,(function(){return S(this,(function(n){return[2,this.request("/user",{method:"GET"},e)]}))}))},n.prototype.handleChangePassword=function(e,n){return g(this,void 0,void 0,(function(){return S(this,(function(i){return[2,this.request("/change-password",{method:"POST",body:JSON.stringify(e)},n)]}))}))},n.prototype.handleRegister=function(e){return g(this,void 0,void 0,(function(){return S(this,(function(n){return[2,this.request("/register",{method:"POST",body:JSON.stringify(e)})]}))}))},n.FETCH_TIMEOUT_MS=1e4,n}(F),_={kind:"Document",definitions:[{kind:"FragmentDefinition",name:{kind:"Name",value:"Address"},typeCondition:{kind:"NamedType",name:{kind:"Name",value:"AddressType"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"firstName"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"lastName"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"company"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"mobile"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"phone"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"careOf"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"entryCode"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"addressLine1"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"addressLine2"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"addressLine3"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"zip"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"city"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"state"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"country"},arguments:[],directives:[]}]}}],loc:{start:0,end:183}};function V(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){V(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){V(e,n)})),e.definitions&&e.definitions.forEach((function(e){V(e,n)}))}_.loc.source={body:"fragment Address on AddressType {\n firstName\n lastName\n company\n mobile\n phone\n careOf\n entryCode\n addressLine1\n addressLine2\n addressLine3\n zip\n city\n state\n country\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};var U={};function P(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}_.definitions.forEach((function(e){if(e.name){var n=new Set;V(e,n),U[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[P(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=U[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(U[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=P(e,n);t&&i.definitions.push(t)}))}(_,"Address");var D={kind:"Document",definitions:[{kind:"FragmentDefinition",name:{kind:"Name",value:"UserBalance"},typeCondition:{kind:"NamedType",name:{kind:"Name",value:"UserBalanceType"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"currency"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"amount"},arguments:[],directives:[]}]}}],loc:{start:0,end:83}};function O(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){O(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){O(e,n)})),e.definitions&&e.definitions.forEach((function(e){O(e,n)}))}D.loc.source={body:"fragment UserBalance on UserBalanceType {\n currency\n amount\n #amountFormatted\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};var R={};function A(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}D.definitions.forEach((function(e){if(e.name){var n=new Set;O(e,n),R[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[A(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=R[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(R[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=A(e,n);t&&i.definitions.push(t)}))}(D,"UserBalance");var C={kind:"Document",definitions:[{kind:"FragmentDefinition",name:{kind:"Name",value:"User"},typeCondition:{kind:"NamedType",name:{kind:"Name",value:"UserType"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"email"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"personalId"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"customerType"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"gender"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"address"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"Address"},directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"balances"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"UserBalance"},directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"metaData"},arguments:[],directives:[]}]}}],loc:{start:0,end:207}};C.loc.source={body:'#import "./address.gql"\n#import "./balances.gql"\nfragment User on UserType {\n id\n email\n personalId\n customerType\n gender\n address {\n ...Address\n }\n balances {\n ...UserBalance\n }\n metaData\n}\n',name:"GraphQL request",locationOffset:{line:1,column:1}};var x={};function q(e){return e.filter((function(e){if("FragmentDefinition"!==e.kind)return!0;var n=e.name.value;return!x[n]&&(x[n]=!0,!0)}))}function L(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){L(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){L(e,n)})),e.definitions&&e.definitions.forEach((function(e){L(e,n)}))}C.definitions=C.definitions.concat(q(_.definitions)),C.definitions=C.definitions.concat(q(D.definitions));var j={};function G(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}C.definitions.forEach((function(e){if(e.name){var n=new Set;L(e,n),j[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[G(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=j[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(j[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=G(e,n);t&&i.definitions.push(t)}))}(C,"User");var M={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"UserGet"},variableDefinitions:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"getUser"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"User"},directives:[]}]}}]}}],loc:{start:0,end:78}};M.loc.source={body:'#import "../fragments/user.gql"\nquery UserGet {\n getUser {\n ...User\n }\n}\n',name:"GraphQL request",locationOffset:{line:1,column:1}};var $={};function z(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){z(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){z(e,n)})),e.definitions&&e.definitions.forEach((function(e){z(e,n)}))}M.definitions=M.definitions.concat(C.definitions.filter((function(e){if("FragmentDefinition"!==e.kind)return!0;var n=e.name.value;return!$[n]&&($[n]=!0,!0)})));var H={};function J(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}M.definitions.forEach((function(e){if(e.name){var n=new Set;z(e,n),H[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[J(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=H[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(H[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=J(e,n);t&&i.definitions.push(t)}))}(M,"UserGet");var Q={kind:"Document",definitions:[{kind:"FragmentDefinition",name:{kind:"Name",value:"Price"},typeCondition:{kind:"NamedType",name:{kind:"Name",value:"PriceType"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"isDiscounted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceIncVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceExVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"regularPriceIncVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"regularPriceExVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"vat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"discountPercentage"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"regularPriceIncVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceIncVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"regularPriceExVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceExVatFormatted"},arguments:[],directives:[]}]}}],loc:{start:0,end:274}};function B(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){B(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){B(e,n)})),e.definitions&&e.definitions.forEach((function(e){B(e,n)}))}Q.loc.source={body:"fragment Price on PriceType {\n isDiscounted\n sellingPriceIncVat\n sellingPriceExVat\n regularPriceIncVat\n regularPriceExVat\n vat\n discountPercentage\n regularPriceIncVatFormatted\n sellingPriceIncVatFormatted\n regularPriceExVatFormatted\n sellingPriceExVatFormatted\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};var K={};function X(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}Q.definitions.forEach((function(e){if(e.name){var n=new Set;B(e,n),K[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[X(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=K[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(K[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=X(e,n);t&&i.definitions.push(t)}))}(Q,"Price");var Y={kind:"Document",definitions:[{kind:"FragmentDefinition",name:{kind:"Name",value:"Stock"},typeCondition:{kind:"NamedType",name:{kind:"Name",value:"StockType"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"inStock"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"oversellable"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"totalStock"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"static"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"incoming"},arguments:[],directives:[]}]}}],loc:{start:0,end:90}};function Z(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){Z(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){Z(e,n)})),e.definitions&&e.definitions.forEach((function(e){Z(e,n)}))}Y.loc.source={body:"fragment Stock on StockType {\n inStock\n oversellable\n totalStock\n static\n incoming\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};var W={};function ee(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}Y.definitions.forEach((function(e){if(e.name){var n=new Set;Z(e,n),W[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[ee(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=W[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(W[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=ee(e,n);t&&i.definitions.push(t)}))}(Y,"Stock");var ne={kind:"Document",definitions:[{kind:"FragmentDefinition",name:{kind:"Name",value:"Cart"},typeCondition:{kind:"NamedType",name:{kind:"Name",value:"CartType"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"promoCode"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"appliedCampaigns"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"name"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"hideTitle"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"items"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"campaign"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"appliedCampaigns"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"name"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"hideTitle"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"prices"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"price"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"Price"},directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"quantity"},arguments:[],directives:[]}]}}]}},{kind:"Field",name:{kind:"Name",value:"unitPrice"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"Price"},directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"product"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"productId"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"articleNumber"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"brand"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"name"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"name"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"productImages"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"fileName"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"alias"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"canonicalUrl"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"primaryCategory"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"name"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"skus"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"skuId"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"name"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"stock"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"Stock"},directives:[]}]}}]}},{kind:"Field",name:{kind:"Name",value:"unitPrice"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"Price"},directives:[]}]}}]}},{kind:"Field",name:{kind:"Name",value:"quantity"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"skuId"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"totalPrice"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"Price"},directives:[]}]}}]}},{kind:"Field",name:{kind:"Name",value:"summary"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"fixedAmountDiscountIncVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"fixedAmountDiscountExVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"balance"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"pending"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"pendingFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"totalSellingPriceExBalanceExVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"totalSellingPriceExBalanceIncVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"totalSellingPriceExBalanceIncVatFormatted"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"subTotal"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"regularPriceIncVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"regularPriceExVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceIncVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceExVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceExVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceIncVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"vat"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"shipping"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"amountLeftToFreeShipping"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"amountLeftToFreeShippingFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"feeExVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"feeIncVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"feeIncVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"feeExVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"isDefault"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"total"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"isDiscounted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceIncVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceExVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceIncVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceExVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"discountIncVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"discountExVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"discountExVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"discountIncVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"vatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"vat"},arguments:[],directives:[]}]}}]}}]}}],loc:{start:0,end:1724}};ne.loc.source={body:'#import "./price.gql"\n#import "./stock.gql"\n\nfragment Cart on CartType {\n id\n promoCode\n appliedCampaigns {\n name\n hideTitle\n }\n items {\n campaign {\n appliedCampaigns {\n name\n hideTitle\n }\n prices {\n price {\n ...Price\n }\n quantity\n }\n }\n unitPrice {\n ...Price\n }\n product {\n productId\n articleNumber\n brand {\n name\n }\n name\n productImages {\n fileName\n }\n alias\n canonicalUrl\n primaryCategory {\n name\n }\n skus {\n skuId\n name\n stock {\n ...Stock\n }\n }\n unitPrice {\n ...Price\n }\n }\n quantity\n skuId\n totalPrice {\n ...Price\n }\n }\n summary {\n fixedAmountDiscountIncVat\n fixedAmountDiscountExVat\n balance {\n pending\n pendingFormatted\n totalSellingPriceExBalanceExVat\n totalSellingPriceExBalanceIncVat\n totalSellingPriceExBalanceIncVatFormatted\n }\n subTotal {\n regularPriceIncVatFormatted\n regularPriceExVatFormatted\n sellingPriceIncVatFormatted\n sellingPriceExVatFormatted\n sellingPriceExVat\n sellingPriceIncVat\n vat\n }\n shipping {\n amountLeftToFreeShipping\n amountLeftToFreeShippingFormatted\n feeExVatFormatted\n feeIncVatFormatted\n feeIncVat\n feeExVat\n isDefault\n }\n total {\n isDiscounted\n sellingPriceIncVatFormatted\n sellingPriceExVatFormatted\n sellingPriceIncVat\n sellingPriceExVat\n discountIncVatFormatted\n discountExVatFormatted\n discountExVat\n discountIncVat\n vatFormatted\n vat\n }\n }\n}\n',name:"GraphQL request",locationOffset:{line:1,column:1}};var ie={};function te(e){return e.filter((function(e){if("FragmentDefinition"!==e.kind)return!0;var n=e.name.value;return!ie[n]&&(ie[n]=!0,!0)}))}function re(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){re(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){re(e,n)})),e.definitions&&e.definitions.forEach((function(e){re(e,n)}))}ne.definitions=ne.definitions.concat(te(Q.definitions)),ne.definitions=ne.definitions.concat(te(Y.definitions));var ae={};function oe(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}ne.definitions.forEach((function(e){if(e.name){var n=new Set;re(e,n),ae[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[oe(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=ae[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(ae[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=oe(e,n);t&&i.definitions.push(t)}))}(ne,"Cart");var se={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"UserOrders"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"channelId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"languageId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"marketId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"getOrders"},arguments:[{kind:"Argument",name:{kind:"Name",value:"channelId"},value:{kind:"Variable",name:{kind:"Name",value:"channelId"}}},{kind:"Argument",name:{kind:"Name",value:"languageId"},value:{kind:"Variable",name:{kind:"Name",value:"languageId"}}},{kind:"Argument",name:{kind:"Name",value:"marketId"},value:{kind:"Variable",name:{kind:"Name",value:"marketId"}}}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"cart"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"Cart"},directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"billingAddress"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"Address"},directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"shippingAddress"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"Address"},directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"createdAt"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"id"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"status"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"shippingDetails"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"name"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"trackingLink"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"paymentDetails"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"displayName"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"refunds"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"itemId"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"createdAt"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"reason"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"total"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"vat"},arguments:[],directives:[]}]}}]}}]}}],loc:{start:0,end:631}};se.loc.source={body:'#import "../fragments/price.gql"\n#import "../fragments/address.gql"\n#import "../fragments/cart.gql"\n\nquery UserOrders($channelId: String, $languageId: String, $marketId: String) {\n getOrders(\n channelId: $channelId\n languageId: $languageId\n marketId: $marketId\n ) {\n cart {\n ...Cart\n }\n billingAddress {\n ...Address\n }\n shippingAddress {\n ...Address\n }\n createdAt\n id\n status\n shippingDetails {\n name\n trackingLink\n }\n paymentDetails {\n displayName\n }\n refunds {\n id\n itemId\n createdAt\n reason\n total\n vat\n }\n }\n}\n',name:"GraphQL request",locationOffset:{line:1,column:1}};var de={};function ue(e){return e.filter((function(e){if("FragmentDefinition"!==e.kind)return!0;var n=e.name.value;return!de[n]&&(de[n]=!0,!0)}))}function ce(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){ce(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){ce(e,n)})),e.definitions&&e.definitions.forEach((function(e){ce(e,n)}))}se.definitions=se.definitions.concat(ue(Q.definitions)),se.definitions=se.definitions.concat(ue(_.definitions)),se.definitions=se.definitions.concat(ue(ne.definitions));var le={};function me(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}se.definitions.forEach((function(e){if(e.name){var n=new Set;ce(e,n),le[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[me(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=le[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(le[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=me(e,n);t&&i.definitions.push(t)}))}(se,"UserOrders");var fe={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"UserCreate"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"user"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"UserInputType"}}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"channelId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"languageId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"marketId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"updateUser"},arguments:[{kind:"Argument",name:{kind:"Name",value:"user"},value:{kind:"Variable",name:{kind:"Name",value:"user"}}},{kind:"Argument",name:{kind:"Name",value:"channelId"},value:{kind:"Variable",name:{kind:"Name",value:"channelId"}}},{kind:"Argument",name:{kind:"Name",value:"languageId"},value:{kind:"Variable",name:{kind:"Name",value:"languageId"}}},{kind:"Argument",name:{kind:"Name",value:"marketId"},value:{kind:"Variable",name:{kind:"Name",value:"marketId"}}}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"email"},arguments:[],directives:[]}]}}]}}],loc:{start:0,end:242}};function ve(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){ve(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){ve(e,n)})),e.definitions&&e.definitions.forEach((function(e){ve(e,n)}))}fe.loc.source={body:"mutation UserCreate(\n $user: UserInputType!\n $channelId: String\n $languageId: String\n $marketId: String\n) {\n updateUser(\n user: $user\n channelId: $channelId\n languageId: $languageId\n marketId: $marketId\n ) {\n email\n }\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};var he={};function ke(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}fe.definitions.forEach((function(e){if(e.name){var n=new Set;ve(e,n),he[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[ke(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=he[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(he[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=ke(e,n);t&&i.definitions.push(t)}))}(fe,"UserCreate");var pe={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"UserUpdate"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"user"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"UserInputType"}}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"channelId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"languageId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"marketId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"updateUser"},arguments:[{kind:"Argument",name:{kind:"Name",value:"user"},value:{kind:"Variable",name:{kind:"Name",value:"user"}}},{kind:"Argument",name:{kind:"Name",value:"channelId"},value:{kind:"Variable",name:{kind:"Name",value:"channelId"}}},{kind:"Argument",name:{kind:"Name",value:"languageId"},value:{kind:"Variable",name:{kind:"Name",value:"languageId"}}},{kind:"Argument",name:{kind:"Name",value:"marketId"},value:{kind:"Variable",name:{kind:"Name",value:"marketId"}}}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"User"},directives:[]}]}}]}}],loc:{start:0,end:276}};pe.loc.source={body:'#import "../fragments/user.gql"\nmutation UserUpdate(\n $user: UserInputType!\n $channelId: String\n $languageId: String\n $marketId: String\n) {\n updateUser(\n user: $user\n channelId: $channelId\n languageId: $languageId\n marketId: $marketId\n ) {\n ...User\n }\n}\n',name:"GraphQL request",locationOffset:{line:1,column:1}};var ge={};function Se(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){Se(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){Se(e,n)})),e.definitions&&e.definitions.forEach((function(e){Se(e,n)}))}pe.definitions=pe.definitions.concat(function(e){return e.filter((function(e){if("FragmentDefinition"!==e.kind)return!0;var n=e.name.value;return!ge[n]&&(ge[n]=!0,!0)}))}(C.definitions));var ye={};function Ne(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}pe.definitions.forEach((function(e){if(e.name){var n=new Set;Se(e,n),ye[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[Ne(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=ye[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(ye[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=Ne(e,n);t&&i.definitions.push(t)}))}(pe,"UserUpdate");var be={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"UserDelete"},variableDefinitions:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"deleteUser"},arguments:[],directives:[]}]}}],loc:{start:0,end:37}};function Ee(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){Ee(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){Ee(e,n)})),e.definitions&&e.definitions.forEach((function(e){Ee(e,n)}))}be.loc.source={body:"mutation UserDelete {\n deleteUser\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};var we={};function Fe(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}be.definitions.forEach((function(e){if(e.name){var n=new Set;Ee(e,n),we[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[Fe(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=we[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(we[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=Fe(e,n);t&&i.definitions.push(t)}))}(be,"UserDelete");var Te={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"UserRequestPasswordReset"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"email"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"String"}}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"channelId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"languageId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"marketId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"requestPasswordReset"},arguments:[{kind:"Argument",name:{kind:"Name",value:"email"},value:{kind:"Variable",name:{kind:"Name",value:"email"}}},{kind:"Argument",name:{kind:"Name",value:"channelId"},value:{kind:"Variable",name:{kind:"Name",value:"channelId"}}},{kind:"Argument",name:{kind:"Name",value:"languageId"},value:{kind:"Variable",name:{kind:"Name",value:"languageId"}}},{kind:"Argument",name:{kind:"Name",value:"marketId"},value:{kind:"Variable",name:{kind:"Name",value:"marketId"}}}],directives:[]}]}}],loc:{start:0,end:246}};function Ie(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){Ie(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){Ie(e,n)})),e.definitions&&e.definitions.forEach((function(e){Ie(e,n)}))}Te.loc.source={body:"mutation UserRequestPasswordReset(\n $email: String!\n $channelId: String\n $languageId: String\n $marketId: String\n) {\n requestPasswordReset(\n email: $email\n channelId: $channelId\n languageId: $languageId\n marketId: $marketId\n )\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};var _e={};function Ve(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}Te.definitions.forEach((function(e){if(e.name){var n=new Set;Ie(e,n),_e[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[Ve(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=_e[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(_e[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=Ve(e,n);t&&i.definitions.push(t)}))}(Te,"UserRequestPasswordReset");var Ue={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"UserPasswordResetCommit"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"resetKey"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"String"}}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"password"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"String"}}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"channelId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"languageId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"marketId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"commitReset"},arguments:[{kind:"Argument",name:{kind:"Name",value:"resetKey"},value:{kind:"Variable",name:{kind:"Name",value:"resetKey"}}},{kind:"Argument",name:{kind:"Name",value:"password"},value:{kind:"Variable",name:{kind:"Name",value:"password"}}},{kind:"Argument",name:{kind:"Name",value:"channelId"},value:{kind:"Variable",name:{kind:"Name",value:"channelId"}}},{kind:"Argument",name:{kind:"Name",value:"languageId"},value:{kind:"Variable",name:{kind:"Name",value:"languageId"}}},{kind:"Argument",name:{kind:"Name",value:"marketId"},value:{kind:"Variable",name:{kind:"Name",value:"marketId"}}}],directives:[]}]}}],loc:{start:0,end:290}};function Pe(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){Pe(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){Pe(e,n)})),e.definitions&&e.definitions.forEach((function(e){Pe(e,n)}))}Ue.loc.source={body:"mutation UserPasswordResetCommit(\n $resetKey: String!\n $password: String!\n $channelId: String\n $languageId: String\n $marketId: String\n) {\n commitReset(\n resetKey: $resetKey\n password: $password\n channelId: $channelId\n languageId: $languageId\n marketId: $marketId\n )\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};var De={};function Oe(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}Ue.definitions.forEach((function(e){if(e.name){var n=new Set;Pe(e,n),De[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[Oe(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=De[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(De[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=Oe(e,n);t&&i.definitions.push(t)}))}(Ue,"UserPasswordResetCommit");var Re={userGet:M,userOrders:se},Ae={userRegister:fe,userUpdate:pe,userDelete:be,pwResetRequest:Te,pwResetCommit:Ue},Ce=function(i){function t(e,n){return i.call(this,e,n)||this}return k(t,i),t.prototype.generateVars=function(e){return this.createVariables(e)},t.prototype.generateMutationVars=function(e){var n=e.user;return(null==n?void 0:n.entityId)&&(n.personalId=n.entityId,delete n.entityId),n&&(n.newsletter=!("true"!==n.newsletter)),this.createVariables(e)},t.prototype.get=function(e){return g(this,void 0,void 0,(function(){var n;return S(this,(function(i){return n={query:Re.userGet,variables:this.generateVars({}),userToken:e},[2,this.runQueryParsed(n)]}))}))},t.prototype.create=function(e,n){return g(this,void 0,void 0,(function(){var i,t;return S(this,(function(r){switch(r.label){case 0:return i={query:Ae.userRegister,variables:this.generateMutationVars({user:e}),userToken:n},[4,this.runMutation(i)];case 1:return t=r.sent(),[2,this.parseResult(t)]}}))}))},t.prototype.update=function(e,n){return g(this,void 0,void 0,(function(){var i,t;return S(this,(function(r){switch(r.label){case 0:return i={query:Ae.userUpdate,variables:this.generateMutationVars({user:e}),userToken:n},[4,this.runMutation(i)];case 1:return t=r.sent(),[2,this.parseResult(t)]}}))}))},t.prototype.delete=function(e){return g(this,void 0,void 0,(function(){var n;return S(this,(function(i){switch(i.label){case 0:return n={query:Ae.userDelete,variables:this.generateVars({}),userToken:e},[4,this.runMutation(n)];case 1:return[2,!!i.sent()]}}))}))},t.prototype.parseResult=function(i){var t=i;if(!(null==t?void 0:t.data))throw new e("Invalid user data",n.PARSE_ERROR);return t.data.getUser?t.data.getUser:t.data.updateUser?this.cleanObject(t.data.updateUser):void 0},t}(r),xe=function(e){function n(n,i){return e.call(this,n,i)||this}return k(n,e),n.prototype.generateVars=function(e){return this.createVariables(e)},n.prototype.get=function(e){return g(this,void 0,void 0,(function(){var n;return S(this,(function(i){return n={query:Re.userOrders,variables:this.generateVars({}),userToken:e},[2,this.runQueryParsed(n)]}))}))},n.prototype.parseResult=function(e){var n,i=e;if(null===(n=null==i?void 0:i.data)||void 0===n?void 0:n.getOrders)return i.data.getOrders},n}(r),qe=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return k(n,e),n.prototype.request=function(e){return g(this,void 0,void 0,(function(){var n;return S(this,(function(i){return n={query:Ae.pwResetRequest,variables:this.createVariables({email:e})},[2,this.runMutation(n)]}))}))},n.prototype.commit=function(e,n){return g(this,void 0,void 0,(function(){var i,t;return S(this,(function(r){switch(r.label){case 0:return[4,b(n)];case 1:return i=r.sent(),t={query:Ae.pwResetCommit,variables:this.createVariables({resetKey:e,password:i})},[2,this.runMutation(t)]}}))}))},n}(r),Le=function(i){function t(t,r){var o=i.call(this,t)||this,s=t.geinsSettings;if(r.clientConnectionMode===m.Proxy){var d=r.proxyUrl||"/api/auth";o._authClient=new I(d)}else{if(r.clientConnectionMode!==m.Direct)throw new e("Invalid client connection mode",n.INVALID_ARGUMENT);var u=a(s.apiKey,s.accountName,s.environment);o._authClient=new T(u.authSign,u.auth)}return o}return k(t,i),t.prototype.destroy=function(){var e,n,i;this._authClient.destroy(),null===(e=this._userService)||void 0===e||e.destroy(),null===(n=this._passwordResetService)||void 0===n||n.destroy(),null===(i=this._userOrdersService)||void 0===i||i.destroy()},Object.defineProperty(t.prototype,"userService",{get:function(){var e=this;return this._userService||(this._userService=new Ce((function(){return e._apiClient()}),this._geinsSettings)),this._userService},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"passwordResetService",{get:function(){var e=this;return this._passwordResetService||(this._passwordResetService=new qe((function(){return e._apiClient()}),this._geinsSettings)),this._passwordResetService},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"userOrdersService",{get:function(){var e=this;return this._userOrdersService||(this._userOrdersService=new xe((function(){return e._apiClient()}),this._geinsSettings)),this._userOrdersService},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"auth",{get:function(){var e=this;return{login:function(n){return e.authLogin(n)},logout:function(){return e._authClient.logout()},refresh:function(n){return e._authClient.refresh(n)},getUser:function(n,i){return e._authClient.getUser(n,i)},authorized:function(n){return g(e,void 0,void 0,(function(){var e,i;return S(this,(function(t){switch(t.label){case 0:return[4,this._authClient.getUser(n)];case 1:return e=t.sent(),[2,null!==(i=null==e?void 0:e.succeeded)&&void 0!==i&&i]}}))}))}}},enumerable:!1,configurable:!0}),t.prototype.authLogin=function(e){return g(this,void 0,void 0,(function(){var n;return S(this,(function(i){switch(i.label){case 0:return[4,this._authClient.login(e)];case 1:n=i.sent();try{this.pushEvent({subject:f.USER_LOGIN,payload:{success:null==n?void 0:n.succeeded,user:e.username}},f.USER_LOGIN)}catch(e){}return[2,n]}}))}))},Object.defineProperty(t.prototype,"user",{get:function(){var e=this;return{get:function(n){return e.userGet(n)},update:function(n,i){return e.userUpdate(n,i)},create:function(n,i){return e.userRegisterAndCreate(n,i)},remove:function(n){return e.userRemove(n)},password:{change:function(n,i){return e._authClient.changePassword(n,i)},requestReset:function(n){return e.userPasswordResetRequest(n)},commitReset:function(n,i){return e.userPasswordResetCommit(n,i)}},orders:{get:function(n){return e.userOrders(n)}}}},enumerable:!1,configurable:!0}),t.prototype.userGet=function(e){return g(this,void 0,void 0,(function(){return S(this,(function(n){return[2,this.userService.get(e)]}))}))},t.prototype.userUpdate=function(e,n){return g(this,void 0,void 0,(function(){var i;return S(this,(function(t){i=JSON.parse(JSON.stringify(e));try{this.pushEvent({subject:f.USER_UPDATE,payload:i},f.USER_UPDATE)}catch(e){}return[2,this.userService.update(e,n)]}))}))},t.prototype.userRegisterAndCreate=function(e,n){return g(this,void 0,void 0,(function(){var i,t,r;return S(this,(function(a){switch(a.label){case 0:return[4,this._authClient.register(e)];case 1:return(null==(i=a.sent())?void 0:i.succeeded)&&(null===(r=i.tokens)||void 0===r?void 0:r.token)?(t=i.tokens.token,n?[4,this.userUpdate(n,t)]:[3,3]):[2,i];case 2:return a.sent(),[3,5];case 3:return[4,this.userService.create({newsletter:!1,customerType:v.PersonType},t)];case 4:a.sent(),a.label=5;case 5:return[2,this._authClient.getUser(i.tokens.refreshToken,t)]}}))}))},t.prototype.userRemove=function(e){return g(this,void 0,void 0,(function(){return S(this,(function(n){try{this.pushEvent({subject:f.USER_DELETE,payload:{}},f.USER_DELETE)}catch(e){}return[2,this.userService.delete(e)]}))}))},t.prototype.userOrders=function(e){return g(this,void 0,void 0,(function(){return S(this,(function(n){return[2,this.userOrdersService.get(e)]}))}))},t.prototype.userPasswordResetRequest=function(e){return g(this,void 0,void 0,(function(){return S(this,(function(n){switch(n.label){case 0:return[4,this.passwordResetService.request(e)];case 1:return[2,!!n.sent()]}}))}))},t.prototype.userPasswordResetCommit=function(e,n){return g(this,void 0,void 0,(function(){return S(this,(function(i){switch(i.label){case 0:return[4,this.passwordResetService.commit(e,n)];case 1:return[2,!!i.sent()]}}))}))},t}(o),je=function(){function e(e,n){var i,t=this;this._refreshPromise=null,this._crm=e,this._storage=null!==(i=null==n?void 0:n.storage)&&void 0!==i?i:new u,this._events=null==n?void 0:n.events,this._userToken=this._storage.get(d.USER_AUTH),this._refreshToken=this._storage.get(d.REFRESH_TOKEN),this._events&&(this._events.listenerAdd((function(){return t.syncFromStorage()}),f.SESSION_REFRESH),this._events.listenerAdd((function(){return t.syncFromStorage()}),f.USER_LOGOUT))}return Object.defineProperty(e.prototype,"isAuthenticated",{get:function(){return!!this._refreshToken},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"userToken",{get:function(){return this._userToken},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"refreshToken",{get:function(){return this._refreshToken},enumerable:!1,configurable:!0}),e.prototype.login=function(e){return g(this,void 0,void 0,(function(){var n,i;return S(this,(function(t){switch(t.label){case 0:return[4,this._crm.auth.login(e)];case 1:return(null==(n=t.sent())?void 0:n.succeeded)&&(this.storeTokens(n.tokens,e.rememberUser),this.storeUser(n.user,e.rememberUser),this.emitEvent(f.USER_LOGIN,{user:null===(i=n.user)||void 0===i?void 0:i.username})),[2,n]}}))}))},e.prototype.refresh=function(){return g(this,void 0,void 0,(function(){return S(this,(function(e){return[2,this.deduplicatedRefresh()]}))}))},e.prototype.getAuthUser=function(){return g(this,void 0,void 0,(function(){var e,n;return S(this,(function(i){switch(i.label){case 0:return this._refreshToken?[4,this.ensureValidToken()]:[2,void 0];case 1:return e=i.sent(),[4,this._crm.auth.getUser(this._refreshToken,e)];case 2:return(null==(n=i.sent())?void 0:n.succeeded)&&n.tokens&&(this.storeTokens(n.tokens),this.storeUser(n.user)),[2,n]}}))}))},e.prototype.authorized=function(){return g(this,void 0,void 0,(function(){return S(this,(function(e){return this._refreshToken?[2,this._crm.auth.authorized(this._refreshToken)]:[2,!1]}))}))},e.prototype.getUser=function(){return g(this,void 0,void 0,(function(){var e;return S(this,(function(n){switch(n.label){case 0:return[4,this.ensureValidToken()];case 1:return(e=n.sent())?[2,this._crm.user.get(e)]:[2,void 0]}}))}))},e.prototype.updateUser=function(e){return g(this,void 0,void 0,(function(){var n;return S(this,(function(i){switch(i.label){case 0:return[4,this.ensureValidToken()];case 1:return(n=i.sent())?[2,this._crm.user.update(e,n)]:[2,void 0]}}))}))},e.prototype.logout=function(){this.emitEvent(f.USER_LOGOUT,{}),this.clearAuth()},e.prototype.ensureValidToken=function(){return g(this,void 0,void 0,(function(){var e,n,i,t,r,a,o;return S(this,(function(s){switch(s.label){case 0:return this._refreshToken?this._userToken?[3,2]:[4,this.deduplicatedRefresh()]:[2,void 0];case 1:return e=s.sent(),[2,null===(t=null==e?void 0:e.tokens)||void 0===t?void 0:t.token];case 2:try{if(n=w.getUserObjectFromToken(this._userToken,this._refreshToken),!(null===(r=n.tokens)||void 0===r?void 0:r.expiresSoon)&&!(null===(a=n.tokens)||void 0===a?void 0:a.expired))return[2,this._userToken]}catch(e){}return[4,this.deduplicatedRefresh()];case 3:return i=s.sent(),[2,null===(o=null==i?void 0:i.tokens)||void 0===o?void 0:o.token]}}))}))},e.prototype.deduplicatedRefresh=function(){return g(this,void 0,void 0,(function(){return S(this,(function(e){switch(e.label){case 0:if(this._refreshPromise)return[2,this._refreshPromise];this._refreshPromise=this.performRefresh(),e.label=1;case 1:return e.trys.push([1,,3,4]),[4,this._refreshPromise];case 2:return[2,e.sent()];case 3:return this._refreshPromise=null,[7];case 4:return[2]}}))}))},e.prototype.performRefresh=function(){return g(this,void 0,void 0,(function(){var e,n,i;return S(this,(function(t){switch(t.label){case 0:if(!this._refreshToken)return[2,void 0];t.label=1;case 1:return t.trys.push([1,3,,4]),[4,this._crm.auth.refresh(this._refreshToken)];case 2:if((null==(e=t.sent())?void 0:e.succeeded)&&e.tokens)return this.storeTokens(e.tokens),this.storeUser(e.user),this.emitEvent(f.SESSION_REFRESH,{user:null===(i=e.user)||void 0===i?void 0:i.username}),[2,e];throw this.emitEvent(f.SESSION_EXPIRED,{}),this.clearAuth(),new c("Session expired — refresh was not successful");case 3:if((n=t.sent())instanceof c)throw n;throw this.emitEvent(f.SESSION_EXPIRED,{}),this.clearAuth(),new l("Token refresh failed",n);case 4:return[2]}}))}))},e.prototype.emitEvent=function(e,n){if(this._events){var i={subject:e,payload:n},t=e;if(t.includes("_")){var r=t.split("_")[0];this._events.push(i,r)}this._events.push(i,t)}},e.prototype.storeTokens=function(e,n){var i;if(e){var t=n?s.REMEMBER_USER:null!==(i=this.getStoredMaxAge())&&void 0!==i?i:s.DEFAULT;e.refreshToken&&(this._refreshToken=e.refreshToken,this._storage.set(d.REFRESH_TOKEN,e.refreshToken,{maxAge:t})),e.token&&(this._userToken=e.token,this._storage.set(d.USER_AUTH,e.token,{maxAge:e.expiresIn||900}))}},e.prototype.storeUser=function(e,n){var i;if(e){var t=n?s.REMEMBER_USER:null!==(i=this.getStoredMaxAge())&&void 0!==i?i:s.DEFAULT;this._storage.set(d.USER_MAX_AGE,t.toString(),{maxAge:t}),e.username&&this._storage.set(d.USER,e.username,{maxAge:t}),e.customerType&&this._storage.set(d.USER_TYPE,e.customerType,{maxAge:t})}},e.prototype.clearAuth=function(){var e=this;this._userToken=void 0,this._refreshToken=void 0,Object.values(d).forEach((function(n){e._storage.remove(n)}))},e.prototype.syncFromStorage=function(){this._userToken=this._storage.get(d.USER_AUTH),this._refreshToken=this._storage.get(d.REFRESH_TOKEN)},e.prototype.getStoredMaxAge=function(){var e=this._storage.get(d.USER_MAX_AGE);return e?parseInt(e,10):void 0},e}();export{je as CrmSession,Le as GeinsCRM};
|
|
1
|
+
import{GeinsError as e,GeinsErrorCode as n,AUTH_HEADERS as i,AuthError as t,BaseApiService as r,buildEndpoints as a,BasePackage as o,AUTH_STORAGE_MAX_AGE as s,AUTH_STORAGE_KEYS as d,CookieStorageAdapter as u,TokenExpiredError as c,TokenRefreshError as l,FAVORITES_STORAGE_KEYS as m,FAVORITES_STORAGE_MAX_AGE as f}from"@geins/core";import{AuthClientConnectionModes as v,GeinsEventType as h,GeinsCustomerType as k}from"@geins/types";var p=function(e,n){return p=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,n){e.__proto__=n}||function(e,n){for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])},p(e,n)};function g(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function i(){this.constructor=e}p(e,n),e.prototype=null===n?Object.create(n):(i.prototype=n.prototype,new i)}var S=function(){return S=Object.assign||function(e){for(var n,i=1,t=arguments.length;i<t;i++)for(var r in n=arguments[i])Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r]);return e},S.apply(this,arguments)};function y(e,n,i,t){return new(i||(i=Promise))((function(r,a){function o(e){try{d(t.next(e))}catch(e){a(e)}}function s(e){try{d(t.throw(e))}catch(e){a(e)}}function d(e){var n;e.done?r(e.value):(n=e.value,n instanceof i?n:new i((function(e){e(n)}))).then(o,s)}d((t=t.apply(e,n||[])).next())}))}function N(e,n){var i,t,r,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return o.next=s(0),o.throw=s(1),o.return=s(2),"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(d){return function(s){if(i)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(a=0)),a;)try{if(i=1,t&&(r=2&s[0]?t.return:s[0]?t.throw||((r=t.return)&&r.call(t),0):t.next)&&!(r=r.call(t,s[1])).done)return r;switch(t=0,r&&(s=[2&s[0],r.value]),s[0]){case 0:case 1:r=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,t=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(r=a.trys,(r=r.length>0&&r[r.length-1])||6!==s[0]&&2!==s[0])){a=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]<r[3])){a.label=s[1];break}if(6===s[0]&&a.label<r[1]){a.label=r[1],r=s;break}if(r&&a.label<r[2]){a.label=r[2],a.ops.push(s);break}r[2]&&a.ops.pop(),a.trys.pop();continue}s=n.call(e,a)}catch(e){s=[6,e],t=0}finally{i=r=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,d])}}}function E(e){var n=function(e){try{var n=e.split(".")[1];if(!n)return null;var i=n.replace(/-/g,"+").replace(/_/g,"/"),t=atob(i);return JSON.parse(t)}catch(e){return null}}(e);return n?Object.entries(n).map((function(e){var n=e[0],i=e[1];return Array.isArray(i)?i.map((function(e){return"".concat(n,"=").concat(e)})).join(";"):"".concat(n,"=").concat(i)})).join(";"):null}function b(e){var n=new Uint8Array(e).reduce((function(e,n){return e+String.fromCharCode(n)}),"");return btoa(n)}function F(e){return y(this,void 0,void 0,(function(){return N(this,(function(n){switch(n.label){case 0:return[4,crypto.subtle.digest("SHA-384",(new TextEncoder).encode(e+"Dd1dfLonNy6Am2fXQl2AcoI+IbhLhXvaibnDNn8uEa6vbJ05eyJajSuGFm9uQSmD"))];case 1:return[2,b(n.sent())]}}))}))}"function"==typeof SuppressedError&&SuppressedError;var w=function(){function r(i,t){if(!i||!t)throw new e("Both authEndpoint and signEndpoint are required",n.INVALID_ARGUMENT);this.authEndpoint=i,this.signEndpoint=t}return r.prototype.destroy=function(){},r.prototype.getAuthEndpointUrl=function(e){return"".concat(this.authEndpoint,"/").concat(e)},r.prototype.getSignEndpointUrl=function(e){return"".concat(this.signEndpoint).concat(encodeURIComponent(e))},r.prototype.extractRefreshTokenFromResponse=function(e){var n=e.headers.get(i.REFRESH_TOKEN);if(!n)throw new t("Challenge request failed");return n},r.prototype.requestAuthChallenge=function(e){return y(this,void 0,void 0,(function(){var i,a,o,s;return N(this,(function(d){switch(d.label){case 0:return i=this.getAuthEndpointUrl("login"),a={method:"POST",cache:"no-cache",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:e}),signal:AbortSignal.timeout(r.FETCH_TIMEOUT_MS)},[4,fetch(i,a)];case 1:return[4,d.sent().text()];case 2:if(!(o=d.sent()))throw new t("Failed to request challenge: Empty response");if(!(null==(s=JSON.parse(o))?void 0:s.sign))throw new t("Failed to fetch sign",n.AUTH_FAILED);return[2,s.sign]}}))}))},r.prototype.verifyAuthChallenge=function(e){return y(this,void 0,void 0,(function(){var n,i,a;return N(this,(function(o){switch(o.label){case 0:return n=this.getSignEndpointUrl(e),[4,fetch(n,{method:"GET",headers:{"Content-Type":"application/json"},signal:AbortSignal.timeout(r.FETCH_TIMEOUT_MS)})];case 1:if(!(i=o.sent()).ok)throw new t("Failed to verify challenge");return[4,i.text()];case 2:if(!(a=o.sent()))throw new t("Failed to verify challenge: Empty response");return[2,JSON.parse(a)]}}))}))},r.prototype.fetchUserToken=function(e,n,i){return y(this,void 0,void 0,(function(){var a,o,s,d,u,c,l,m,f,v;return N(this,(function(h){switch(h.label){case 0:return a=this.getAuthEndpointUrl("login"),[4,this.requestAuthChallenge(e)];case 1:return o=h.sent(),[4,this.verifyAuthChallenge(o)];case 2:return s=h.sent(),v={username:e,signature:s},[4,F(n)];case 3:return d=S.apply(void 0,[(v.password=h.sent(),v),i?{}:{sessionLifetime:30}]),u={method:"POST",cache:"no-cache",headers:{"Content-Type":"application/json"},body:JSON.stringify(d),signal:AbortSignal.timeout(r.FETCH_TIMEOUT_MS)},[4,fetch(a,u)];case 4:if(!(c=h.sent()).ok)throw new t("Failed to fetch user token: ".concat(c.statusText));return l=this.extractRefreshTokenFromResponse(c),[4,c.text()];case 5:if(!(m=h.sent()))throw new t("Failed to fetch user token: Empty response");return[2,{maxAge:(f=JSON.parse(m)).maxAge,token:f.token,refreshToken:l}]}}))}))},r.prototype.fetchRefreshToken=function(e){return y(this,void 0,void 0,(function(){var n,a,o,s,d,u,c;return N(this,(function(l){switch(l.label){case 0:return n=this.getAuthEndpointUrl("login"),a={method:"GET",cache:"no-cache",headers:(c={"Content-Type":"application/json"},c["".concat(i.REFRESH_TOKEN)]=e,c),signal:AbortSignal.timeout(r.FETCH_TIMEOUT_MS)},[4,fetch(n,a)];case 1:if(!(o=l.sent()).ok)throw new t("Failed to renew refresh token: ".concat(o.statusText));return s=this.extractRefreshTokenFromResponse(o),[4,o.text()];case 2:if(!(d=l.sent()))throw new t("Failed to fetch user token: Empty response");return[2,{maxAge:(u=JSON.parse(d)).maxAge,token:u.token,refreshToken:s}]}}))}))},r.prototype.performChangePassword=function(e,n,a,o){return y(this,void 0,void 0,(function(){var s,d,u,c,l,m,f,v,h,k;return N(this,(function(p){switch(p.label){case 0:return s=this.getAuthEndpointUrl("password"),[4,this.requestAuthChallenge(e)];case 1:return d=p.sent(),[4,this.verifyAuthChallenge(d)];case 2:return u=p.sent(),h={username:e,signature:u},[4,F(n)];case 3:return h.password=p.sent(),[4,F(a)];case 4:return h.newPassword=p.sent(),c=h,l={method:"POST",cache:"no-cache",headers:(k={"Content-Type":"application/json"},k["".concat(i.REFRESH_TOKEN)]=o,k),body:JSON.stringify(c),signal:AbortSignal.timeout(r.FETCH_TIMEOUT_MS)},[4,fetch(s,l)];case 5:if(!(m=p.sent()).ok)throw new t("Failed to change password: ".concat(m.statusText));return o=this.extractRefreshTokenFromResponse(m),[4,m.text()];case 6:if(!(f=p.sent()))throw new t("Failed to change password: Empty response");return[2,{maxAge:(v=JSON.parse(f)).maxAge,token:v.token,refreshToken:o}]}}))}))},r.prototype.performUserRegister=function(e,n){return y(this,void 0,void 0,(function(){var i,a,o,s,d,u,c,l,m,f;return N(this,(function(v){switch(v.label){case 0:return i=this.getAuthEndpointUrl("register"),[4,this.requestAuthChallenge(e)];case 1:return a=v.sent(),[4,this.verifyAuthChallenge(a)];case 2:return o=v.sent(),f={username:e,signature:o},[4,F(n)];case 3:return f.password=v.sent(),s=f,d={method:"POST",cache:"no-cache",headers:{"Content-Type":"application/json"},body:JSON.stringify(s),signal:AbortSignal.timeout(r.FETCH_TIMEOUT_MS)},[4,fetch(i,d)];case 4:if(!(u=v.sent()).ok)throw new t("Failed to register user: ".concat(u.statusText));return c=this.extractRefreshTokenFromResponse(u),[4,u.text()];case 5:if(!(l=v.sent()))throw new t("Failed to register user: Empty response");return[2,{maxAge:(m=JSON.parse(l)).maxAge,token:m.token,refreshToken:c}]}}))}))},r.prototype.register=function(e,n){return y(this,void 0,void 0,(function(){return N(this,(function(i){return[2,this.performUserRegister(e,n)]}))}))},r.prototype.login=function(e,n,i){return y(this,void 0,void 0,(function(){return N(this,(function(t){return[2,this.fetchUserToken(e,n,i)]}))}))},r.prototype.renewRefreshtoken=function(e){return y(this,void 0,void 0,(function(){return N(this,(function(n){return[2,this.fetchRefreshToken(e)]}))}))},r.prototype.changePassword=function(i,t){return y(this,void 0,void 0,(function(){return N(this,(function(r){if(!i.newPassword)throw new e("New password is required",n.INVALID_ARGUMENT);return[2,this.performChangePassword(i.username,i.password,i.newPassword,t)]}))}))},r.prototype.logout=function(e){return y(this,void 0,void 0,(function(){return N(this,(function(e){return[2,!0]}))}))},r.FETCH_TIMEOUT_MS=1e4,r}(),T=function(){function i(e,n){this.signEndpoint=e,this.authEndpoint=n,this.initClient()}return i.prototype.initClient=function(){this.client=new w(this.authEndpoint,this.signEndpoint)},i.prototype.ensureClientInitialized=function(){if(this.client||this.initClient(),!this.client)throw new e("AuthServiceClient is not initialized",n.NOT_INITIALIZED)},i.prototype.destroy=function(){this.client&&this.client.destroy(),this.client=void 0},i.prototype.login=function(e){return y(this,void 0,void 0,(function(){var n,t;return N(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),this.ensureClientInitialized(),[4,this.client.login(e.username,e.password,e.rememberUser)];case 1:return n=r.sent(),[2,i.getUserObjectFromToken(n.token,n.refreshToken)];case 2:return t=r.sent(),[2,this.handleError("Login failed",t)];case 3:return[2]}}))}))},i.prototype.getUser=function(e,n){return y(this,void 0,void 0,(function(){var t,r,a;return N(this,(function(o){switch(o.label){case 0:return o.trys.push([0,6,,7]),n?(t=i.getUserObjectFromToken(n,e))?(null===(a=t.tokens)||void 0===a?void 0:a.expiresSoon)?[4,this.refresh(e)]:[3,2]:[2,{succeeded:!1}]:[3,3];case 1:case 4:return[2,o.sent()];case 2:return[2,t];case 3:return[4,this.refresh(e)];case 5:return[3,7];case 6:return r=o.sent(),[2,this.handleError("Get user failed",r)];case 7:return[2]}}))}))},i.prototype.changePassword=function(e,n){return y(this,void 0,void 0,(function(){var t,r,a;return N(this,(function(o){switch(o.label){case 0:if(!e.newPassword||!n)return[2,{succeeded:!1}];o.label=1;case 1:return o.trys.push([1,3,,4]),this.ensureClientInitialized(),[4,this.client.changePassword(e,n)];case 2:return(t=o.sent()).token&&(r=i.getUserObjectFromToken(t.token,t.refreshToken))?[2,r]:[2,{succeeded:!1}];case 3:return a=o.sent(),[2,this.handleError("Token refresh failed",a)];case 4:return[2]}}))}))},i.prototype.refresh=function(e){return y(this,void 0,void 0,(function(){var n,t,r;return N(this,(function(a){switch(a.label){case 0:if(!e)return[2,{succeeded:!1}];a.label=1;case 1:return a.trys.push([1,3,,4]),this.ensureClientInitialized(),[4,this.client.renewRefreshtoken(e)];case 2:return(n=a.sent()).token&&(t=i.getUserObjectFromToken(n.token,n.refreshToken))?[2,t]:[2,{succeeded:!1}];case 3:return r=a.sent(),[2,this.handleError("Token refresh failed",r)];case 4:return[2]}}))}))},i.prototype.register=function(e){return y(this,void 0,void 0,(function(){var n,t;return N(this,(function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),this.ensureClientInitialized(),[4,this.client.register(e.username,e.password)];case 1:return(n=r.sent())?[2,i.getUserObjectFromToken(n.token,n.refreshToken)]:[2,{succeeded:!1}];case 2:return t=r.sent(),[2,this.handleError("Register new user failed",t)];case 3:return[2]}}))}))},i.getUserObjectFromToken=function(e,i){try{var r=function(e){try{var n=E(e);return n?n.split(";").reduce((function(e,n){var i=n.split("="),t=i[0],r=i[1];return t.includes("/")&&(t=t.split("/").pop()||t),e[t=t.charAt(0).toLowerCase()+t.slice(1)]=r,e}),{}):null}catch(e){return null}}(e);if(!r)throw new t("Failed to parse user token",n.PARSE_ERROR);var a=Math.floor(Date.now()/1e3),o=parseInt(r.exp||"0")-a,s=o<90;return{succeeded:!0,user:{authenticated:!r.expired,userId:r.sid||"",username:r.name||"unknown",customerType:(r.customerType||"unknown").toUpperCase(),memberDiscount:r.memberDiscount||"0",memberType:r.memberType||"unknown",memberId:r.memberId||"0"},tokens:{token:e,expires:parseInt(r.exp||"0"),expired:a>=parseInt(r.exp||"0"),expiresSoon:s,expiresIn:o,refreshToken:i}}}catch(e){throw new t("Failed to parse user token",n.PARSE_ERROR)}},i.prototype.handleError=function(e,n){return{succeeded:!1}},i}(),I=function(){function e(){}return e.prototype.destroy=function(){},e.prototype.login=function(e){return y(this,void 0,void 0,(function(){return N(this,(function(n){return[2,this.handleLogin(e)]}))}))},e.prototype.refresh=function(e){return y(this,void 0,void 0,(function(){return N(this,(function(n){return e?[2,this.handleRefresh(e)]:[2,void 0]}))}))},e.prototype.getUser=function(e,n){return y(this,void 0,void 0,(function(){return N(this,(function(i){return e?n?[2,this.handleUserTokenScenario({userToken:n,refreshToken:e})]:[2,this.handleGetUser(e)]:[2,void 0]}))}))},e.prototype.changePassword=function(e,n){return y(this,void 0,void 0,(function(){return N(this,(function(i){return n?[2,this.handleChangePassword(e,n)]:[2,void 0]}))}))},e.prototype.register=function(e){return y(this,void 0,void 0,(function(){return N(this,(function(n){return[2,this.handleRegister(e)]}))}))},e.prototype.logout=function(){return y(this,void 0,void 0,(function(){return N(this,(function(e){return[2,{succeeded:!0}]}))}))},e.prototype.handleUserTokenScenario=function(e){return y(this,void 0,void 0,(function(){var n,i;return N(this,(function(t){return(null==(n=T.getUserObjectFromToken(e.userToken,e.refreshToken))?void 0:n.succeeded)&&(null===(i=n.tokens)||void 0===i?void 0:i.expiresSoon)?[2,this.handleGetUser(e.refreshToken,e.userToken)]:[2,n]}))}))},e}(),_=function(e){function n(n,i){var t=e.call(this)||this;return t._authService=new T(n,i),t}return g(n,e),n.prototype.destroy=function(){this._authService.destroy(),this._authService=void 0},n.prototype.handleLogin=function(e){return y(this,void 0,void 0,(function(){return N(this,(function(n){return[2,this._authService.login(e)]}))}))},n.prototype.handleRefresh=function(e){return y(this,void 0,void 0,(function(){return N(this,(function(n){return[2,this._authService.refresh(e)]}))}))},n.prototype.handleGetUser=function(e,n){return y(this,void 0,void 0,(function(){return N(this,(function(i){return[2,this._authService.getUser(e,n)]}))}))},n.prototype.handleChangePassword=function(e,n){return y(this,void 0,void 0,(function(){return N(this,(function(i){return[2,this._authService.changePassword(e,n)]}))}))},n.prototype.handleRegister=function(e){return y(this,void 0,void 0,(function(){return N(this,(function(n){return[2,this._authService.register(e)]}))}))},n}(I),V=function(e){function n(n){var i=e.call(this)||this;return i._authEndpointApp=n,i}return g(n,e),n.prototype.destroy=function(){this._authEndpointApp=""},n.prototype.request=function(e,r,a){return y(this,void 0,void 0,(function(){var o,s,d,u;return N(this,(function(c){switch(c.label){case 0:return r.headers||(r.headers={"Content-Type":"application/json"}),a&&(r.headers=S(S({},r.headers),((d={})["".concat(i.REFRESH_TOKEN)]=a,d))),"GET"!==r.method&&"HEAD"!==r.method||delete r.body,[4,fetch("".concat(this._authEndpointApp).concat(e),S(S({},r),{signal:AbortSignal.timeout(n.FETCH_TIMEOUT_MS)}))];case 1:return[4,(o=c.sent()).json()];case 2:if(s=c.sent(),!o.ok)throw new t("API request failed");return[2,null===(u=s.body)||void 0===u?void 0:u.data]}}))}))},n.prototype.handleLogin=function(e){return y(this,void 0,void 0,(function(){return N(this,(function(n){return[2,this.request("/login",{method:"POST",body:JSON.stringify(e)})]}))}))},n.prototype.handleRefresh=function(e){return y(this,void 0,void 0,(function(){return N(this,(function(n){return[2,this.request("/refresh",{method:"POST"},e)]}))}))},n.prototype.handleGetUser=function(e,n){return y(this,void 0,void 0,(function(){return N(this,(function(n){return[2,this.request("/user",{method:"GET"},e)]}))}))},n.prototype.handleChangePassword=function(e,n){return y(this,void 0,void 0,(function(){return N(this,(function(i){return[2,this.request("/change-password",{method:"POST",body:JSON.stringify(e)},n)]}))}))},n.prototype.handleRegister=function(e){return y(this,void 0,void 0,(function(){return N(this,(function(n){return[2,this.request("/register",{method:"POST",body:JSON.stringify(e)})]}))}))},n.FETCH_TIMEOUT_MS=1e4,n}(I),U={kind:"Document",definitions:[{kind:"FragmentDefinition",name:{kind:"Name",value:"Address"},typeCondition:{kind:"NamedType",name:{kind:"Name",value:"AddressType"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"firstName"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"lastName"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"company"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"mobile"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"phone"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"careOf"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"entryCode"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"addressLine1"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"addressLine2"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"addressLine3"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"zip"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"city"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"state"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"country"},arguments:[],directives:[]}]}}],loc:{start:0,end:183}};function O(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){O(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){O(e,n)})),e.definitions&&e.definitions.forEach((function(e){O(e,n)}))}U.loc.source={body:"fragment Address on AddressType {\n firstName\n lastName\n company\n mobile\n phone\n careOf\n entryCode\n addressLine1\n addressLine2\n addressLine3\n zip\n city\n state\n country\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};var P={};function D(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}U.definitions.forEach((function(e){if(e.name){var n=new Set;O(e,n),P[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[D(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=P[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(P[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=D(e,n);t&&i.definitions.push(t)}))}(U,"Address");var A={kind:"Document",definitions:[{kind:"FragmentDefinition",name:{kind:"Name",value:"UserBalance"},typeCondition:{kind:"NamedType",name:{kind:"Name",value:"UserBalanceType"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"currency"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"amount"},arguments:[],directives:[]}]}}],loc:{start:0,end:83}};function R(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){R(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){R(e,n)})),e.definitions&&e.definitions.forEach((function(e){R(e,n)}))}A.loc.source={body:"fragment UserBalance on UserBalanceType {\n currency\n amount\n #amountFormatted\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};var x={};function C(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}A.definitions.forEach((function(e){if(e.name){var n=new Set;R(e,n),x[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[C(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=x[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(x[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=C(e,n);t&&i.definitions.push(t)}))}(A,"UserBalance");var q={kind:"Document",definitions:[{kind:"FragmentDefinition",name:{kind:"Name",value:"User"},typeCondition:{kind:"NamedType",name:{kind:"Name",value:"UserType"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"email"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"personalId"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"customerType"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"gender"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"address"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"Address"},directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"balances"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"UserBalance"},directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"metaData"},arguments:[],directives:[]}]}}],loc:{start:0,end:207}};q.loc.source={body:'#import "./address.gql"\n#import "./balances.gql"\nfragment User on UserType {\n id\n email\n personalId\n customerType\n gender\n address {\n ...Address\n }\n balances {\n ...UserBalance\n }\n metaData\n}\n',name:"GraphQL request",locationOffset:{line:1,column:1}};var L={};function M(e){return e.filter((function(e){if("FragmentDefinition"!==e.kind)return!0;var n=e.name.value;return!L[n]&&(L[n]=!0,!0)}))}function j(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){j(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){j(e,n)})),e.definitions&&e.definitions.forEach((function(e){j(e,n)}))}q.definitions=q.definitions.concat(M(U.definitions)),q.definitions=q.definitions.concat(M(A.definitions));var G={};function $(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}q.definitions.forEach((function(e){if(e.name){var n=new Set;j(e,n),G[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[$(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=G[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(G[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=$(e,n);t&&i.definitions.push(t)}))}(q,"User");var z={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"UserGet"},variableDefinitions:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"getUser"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"User"},directives:[]}]}}]}}],loc:{start:0,end:78}};z.loc.source={body:'#import "../fragments/user.gql"\nquery UserGet {\n getUser {\n ...User\n }\n}\n',name:"GraphQL request",locationOffset:{line:1,column:1}};var H={};function J(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){J(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){J(e,n)})),e.definitions&&e.definitions.forEach((function(e){J(e,n)}))}z.definitions=z.definitions.concat(q.definitions.filter((function(e){if("FragmentDefinition"!==e.kind)return!0;var n=e.name.value;return!H[n]&&(H[n]=!0,!0)})));var Q={};function B(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}z.definitions.forEach((function(e){if(e.name){var n=new Set;J(e,n),Q[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[B(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=Q[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(Q[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=B(e,n);t&&i.definitions.push(t)}))}(z,"UserGet");var K={kind:"Document",definitions:[{kind:"FragmentDefinition",name:{kind:"Name",value:"Price"},typeCondition:{kind:"NamedType",name:{kind:"Name",value:"PriceType"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"isDiscounted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceIncVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceExVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"regularPriceIncVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"regularPriceExVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"vat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"discountPercentage"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"regularPriceIncVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceIncVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"regularPriceExVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceExVatFormatted"},arguments:[],directives:[]}]}}],loc:{start:0,end:274}};function X(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){X(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){X(e,n)})),e.definitions&&e.definitions.forEach((function(e){X(e,n)}))}K.loc.source={body:"fragment Price on PriceType {\n isDiscounted\n sellingPriceIncVat\n sellingPriceExVat\n regularPriceIncVat\n regularPriceExVat\n vat\n discountPercentage\n regularPriceIncVatFormatted\n sellingPriceIncVatFormatted\n regularPriceExVatFormatted\n sellingPriceExVatFormatted\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};var Y={};function Z(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}K.definitions.forEach((function(e){if(e.name){var n=new Set;X(e,n),Y[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[Z(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=Y[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(Y[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=Z(e,n);t&&i.definitions.push(t)}))}(K,"Price");var W={kind:"Document",definitions:[{kind:"FragmentDefinition",name:{kind:"Name",value:"Stock"},typeCondition:{kind:"NamedType",name:{kind:"Name",value:"StockType"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"inStock"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"oversellable"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"totalStock"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"static"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"incoming"},arguments:[],directives:[]}]}}],loc:{start:0,end:90}};function ee(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){ee(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){ee(e,n)})),e.definitions&&e.definitions.forEach((function(e){ee(e,n)}))}W.loc.source={body:"fragment Stock on StockType {\n inStock\n oversellable\n totalStock\n static\n incoming\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};var ne={};function ie(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}W.definitions.forEach((function(e){if(e.name){var n=new Set;ee(e,n),ne[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[ie(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=ne[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(ne[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=ie(e,n);t&&i.definitions.push(t)}))}(W,"Stock");var te={kind:"Document",definitions:[{kind:"FragmentDefinition",name:{kind:"Name",value:"Cart"},typeCondition:{kind:"NamedType",name:{kind:"Name",value:"CartType"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"promoCode"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"appliedCampaigns"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"name"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"hideTitle"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"items"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"campaign"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"appliedCampaigns"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"name"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"hideTitle"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"prices"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"price"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"Price"},directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"quantity"},arguments:[],directives:[]}]}}]}},{kind:"Field",name:{kind:"Name",value:"unitPrice"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"Price"},directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"product"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"productId"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"articleNumber"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"brand"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"name"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"name"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"productImages"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"fileName"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"alias"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"canonicalUrl"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"primaryCategory"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"name"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"skus"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"skuId"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"name"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"stock"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"Stock"},directives:[]}]}}]}},{kind:"Field",name:{kind:"Name",value:"unitPrice"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"Price"},directives:[]}]}}]}},{kind:"Field",name:{kind:"Name",value:"quantity"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"skuId"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"totalPrice"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"Price"},directives:[]}]}}]}},{kind:"Field",name:{kind:"Name",value:"summary"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"fixedAmountDiscountIncVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"fixedAmountDiscountExVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"balance"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"pending"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"pendingFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"totalSellingPriceExBalanceExVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"totalSellingPriceExBalanceIncVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"totalSellingPriceExBalanceIncVatFormatted"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"subTotal"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"regularPriceIncVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"regularPriceExVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceIncVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceExVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceExVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceIncVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"vat"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"shipping"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"amountLeftToFreeShipping"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"amountLeftToFreeShippingFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"feeExVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"feeIncVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"feeIncVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"feeExVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"isDefault"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"total"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"isDiscounted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceIncVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceExVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceIncVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sellingPriceExVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"discountIncVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"discountExVatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"discountExVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"discountIncVat"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"vatFormatted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"vat"},arguments:[],directives:[]}]}}]}}]}}],loc:{start:0,end:1724}};te.loc.source={body:'#import "./price.gql"\n#import "./stock.gql"\n\nfragment Cart on CartType {\n id\n promoCode\n appliedCampaigns {\n name\n hideTitle\n }\n items {\n campaign {\n appliedCampaigns {\n name\n hideTitle\n }\n prices {\n price {\n ...Price\n }\n quantity\n }\n }\n unitPrice {\n ...Price\n }\n product {\n productId\n articleNumber\n brand {\n name\n }\n name\n productImages {\n fileName\n }\n alias\n canonicalUrl\n primaryCategory {\n name\n }\n skus {\n skuId\n name\n stock {\n ...Stock\n }\n }\n unitPrice {\n ...Price\n }\n }\n quantity\n skuId\n totalPrice {\n ...Price\n }\n }\n summary {\n fixedAmountDiscountIncVat\n fixedAmountDiscountExVat\n balance {\n pending\n pendingFormatted\n totalSellingPriceExBalanceExVat\n totalSellingPriceExBalanceIncVat\n totalSellingPriceExBalanceIncVatFormatted\n }\n subTotal {\n regularPriceIncVatFormatted\n regularPriceExVatFormatted\n sellingPriceIncVatFormatted\n sellingPriceExVatFormatted\n sellingPriceExVat\n sellingPriceIncVat\n vat\n }\n shipping {\n amountLeftToFreeShipping\n amountLeftToFreeShippingFormatted\n feeExVatFormatted\n feeIncVatFormatted\n feeIncVat\n feeExVat\n isDefault\n }\n total {\n isDiscounted\n sellingPriceIncVatFormatted\n sellingPriceExVatFormatted\n sellingPriceIncVat\n sellingPriceExVat\n discountIncVatFormatted\n discountExVatFormatted\n discountExVat\n discountIncVat\n vatFormatted\n vat\n }\n }\n}\n',name:"GraphQL request",locationOffset:{line:1,column:1}};var re={};function ae(e){return e.filter((function(e){if("FragmentDefinition"!==e.kind)return!0;var n=e.name.value;return!re[n]&&(re[n]=!0,!0)}))}function oe(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){oe(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){oe(e,n)})),e.definitions&&e.definitions.forEach((function(e){oe(e,n)}))}te.definitions=te.definitions.concat(ae(K.definitions)),te.definitions=te.definitions.concat(ae(W.definitions));var se={};function de(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}te.definitions.forEach((function(e){if(e.name){var n=new Set;oe(e,n),se[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[de(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=se[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(se[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=de(e,n);t&&i.definitions.push(t)}))}(te,"Cart");var ue={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"UserOrders"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"channelId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"languageId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"marketId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"getOrders"},arguments:[{kind:"Argument",name:{kind:"Name",value:"channelId"},value:{kind:"Variable",name:{kind:"Name",value:"channelId"}}},{kind:"Argument",name:{kind:"Name",value:"languageId"},value:{kind:"Variable",name:{kind:"Name",value:"languageId"}}},{kind:"Argument",name:{kind:"Name",value:"marketId"},value:{kind:"Variable",name:{kind:"Name",value:"marketId"}}}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"cart"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"Cart"},directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"billingAddress"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"Address"},directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"shippingAddress"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"Address"},directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"createdAt"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"id"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"status"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"shippingDetails"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"name"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"trackingLink"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"paymentDetails"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"displayName"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"refunds"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"itemId"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"createdAt"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"reason"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"total"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"vat"},arguments:[],directives:[]}]}}]}}]}}],loc:{start:0,end:631}};ue.loc.source={body:'#import "../fragments/price.gql"\n#import "../fragments/address.gql"\n#import "../fragments/cart.gql"\n\nquery UserOrders($channelId: String, $languageId: String, $marketId: String) {\n getOrders(\n channelId: $channelId\n languageId: $languageId\n marketId: $marketId\n ) {\n cart {\n ...Cart\n }\n billingAddress {\n ...Address\n }\n shippingAddress {\n ...Address\n }\n createdAt\n id\n status\n shippingDetails {\n name\n trackingLink\n }\n paymentDetails {\n displayName\n }\n refunds {\n id\n itemId\n createdAt\n reason\n total\n vat\n }\n }\n}\n',name:"GraphQL request",locationOffset:{line:1,column:1}};var ce={};function le(e){return e.filter((function(e){if("FragmentDefinition"!==e.kind)return!0;var n=e.name.value;return!ce[n]&&(ce[n]=!0,!0)}))}function me(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){me(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){me(e,n)})),e.definitions&&e.definitions.forEach((function(e){me(e,n)}))}ue.definitions=ue.definitions.concat(le(K.definitions)),ue.definitions=ue.definitions.concat(le(U.definitions)),ue.definitions=ue.definitions.concat(le(te.definitions));var fe={};function ve(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}ue.definitions.forEach((function(e){if(e.name){var n=new Set;me(e,n),fe[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[ve(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=fe[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(fe[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=ve(e,n);t&&i.definitions.push(t)}))}(ue,"UserOrders");var he={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"UserCreate"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"user"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"UserInputType"}}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"channelId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"languageId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"marketId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"updateUser"},arguments:[{kind:"Argument",name:{kind:"Name",value:"user"},value:{kind:"Variable",name:{kind:"Name",value:"user"}}},{kind:"Argument",name:{kind:"Name",value:"channelId"},value:{kind:"Variable",name:{kind:"Name",value:"channelId"}}},{kind:"Argument",name:{kind:"Name",value:"languageId"},value:{kind:"Variable",name:{kind:"Name",value:"languageId"}}},{kind:"Argument",name:{kind:"Name",value:"marketId"},value:{kind:"Variable",name:{kind:"Name",value:"marketId"}}}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"email"},arguments:[],directives:[]}]}}]}}],loc:{start:0,end:242}};function ke(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){ke(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){ke(e,n)})),e.definitions&&e.definitions.forEach((function(e){ke(e,n)}))}he.loc.source={body:"mutation UserCreate(\n $user: UserInputType!\n $channelId: String\n $languageId: String\n $marketId: String\n) {\n updateUser(\n user: $user\n channelId: $channelId\n languageId: $languageId\n marketId: $marketId\n ) {\n email\n }\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};var pe={};function ge(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}he.definitions.forEach((function(e){if(e.name){var n=new Set;ke(e,n),pe[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[ge(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=pe[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(pe[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=ge(e,n);t&&i.definitions.push(t)}))}(he,"UserCreate");var Se={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"UserUpdate"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"user"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"UserInputType"}}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"channelId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"languageId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"marketId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"updateUser"},arguments:[{kind:"Argument",name:{kind:"Name",value:"user"},value:{kind:"Variable",name:{kind:"Name",value:"user"}}},{kind:"Argument",name:{kind:"Name",value:"channelId"},value:{kind:"Variable",name:{kind:"Name",value:"channelId"}}},{kind:"Argument",name:{kind:"Name",value:"languageId"},value:{kind:"Variable",name:{kind:"Name",value:"languageId"}}},{kind:"Argument",name:{kind:"Name",value:"marketId"},value:{kind:"Variable",name:{kind:"Name",value:"marketId"}}}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"User"},directives:[]}]}}]}}],loc:{start:0,end:276}};Se.loc.source={body:'#import "../fragments/user.gql"\nmutation UserUpdate(\n $user: UserInputType!\n $channelId: String\n $languageId: String\n $marketId: String\n) {\n updateUser(\n user: $user\n channelId: $channelId\n languageId: $languageId\n marketId: $marketId\n ) {\n ...User\n }\n}\n',name:"GraphQL request",locationOffset:{line:1,column:1}};var ye={};function Ne(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){Ne(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){Ne(e,n)})),e.definitions&&e.definitions.forEach((function(e){Ne(e,n)}))}Se.definitions=Se.definitions.concat(function(e){return e.filter((function(e){if("FragmentDefinition"!==e.kind)return!0;var n=e.name.value;return!ye[n]&&(ye[n]=!0,!0)}))}(q.definitions));var Ee={};function be(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}Se.definitions.forEach((function(e){if(e.name){var n=new Set;Ne(e,n),Ee[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[be(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=Ee[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(Ee[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=be(e,n);t&&i.definitions.push(t)}))}(Se,"UserUpdate");var Fe={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"UserDelete"},variableDefinitions:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"deleteUser"},arguments:[],directives:[]}]}}],loc:{start:0,end:37}};function we(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){we(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){we(e,n)})),e.definitions&&e.definitions.forEach((function(e){we(e,n)}))}Fe.loc.source={body:"mutation UserDelete {\n deleteUser\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};var Te={};function Ie(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}Fe.definitions.forEach((function(e){if(e.name){var n=new Set;we(e,n),Te[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[Ie(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=Te[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(Te[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=Ie(e,n);t&&i.definitions.push(t)}))}(Fe,"UserDelete");var _e={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"UserRequestPasswordReset"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"email"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"String"}}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"channelId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"languageId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"marketId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"requestPasswordReset"},arguments:[{kind:"Argument",name:{kind:"Name",value:"email"},value:{kind:"Variable",name:{kind:"Name",value:"email"}}},{kind:"Argument",name:{kind:"Name",value:"channelId"},value:{kind:"Variable",name:{kind:"Name",value:"channelId"}}},{kind:"Argument",name:{kind:"Name",value:"languageId"},value:{kind:"Variable",name:{kind:"Name",value:"languageId"}}},{kind:"Argument",name:{kind:"Name",value:"marketId"},value:{kind:"Variable",name:{kind:"Name",value:"marketId"}}}],directives:[]}]}}],loc:{start:0,end:246}};function Ve(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){Ve(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){Ve(e,n)})),e.definitions&&e.definitions.forEach((function(e){Ve(e,n)}))}_e.loc.source={body:"mutation UserRequestPasswordReset(\n $email: String!\n $channelId: String\n $languageId: String\n $marketId: String\n) {\n requestPasswordReset(\n email: $email\n channelId: $channelId\n languageId: $languageId\n marketId: $marketId\n )\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};var Ue={};function Oe(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}_e.definitions.forEach((function(e){if(e.name){var n=new Set;Ve(e,n),Ue[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[Oe(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=Ue[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(Ue[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=Oe(e,n);t&&i.definitions.push(t)}))}(_e,"UserRequestPasswordReset");var Pe={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"UserPasswordResetCommit"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"resetKey"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"String"}}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"password"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"String"}}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"channelId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"languageId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"marketId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}},directives:[]}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"commitReset"},arguments:[{kind:"Argument",name:{kind:"Name",value:"resetKey"},value:{kind:"Variable",name:{kind:"Name",value:"resetKey"}}},{kind:"Argument",name:{kind:"Name",value:"password"},value:{kind:"Variable",name:{kind:"Name",value:"password"}}},{kind:"Argument",name:{kind:"Name",value:"channelId"},value:{kind:"Variable",name:{kind:"Name",value:"channelId"}}},{kind:"Argument",name:{kind:"Name",value:"languageId"},value:{kind:"Variable",name:{kind:"Name",value:"languageId"}}},{kind:"Argument",name:{kind:"Name",value:"marketId"},value:{kind:"Variable",name:{kind:"Name",value:"marketId"}}}],directives:[]}]}}],loc:{start:0,end:290}};function De(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){De(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){De(e,n)})),e.definitions&&e.definitions.forEach((function(e){De(e,n)}))}Pe.loc.source={body:"mutation UserPasswordResetCommit(\n $resetKey: String!\n $password: String!\n $channelId: String\n $languageId: String\n $marketId: String\n) {\n commitReset(\n resetKey: $resetKey\n password: $password\n channelId: $channelId\n languageId: $languageId\n marketId: $marketId\n )\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};var Ae={};function Re(e,n){for(var i=0;i<e.definitions.length;i++){var t=e.definitions[i];if(t.name&&t.name.value==n)return t}}Pe.definitions.forEach((function(e){if(e.name){var n=new Set;De(e,n),Ae[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[Re(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=Ae[n]||new Set,r=new Set,a=new Set;for(t.forEach((function(e){a.add(e)}));a.size>0;){var o=a;a=new Set,o.forEach((function(e){r.has(e)||(r.add(e),(Ae[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=Re(e,n);t&&i.definitions.push(t)}))}(Pe,"UserPasswordResetCommit");var xe={userGet:z,userOrders:ue},Ce={userRegister:he,userUpdate:Se,userDelete:Fe,pwResetRequest:_e,pwResetCommit:Pe},qe=function(i){function t(e,n){return i.call(this,e,n)||this}return g(t,i),t.prototype.generateVars=function(e){return this.createVariables(e)},t.prototype.generateMutationVars=function(e){var n=e.user;return(null==n?void 0:n.entityId)&&(n.personalId=n.entityId,delete n.entityId),n&&(n.newsletter=!("true"!==n.newsletter)),this.createVariables(e)},t.prototype.get=function(e){return y(this,void 0,void 0,(function(){var n;return N(this,(function(i){return n={query:xe.userGet,variables:this.generateVars({}),userToken:e},[2,this.runQueryParsed(n)]}))}))},t.prototype.create=function(e,n){return y(this,void 0,void 0,(function(){var i,t;return N(this,(function(r){switch(r.label){case 0:return i={query:Ce.userRegister,variables:this.generateMutationVars({user:e}),userToken:n},[4,this.runMutation(i)];case 1:return t=r.sent(),[2,this.parseResult(t)]}}))}))},t.prototype.update=function(e,n){return y(this,void 0,void 0,(function(){var i,t;return N(this,(function(r){switch(r.label){case 0:return i={query:Ce.userUpdate,variables:this.generateMutationVars({user:e}),userToken:n},[4,this.runMutation(i)];case 1:return t=r.sent(),[2,this.parseResult(t)]}}))}))},t.prototype.delete=function(e){return y(this,void 0,void 0,(function(){var n;return N(this,(function(i){switch(i.label){case 0:return n={query:Ce.userDelete,variables:this.generateVars({}),userToken:e},[4,this.runMutation(n)];case 1:return[2,!!i.sent()]}}))}))},t.prototype.parseResult=function(i){var t=i;if(!(null==t?void 0:t.data))throw new e("Invalid user data",n.PARSE_ERROR);return t.data.getUser?t.data.getUser:t.data.updateUser?this.cleanObject(t.data.updateUser):void 0},t}(r),Le=function(e){function n(n,i){return e.call(this,n,i)||this}return g(n,e),n.prototype.generateVars=function(e){return this.createVariables(e)},n.prototype.get=function(e){return y(this,void 0,void 0,(function(){var n;return N(this,(function(i){return n={query:xe.userOrders,variables:this.generateVars({}),userToken:e},[2,this.runQueryParsed(n)]}))}))},n.prototype.parseResult=function(e){var n,i=e;if(null===(n=null==i?void 0:i.data)||void 0===n?void 0:n.getOrders)return i.data.getOrders},n}(r),Me=function(e){function n(){return null!==e&&e.apply(this,arguments)||this}return g(n,e),n.prototype.request=function(e){return y(this,void 0,void 0,(function(){var n;return N(this,(function(i){return n={query:Ce.pwResetRequest,variables:this.createVariables({email:e})},[2,this.runMutation(n)]}))}))},n.prototype.commit=function(e,n){return y(this,void 0,void 0,(function(){var i,t;return N(this,(function(r){switch(r.label){case 0:return[4,F(n)];case 1:return i=r.sent(),t={query:Ce.pwResetCommit,variables:this.createVariables({resetKey:e,password:i})},[2,this.runMutation(t)]}}))}))},n}(r),je=function(i){function t(t,r){var o=i.call(this,t)||this,s=t.geinsSettings;if(r.clientConnectionMode===v.Proxy){var d=r.proxyUrl||"/api/auth";o._authClient=new V(d)}else{if(r.clientConnectionMode!==v.Direct)throw new e("Invalid client connection mode",n.INVALID_ARGUMENT);var u=a(s.apiKey,s.accountName,s.environment);o._authClient=new _(u.authSign,u.auth)}return o}return g(t,i),t.prototype.destroy=function(){var e,n,i;this._authClient.destroy(),null===(e=this._userService)||void 0===e||e.destroy(),null===(n=this._passwordResetService)||void 0===n||n.destroy(),null===(i=this._userOrdersService)||void 0===i||i.destroy()},Object.defineProperty(t.prototype,"userService",{get:function(){var e=this;return this._userService||(this._userService=new qe((function(){return e._apiClient()}),this._geinsSettings)),this._userService},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"passwordResetService",{get:function(){var e=this;return this._passwordResetService||(this._passwordResetService=new Me((function(){return e._apiClient()}),this._geinsSettings)),this._passwordResetService},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"userOrdersService",{get:function(){var e=this;return this._userOrdersService||(this._userOrdersService=new Le((function(){return e._apiClient()}),this._geinsSettings)),this._userOrdersService},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"auth",{get:function(){var e=this;return{login:function(n){return e.authLogin(n)},logout:function(){return e._authClient.logout()},refresh:function(n){return e._authClient.refresh(n)},getUser:function(n,i){return e._authClient.getUser(n,i)},authorized:function(n){return y(e,void 0,void 0,(function(){var e,i;return N(this,(function(t){switch(t.label){case 0:return[4,this._authClient.getUser(n)];case 1:return e=t.sent(),[2,null!==(i=null==e?void 0:e.succeeded)&&void 0!==i&&i]}}))}))}}},enumerable:!1,configurable:!0}),t.prototype.authLogin=function(e){return y(this,void 0,void 0,(function(){var n;return N(this,(function(i){switch(i.label){case 0:return[4,this._authClient.login(e)];case 1:n=i.sent();try{this.pushEvent({subject:h.USER_LOGIN,payload:{success:null==n?void 0:n.succeeded,user:e.username}},h.USER_LOGIN)}catch(e){}return[2,n]}}))}))},Object.defineProperty(t.prototype,"user",{get:function(){var e=this;return{get:function(n){return e.userGet(n)},update:function(n,i){return e.userUpdate(n,i)},create:function(n,i){return e.userRegisterAndCreate(n,i)},remove:function(n){return e.userRemove(n)},password:{change:function(n,i){return e._authClient.changePassword(n,i)},requestReset:function(n){return e.userPasswordResetRequest(n)},commitReset:function(n,i){return e.userPasswordResetCommit(n,i)}},orders:{get:function(n){return e.userOrders(n)}}}},enumerable:!1,configurable:!0}),t.prototype.userGet=function(e){return y(this,void 0,void 0,(function(){return N(this,(function(n){return[2,this.userService.get(e)]}))}))},t.prototype.userUpdate=function(e,n){return y(this,void 0,void 0,(function(){var i;return N(this,(function(t){i=JSON.parse(JSON.stringify(e));try{this.pushEvent({subject:h.USER_UPDATE,payload:i},h.USER_UPDATE)}catch(e){}return[2,this.userService.update(e,n)]}))}))},t.prototype.userRegisterAndCreate=function(e,n){return y(this,void 0,void 0,(function(){var i,t,r;return N(this,(function(a){switch(a.label){case 0:return[4,this._authClient.register(e)];case 1:return(null==(i=a.sent())?void 0:i.succeeded)&&(null===(r=i.tokens)||void 0===r?void 0:r.token)?(t=i.tokens.token,n?[4,this.userUpdate(n,t)]:[3,3]):[2,i];case 2:return a.sent(),[3,5];case 3:return[4,this.userService.create({newsletter:!1,customerType:k.PersonType},t)];case 4:a.sent(),a.label=5;case 5:return[2,this._authClient.getUser(i.tokens.refreshToken,t)]}}))}))},t.prototype.userRemove=function(e){return y(this,void 0,void 0,(function(){return N(this,(function(n){try{this.pushEvent({subject:h.USER_DELETE,payload:{}},h.USER_DELETE)}catch(e){}return[2,this.userService.delete(e)]}))}))},t.prototype.userOrders=function(e){return y(this,void 0,void 0,(function(){return N(this,(function(n){return[2,this.userOrdersService.get(e)]}))}))},t.prototype.userPasswordResetRequest=function(e){return y(this,void 0,void 0,(function(){return N(this,(function(n){switch(n.label){case 0:return[4,this.passwordResetService.request(e)];case 1:return[2,!!n.sent()]}}))}))},t.prototype.userPasswordResetCommit=function(e,n){return y(this,void 0,void 0,(function(){return N(this,(function(i){switch(i.label){case 0:return[4,this.passwordResetService.commit(e,n)];case 1:return[2,!!i.sent()]}}))}))},t}(o),Ge=function(){function e(e,n){var i,t=this;this._refreshPromise=null,this._crm=e,this._storage=null!==(i=null==n?void 0:n.storage)&&void 0!==i?i:new u,this._events=null==n?void 0:n.events,this._userToken=this._storage.get(d.USER_AUTH),this._refreshToken=this._storage.get(d.REFRESH_TOKEN),this._events&&(this._events.listenerAdd((function(){return t.syncFromStorage()}),h.SESSION_REFRESH),this._events.listenerAdd((function(){return t.syncFromStorage()}),h.USER_LOGOUT))}return Object.defineProperty(e.prototype,"isAuthenticated",{get:function(){return!!this._refreshToken},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"userToken",{get:function(){return this._userToken},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"refreshToken",{get:function(){return this._refreshToken},enumerable:!1,configurable:!0}),e.prototype.login=function(e){return y(this,void 0,void 0,(function(){var n,i;return N(this,(function(t){switch(t.label){case 0:return[4,this._crm.auth.login(e)];case 1:return(null==(n=t.sent())?void 0:n.succeeded)&&(this.storeTokens(n.tokens,e.rememberUser),this.storeUser(n.user,e.rememberUser),this.emitEvent(h.USER_LOGIN,{user:null===(i=n.user)||void 0===i?void 0:i.username})),[2,n]}}))}))},e.prototype.refresh=function(){return y(this,void 0,void 0,(function(){return N(this,(function(e){return[2,this.deduplicatedRefresh()]}))}))},e.prototype.getAuthUser=function(){return y(this,void 0,void 0,(function(){var e,n;return N(this,(function(i){switch(i.label){case 0:return this._refreshToken?[4,this.ensureValidToken()]:[2,void 0];case 1:return e=i.sent(),[4,this._crm.auth.getUser(this._refreshToken,e)];case 2:return(null==(n=i.sent())?void 0:n.succeeded)&&n.tokens&&(this.storeTokens(n.tokens),this.storeUser(n.user)),[2,n]}}))}))},e.prototype.authorized=function(){return y(this,void 0,void 0,(function(){return N(this,(function(e){return this._refreshToken?[2,this._crm.auth.authorized(this._refreshToken)]:[2,!1]}))}))},e.prototype.getUser=function(){return y(this,void 0,void 0,(function(){var e;return N(this,(function(n){switch(n.label){case 0:return[4,this.ensureValidToken()];case 1:return(e=n.sent())?[2,this._crm.user.get(e)]:[2,void 0]}}))}))},e.prototype.updateUser=function(e){return y(this,void 0,void 0,(function(){var n;return N(this,(function(i){switch(i.label){case 0:return[4,this.ensureValidToken()];case 1:return(n=i.sent())?[2,this._crm.user.update(e,n)]:[2,void 0]}}))}))},e.prototype.logout=function(){this.emitEvent(h.USER_LOGOUT,{}),this.clearAuth()},e.prototype.ensureValidToken=function(){return y(this,void 0,void 0,(function(){var e,n,i,t,r,a,o;return N(this,(function(s){switch(s.label){case 0:return this._refreshToken?this._userToken?[3,2]:[4,this.deduplicatedRefresh()]:[2,void 0];case 1:return e=s.sent(),[2,null===(t=null==e?void 0:e.tokens)||void 0===t?void 0:t.token];case 2:try{if(n=T.getUserObjectFromToken(this._userToken,this._refreshToken),!(null===(r=n.tokens)||void 0===r?void 0:r.expiresSoon)&&!(null===(a=n.tokens)||void 0===a?void 0:a.expired))return[2,this._userToken]}catch(e){}return[4,this.deduplicatedRefresh()];case 3:return i=s.sent(),[2,null===(o=null==i?void 0:i.tokens)||void 0===o?void 0:o.token]}}))}))},e.prototype.deduplicatedRefresh=function(){return y(this,void 0,void 0,(function(){return N(this,(function(e){switch(e.label){case 0:if(this._refreshPromise)return[2,this._refreshPromise];this._refreshPromise=this.performRefresh(),e.label=1;case 1:return e.trys.push([1,,3,4]),[4,this._refreshPromise];case 2:return[2,e.sent()];case 3:return this._refreshPromise=null,[7];case 4:return[2]}}))}))},e.prototype.performRefresh=function(){return y(this,void 0,void 0,(function(){var e,n,i;return N(this,(function(t){switch(t.label){case 0:if(!this._refreshToken)return[2,void 0];t.label=1;case 1:return t.trys.push([1,3,,4]),[4,this._crm.auth.refresh(this._refreshToken)];case 2:if((null==(e=t.sent())?void 0:e.succeeded)&&e.tokens)return this.storeTokens(e.tokens),this.storeUser(e.user),this.emitEvent(h.SESSION_REFRESH,{user:null===(i=e.user)||void 0===i?void 0:i.username}),[2,e];throw this.emitEvent(h.SESSION_EXPIRED,{}),this.clearAuth(),new c("Session expired — refresh was not successful");case 3:if((n=t.sent())instanceof c)throw n;throw this.emitEvent(h.SESSION_EXPIRED,{}),this.clearAuth(),new l("Token refresh failed",n);case 4:return[2]}}))}))},e.prototype.emitEvent=function(e,n){if(this._events){var i={subject:e,payload:n},t=e;if(t.includes("_")){var r=t.split("_")[0];this._events.push(i,r)}this._events.push(i,t)}},e.prototype.storeTokens=function(e,n){var i;if(e){var t=n?s.REMEMBER_USER:null!==(i=this.getStoredMaxAge())&&void 0!==i?i:s.DEFAULT;e.refreshToken&&(this._refreshToken=e.refreshToken,this._storage.set(d.REFRESH_TOKEN,e.refreshToken,{maxAge:t})),e.token&&(this._userToken=e.token,this._storage.set(d.USER_AUTH,e.token,{maxAge:e.expiresIn||900}))}},e.prototype.storeUser=function(e,n){var i;if(e){var t=n?s.REMEMBER_USER:null!==(i=this.getStoredMaxAge())&&void 0!==i?i:s.DEFAULT;this._storage.set(d.USER_MAX_AGE,t.toString(),{maxAge:t}),e.username&&this._storage.set(d.USER,e.username,{maxAge:t}),e.customerType&&this._storage.set(d.USER_TYPE,e.customerType,{maxAge:t})}},e.prototype.clearAuth=function(){var e=this;this._userToken=void 0,this._refreshToken=void 0,Object.values(d).forEach((function(n){e._storage.remove(n)}))},e.prototype.syncFromStorage=function(){this._userToken=this._storage.get(d.USER_AUTH),this._refreshToken=this._storage.get(d.REFRESH_TOKEN)},e.prototype.getStoredMaxAge=function(){var e=this._storage.get(d.USER_MAX_AGE);return e?parseInt(e,10):void 0},e}(),$e=function(){function e(e){var n;this._storage=null!==(n=null==e?void 0:e.storage)&&void 0!==n?n:new u,this._events=null==e?void 0:e.events}return e.prototype.getAll=function(){return this.readFromStorage()},e.prototype.has=function(e){return this.readFromStorage().includes(e)},e.prototype.add=function(e){var n=this.readFromStorage();n.includes(e)||(n.push(e),this.writeToStorage(n),this.emitEvent(h.FAVORITES_ADD,{productId:e}))},e.prototype.remove=function(e){var n=this.readFromStorage(),i=n.indexOf(e);-1!==i&&(n.splice(i,1),this.writeToStorage(n),this.emitEvent(h.FAVORITES_REMOVE,{productId:e}))},e.prototype.toggle=function(e){return this.has(e)?(this.remove(e),!1):(this.add(e),!0)},e.prototype.clear=function(){this.writeToStorage([]),this.emitEvent(h.FAVORITES_CLEAR,{})},Object.defineProperty(e.prototype,"count",{get:function(){return this.readFromStorage().length},enumerable:!1,configurable:!0}),e.prototype.readFromStorage=function(){var e=this._storage.get(m.ITEMS);if(!e)return[];try{var n=JSON.parse(e);return Array.isArray(n)?n:[]}catch(e){return[]}},e.prototype.writeToStorage=function(e){this._storage.set(m.ITEMS,JSON.stringify(e),{maxAge:f.DEFAULT})},e.prototype.emitEvent=function(e,n){if(this._events){var i={subject:e,payload:n},t=e;if(t.includes("_")){var r=t.split("_")[0];this._events.push(i,r)}this._events.push(i,t)}},e}();export{Ge as CrmSession,$e as FavoritesSession,je as GeinsCRM};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Favorites session interface.
|
|
3
|
+
* Manages a client-side list of favorite product IDs with storage persistence.
|
|
4
|
+
*/
|
|
5
|
+
export interface FavoritesInterface {
|
|
6
|
+
/** Get all favorite product IDs. */
|
|
7
|
+
getAll(): string[];
|
|
8
|
+
/** Check if a product is in favorites. */
|
|
9
|
+
has(productId: string): boolean;
|
|
10
|
+
/** Add a product to favorites. */
|
|
11
|
+
add(productId: string): void;
|
|
12
|
+
/** Remove a product from favorites. */
|
|
13
|
+
remove(productId: string): void;
|
|
14
|
+
/** Toggle a product's favorite status. Returns true if added, false if removed. */
|
|
15
|
+
toggle(productId: string): boolean;
|
|
16
|
+
/** Clear all favorites. */
|
|
17
|
+
clear(): void;
|
|
18
|
+
/** Number of favorite items. */
|
|
19
|
+
readonly count: number;
|
|
20
|
+
}
|
package/dist/types/index.d.ts
CHANGED