@geins/crm 0.7.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/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 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;
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 w(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 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)}))}T.definitions=T.definitions.concat(w(h.definitions)),T.definitions=T.definitions.concat(w(S.definitions));var I={};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}}T.definitions.forEach((function(e){if(e.name){var n=new Set;F(e,n),I[e.name.value]=n}})),function(e,n){var i={kind:e.kind,definitions:[_(e,n)]};e.hasOwnProperty("loc")&&(i.loc=e.loc);var t=I[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),(I[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=_(e,n);t&&i.definitions.push(t)}))}(T,"User");var A={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}};A.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)}))}A.definitions=A.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 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}}A.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:[D(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=D(e,n);t&&i.definitions.push(t)}))}(A,"UserGet");var V={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)}))}V.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}}V.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)}))}(V,"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 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)}))}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 q={};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;L(e,n),q[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=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=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($(V.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(V.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:A,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,n){return this.createVariables(r(r({},e),n))},i.prototype.generateMutationVars=function(e,n){var i=e.user;return(null==i?void 0:i.entityId)&&(i.personalId=i.entityId,delete i.entityId),i&&(i.newsletter=!("true"!==i.newsletter)),this.createVariables(r(r({},e),n))},i.prototype.get=function(e,n){return a(this,void 0,void 0,(function(){var i;return o(this,(function(t){return i={query:Ee.userGet,variables:this.generateVars({},n),userToken:e},[2,this.runQueryParsed(i)]}))}))},i.prototype.create=function(e,n,i){return a(this,void 0,void 0,(function(){var t,r;return o(this,(function(a){switch(a.label){case 0:return t={query:Ne.userRegister,variables:this.generateMutationVars({user:e},i),userToken:n},[4,this.runMutation(t)];case 1:return r=a.sent(),[2,this.parseResult(r)]}}))}))},i.prototype.update=function(e,n,i){return a(this,void 0,void 0,(function(){var t,r;return o(this,(function(a){switch(a.label){case 0:return t={query:Ne.userUpdate,variables:this.generateMutationVars({user:e},i),userToken:n},[4,this.runMutation(t)];case 1:return r=a.sent(),[2,this.parseResult(r)]}}))}))},i.prototype.delete=function(e,n){return a(this,void 0,void 0,(function(){var i;return o(this,(function(t){switch(t.label){case 0:return i={query:Ne.userDelete,variables:this.generateVars({},n),userToken:e},[4,this.runMutation(i)];case 1:return[2,!!t.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,n){return this.createVariables(r(r({},e),n))},n.prototype.get=function(e,n){return a(this,void 0,void 0,(function(){var i;return o(this,(function(t){return i={query:Ee.userOrders,variables:this.generateVars({},n),userToken:e},[2,this.runQueryParsed(i)]}))}))},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,n){return a(this,void 0,void 0,(function(){var i;return o(this,(function(t){return i={query:Ne.pwResetRequest,variables:this.createVariables(r({email:e},n))},[2,this.runMutation(i)]}))}))},n.prototype.commit=function(e,n,i){return a(this,void 0,void 0,(function(){var t,a;return o(this,(function(o){switch(o.label){case 0:return[4,u(n)];case 1:return t=o.sent(),a={query:Ne.pwResetCommit,variables:this.createVariables(r({resetKey:e,password:t},i))},[2,this.runMutation(a)]}}))}))},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 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 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 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),Ie=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}(),_e="__favorites__",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 Object.defineProperty(i.prototype,"favorites",{get:function(){var e=this.readFromStorage(),n=e.find((function(e){return e.id===_e}));if(n)return n;var i=Date.now(),t={id:_e,name:"Favorites",items:[],createdAt:i,updatedAt:i};return e.push(t),this.writeToStorage(e),t},enumerable:!1,configurable:!0}),i.prototype.isFavorite=function(e){return this.hasItem(_e,e)},i.prototype.toggleFavorite=function(e){return this.isFavorite(e)?(this.removeItem(_e,e),!1):(this.favorites,this.addItem(_e,e),!0)},i.prototype.getLists=function(){return this.readFromStorage()},i.prototype.getList=function(e){return this.readFromStorage().find((function(n){return n.id===e}))},i.prototype.createList=function(e){var i=this.readFromStorage(),t=Date.now(),r={id:this.generateId(),name:e,items:[],createdAt:t,updatedAt:t};return i.push(r),this.writeToStorage(i),this.emitEvent(n.GeinsEventType.LIST_CREATE,{listId:r.id}),r},i.prototype.deleteList=function(e){if(e===_e)throw new Error("Cannot delete the favorites list");var i=this.readFromStorage(),t=i.findIndex((function(n){return n.id===e}));-1!==t&&(i.splice(t,1),this.writeToStorage(i),this.emitEvent(n.GeinsEventType.LIST_DELETE,{listId:e}))},i.prototype.renameList=function(e,i){if(e===_e)throw new Error("Cannot rename the favorites list");var t=this.readFromStorage(),r=t.find((function(n){return n.id===e}));r&&(r.name=i,r.updatedAt=Date.now(),this.writeToStorage(t),this.emitEvent(n.GeinsEventType.LIST_UPDATE,{listId:e}))},i.prototype.addItem=function(e,i){var t=this.readFromStorage(),r=t.find((function(n){return n.id===e}));r&&(r.items.includes(i)||(r.items.push(i),r.updatedAt=Date.now(),this.writeToStorage(t),this.emitEvent(n.GeinsEventType.LIST_ADD_ITEM,{listId:e,productId:i})))},i.prototype.removeItem=function(e,i){var t=this.readFromStorage(),r=t.find((function(n){return n.id===e}));if(r){var a=r.items.indexOf(i);-1!==a&&(r.items.splice(a,1),r.updatedAt=Date.now(),this.writeToStorage(t),this.emitEvent(n.GeinsEventType.LIST_REMOVE_ITEM,{listId:e,productId:i}))}},i.prototype.hasItem=function(e,n){var i=this.readFromStorage().find((function(n){return n.id===e}));return!!i&&i.items.includes(n)},i.prototype.getItems=function(e){var n=this.readFromStorage().find((function(n){return n.id===e}));return n?n.items:[]},i.prototype.clearItems=function(e){var i=this.readFromStorage(),t=i.find((function(n){return n.id===e}));t&&(t.items=[],t.updatedAt=Date.now(),this.writeToStorage(i),this.emitEvent(n.GeinsEventType.LIST_CLEAR,{listId:e}))},Object.defineProperty(i.prototype,"listCount",{get:function(){return this.readFromStorage().length},enumerable:!1,configurable:!0}),i.prototype.readFromStorage=function(){var n=this._storage.get(e.LISTS_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.LISTS_STORAGE_KEYS.ITEMS,JSON.stringify(n),{maxAge:e.LISTS_STORAGE_MAX_AGE.DEFAULT})},i.prototype.generateId=function(){return"undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():Date.now().toString(36)+Math.random().toString(36).slice(2,7)},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=Ie,exports.FAVORITES_LIST_ID=_e,exports.GeinsCRM=Fe,exports.ListsSession=Ae;
package/dist/index.d.ts CHANGED
@@ -1,4 +1,6 @@
1
1
  export { GeinsCRM } from './geinsCRM';
