{"version":3,"file":"ironsource-fusion-ui-services-stogare.mjs","sources":["../../../projects/fusion-ui/services/stogare/storage.entities.ts","../../../projects/fusion-ui/services/stogare/storage.service.ts","../../../projects/fusion-ui/services/stogare/ironsource-fusion-ui-services-stogare.ts"],"sourcesContent":["export enum StorageType {\n    /**\n     * No Cache\n     */\n    None = 0,\n    /**\n     * Data stored in Javascript object\n     * Will be cleared when page is been refreshed\n     */\n    Application = 1,\n    /**\n     * Data stored in browser session storage\n     * https://developer.mozilla.org/en/docs/Web/API/Window/sessionStorage\n     */\n    SessionStorage = 2,\n    /**\n     * Data stored in browser local storage\n     * Will be cleared when application says or user cleared manually.\n     * https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage\n     */\n    LocalStorage = 3\n}\n","import {Injectable} from '@angular/core';\nimport {StorageType} from './storage.entities';\nimport {isNullOrUndefined} from '@ironsource/fusion-ui/utils';\n\n@Injectable({\n    providedIn: 'root'\n})\nexport class StorageService {\n    cacheObject: any = {};\n\n    public get(cacheType: StorageType, keyName: string) {\n        let data = null;\n        switch (cacheType) {\n            case StorageType.Application:\n                if (!isNullOrUndefined(this.cacheObject[keyName])) {\n                    data = this.cacheObject[keyName];\n                }\n                break;\n            case StorageType.LocalStorage:\n                const rawLSData = window.localStorage.getItem(keyName);\n                data = JSON.parse(rawLSData ? this._b64DecodeUnicode(rawLSData) : rawLSData);\n                break;\n            case StorageType.SessionStorage:\n                const rawSSData = window.sessionStorage.getItem(keyName);\n                data = JSON.parse(rawSSData ? this._b64DecodeUnicode(rawSSData) : rawSSData);\n                break;\n        }\n        return data;\n    }\n\n    public set(cacheType: StorageType, keyName: string, data: any) {\n        switch (cacheType) {\n            case StorageType.Application:\n                this.cacheObject[keyName] = data;\n                break;\n            case StorageType.LocalStorage:\n                window.localStorage.setItem(keyName, this._b64EncodeUnicode(JSON.stringify(data)));\n                break;\n            case StorageType.SessionStorage:\n                window.sessionStorage.setItem(keyName, this._b64EncodeUnicode(JSON.stringify(data)));\n                break;\n        }\n    }\n\n    public remove(cacheType: StorageType, keyName: string) {\n        switch (cacheType) {\n            case StorageType.Application:\n                if (this.cacheObject[keyName]) {\n                    delete this.cacheObject[keyName];\n                }\n                break;\n            case StorageType.LocalStorage:\n                window.localStorage.removeItem(keyName);\n                break;\n            case StorageType.SessionStorage:\n                window.sessionStorage.removeItem(keyName);\n                break;\n        }\n    }\n\n    public clearCache() {\n        this.cacheObject = {};\n        localStorage.clear();\n        sessionStorage.clear();\n    }\n\n    private _b64EncodeUnicode(str: string): string {\n        return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, (match, p1) => String.fromCharCode(Number('0x' + p1))));\n    }\n\n    private _b64DecodeUnicode(str: string): string {\n        return decodeURIComponent(\n            atob(str)\n                .split('')\n                .map(c => '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2))\n                .join('')\n        );\n    }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}