{"version":3,"file":"CrossRequestStorage.js","names":["CrossRequestStorage","setters","a","DataLayer","default","execute","constructor","instance","setDelayedAction","action","removeDelayedActionForSocialLogin","sessionStorage","setItem","removeDelayedAction","removeItem","setDelayedActionForSocialLogin","processDelayedActionForSocialLogin","customer","getCustomer","socialLoginStatus","socialLoginDelayedAction","getItem","getDelayedAction","delayedAction","type","value","split"],"sources":["services/CrossRequestStorage.js"],"sourcesContent":["import DataLayer from 'services/DataLayer';\n\n/**\n * Cross request storage service.\n * @class CrossRequestStorage\n */\nclass CrossRequestStorage {\n /**\n * Cross request storage service constructor. Singleton\n */\n constructor() {\n if (CrossRequestStorage.instance) {\n return CrossRequestStorage.instance;\n }\n\n CrossRequestStorage.instance = this;\n }\n\n /**\n * Saves delayed action with value\n * @param {String} action delayed action, format: type::value\n */\n setDelayedAction(action) {\n this.removeDelayedActionForSocialLogin();\n sessionStorage.setItem('crossRequestDelayedAction', action);\n }\n\n /**\n * Remove delayed action with value\n */\n removeDelayedAction() {\n sessionStorage.removeItem('crossRequestDelayedAction');\n }\n\n /**\n * Saves delayed action with value for social login\n * Will be reassigned to general delayed action after social login\n * @param {String} action delayed action, format: type::value\n */\n setDelayedActionForSocialLogin(action) {\n sessionStorage.setItem('crossRequestDelayedActionSocialLogin', action);\n }\n\n /**\n * Remove delayed action with value for social login\n */\n removeDelayedActionForSocialLogin() {\n sessionStorage.removeItem('crossRequestDelayedActionSocialLogin');\n }\n\n /**\n * Set social login delayed action as general if social login has been done\n */\n processDelayedActionForSocialLogin() {\n const customer = DataLayer.getCustomer();\n if (!customer || !customer.socialLoginStatus) {\n return;\n }\n\n const socialLoginDelayedAction = sessionStorage.getItem('crossRequestDelayedActionSocialLogin');\n if (socialLoginDelayedAction) {\n this.setDelayedAction(socialLoginDelayedAction);\n }\n }\n\n /**\n * Return delayed action and value\n * @returns {Object} object with delayed action and value\n * @property {String} type delayed action type\n * @property {String} value delayed action value\n */\n getDelayedAction() {\n this.processDelayedActionForSocialLogin();\n\n const delayedAction = sessionStorage.getItem('crossRequestDelayedAction');\n if (delayedAction) {\n const [type, value] = delayedAction.split('::');\n return {\n type,\n value,\n };\n }\n return null;\n }\n}\n\nexport default new CrossRequestStorage();\n"],"mappings":"mFAMMA,CAAmB,QAAAC,OAAA,WAAAC,CAAA,EANlBC,CAAS,CAAAD,CAAA,CAAAE,OAAA,GAAAC,OAAA,SAAAA,CAAA,EAMVL,CAAmB,CAAzB,KAAM,CAAAA,CAAoB,CAItBM,WAAWA,CAAA,CAAG,OACN,CAAAN,CAAmB,CAACO,QAAQ,CACrBP,CAAmB,CAACO,QAAQ,MAGvCP,CAAmB,CAACO,QAAQ,CAAG,IAAI,CACvC,CAMAC,gBAAgBA,CAACC,CAAM,CAAE,CACrB,IAAI,CAACC,iCAAiC,CAAC,CAAC,CACxCC,cAAc,CAACC,OAAO,CAAC,2BAA2B,CAAEH,CAAM,CAC9D,CAKAI,mBAAmBA,CAAA,CAAG,CAClBF,cAAc,CAACG,UAAU,CAAC,2BAA2B,CACzD,CAOAC,8BAA8BA,CAACN,CAAM,CAAE,CACnCE,cAAc,CAACC,OAAO,CAAC,sCAAsC,CAAEH,CAAM,CACzE,CAKAC,iCAAiCA,CAAA,CAAG,CAChCC,cAAc,CAACG,UAAU,CAAC,sCAAsC,CACpE,CAKAE,kCAAkCA,CAAA,CAAG,CACjC,KAAM,CAAAC,CAAQ,CAAGd,CAAS,CAACe,WAAW,CAAC,CAAC,CACxC,GAAKD,CAAQ,EAAKA,CAAQ,CAACE,iBAAiB,EAI5C,KAAM,CAAAC,CAAwB,CAAGT,cAAc,CAACU,OAAO,CAAC,sCAAsC,CAAC,CAC3FD,CAAwB,EACxB,IAAI,CAACZ,gBAAgB,CAACY,CAAwB,CAAC,CAEvD,CAQAE,gBAAgBA,CAAA,CAAG,CACf,IAAI,CAACN,kCAAkC,CAAC,CAAC,CAEzC,KAAM,CAAAO,CAAa,CAAGZ,cAAc,CAACU,OAAO,CAAC,2BAA2B,CAAC,CACzE,GAAIE,CAAa,CAAE,CACf,KAAM,CAACC,CAAI,CAAEC,CAAK,CAAC,CAAGF,CAAa,CAACG,KAAK,CAAC,IAAI,CAAC,CAC/C,MAAO,CACHF,IAAI,CAAJA,CAAI,CACJC,KAAK,CAALA,CACJ,CACJ,CACA,MAAO,KACX,CACJ,CAAC,CAAAvB,CAAA,WAEc,GAAI,CAAAF,CAAqB","ignoreList":[]}