2
2
  export { CrmSession } from './sessions';
3
- export { FavoritesSession } from './favorites';
4
- export type { FavoritesSessionOptions } from './favorites';
3
+ export { ListsSession } from './lists';
4
+ export type { ListsSessionOptions } from './lists';
5
+ export type { ProductList, ListsInterface } from './types';
6
+ export { FAVORITES_LIST_ID } from './types';
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,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};
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,LISTS_STORAGE_KEYS as m,LISTS_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 w(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 F=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,w(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,w(n)];case 3:return h.password=p.sent(),[4,w(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,w(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 F(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),U=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),V={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 D(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){D(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){D(e,n)})),e.definitions&&e.definitions.forEach((function(e){D(e,n)}))}V.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 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}}V.definitions.forEach((function(e){if(e.name){var n=new Set;D(e,n),P[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=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=A(e,n);t&&i.definitions.push(t)}))}(V,"Address");var O={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)}))}O.loc.source={body:"fragment UserBalance on UserBalanceType {\n currency\n amount\n #amountFormatted\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}}O.definitions.forEach((function(e){if(e.name){var n=new Set;R(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)}))}(O,"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(V.definitions)),q.definitions=q.definitions.concat(M(O.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(V.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 we={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 Fe(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){Fe(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){Fe(e,n)})),e.definitions&&e.definitions.forEach((function(e){Fe(e,n)}))}we.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}}we.definitions.forEach((function(e){if(e.name){var n=new Set;Fe(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)}))}(we,"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 Ue(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){Ue(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){Ue(e,n)})),e.definitions&&e.definitions.forEach((function(e){Ue(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 Ve={};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}}_e.definitions.forEach((function(e){if(e.name){var n=new Set;Ue(e,n),Ve[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=Ve[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),(Ve[e]||new Set).forEach((function(e){a.add(e)})))}))}r.forEach((function(n){var t=De(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 Ae(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){Ae(e,n)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){Ae(e,n)})),e.definitions&&e.definitions.forEach((function(e){Ae(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 Oe={};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;Ae(e,n),Oe[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=Oe[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),(Oe[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 Ce={userGet:z,userOrders:ue},xe={userRegister:he,userUpdate:Se,userDelete:we,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,n){return this.createVariables(S(S({},e),n))},t.prototype.generateMutationVars=function(e,n){var i=e.user;return(null==i?void 0:i.entityId)&&(i.personalId=i.entityId,delete i.entityId),i&&(i.newsletter=!("true"!==i.newsletter)),this.createVariables(S(S({},e),n))},t.prototype.get=function(e,n){return y(this,void 0,void 0,(function(){var i;return N(this,(function(t){return i={query:Ce.userGet,variables:this.generateVars({},n),userToken:e},[2,this.runQueryParsed(i)]}))}))},t.prototype.create=function(e,n,i){return y(this,void 0,void 0,(function(){var t,r;return N(this,(function(a){switch(a.label){case 0:return t={query:xe.userRegister,variables:this.generateMutationVars({user:e},i),userToken:n},[4,this.runMutation(t)];case 1:return r=a.sent(),[2,this.parseResult(r)]}}))}))},t.prototype.update=function(e,n,i){return y(this,void 0,void 0,(function(){var t,r;return N(this,(function(a){switch(a.label){case 0:return t={query:xe.userUpdate,variables:this.generateMutationVars({user:e},i),userToken:n},[4,this.runMutation(t)];case 1:return r=a.sent(),[2,this.parseResult(r)]}}))}))},t.prototype.delete=function(e,n){return y(this,void 0,void 0,(function(){var i;return N(this,(function(t){switch(t.label){case 0:return i={query:xe.userDelete,variables:this.generateVars({},n),userToken:e},[4,this.runMutation(i)];case 1:return[2,!!t.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,n){return this.createVariables(S(S({},e),n))},n.prototype.get=function(e,n){return y(this,void 0,void 0,(function(){var i;return N(this,(function(t){return i={query:Ce.userOrders,variables:this.generateVars({},n),userToken:e},[2,this.runQueryParsed(i)]}))}))},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,n){return y(this,void 0,void 0,(function(){var i;return N(this,(function(t){return i={query:xe.pwResetRequest,variables:this.createVariables(S({email:e},n))},[2,this.runMutation(i)]}))}))},n.prototype.commit=function(e,n,i){return y(this,void 0,void 0,(function(){var t,r;return N(this,(function(a){switch(a.label){case 0:return[4,w(n)];case 1:return t=a.sent(),r={query:xe.pwResetCommit,variables:this.createVariables(S({resetKey:e,password:t},i))},[2,this.runMutation(r)]}}))}))},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 U(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="__favorites__",ze=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 Object.defineProperty(e.prototype,"favorites",{get:function(){var e=this.readFromStorage(),n=e.find((function(e){return e.id===$e}));if(n)return n;var i=Date.now(),t={id:$e,name:"Favorites",items:[],createdAt:i,updatedAt:i};return e.push(t),this.writeToStorage(e),t},enumerable:!1,configurable:!0}),e.prototype.isFavorite=function(e){return this.hasItem($e,e)},e.prototype.toggleFavorite=function(e){return this.isFavorite(e)?(this.removeItem($e,e),!1):(this.favorites,this.addItem($e,e),!0)},e.prototype.getLists=function(){return this.readFromStorage()},e.prototype.getList=function(e){return this.readFromStorage().find((function(n){return n.id===e}))},e.prototype.createList=function(e){var n=this.readFromStorage(),i=Date.now(),t={id:this.generateId(),name:e,items:[],createdAt:i,updatedAt:i};return n.push(t),this.writeToStorage(n),this.emitEvent(h.LIST_CREATE,{listId:t.id}),t},e.prototype.deleteList=function(e){if(e===$e)throw new Error("Cannot delete the favorites list");var n=this.readFromStorage(),i=n.findIndex((function(n){return n.id===e}));-1!==i&&(n.splice(i,1),this.writeToStorage(n),this.emitEvent(h.LIST_DELETE,{listId:e}))},e.prototype.renameList=function(e,n){if(e===$e)throw new Error("Cannot rename the favorites list");var i=this.readFromStorage(),t=i.find((function(n){return n.id===e}));t&&(t.name=n,t.updatedAt=Date.now(),this.writeToStorage(i),this.emitEvent(h.LIST_UPDATE,{listId:e}))},e.prototype.addItem=function(e,n){var i=this.readFromStorage(),t=i.find((function(n){return n.id===e}));t&&(t.items.includes(n)||(t.items.push(n),t.updatedAt=Date.now(),this.writeToStorage(i),this.emitEvent(h.LIST_ADD_ITEM,{listId:e,productId:n})))},e.prototype.removeItem=function(e,n){var i=this.readFromStorage(),t=i.find((function(n){return n.id===e}));if(t){var r=t.items.indexOf(n);-1!==r&&(t.items.splice(r,1),t.updatedAt=Date.now(),this.writeToStorage(i),this.emitEvent(h.LIST_REMOVE_ITEM,{listId:e,productId:n}))}},e.prototype.hasItem=function(e,n){var i=this.readFromStorage().find((function(n){return n.id===e}));return!!i&&i.items.includes(n)},e.prototype.getItems=function(e){var n=this.readFromStorage().find((function(n){return n.id===e}));return n?n.items:[]},e.prototype.clearItems=function(e){var n=this.readFromStorage(),i=n.find((function(n){return n.id===e}));i&&(i.items=[],i.updatedAt=Date.now(),this.writeToStorage(n),this.emitEvent(h.LIST_CLEAR,{listId:e}))},Object.defineProperty(e.prototype,"listCount",{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.generateId=function(){return"undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():Date.now().toString(36)+Math.random().toString(36).slice(2,7)},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 FAVORITES_LIST_ID,je as GeinsCRM,ze as ListsSession};
@@ -0,0 +1,2 @@
1
+ export { ListsSession } from './listsSession';
2
+ export type { ListsSessionOptions } from './listsSession';
@@ -0,0 +1,37 @@
1
+ import type { EventService, StorageInterface } from '@geins/core';
2
+ import type { ListsInterface, ProductList } from '../types/listsTypes';
3
+ export interface ListsSessionOptions {
4
+ storage?: StorageInterface;
5
+ events?: EventService;
6
+ }
7
+ /**
8
+ * Client-side product lists session.
9
+ * Manages multiple named product lists (including a built-in favorites list)
10
+ * with storage persistence 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 ListsSession implements ListsInterface {
16
+ private _storage;
17
+ private _events?;
18
+ constructor(options?: ListsSessionOptions);
19
+ get favorites(): ProductList;
20
+ isFavorite(productId: string): boolean;
21
+ toggleFavorite(productId: string): boolean;
22
+ getLists(): ProductList[];
23
+ getList(listId: string): ProductList | undefined;
24
+ createList(name: string): ProductList;
25
+ deleteList(listId: string): void;
26
+ renameList(listId: string, name: string): void;
27
+ addItem(listId: string, productId: string): void;
28
+ removeItem(listId: string, productId: string): void;
29
+ hasItem(listId: string, productId: string): boolean;
30
+ getItems(listId: string): string[];
31
+ clearItems(listId: string): void;
32
+ get listCount(): number;
33
+ private readFromStorage;
34
+ private writeToStorage;
35
+ private generateId;
36
+ private emitEvent;
37
+ }
@@ -1,16 +1,19 @@
1
1
  import { BaseApiService } from '@geins/core';
2
+ import type { RequestContext } from '@geins/types';
2
3
  /** Service for requesting and committing password resets. */
