UNPKG

ngx-store

Version:

Angular decorators to automagically keep variables in HTML5 LocalStorage, SessionStorage, cookies; injectable services for managing and listening to data changes and a bit more.

31 lines 4.85 kB
import { ConfigHelper } from './config.helper'; import { Debugger } from 'ts-debug'; // TODO allow to set different config for local and session storage // TODO check if NGXSTORE_CONFIG implements WebStorageConfigInterface // TODO allow to set configuration in node-config (`config` on npm) export { CONFIG_PREFIX } from './config.helper'; const DefaultConfig = { prefix: 'ngx_', previousPrefix: 'angular2ws_', clearType: 'prefix', mutateObjects: true, cookiesScope: '', cookiesCheckInterval: 0, debugMode: false, }; let ConfigFills = {}; const localStoragePrefix = ConfigHelper.getItem('prefix'); if (typeof NGXSTORE_CONFIG === 'object') { ConfigFills = Object.assign({}, NGXSTORE_CONFIG); } if (localStoragePrefix !== undefined && localStoragePrefix !== null) { ConfigFills.previousPrefix = localStoragePrefix; } else if (ConfigFills.previousPrefix === undefined) { ConfigFills.previousPrefix = DefaultConfig.previousPrefix; } // merge default config, deprecated config and global config all together export const Config = Object.assign({}, DefaultConfig, ConfigFills); export const debug = new Debugger(console, Config.debugMode, '[ngx-store] '); ConfigHelper.setItem('prefix', Config.prefix); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXN0b3JlL3NyYy9saWIvY29uZmlnL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVwQyxtRUFBbUU7QUFDbkUscUVBQXFFO0FBQ3JFLG1FQUFtRTtBQUVuRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFaEQsTUFBTSxhQUFhLEdBQThCO0lBQy9DLE1BQU0sRUFBRSxNQUFNO0lBQ2QsY0FBYyxFQUFFLGFBQWE7SUFDN0IsU0FBUyxFQUFFLFFBQVE7SUFDbkIsYUFBYSxFQUFFLElBQUk7SUFDbkIsWUFBWSxFQUFFLEVBQUU7SUFDaEIsb0JBQW9CLEVBQUUsQ0FBQztJQUN2QixTQUFTLEVBQUUsS0FBSztDQUNqQixDQUFDO0FBS0YsSUFBSSxXQUFXLEdBQThCLEVBQUUsQ0FBQztBQUNoRCxNQUFNLGtCQUFrQixHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7QUFFMUQsSUFBSSxPQUFPLGVBQWUsS0FBSyxRQUFRLEVBQUU7SUFDdkMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0NBQ2xEO0FBRUQsSUFBSSxrQkFBa0IsS0FBSyxTQUFTLElBQUksa0JBQWtCLEtBQUssSUFBSSxFQUFFO0lBQ25FLFdBQVcsQ0FBQyxjQUFjLEdBQUcsa0JBQWtCLENBQUM7Q0FDakQ7S0FBTSxJQUFJLFdBQVcsQ0FBQyxjQUFjLEtBQUssU0FBUyxFQUFFO0lBQ25ELFdBQVcsQ0FBQyxjQUFjLEdBQUcsYUFBYSxDQUFDLGNBQWMsQ0FBQztDQUMzRDtBQUVELHlFQUF5RTtBQUN6RSxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQ2pCLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLGFBQWEsRUFBRSxXQUFXLENBQUMsQ0FBQztBQUVoRCxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxRQUFRLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxTQUFTLEVBQUUsY0FBYyxDQUFDLENBQUM7QUFDN0UsWUFBWSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgV2ViU3RvcmFnZUNvbmZpZ0ludGVyZmFjZSB9IGZyb20gJy4vY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb25maWdIZWxwZXIgfSBmcm9tICcuL2NvbmZpZy5oZWxwZXInO1xuaW1wb3J0IHsgRGVidWdnZXIgfSBmcm9tICd0cy1kZWJ1Zyc7XG5cbi8vIFRPRE8gYWxsb3cgdG8gc2V0IGRpZmZlcmVudCBjb25maWcgZm9yIGxvY2FsIGFuZCBzZXNzaW9uIHN0b3JhZ2Vcbi8vIFRPRE8gY2hlY2sgaWYgTkdYU1RPUkVfQ09ORklHIGltcGxlbWVudHMgV2ViU3RvcmFnZUNvbmZpZ0ludGVyZmFjZVxuLy8gVE9ETyBhbGxvdyB0byBzZXQgY29uZmlndXJhdGlvbiBpbiBub2RlLWNvbmZpZyAoYGNvbmZpZ2Agb24gbnBtKVxuXG5leHBvcnQgeyBDT05GSUdfUFJFRklYIH0gZnJvbSAnLi9jb25maWcuaGVscGVyJztcblxuY29uc3QgRGVmYXVsdENvbmZpZzogV2ViU3RvcmFnZUNvbmZpZ0ludGVyZmFjZSA9IHtcbiAgcHJlZml4OiAnbmd4XycsXG4gIHByZXZpb3VzUHJlZml4OiAnYW5ndWxhcjJ3c18nLFxuICBjbGVhclR5cGU6ICdwcmVmaXgnLFxuICBtdXRhdGVPYmplY3RzOiB0cnVlLFxuICBjb29raWVzU2NvcGU6ICcnLFxuICBjb29raWVzQ2hlY2tJbnRlcnZhbDogMCxcbiAgZGVidWdNb2RlOiBmYWxzZSxcbn07XG5cbi8vIHRha2UgY29uZmlndXJhdGlvbiBwcm92aWRlZCBhcyBhIGdsb2JhbCB2YXJpYWJsZVxuZGVjbGFyZSBjb25zdCBOR1hTVE9SRV9DT05GSUc6IFdlYlN0b3JhZ2VDb25maWdJbnRlcmZhY2U7XG5cbmxldCBDb25maWdGaWxsczogV2ViU3RvcmFnZUNvbmZpZ0ludGVyZmFjZSA9IHt9O1xuY29uc3QgbG9jYWxTdG9yYWdlUHJlZml4ID0gQ29uZmlnSGVscGVyLmdldEl0ZW0oJ3ByZWZpeCcpO1xuXG5pZiAodHlwZW9mIE5HWFNUT1JFX0NPTkZJRyA9PT0gJ29iamVjdCcpIHtcbiAgQ29uZmlnRmlsbHMgPSBPYmplY3QuYXNzaWduKHt9LCBOR1hTVE9SRV9DT05GSUcpO1xufVxuXG5pZiAobG9jYWxTdG9yYWdlUHJlZml4ICE9PSB1bmRlZmluZWQgJiYgbG9jYWxTdG9yYWdlUHJlZml4ICE9PSBudWxsKSB7XG4gIENvbmZpZ0ZpbGxzLnByZXZpb3VzUHJlZml4ID0gbG9jYWxTdG9yYWdlUHJlZml4O1xufSBlbHNlIGlmIChDb25maWdGaWxscy5wcmV2aW91c1ByZWZpeCA9PT0gdW5kZWZpbmVkKSB7XG4gIENvbmZpZ0ZpbGxzLnByZXZpb3VzUHJlZml4ID0gRGVmYXVsdENvbmZpZy5wcmV2aW91c1ByZWZpeDtcbn1cblxuLy8gbWVyZ2UgZGVmYXVsdCBjb25maWcsIGRlcHJlY2F0ZWQgY29uZmlnIGFuZCBnbG9iYWwgY29uZmlnIGFsbCB0b2dldGhlclxuZXhwb3J0IGNvbnN0IENvbmZpZzogV2ViU3RvcmFnZUNvbmZpZ0ludGVyZmFjZSA9XG4gIE9iamVjdC5hc3NpZ24oe30sIERlZmF1bHRDb25maWcsIENvbmZpZ0ZpbGxzKTtcblxuZXhwb3J0IGNvbnN0IGRlYnVnID0gbmV3IERlYnVnZ2VyKGNvbnNvbGUsIENvbmZpZy5kZWJ1Z01vZGUsICdbbmd4LXN0b3JlXSAnKTtcbkNvbmZpZ0hlbHBlci5zZXRJdGVtKCdwcmVmaXgnLCBDb25maWcucHJlZml4KTtcbiJdfQ==