@quadrel-enterprise-ui/persistence 19.0.2 → 19.0.4-beta.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -49,7 +49,7 @@ let QdCookieStrategy = class QdCookieStrategy {
|
|
|
49
49
|
return {};
|
|
50
50
|
return parsed ?? {};
|
|
51
51
|
}
|
|
52
|
-
catch
|
|
52
|
+
catch {
|
|
53
53
|
return {};
|
|
54
54
|
}
|
|
55
55
|
}
|
|
@@ -65,7 +65,7 @@ let QdCookieStrategy = class QdCookieStrategy {
|
|
|
65
65
|
try {
|
|
66
66
|
return JSON.parse(this.persistedData[key]);
|
|
67
67
|
}
|
|
68
|
-
catch
|
|
68
|
+
catch {
|
|
69
69
|
return this.persistedData[key] ?? null;
|
|
70
70
|
}
|
|
71
71
|
}
|
|
@@ -104,10 +104,10 @@ class QdCookieStrategyFactory {
|
|
|
104
104
|
return `QD-PRIVATE_${this.config.applicationIdentifier}_${this.config.frontendIdentifier}`;
|
|
105
105
|
}
|
|
106
106
|
}
|
|
107
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
108
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
107
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: QdCookieStrategyFactory, deps: [{ token: QD_PERSISTENCE_CONFIG }, { token: i1.CookieService }, { token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
108
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: QdCookieStrategyFactory });
|
|
109
109
|
}
|
|
110
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
110
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: QdCookieStrategyFactory, decorators: [{
|
|
111
111
|
type: Injectable
|
|
112
112
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
113
113
|
type: Inject,
|
|
@@ -134,10 +134,10 @@ class QdStrategyResolverService {
|
|
|
134
134
|
return this.cookieStrategyFactory.getCookieStrategy(scope);
|
|
135
135
|
}
|
|
136
136
|
}
|
|
137
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
138
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
137
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: QdStrategyResolverService, deps: [{ token: QD_PERSISTENCE_CONFIG }, { token: QdCookieStrategyFactory }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
138
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: QdStrategyResolverService });
|
|
139
139
|
}
|
|
140
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
140
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: QdStrategyResolverService, decorators: [{
|
|
141
141
|
type: Injectable
|
|
142
142
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
143
143
|
type: Inject,
|
|
@@ -161,10 +161,10 @@ class QdPersistenceService {
|
|
|
161
161
|
const strategy = this.strategyResolverService.resolve(scope);
|
|
162
162
|
strategy.removeItem(key);
|
|
163
163
|
}
|
|
164
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
165
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
164
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: QdPersistenceService, deps: [{ token: QdStrategyResolverService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
165
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: QdPersistenceService });
|
|
166
166
|
}
|
|
167
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
167
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: QdPersistenceService, decorators: [{
|
|
168
168
|
type: Injectable
|
|
169
169
|
}], ctorParameters: () => [{ type: QdStrategyResolverService }] });
|
|
170
170
|
|
|
@@ -175,11 +175,11 @@ class QdPersistenceModule {
|
|
|
175
175
|
providers: [{ provide: QD_PERSISTENCE_CONFIG, useValue: config }]
|
|
176
176
|
};
|
|
177
177
|
}
|
|
178
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
179
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.
|
|
180
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.
|
|
178
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: QdPersistenceModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
179
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.17", ngImport: i0, type: QdPersistenceModule });
|
|
180
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: QdPersistenceModule, providers: [QdPersistenceService, QdStrategyResolverService, QdCookieStrategyFactory] });
|
|
181
181
|
}
|
|
182
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
182
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: QdPersistenceModule, decorators: [{
|
|
183
183
|
type: NgModule,
|
|
184
184
|
args: [{
|
|
185
185
|
providers: [QdPersistenceService, QdStrategyResolverService, QdCookieStrategyFactory]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quadrel-enterprise-ui-persistence.mjs","sources":["../../../../libs/qd-persistence/src/lib/persistence-config.token.ts","../../../../libs/qd-persistence/src/lib/utils/stringifyer.ts","../../../../libs/qd-persistence/src/lib/strategy/cookie-strategy/cookie-strategy.ts","../../../../libs/qd-persistence/src/lib/strategy/cookie-strategy/cookie-strategy.factory.ts","../../../../libs/qd-persistence/src/lib/strategy/strategy-resolver.service.ts","../../../../libs/qd-persistence/src/lib/persistence.service.ts","../../../../libs/qd-persistence/src/lib/persistence.module.ts","../../../../libs/qd-persistence/src/quadrel-enterprise-ui-persistence.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { QdPersistenceConfig } from './model/persistence-config';\n\nexport const QD_PERSISTENCE_CONFIG = new InjectionToken<QdPersistenceConfig>('QD_PERSISTENCE_CONFIG');\n","export class QdStringifyer {\n static tryStringify<T>(value: T): string {\n let data = '';\n\n if (['object', 'boolean', 'number'].includes(typeof value)) {\n data = JSON.stringify(value);\n }\n\n if (typeof value === 'string') {\n data = value;\n }\n\n return data;\n }\n}\n","import { Inject, Optional } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { CookieService } from 'ngx-cookie-service';\nimport { QdStringifyer } from '../../utils/stringifyer';\nimport { QdPersistStrategy } from '../persist-strategy';\n\ntype QdPersistedData = { [key: string]: unknown };\n\n/**\n * This strategy uses cookies to make the data visible between different subdomains of the host 'bazg.admin.ch'.\n * In contrast, local storage would make the data only visible for a specific subdomain.\n * If this strategy is used locally, the cookies will be saved for the domain 'localhost'.\n * For the future another strategy is planned that saves the data in a backend service and that will also allow data\n * to be shared between websites with different hosts.\n */\nexport class QdCookieStrategy implements QdPersistStrategy {\n private cookieExpiresDays = 365 * 10;\n\n constructor(\n private cookieName: string,\n private cookieService: CookieService,\n @Optional() @Inject(DOCUMENT) private document?: Document\n ) {}\n\n private get cookieDomain(): string {\n if (this.document?.location?.hostname === 'localhost') return 'localhost';\n return '.bazg.admin.ch';\n }\n\n get persistedData(): QdPersistedData {\n try {\n const parsed = JSON.parse(this.cookieService.get(this.cookieName));\n\n if (typeof parsed !== 'object' || Array.isArray(parsed)) return {};\n\n return parsed ?? {};\n } catch (e) {\n return {};\n }\n }\n\n private persistData(data: QdPersistedData) {\n this.cookieService.set(this.cookieName, JSON.stringify(data), this.cookieExpiresDays, '/', this.cookieDomain);\n }\n\n setItem<T>(key: string, value: T): void {\n const data = this.persistedData;\n data[key] = QdStringifyer.tryStringify<T>(value);\n\n this.persistData(data);\n }\n\n getItem<T>(key: string): T | null {\n try {\n return JSON.parse(<string>this.persistedData[key]);\n } catch (e) {\n return (this.persistedData[key] as T) ?? null;\n }\n }\n\n removeItem(key: string): void {\n const data = this.persistedData;\n delete data[key];\n\n this.persistData(data);\n }\n}\n","import { Inject, Injectable, Optional } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { CookieService } from 'ngx-cookie-service';\nimport { QdCookieStrategy } from './cookie-strategy';\nimport { QD_PERSISTENCE_CONFIG } from '../../persistence-config.token';\nimport { QdPersistenceConfig } from '../../model/persistence-config';\nimport { QdPersistScope } from '../../model/persistence-types';\nimport { QdPersistStrategy } from '../persist-strategy';\n\n@Injectable()\nexport class QdCookieStrategyFactory {\n constructor(\n @Inject(QD_PERSISTENCE_CONFIG) private config: QdPersistenceConfig,\n private cookieService: CookieService,\n @Optional() @Inject(DOCUMENT) private document?: Document\n ) {}\n\n getCookieStrategy(scope: QdPersistScope): QdPersistStrategy {\n return new QdCookieStrategy(this.getCookieName(scope), this.cookieService, document);\n }\n\n private getCookieName(scope: QdPersistScope): string {\n switch (scope) {\n case 'bazg':\n return 'QD-BAZG';\n case 'application':\n return `QD-APPLICATION_${this.config.applicationIdentifier}`;\n case 'private':\n return `QD-PRIVATE_${this.config.applicationIdentifier}_${this.config.frontendIdentifier}`;\n }\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { QdPersistScope } from '../model/persistence-types';\nimport { QdPersistStrategy } from './persist-strategy';\nimport { QD_PERSISTENCE_CONFIG } from '../persistence-config.token';\nimport { QdPersistenceConfig } from '../model/persistence-config';\nimport { QdCookieStrategyFactory } from './cookie-strategy/cookie-strategy.factory';\n\n@Injectable()\nexport class QdStrategyResolverService {\n constructor(\n @Inject(QD_PERSISTENCE_CONFIG) private config: QdPersistenceConfig,\n private cookieStrategyFactory: QdCookieStrategyFactory\n ) {}\n\n resolve(scope: QdPersistScope): QdPersistStrategy {\n /* istanbul ignore next (remove comment when another strategy is added) */\n switch (this.config.persistStrategy) {\n case 'cookie':\n default:\n return this.cookieStrategyFactory.getCookieStrategy(scope);\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { QdStrategyResolverService } from './strategy/strategy-resolver.service';\nimport { QdPersistScope } from './model/persistence-types';\n\n@Injectable()\nexport class QdPersistenceService {\n constructor(private strategyResolverService: QdStrategyResolverService) {}\n\n write<T>(key: string, data: T, scope: QdPersistScope = 'bazg'): void {\n const strategy = this.strategyResolverService.resolve(scope);\n\n strategy.setItem<T>(key, data);\n }\n\n read<T>(key: string, scope: QdPersistScope = 'bazg'): T | null {\n const strategy = this.strategyResolverService.resolve(scope);\n\n return strategy.getItem<T>(key);\n }\n\n delete(key: string, scope: QdPersistScope = 'bazg'): void {\n const strategy = this.strategyResolverService.resolve(scope);\n\n strategy.removeItem(key);\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { QdPersistenceConfig } from './model/persistence-config';\nimport { QD_PERSISTENCE_CONFIG } from './persistence-config.token';\nimport { QdPersistenceService } from './persistence.service';\nimport { QdStrategyResolverService } from './strategy/strategy-resolver.service';\nimport { QdCookieStrategyFactory } from './strategy/cookie-strategy/cookie-strategy.factory';\n\n@NgModule({\n providers: [QdPersistenceService, QdStrategyResolverService, QdCookieStrategyFactory]\n})\nexport class QdPersistenceModule {\n static forRoot(config: QdPersistenceConfig): ModuleWithProviders<QdPersistenceModule> {\n return {\n ngModule: QdPersistenceModule,\n providers: [{ provide: QD_PERSISTENCE_CONFIG, useValue: config }]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.QdCookieStrategyFactory","i1.QdStrategyResolverService"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"quadrel-enterprise-ui-persistence.mjs","sources":["../../../../libs/qd-persistence/src/lib/persistence-config.token.ts","../../../../libs/qd-persistence/src/lib/utils/stringifyer.ts","../../../../libs/qd-persistence/src/lib/strategy/cookie-strategy/cookie-strategy.ts","../../../../libs/qd-persistence/src/lib/strategy/cookie-strategy/cookie-strategy.factory.ts","../../../../libs/qd-persistence/src/lib/strategy/strategy-resolver.service.ts","../../../../libs/qd-persistence/src/lib/persistence.service.ts","../../../../libs/qd-persistence/src/lib/persistence.module.ts","../../../../libs/qd-persistence/src/quadrel-enterprise-ui-persistence.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport { QdPersistenceConfig } from './model/persistence-config';\n\nexport const QD_PERSISTENCE_CONFIG = new InjectionToken<QdPersistenceConfig>('QD_PERSISTENCE_CONFIG');\n","export class QdStringifyer {\n static tryStringify<T>(value: T): string {\n let data = '';\n\n if (['object', 'boolean', 'number'].includes(typeof value)) {\n data = JSON.stringify(value);\n }\n\n if (typeof value === 'string') {\n data = value;\n }\n\n return data;\n }\n}\n","import { Inject, Optional } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { CookieService } from 'ngx-cookie-service';\nimport { QdStringifyer } from '../../utils/stringifyer';\nimport { QdPersistStrategy } from '../persist-strategy';\n\ntype QdPersistedData = { [key: string]: unknown };\n\n/**\n * This strategy uses cookies to make the data visible between different subdomains of the host 'bazg.admin.ch'.\n * In contrast, local storage would make the data only visible for a specific subdomain.\n * If this strategy is used locally, the cookies will be saved for the domain 'localhost'.\n * For the future another strategy is planned that saves the data in a backend service and that will also allow data\n * to be shared between websites with different hosts.\n */\nexport class QdCookieStrategy implements QdPersistStrategy {\n private cookieExpiresDays = 365 * 10;\n\n constructor(\n private cookieName: string,\n private cookieService: CookieService,\n @Optional() @Inject(DOCUMENT) private document?: Document\n ) {}\n\n private get cookieDomain(): string {\n if (this.document?.location?.hostname === 'localhost') return 'localhost';\n return '.bazg.admin.ch';\n }\n\n get persistedData(): QdPersistedData {\n try {\n const parsed = JSON.parse(this.cookieService.get(this.cookieName));\n\n if (typeof parsed !== 'object' || Array.isArray(parsed)) return {};\n\n return parsed ?? {};\n } catch {\n return {};\n }\n }\n\n private persistData(data: QdPersistedData) {\n this.cookieService.set(this.cookieName, JSON.stringify(data), this.cookieExpiresDays, '/', this.cookieDomain);\n }\n\n setItem<T>(key: string, value: T): void {\n const data = this.persistedData;\n data[key] = QdStringifyer.tryStringify<T>(value);\n\n this.persistData(data);\n }\n\n getItem<T>(key: string): T | null {\n try {\n return JSON.parse(<string>this.persistedData[key]);\n } catch {\n return (this.persistedData[key] as T) ?? null;\n }\n }\n\n removeItem(key: string): void {\n const data = this.persistedData;\n delete data[key];\n\n this.persistData(data);\n }\n}\n","import { Inject, Injectable, Optional } from '@angular/core';\nimport { DOCUMENT } from '@angular/common';\nimport { CookieService } from 'ngx-cookie-service';\nimport { QdCookieStrategy } from './cookie-strategy';\nimport { QD_PERSISTENCE_CONFIG } from '../../persistence-config.token';\nimport { QdPersistenceConfig } from '../../model/persistence-config';\nimport { QdPersistScope } from '../../model/persistence-types';\nimport { QdPersistStrategy } from '../persist-strategy';\n\n@Injectable()\nexport class QdCookieStrategyFactory {\n constructor(\n @Inject(QD_PERSISTENCE_CONFIG) private config: QdPersistenceConfig,\n private cookieService: CookieService,\n @Optional() @Inject(DOCUMENT) private document?: Document\n ) {}\n\n getCookieStrategy(scope: QdPersistScope): QdPersistStrategy {\n return new QdCookieStrategy(this.getCookieName(scope), this.cookieService, document);\n }\n\n private getCookieName(scope: QdPersistScope): string {\n switch (scope) {\n case 'bazg':\n return 'QD-BAZG';\n case 'application':\n return `QD-APPLICATION_${this.config.applicationIdentifier}`;\n case 'private':\n return `QD-PRIVATE_${this.config.applicationIdentifier}_${this.config.frontendIdentifier}`;\n }\n }\n}\n","import { Inject, Injectable } from '@angular/core';\nimport { QdPersistScope } from '../model/persistence-types';\nimport { QdPersistStrategy } from './persist-strategy';\nimport { QD_PERSISTENCE_CONFIG } from '../persistence-config.token';\nimport { QdPersistenceConfig } from '../model/persistence-config';\nimport { QdCookieStrategyFactory } from './cookie-strategy/cookie-strategy.factory';\n\n@Injectable()\nexport class QdStrategyResolverService {\n constructor(\n @Inject(QD_PERSISTENCE_CONFIG) private config: QdPersistenceConfig,\n private cookieStrategyFactory: QdCookieStrategyFactory\n ) {}\n\n resolve(scope: QdPersistScope): QdPersistStrategy {\n /* istanbul ignore next (remove comment when another strategy is added) */\n switch (this.config.persistStrategy) {\n case 'cookie':\n default:\n return this.cookieStrategyFactory.getCookieStrategy(scope);\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { QdStrategyResolverService } from './strategy/strategy-resolver.service';\nimport { QdPersistScope } from './model/persistence-types';\n\n@Injectable()\nexport class QdPersistenceService {\n constructor(private strategyResolverService: QdStrategyResolverService) {}\n\n write<T>(key: string, data: T, scope: QdPersistScope = 'bazg'): void {\n const strategy = this.strategyResolverService.resolve(scope);\n\n strategy.setItem<T>(key, data);\n }\n\n read<T>(key: string, scope: QdPersistScope = 'bazg'): T | null {\n const strategy = this.strategyResolverService.resolve(scope);\n\n return strategy.getItem<T>(key);\n }\n\n delete(key: string, scope: QdPersistScope = 'bazg'): void {\n const strategy = this.strategyResolverService.resolve(scope);\n\n strategy.removeItem(key);\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { QdPersistenceConfig } from './model/persistence-config';\nimport { QD_PERSISTENCE_CONFIG } from './persistence-config.token';\nimport { QdPersistenceService } from './persistence.service';\nimport { QdStrategyResolverService } from './strategy/strategy-resolver.service';\nimport { QdCookieStrategyFactory } from './strategy/cookie-strategy/cookie-strategy.factory';\n\n@NgModule({\n providers: [QdPersistenceService, QdStrategyResolverService, QdCookieStrategyFactory]\n})\nexport class QdPersistenceModule {\n static forRoot(config: QdPersistenceConfig): ModuleWithProviders<QdPersistenceModule> {\n return {\n ngModule: QdPersistenceModule,\n providers: [{ provide: QD_PERSISTENCE_CONFIG, useValue: config }]\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.QdCookieStrategyFactory","i1.QdStrategyResolverService"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@quadrel-enterprise-ui/persistence",
|
|
3
|
-
"version": "19.0.
|
|
3
|
+
"version": "19.0.4-beta.16.1",
|
|
4
4
|
"description": "Library for the persistence of data",
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"@angular/common": "^19.2.9",
|
|
@@ -16,6 +16,13 @@
|
|
|
16
16
|
"indent": 4,
|
|
17
17
|
"sonar56x": true
|
|
18
18
|
},
|
|
19
|
+
"repository": {
|
|
20
|
+
"type": "git",
|
|
21
|
+
"url": "https://github.com/BAZG-Quadrel/quadrel-utilities"
|
|
22
|
+
},
|
|
23
|
+
"publishConfig": {
|
|
24
|
+
"access": "public"
|
|
25
|
+
},
|
|
19
26
|
"module": "fesm2022/quadrel-enterprise-ui-persistence.mjs",
|
|
20
27
|
"typings": "index.d.ts",
|
|
21
28
|
"exports": {
|