3
4
  export declare class PasswordResetService extends BaseApiService {
4
5
  /**
5
6
  * Sends a password reset email to the given address.
6
7
  * @param email - The user's email address.
8
+ * @param requestContext - Optional per-request locale/market/channel overrides.
7
9
  */
8
- request(email: string): Promise<unknown>;
10
+ request(email: string, requestContext?: RequestContext): Promise<unknown>;
9
11
  /**
10
12
  * Commits a password reset using the reset key and new password.
11
13
  * The password is hashed before being sent to the API.
12
14
  * @param resetKey - The reset key from the password reset email.
13
15
  * @param password - The new plaintext password (will be digested).
16
+ * @param requestContext - Optional per-request locale/market/channel overrides.
14
17
  */
15
- commit(resetKey: string, password: string): Promise<unknown>;
18
+ commit(resetKey: string, password: string, requestContext?: RequestContext): Promise<unknown>;
16
19
  }
@@ -1,4 +1,4 @@
1
- import type { GeinsSettings, GeinsUserOrdersType } from '@geins/types';
1
+ import type { GeinsSettings, GeinsUserOrdersType, RequestContext } from '@geins/types';
2
2
  import { BaseApiService } from '@geins/core';
3
3
  import type { ApiClientGetter } from '@geins/core';
