{"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":[]}