UNPKG

@igo2/core

Version:
1 lines 7.35 kB
{"version":3,"file":"igo2-core-storage.mjs","sources":["../../../packages/core/storage/src/storage.interface.ts","../../../packages/core/storage/src/storage.ts","../../../packages/core/storage/src/storage.service.ts","../../../packages/core/storage/src/igo2-core-storage.ts"],"sourcesContent":["export enum StorageScope {\n SESSION = 'Session',\n LOCAL = 'Local'\n}\n\nexport interface StorageOptions {\n key: string;\n}\n\nexport interface StorageServiceEvent {\n key?: string;\n scope: StorageScope;\n event: StorageServiceEventEnum;\n previousValue?: any;\n currentValue?: any;\n}\n\nexport enum StorageServiceEventEnum {\n ADDED = 'Added',\n MODIFIED = 'Modified',\n REMOVED = 'Removed',\n CLEARED = 'Cleared'\n}\n","import { ConfigService } from '@igo2/core/config';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport {\n StorageOptions,\n StorageScope,\n StorageServiceEvent,\n StorageServiceEventEnum\n} from './storage.interface';\n\nexport abstract class BaseStorage<T extends StorageOptions = StorageOptions> {\n protected options?: T;\n\n public storageChange$ = new BehaviorSubject<StorageServiceEvent>(undefined);\n\n constructor(config: ConfigService) {\n this.options = config.getConfig<T>('storage') || ({ key: 'igo' } as T);\n }\n\n /**\n * Use to get the data found in storage file\n */\n get(key: string, scope?: StorageScope): string | object | boolean | number {\n let value: any;\n\n if (!scope || scope === StorageScope.SESSION) {\n value = sessionStorage.getItem(`${this.options.key}.${key}`);\n }\n\n if (scope === StorageScope.LOCAL || (!value && !scope)) {\n value = localStorage.getItem(`${this.options.key}.${key}`);\n }\n\n if (value) {\n try {\n return JSON.parse(value);\n } catch {\n return value;\n }\n }\n\n return value;\n }\n\n set(\n key: string,\n value: string | object | boolean | number,\n scope: StorageScope = StorageScope.LOCAL\n ) {\n const previousValue = this.get(key, scope);\n if (scope === StorageScope.SESSION) {\n sessionStorage.setItem(\n `${this.options.key}.${key}`,\n JSON.stringify(value)\n );\n } else {\n localStorage.setItem(`${this.options.key}.${key}`, JSON.stringify(value));\n }\n const currentValue = this.get(key, scope);\n\n if (currentValue !== previousValue) {\n this.storageChange$.next({\n key,\n scope,\n event:\n previousValue !== undefined\n ? StorageServiceEventEnum.MODIFIED\n : StorageServiceEventEnum.ADDED,\n previousValue,\n currentValue\n });\n }\n }\n\n remove(key: string, scope: StorageScope = StorageScope.LOCAL) {\n const previousValue = this.get(key, scope);\n if (scope === StorageScope.SESSION) {\n sessionStorage.removeItem(`${this.options.key}.${key}`);\n } else {\n localStorage.removeItem(`${this.options.key}.${key}`);\n }\n this.storageChange$.next({\n key,\n scope,\n event: StorageServiceEventEnum.REMOVED,\n previousValue\n });\n }\n\n clear(scope: StorageScope = StorageScope.LOCAL) {\n if (scope === StorageScope.SESSION) {\n sessionStorage.clear();\n } else {\n localStorage.clear();\n }\n this.storageChange$.next({ scope, event: StorageServiceEventEnum.CLEARED });\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { ConfigService } from '@igo2/core/config';\n\nimport { BaseStorage } from './storage';\nimport { StorageOptions } from './storage.interface';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class StorageService extends BaseStorage<StorageOptions> {\n constructor(private config: ConfigService) {\n super(config);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}