4
4
  /** Service for fetching the authenticated user's order history. */
@@ -9,9 +9,10 @@ export declare class UserOrdersService extends BaseApiService {
9
9
  /**
10
10
  * Fetches the authenticated user's orders.
11
11
  * @param userToken - The user's authentication token.
12
+ * @param requestContext - Optional per-request locale/market/channel overrides.
12
13
  * @returns The user's orders, or undefined if none found.
13
14
  */
14
- get(userToken: string): Promise<GeinsUserOrdersType | undefined>;
15
+ get(userToken: string, requestContext?: RequestContext): Promise<GeinsUserOrdersType | undefined>;
15
16
  /** Extracts the orders array from the getOrders response. */
16
17
  protected parseResult(result: unknown): GeinsUserOrdersType | undefined;
17
18
  }
@@ -1,4 +1,4 @@
1
- import type { GeinsSettings, GeinsUserType, GeinsUserInputTypeType } from '@geins/types';
1
+ import type { GeinsSettings, GeinsUserType, GeinsUserInputTypeType, RequestContext } from '@geins/types';
2
2
  import { BaseApiService } from '@geins/core';
3
3
  import type { ApiClientGetter } from '@geins/core';
4
4
  /** Service for CRUD operations on user profiles (get, create, update, delete). */
@@ -11,29 +11,33 @@ export declare class UserService extends BaseApiService {
11
11
  /**
12
12
  * Fetches the authenticated user's profile.
13
13
  * @param userToken - The user's authentication token.
14
+ * @param requestContext - Optional per-request locale/market/channel overrides.
14
15
  * @returns The user profile, or undefined if not found.
15
16
  */
16
- get(userToken: string): Promise<GeinsUserType | undefined>;
17
+ get(userToken: string, requestContext?: RequestContext): Promise<GeinsUserType | undefined>;
17
18
  /**
18
19
  * Registers a new user.
19
20
  * @param user - The user data to register.
20
21
  * @param userToken - The user's authentication token.
22
+ * @param requestContext - Optional per-request locale/market/channel overrides.
21
23
  * @returns The created user profile, or undefined on failure.
22
24
  */
23
- create(user: GeinsUserInputTypeType, userToken: string): Promise<GeinsUserType | undefined>;
25
+ create(user: GeinsUserInputTypeType, userToken: string, requestContext?: RequestContext): Promise<GeinsUserType | undefined>;
24
26
  /**
25
27
  * Updates an existing user's profile.
26
28
  * @param user - The updated user data.
27
29
  * @param userToken - The user's authentication token.
30
+ * @param requestContext - Optional per-request locale/market/channel overrides.
28
31
  * @returns The updated user profile, or undefined on failure.
29
32
  */
30
- update(user: GeinsUserInputTypeType, userToken: string): Promise<GeinsUserType | undefined>;
33
+ update(user: GeinsUserInputTypeType, userToken: string, requestContext?: RequestContext): Promise<GeinsUserType | undefined>;
31
34
  /**
32
35
  * Deletes the authenticated user's account.
33
36
  * @param userToken - The user's authentication token.
37
+ * @param requestContext - Optional per-request locale/market/channel overrides.
34
38
  * @returns True if the deletion succeeded.
35
39
  */
36
- delete(userToken: string): Promise<boolean>;
40
+ delete(userToken: string, requestContext?: RequestContext): Promise<boolean>;
37
41
  /**
38
42
  * Extracts the user object from a getUser or updateUser response.
39
43
  * @throws {GeinsError} If the response data is invalid.
@@ -1,2 +1,2 @@
1
1
  export * from './crmTypes';
2
- export * from './favoritesTypes';
2
+ export * from './listsTypes';
@@ -0,0 +1,46 @@
1
+ /** Reserved list ID for the built-in favorites list. */
2
+ export declare const FAVORITES_LIST_ID = "__favorites__";
3
+ /** A named product list containing product aliases. */
4
+ export interface ProductList {
5
+ /** Unique identifier. Reserved: '__favorites__'. */
6
+ id: string;
7
+ /** Display name for the list. */
8
+ name: string;
9
+ /** Product aliases in this list. */
10
+ items: string[];
11
+ /** Timestamp (Date.now()) when the list was created. */
12
+ createdAt: number;
13
+ /** Timestamp (Date.now()) of the last mutation. */
14
+ updatedAt: number;
15
+ }
16
+ /** Unified product lists interface — manages all lists including favorites. */
17
+ export interface ListsInterface {
18
+ /** The built-in favorites list (auto-created on first access). */
19
+ readonly favorites: ProductList;
20
+ /** Check if a product is in the favorites list. */
21
+ isFavorite(productId: string): boolean;
22
+ /** Toggle a product in the favorites list. Returns true if added, false if removed. */
23
+ toggleFavorite(productId: string): boolean;
24
+ /** Get all product lists (including favorites). */
25
+ getLists(): ProductList[];
26
+ /** Get a specific list by ID, or undefined if not found. */
27
+ getList(listId: string): ProductList | undefined;
28
+ /** Create a new product list with the given name. Returns the created list. */
29
+ createList(name: string): ProductList;
30
+ /** Delete a product list. Throws if listId is '__favorites__'. */
31
+ deleteList(listId: string): void;
32
+ /** Rename a product list. Throws if listId is '__favorites__'. */
33
+ renameList(listId: string, name: string): void;
34
+ /** Add a product to a list. No-op if already present. */
35
+ addItem(listId: string, productId: string): void;
36
+ /** Remove a product from a list. No-op if not present. */
37
+ removeItem(listId: string, productId: string): void;
38
+ /** Check if a product is in a list. */
39
+ hasItem(listId: string, productId: string): boolean;
40
+ /** Get all product IDs in a list. */
41
+ getItems(listId: string): string[];
42
+ /** Remove all items from a list. */
43
+ clearItems(listId: string): void;
44
+ /** Total number of lists (including favorites). */
45
+ readonly listCount: number;
46
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@geins/crm",
3
- "version": "0.7.0",
3
+ "version": "0.9.0",
4
4
  "main": "dist/index.cjs",
5
5
  "module": "dist/index.esm.js",
6
6
  "types": "dist/index.d.ts",
@@ -1,29 +0,0 @@
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
- }
@@ -1,2 +0,0 @@
1
- export { FavoritesSession } from './favoritesSession';
2
- export type { FavoritesSessionOptions } from './favoritesSession';
@@ -1,20 +0,0 @@
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
- }