@jsverse/transloco-persist-translations 7.0.1 → 8.0.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.
package/README.md CHANGED
@@ -1,3 +1,3 @@
1
1
  # Transloco Persist Translations
2
2
 
3
- Please visit the [official Transloco docs](https://jsverse.github.io/transloco/docs/plugins/persist-translations).
3
+ Discover more about this plugin and how it can enhance your workflow in the [official Transloco documentation](https://jsverse.gitbook.io/transloco/plugins/persist-translations).
@@ -1,7 +1,7 @@
1
- import { isObservable, from, of } from 'rxjs';
2
- import { isFunction } from '@jsverse/transloco';
3
- export function isPromise(v) {
4
- return v && isFunction(v.then);
1
+ import { from, isObservable, of } from 'rxjs';
2
+ import { isFunction } from '@jsverse/utils';
3
+ export function isPromise(value) {
4
+ return isFunction(value?.then);
5
5
  }
6
6
  export function observify(asyncOrValue) {
7
7
  if (isPromise(asyncOrValue) || isObservable(asyncOrValue)) {
@@ -9,4 +9,4 @@ export function observify(asyncOrValue) {
9
9
  }
10
10
  return of(asyncOrValue);
11
11
  }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdHJhbnNsb2NvLXBlcnNpc3QtdHJhbnNsYXRpb25zL3NyYy9saWIvaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWhELE1BQU0sVUFBVSxTQUFTLENBQUMsQ0FBTTtJQUM5QixPQUFPLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2pDLENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFDLFlBQWlCO0lBQ3pDLElBQUksU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLFlBQVksQ0FBQyxZQUFZLENBQUMsRUFBRTtRQUN6RCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztLQUMzQjtJQUVELE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQzFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc09ic2VydmFibGUsIGZyb20sIG9mLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBpc0Z1bmN0aW9uIH0gZnJvbSAnQGpzdmVyc2UvdHJhbnNsb2NvJztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzUHJvbWlzZSh2OiBhbnkpOiB2IGlzIFByb21pc2U8YW55PiB7XG4gIHJldHVybiB2ICYmIGlzRnVuY3Rpb24odi50aGVuKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG9ic2VydmlmeShhc3luY09yVmFsdWU6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XG4gIGlmIChpc1Byb21pc2UoYXN5bmNPclZhbHVlKSB8fCBpc09ic2VydmFibGUoYXN5bmNPclZhbHVlKSkge1xuICAgIHJldHVybiBmcm9tKGFzeW5jT3JWYWx1ZSk7XG4gIH1cblxuICByZXR1cm4gb2YoYXN5bmNPclZhbHVlKTtcbn1cbiJdfQ==
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdHJhbnNsb2NvLXBlcnNpc3QtdHJhbnNsYXRpb25zL3NyYy9saWIvaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVDLE1BQU0sVUFBVSxTQUFTLENBQUMsS0FBVTtJQUNsQyxPQUFPLFVBQVUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDakMsQ0FBQztBQUVELE1BQU0sVUFBVSxTQUFTLENBQ3ZCLFlBQWdEO0lBRWhELElBQUksU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLFlBQVksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO1FBQzFELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUMxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZnJvbSwgaXNPYnNlcnZhYmxlLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgaXNGdW5jdGlvbiB9IGZyb20gJ0Bqc3ZlcnNlL3V0aWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzUHJvbWlzZSh2YWx1ZTogYW55KTogdmFsdWUgaXMgUHJvbWlzZUxpa2U8dW5rbm93bj4ge1xuICByZXR1cm4gaXNGdW5jdGlvbih2YWx1ZT8udGhlbik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvYnNlcnZpZnk8VD4oXG4gIGFzeW5jT3JWYWx1ZTogUHJvbWlzZUxpa2U8VD4gfCBPYnNlcnZhYmxlPFQ+IHwgVCxcbik6IE9ic2VydmFibGU8VD4ge1xuICBpZiAoaXNQcm9taXNlKGFzeW5jT3JWYWx1ZSkgfHwgaXNPYnNlcnZhYmxlKGFzeW5jT3JWYWx1ZSkpIHtcbiAgICByZXR1cm4gZnJvbShhc3luY09yVmFsdWUpO1xuICB9XG5cbiAgcmV0dXJuIG9mKGFzeW5jT3JWYWx1ZSk7XG59XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import { InjectionToken, } from '@angular/core';
2
- const dayInMilliseconds = 86400;
2
+ const dayInMilliseconds = 86_400;
3
3
  export const defaultConfig = {
4
4
  ttl: dayInMilliseconds,
5
5
  storageKey: '@transloco/translations',
@@ -7,4 +7,4 @@ export const defaultConfig = {
7
7
  export const TRANSLOCO_PERSIST_TRANSLATIONS_LOADER = new InjectionToken('TRANSLOCO_PERSIST_TRANSLATIONS_LOADER');
8
8
  export const TRANSLOCO_PERSIST_TRANSLATIONS_STORAGE = new InjectionToken('The storage to use for the persistance behavior');
9
9
  export const TRANSLOCO_PERSIST_TRANSLATIONS_STORAGE_CONFIG = new InjectionToken('Configuration for the storage behavior');
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsb2NvLXBlcnNpc3QtdHJhbnNsYXRpb25zLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdHJhbnNsb2NvLXBlcnNpc3QtdHJhbnNsYXRpb25zL3NyYy9saWIvdHJhbnNsb2NvLXBlcnNpc3QtdHJhbnNsYXRpb25zLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBSUwsY0FBYyxHQUdmLE1BQU0sZUFBZSxDQUFDO0FBcUJ2QixNQUFNLGlCQUFpQixHQUFHLEtBQU0sQ0FBQztBQUNqQyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQWtCO0lBQzFDLEdBQUcsRUFBRSxpQkFBaUI7SUFDdEIsVUFBVSxFQUFFLHlCQUF5QjtDQUN0QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUNBQXFDLEdBQ2hELElBQUksY0FBYyxDQUFrQix1Q0FBdUMsQ0FBQyxDQUFDO0FBRS9FLE1BQU0sQ0FBQyxNQUFNLHNDQUFzQyxHQUNqRCxJQUFJLGNBQWMsQ0FDaEIsaURBQWlELENBQ2xELENBQUM7QUFFSixNQUFNLENBQUMsTUFBTSw2Q0FBNkMsR0FDeEQsSUFBSSxjQUFjLENBQWdCLHdDQUF3QyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDbGFzc1Byb3ZpZGVyLFxuICBFeGlzdGluZ1Byb3ZpZGVyLFxuICBGYWN0b3J5UHJvdmlkZXIsXG4gIEluamVjdGlvblRva2VuLFxuICBUeXBlLFxuICBWYWx1ZVByb3ZpZGVyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbG9jb0xvYWRlciB9IGZyb20gJ0Bqc3ZlcnNlL3RyYW5zbG9jbyc7XG5cbmltcG9ydCB7IE1heWJlQXN5bmNTdG9yYWdlIH0gZnJvbSAnLi90cmFuc2xvY28uc3RvcmFnZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RvcmFnZUNvbmZpZyB7XG4gIHR0bDogbnVtYmVyO1xuICBzdG9yYWdlS2V5OiBzdHJpbmc7XG59XG5cbnR5cGUgcHJvdmlkZXJWYWx1ZSA9XG4gIHwgUGljazxWYWx1ZVByb3ZpZGVyLCAndXNlVmFsdWUnPlxuICB8IFBpY2s8Q2xhc3NQcm92aWRlciwgJ3VzZUNsYXNzJz5cbiAgfCBQaWNrPEV4aXN0aW5nUHJvdmlkZXIsICd1c2VFeGlzdGluZyc+XG4gIHwgUGljazxGYWN0b3J5UHJvdmlkZXIsICd1c2VGYWN0b3J5JyB8ICdkZXBzJz47XG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zbG9jb1BlcnNpc3RUcmFuc2xhdGlvbnNDb25maWdcbiAgZXh0ZW5kcyBQYXJ0aWFsPFN0b3JhZ2VDb25maWc+IHtcbiAgbG9hZGVyOiBUeXBlPFRyYW5zbG9jb0xvYWRlcj47XG4gIHN0b3JhZ2U6IHByb3ZpZGVyVmFsdWU7XG59XG5cbmNvbnN0IGRheUluTWlsbGlzZWNvbmRzID0gODZfNDAwO1xuZXhwb3J0IGNvbnN0IGRlZmF1bHRDb25maWc6IFN0b3JhZ2VDb25maWcgPSB7XG4gIHR0bDogZGF5SW5NaWxsaXNlY29uZHMsXG4gIHN0b3JhZ2VLZXk6ICdAdHJhbnNsb2NvL3RyYW5zbGF0aW9ucycsXG59O1xuXG5leHBvcnQgY29uc3QgVFJBTlNMT0NPX1BFUlNJU1RfVFJBTlNMQVRJT05TX0xPQURFUiA9XG4gIG5ldyBJbmplY3Rpb25Ub2tlbjxUcmFuc2xvY29Mb2FkZXI+KCdUUkFOU0xPQ09fUEVSU0lTVF9UUkFOU0xBVElPTlNfTE9BREVSJyk7XG5cbmV4cG9ydCBjb25zdCBUUkFOU0xPQ09fUEVSU0lTVF9UUkFOU0xBVElPTlNfU1RPUkFHRSA9XG4gIG5ldyBJbmplY3Rpb25Ub2tlbjxNYXliZUFzeW5jU3RvcmFnZT4oXG4gICAgJ1RoZSBzdG9yYWdlIHRvIHVzZSBmb3IgdGhlIHBlcnNpc3RhbmNlIGJlaGF2aW9yJ1xuICApO1xuXG5leHBvcnQgY29uc3QgVFJBTlNMT0NPX1BFUlNJU1RfVFJBTlNMQVRJT05TX1NUT1JBR0VfQ09ORklHID1cbiAgbmV3IEluamVjdGlvblRva2VuPFN0b3JhZ2VDb25maWc+KCdDb25maWd1cmF0aW9uIGZvciB0aGUgc3RvcmFnZSBiZWhhdmlvcicpO1xuIl19
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsb2NvLXBlcnNpc3QtdHJhbnNsYXRpb25zLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdHJhbnNsb2NvLXBlcnNpc3QtdHJhbnNsYXRpb25zL3NyYy9saWIvdHJhbnNsb2NvLXBlcnNpc3QtdHJhbnNsYXRpb25zLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBSUwsY0FBYyxHQUdmLE1BQU0sZUFBZSxDQUFDO0FBcUJ2QixNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQztBQUNqQyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQWtCO0lBQzFDLEdBQUcsRUFBRSxpQkFBaUI7SUFDdEIsVUFBVSxFQUFFLHlCQUF5QjtDQUN0QyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUNBQXFDLEdBQ2hELElBQUksY0FBYyxDQUFrQix1Q0FBdUMsQ0FBQyxDQUFDO0FBRS9FLE1BQU0sQ0FBQyxNQUFNLHNDQUFzQyxHQUNqRCxJQUFJLGNBQWMsQ0FDaEIsaURBQWlELENBQ2xELENBQUM7QUFFSixNQUFNLENBQUMsTUFBTSw2Q0FBNkMsR0FDeEQsSUFBSSxjQUFjLENBQWdCLHdDQUF3QyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDbGFzc1Byb3ZpZGVyLFxuICBFeGlzdGluZ1Byb3ZpZGVyLFxuICBGYWN0b3J5UHJvdmlkZXIsXG4gIEluamVjdGlvblRva2VuLFxuICBUeXBlLFxuICBWYWx1ZVByb3ZpZGVyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbG9jb0xvYWRlciB9IGZyb20gJ0Bqc3ZlcnNlL3RyYW5zbG9jbyc7XG5cbmltcG9ydCB7IE1heWJlQXN5bmNTdG9yYWdlIH0gZnJvbSAnLi90cmFuc2xvY28uc3RvcmFnZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RvcmFnZUNvbmZpZyB7XG4gIHR0bDogbnVtYmVyO1xuICBzdG9yYWdlS2V5OiBzdHJpbmc7XG59XG5cbnR5cGUgcHJvdmlkZXJWYWx1ZSA9XG4gIHwgUGljazxWYWx1ZVByb3ZpZGVyLCAndXNlVmFsdWUnPlxuICB8IFBpY2s8Q2xhc3NQcm92aWRlciwgJ3VzZUNsYXNzJz5cbiAgfCBQaWNrPEV4aXN0aW5nUHJvdmlkZXIsICd1c2VFeGlzdGluZyc+XG4gIHwgUGljazxGYWN0b3J5UHJvdmlkZXIsICd1c2VGYWN0b3J5JyB8ICdkZXBzJz47XG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zbG9jb1BlcnNpc3RUcmFuc2xhdGlvbnNDb25maWdcbiAgZXh0ZW5kcyBQYXJ0aWFsPFN0b3JhZ2VDb25maWc+IHtcbiAgbG9hZGVyOiBUeXBlPFRyYW5zbG9jb0xvYWRlcj47XG4gIHN0b3JhZ2U6IHByb3ZpZGVyVmFsdWU7XG59XG5cbmNvbnN0IGRheUluTWlsbGlzZWNvbmRzID0gODZfNDAwO1xuZXhwb3J0IGNvbnN0IGRlZmF1bHRDb25maWc6IFN0b3JhZ2VDb25maWcgPSB7XG4gIHR0bDogZGF5SW5NaWxsaXNlY29uZHMsXG4gIHN0b3JhZ2VLZXk6ICdAdHJhbnNsb2NvL3RyYW5zbGF0aW9ucycsXG59O1xuXG5leHBvcnQgY29uc3QgVFJBTlNMT0NPX1BFUlNJU1RfVFJBTlNMQVRJT05TX0xPQURFUiA9XG4gIG5ldyBJbmplY3Rpb25Ub2tlbjxUcmFuc2xvY29Mb2FkZXI+KCdUUkFOU0xPQ09fUEVSU0lTVF9UUkFOU0xBVElPTlNfTE9BREVSJyk7XG5cbmV4cG9ydCBjb25zdCBUUkFOU0xPQ09fUEVSU0lTVF9UUkFOU0xBVElPTlNfU1RPUkFHRSA9XG4gIG5ldyBJbmplY3Rpb25Ub2tlbjxNYXliZUFzeW5jU3RvcmFnZT4oXG4gICAgJ1RoZSBzdG9yYWdlIHRvIHVzZSBmb3IgdGhlIHBlcnNpc3RhbmNlIGJlaGF2aW9yJyxcbiAgKTtcblxuZXhwb3J0IGNvbnN0IFRSQU5TTE9DT19QRVJTSVNUX1RSQU5TTEFUSU9OU19TVE9SQUdFX0NPTkZJRyA9XG4gIG5ldyBJbmplY3Rpb25Ub2tlbjxTdG9yYWdlQ29uZmlnPignQ29uZmlndXJhdGlvbiBmb3IgdGhlIHN0b3JhZ2UgYmVoYXZpb3InKTtcbiJdfQ==
@@ -19,4 +19,4 @@ export function provideTranslocoPersistTranslationsConfig(config) {
19
19
  },
20
20
  };
21
21
  }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsb2NvLXBlcnNpc3QtdHJhbnNsYXRpb25zLnByb3ZpZGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdHJhbnNsb2NvLXBlcnNpc3QtdHJhbnNsYXRpb25zL3NyYy9saWIvdHJhbnNsb2NvLXBlcnNpc3QtdHJhbnNsYXRpb25zLnByb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdEQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDeEYsT0FBTyxFQUNMLGFBQWEsRUFFYixxQ0FBcUMsRUFDckMsc0NBQXNDLEVBQ3RDLDZDQUE2QyxHQUU5QyxNQUFNLHlDQUF5QyxDQUFDO0FBRWpELE1BQU0sVUFBVSxtQ0FBbUMsQ0FBQyxFQUNsRCxPQUFPLEVBQ1AsTUFBTSxFQUNOLEdBQUcsYUFBYSxFQUNtQjtJQUNuQyxPQUFPLHdCQUF3QixDQUFDO1FBQzlCLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSw0QkFBNEIsRUFBRTtRQUNyRSx5Q0FBeUMsQ0FBQyxhQUFhLENBQUM7UUFDeEQsRUFBRSxPQUFPLEVBQUUscUNBQXFDLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRTtRQUNwRSxFQUFFLE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxHQUFHLE9BQU8sRUFBRTtLQUNoRSxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLHlDQUF5QyxDQUN2RCxNQUErQjtJQUUvQixPQUFPO1FBQ0wsT0FBTyxFQUFFLDZDQUE2QztRQUN0RCxRQUFRLEVBQUU7WUFDUixHQUFHLGFBQWE7WUFDaEIsR0FBRyxNQUFNO1NBQ1Y7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVFJBTlNMT0NPX0xPQURFUiB9IGZyb20gJ0Bqc3ZlcnNlL3RyYW5zbG9jbyc7XG5cbmltcG9ydCB7IFRyYW5zbG9jb1BlcnNpc3RUcmFuc2xhdGlvbnMgfSBmcm9tICcuL3RyYW5zbG9jby1wZXJzaXN0LXRyYW5zbGF0aW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIGRlZmF1bHRDb25maWcsXG4gIFN0b3JhZ2VDb25maWcsXG4gIFRSQU5TTE9DT19QRVJTSVNUX1RSQU5TTEFUSU9OU19MT0FERVIsXG4gIFRSQU5TTE9DT19QRVJTSVNUX1RSQU5TTEFUSU9OU19TVE9SQUdFLFxuICBUUkFOU0xPQ09fUEVSU0lTVF9UUkFOU0xBVElPTlNfU1RPUkFHRV9DT05GSUcsXG4gIFRyYW5zbG9jb1BlcnNpc3RUcmFuc2xhdGlvbnNDb25maWcsXG59IGZyb20gJy4vdHJhbnNsb2NvLXBlcnNpc3QtdHJhbnNsYXRpb25zLmNvbmZpZyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlVHJhbnNsb2NvUGVyc2lzdFRyYW5zbGF0aW9ucyh7XG4gIHN0b3JhZ2UsXG4gIGxvYWRlcixcbiAgLi4uc3RvcmFnZUNvbmZpZ1xufTogVHJhbnNsb2NvUGVyc2lzdFRyYW5zbGF0aW9uc0NvbmZpZykge1xuICByZXR1cm4gbWFrZUVudmlyb25tZW50UHJvdmlkZXJzKFtcbiAgICB7IHByb3ZpZGU6IFRSQU5TTE9DT19MT0FERVIsIHVzZUNsYXNzOiBUcmFuc2xvY29QZXJzaXN0VHJhbnNsYXRpb25zIH0sXG4gICAgcHJvdmlkZVRyYW5zbG9jb1BlcnNpc3RUcmFuc2xhdGlvbnNDb25maWcoc3RvcmFnZUNvbmZpZyksXG4gICAgeyBwcm92aWRlOiBUUkFOU0xPQ09fUEVSU0lTVF9UUkFOU0xBVElPTlNfTE9BREVSLCB1c2VDbGFzczogbG9hZGVyIH0sXG4gICAgeyBwcm92aWRlOiBUUkFOU0xPQ09fUEVSU0lTVF9UUkFOU0xBVElPTlNfU1RPUkFHRSwgLi4uc3RvcmFnZSB9LFxuICBdKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVUcmFuc2xvY29QZXJzaXN0VHJhbnNsYXRpb25zQ29uZmlnKFxuICBjb25maWc/OiBQYXJ0aWFsPFN0b3JhZ2VDb25maWc+XG4pIHtcbiAgcmV0dXJuIHtcbiAgICBwcm92aWRlOiBUUkFOU0xPQ09fUEVSU0lTVF9UUkFOU0xBVElPTlNfU1RPUkFHRV9DT05GSUcsXG4gICAgdXNlVmFsdWU6IHtcbiAgICAgIC4uLmRlZmF1bHRDb25maWcsXG4gICAgICAuLi5jb25maWcsXG4gICAgfSxcbiAgfTtcbn1cbiJdfQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsb2NvLXBlcnNpc3QtdHJhbnNsYXRpb25zLnByb3ZpZGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvdHJhbnNsb2NvLXBlcnNpc3QtdHJhbnNsYXRpb25zL3NyYy9saWIvdHJhbnNsb2NvLXBlcnNpc3QtdHJhbnNsYXRpb25zLnByb3ZpZGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdEQsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDeEYsT0FBTyxFQUNMLGFBQWEsRUFFYixxQ0FBcUMsRUFDckMsc0NBQXNDLEVBQ3RDLDZDQUE2QyxHQUU5QyxNQUFNLHlDQUF5QyxDQUFDO0FBRWpELE1BQU0sVUFBVSxtQ0FBbUMsQ0FBQyxFQUNsRCxPQUFPLEVBQ1AsTUFBTSxFQUNOLEdBQUcsYUFBYSxFQUNtQjtJQUNuQyxPQUFPLHdCQUF3QixDQUFDO1FBQzlCLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSw0QkFBNEIsRUFBRTtRQUNyRSx5Q0FBeUMsQ0FBQyxhQUFhLENBQUM7UUFDeEQsRUFBRSxPQUFPLEVBQUUscUNBQXFDLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRTtRQUNwRSxFQUFFLE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxHQUFHLE9BQU8sRUFBRTtLQUNoRSxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLHlDQUF5QyxDQUN2RCxNQUErQjtJQUUvQixPQUFPO1FBQ0wsT0FBTyxFQUFFLDZDQUE2QztRQUN0RCxRQUFRLEVBQUU7WUFDUixHQUFHLGFBQWE7WUFDaEIsR0FBRyxNQUFNO1NBQ1Y7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVFJBTlNMT0NPX0xPQURFUiB9IGZyb20gJ0Bqc3ZlcnNlL3RyYW5zbG9jbyc7XG5cbmltcG9ydCB7IFRyYW5zbG9jb1BlcnNpc3RUcmFuc2xhdGlvbnMgfSBmcm9tICcuL3RyYW5zbG9jby1wZXJzaXN0LXRyYW5zbGF0aW9ucy5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIGRlZmF1bHRDb25maWcsXG4gIFN0b3JhZ2VDb25maWcsXG4gIFRSQU5TTE9DT19QRVJTSVNUX1RSQU5TTEFUSU9OU19MT0FERVIsXG4gIFRSQU5TTE9DT19QRVJTSVNUX1RSQU5TTEFUSU9OU19TVE9SQUdFLFxuICBUUkFOU0xPQ09fUEVSU0lTVF9UUkFOU0xBVElPTlNfU1RPUkFHRV9DT05GSUcsXG4gIFRyYW5zbG9jb1BlcnNpc3RUcmFuc2xhdGlvbnNDb25maWcsXG59IGZyb20gJy4vdHJhbnNsb2NvLXBlcnNpc3QtdHJhbnNsYXRpb25zLmNvbmZpZyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlVHJhbnNsb2NvUGVyc2lzdFRyYW5zbGF0aW9ucyh7XG4gIHN0b3JhZ2UsXG4gIGxvYWRlcixcbiAgLi4uc3RvcmFnZUNvbmZpZ1xufTogVHJhbnNsb2NvUGVyc2lzdFRyYW5zbGF0aW9uc0NvbmZpZykge1xuICByZXR1cm4gbWFrZUVudmlyb25tZW50UHJvdmlkZXJzKFtcbiAgICB7IHByb3ZpZGU6IFRSQU5TTE9DT19MT0FERVIsIHVzZUNsYXNzOiBUcmFuc2xvY29QZXJzaXN0VHJhbnNsYXRpb25zIH0sXG4gICAgcHJvdmlkZVRyYW5zbG9jb1BlcnNpc3RUcmFuc2xhdGlvbnNDb25maWcoc3RvcmFnZUNvbmZpZyksXG4gICAgeyBwcm92aWRlOiBUUkFOU0xPQ09fUEVSU0lTVF9UUkFOU0xBVElPTlNfTE9BREVSLCB1c2VDbGFzczogbG9hZGVyIH0sXG4gICAgeyBwcm92aWRlOiBUUkFOU0xPQ09fUEVSU0lTVF9UUkFOU0xBVElPTlNfU1RPUkFHRSwgLi4uc3RvcmFnZSB9LFxuICBdKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVUcmFuc2xvY29QZXJzaXN0VHJhbnNsYXRpb25zQ29uZmlnKFxuICBjb25maWc/OiBQYXJ0aWFsPFN0b3JhZ2VDb25maWc+LFxuKSB7XG4gIHJldHVybiB7XG4gICAgcHJvdmlkZTogVFJBTlNMT0NPX1BFUlNJU1RfVFJBTlNMQVRJT05TX1NUT1JBR0VfQ09ORklHLFxuICAgIHVzZVZhbHVlOiB7XG4gICAgICAuLi5kZWZhdWx0Q29uZmlnLFxuICAgICAgLi4uY29uZmlnLFxuICAgIH0sXG4gIH07XG59XG4iXX0=
@@ -1,4 +1,4 @@
1
- import { isObject, isString, } from '@jsverse/transloco';
1
+ import { isObject, isString } from '@jsverse/utils';
2
2
  import { from, of } from 'rxjs';
3
3
  import { filter, map, switchMap, take, tap } from 'rxjs/operators';
4
4
  import { inject, Injectable } from '@angular/core';
@@ -89,10 +89,10 @@ export class TranslocoPersistTranslations {
89
89
  // callback within its `destination` property, preventing classes from being GC'd.
90
90
  this.subscription = null;
91
91
  }
92
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TranslocoPersistTranslations, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
93
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TranslocoPersistTranslations });
92
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: TranslocoPersistTranslations, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
93
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: TranslocoPersistTranslations });
94
94
  }
95
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TranslocoPersistTranslations, decorators: [{
95
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: TranslocoPersistTranslations, decorators: [{
96
96
  type: Injectable
97
97
  }] });
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsb2NvLXBlcnNpc3QtdHJhbnNsYXRpb25zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3RyYW5zbG9jby1wZXJzaXN0LXRyYW5zbGF0aW9ucy9zcmMvbGliL3RyYW5zbG9jby1wZXJzaXN0LXRyYW5zbGF0aW9ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxRQUFRLEVBQ1IsUUFBUSxHQUdULE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLElBQUksRUFBYyxFQUFFLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkUsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBQ0wscUNBQXFDLEVBQ3JDLHNDQUFzQyxFQUN0Qyw2Q0FBNkMsR0FDOUMsTUFBTSx5Q0FBeUMsQ0FBQzs7QUFFakQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxHQUFXO0lBQ3pDLE9BQU8sR0FBRyxHQUFHLFlBQVksQ0FBQztBQUM1QixDQUFDO0FBR0QsTUFBTSxPQUFPLDRCQUE0QjtJQUcvQixNQUFNLEdBQUcsTUFBTSxDQUFDLHFDQUFxQyxDQUFDLENBQUM7SUFDdkQsT0FBTyxHQUFHLE1BQU0sQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO0lBQ3pELE1BQU0sR0FBRyxNQUFNLENBQUMsNkNBQTZDLENBQUMsQ0FBQztJQUUvRCxZQUFZLEdBQ2xCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2pDLEtBQUssR0FBdUIsSUFBSSxDQUFDO0lBRXpDLGNBQWMsQ0FBQyxJQUFZ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QUMsWUFBWSxHQUFHLElBQUksQ0FBQztJQUMzQixDQUFDO3VHQTlHVSw0QkFBNEI7MkdBQTVCLDRCQUE0Qjs7MkZBQTVCLDRCQUE0QjtrQkFEeEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGlzT2JqZWN0LFxuICBpc1N0cmluZyxcbiAgVHJhbnNsYXRpb24sXG4gIFRyYW5zbG9jb0xvYWRlcixcbn0gZnJvbSAnQGpzdmVyc2UvdHJhbnNsb2NvJztcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUsIG9mLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBzd2l0Y2hNYXAsIHRha2UsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IG9ic2VydmlmeSB9IGZyb20gJy4vaGVscGVycyc7XG5pbXBvcnQge1xuICBUUkFOU0xPQ09fUEVSU0lTVF9UUkFOU0xBVElPTlNfTE9BREVSLFxuICBUUkFOU0xPQ09fUEVSU0lTVF9UUkFOU0xBVElPTlNfU1RPUkFHRSxcbiAgVFJBTlNMT0NPX1BFUlNJU1RfVFJBTlNMQVRJT05TX1NUT1JBR0VfQ09ORklHLFxufSBmcm9tICcuL3RyYW5zbG9jby1wZXJzaXN0LXRyYW5zbGF0aW9ucy5jb25maWcnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGltZXN0YW1wS2V5KGtleTogc3RyaW5nKSB7XG4gIHJldHVybiBgJHtrZXl9L3RpbWVzdGFtcGA7XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUcmFuc2xvY29QZXJzaXN0VHJhbnNsYXRpb25zXG4gIGltcGxlbWVudHMgVHJhbnNsb2NvTG9hZGVyLCBPbkRlc3Ryb3lcbntcbiAgcHJpdmF0ZSBsb2FkZXIgPSBpbmplY3QoVFJBTlNMT0NPX1BFUlNJU1RfVFJBTlNMQVRJT05TX0xPQURFUik7XG4gIHByaXZhdGUgc3RvcmFnZSA9IGluamVjdChUUkFOU0xPQ09fUEVSU0lTVF9UUkFOU0xBVElPTlNfU1RPUkFHRSk7XG4gIHByaXZhdGUgY29uZmlnID0gaW5qZWN0KFRSQU5TTE9DT19QRVJTSVNUX1RSQU5TTEFUSU9OU19TVE9SQUdFX0NPTkZJRyk7XG5cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGwgPVxuICAgIHRoaXMuY2xlYXJDdXJyZW50U3RvcmFnZSgpLnN1YnNjcmliZSgpO1xuICBwcml2YXRlIGNhY2hlOiBUcmFuc2xhdGlvbiB8IG51bGwgPSBudWxsO1xuXG4gIGdldFRyYW5zbGF0aW9uKGxhbmc6IHN0cmluZyk6IE9ic2VydmFibGU8VHJhbnNsYXRpb24+IHtcbiAgICBjb25zdCBzdG9yYWdlS2V5ID0gdGhpcy5jb25maWcuc3RvcmFnZUtleTtcblxuICAgIHJldHVybiB0aGlzLmdldENhY2hlZChzdG9yYWdlS2V5KS5waXBlKFxuICAgICAgc3dpdGNoTWFwKCh0cmFuc2xhdGlvbnMpID0+IHtcbiAgICAgICAgaWYgKHRyYW5zbGF0aW9ucz8uW2xhbmddKSB7XG4gICAgICAgICAgcmV0dXJuIG9mKHRyYW5zbGF0aW9uc1tsYW5nXSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZnJvbSh0aGlzLmxvYWRlci5nZXRUcmFuc2xhdGlvbihsYW5nKSkucGlwZShcbiAgICAgICAgICB0YXAoKHRyYW5zbGF0aW9uKSA9PiB0aGlzLnNldENhY2hlKHN0b3JhZ2VLZXksIGxhbmcsIHRyYW5zbGF0aW9uKSlcbiAgICAgICAgKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGNsZWFyQ2FjaGUoKSB7XG4gICAgdGhpcy5jbGVhclRpbWVzdGFtcCh0aGlzLmNvbmZpZy5zdG9yYWdlS2V5KTtcbiAgICB0aGlzLmNsZWFyVHJhbnNsYXRpb25zKCk7XG4gICAgdGhpcy5jYWNoZSA9IG51bGw7XG4gIH1cblxuICBwcml2YXRlIGdldENhY2hlZChrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8VHJhbnNsYXRpb24gfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVcbiAgICAgID8gb2YodGhpcy5jYWNoZSlcbiAgICAgIDogb2JzZXJ2aWZ5KHRoaXMuc3RvcmFnZS5nZXRJdGVtKGtleSkpLnBpcGUoXG4gICAgICAgICAgbWFwKChpdGVtKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gaXRlbSA/IHRoaXMuZGVjb2RlPFRyYW5zbGF0aW9uPihrZXksIGl0ZW0pIDogbnVsbDtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICB0YXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2FjaGUgPSBpdGVtO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIHRha2UoMSlcbiAgICAgICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0Q2FjaGUoa2V5OiBzdHJpbmcsIGxhbmc6IHN0cmluZywgdHJhbnNsYXRpb246IFRyYW5zbGF0aW9uKSB7XG4gICAgY29uc3QgdHJhbnNsYXRpb25zID0gdGhpcy5jYWNoZSB8fCB7fTtcbiAgICB0cmFuc2xhdGlvbnNbbGFuZ10gPSB0cmFuc2xhdGlvbjtcbiAgICB0aGlzLnNldFRpbWVzdGFtcChrZXkpO1xuICAgIHRoaXMuc3RvcmFnZS5zZXRJdGVtKGtleSwgdGhpcy5lbmNvZGUodHJhbnNsYXRpb25zKSk7XG4gICAgdGhpcy5jYWNoZSA9IHRyYW5zbGF0aW9ucztcbiAgfVxuXG4gIHByaXZhdGUgZW5jb2RlKHZhbHVlOiB1bmtub3duKTogc3RyaW5nIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBkZWNvZGU8VD4oa2V5OiBzdHJpbmcsIGl0ZW06IGFueSk6IFQgfCBudWxsIHtcbiAgICBpZiAoaXNPYmplY3QoaXRlbSkpIHtcbiAgICAgIHJldHVybiBpdGVtO1xuICAgIH0gZWxzZSBpZiAoaXNTdHJpbmcoaXRlbSkpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBKU09OLnBhcnNlKGl0ZW0pO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zb2xlLmVycm9yKGBzdG9yYWdlIGtleTogJHtrZXl9IGlzIG5vdCBzZXJpYWxpemFibGVgKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRUaW1lc3RhbXAoa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JhZ2Uuc2V0SXRlbShnZXRUaW1lc3RhbXBLZXkoa2V5KSwgRGF0ZS5ub3coKSk7XG4gIH1cblxuICBwcml2YXRlIGdldFRpbWVzdGFtcChrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgcmV0dXJuIG9ic2VydmlmeSh0aGlzLnN0b3JhZ2UuZ2V0SXRlbShnZXRUaW1lc3RhbXBLZXkoa2V5KSkpLnBpcGUoXG4gICAgICBtYXAocGFyc2VJbnQpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJUaW1lc3RhbXAoa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JhZ2UucmVtb3ZlSXRlbShnZXRUaW1lc3RhbXBLZXkoa2V5KSk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyVHJhbnNsYXRpb25zKCk6IHZvaWQge1xuICAgIHRoaXMuc3RvcmFnZS5yZW1vdmVJdGVtKHRoaXMuY29uZmlnLnN0b3JhZ2VLZXkpO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGVhckN1cnJlbnRTdG9yYWdlKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgY29uc3Qgc3RvcmFnZUtleSA9IHRoaXMuY29uZmlnLnN0b3JhZ2VLZXk7XG5cbiAgICByZXR1cm4gdGhpcy5nZXRUaW1lc3RhbXAoc3RvcmFnZUtleSkucGlwZShcbiAgICAgIGZpbHRlcihCb29sZWFuKSxcbiAgICAgIHRhcCgodGltZSkgPT4ge1xuICAgICAgICBjb25zdCBpc0V4cGlyZWQgPSBEYXRlLm5vdygpIC0gdGltZSA+PSB0aGlzLmNvbmZpZy50dGw7XG4gICAgICAgIGlmIChpc0V4cGlyZWQpIHtcbiAgICAgICAgICB0aGlzLnN0b3JhZ2UucmVtb3ZlSXRlbShzdG9yYWdlS2V5KTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgLy8gQ2FyZXRha2VyIG5vdGU6IGl0J3MgaW1wb3J0YW50IHRvIGNsZWFuIHVwIHJlZmVyZW5jZXMgdG8gc3Vic2NyaXB0aW9ucyBzaW5jZSB0aGV5IHNhdmUgdGhlIGBuZXh0YFxuICAgIC8vIGNhbGxiYWNrIHdpdGhpbiBpdHMgYGRlc3RpbmF0aW9uYCBwcm9wZXJ0eSwgcHJldmVudGluZyBjbGFzc2VzIGZyb20gYmVpbmcgR0MnZC5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IG51bGw7XG4gIH1cbn1cbiJdfQ==
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsb2NvLXBlcnNpc3QtdHJhbnNsYXRpb25zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3RyYW5zbG9jby1wZXJzaXN0LXRyYW5zbGF0aW9ucy9zcmMvbGliL3RyYW5zbG9jby1wZXJzaXN0LXRyYW5zbGF0aW9ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEQsT0FBTyxFQUFFLElBQUksRUFBYyxFQUFFLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkUsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBQ0wscUNBQXFDLEVBQ3JDLHNDQUFzQyxFQUN0Qyw2Q0FBNkMsR0FDOUMsTUFBTSx5Q0FBeUMsQ0FBQzs7QUFFakQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxHQUFXO0lBQ3pDLE9BQU8sR0FBRyxHQUFHLFlBQVksQ0FBQztBQUM1QixDQUFDO0FBR0QsTUFBTSxPQUFPLDRCQUE0QjtJQUcvQixNQUFNLEdBQUcsTUFBTSxDQUFDLHFDQUFxQyxDQUFDLENBQUM7SUFDdkQsT0FBTyxHQUFHLE1BQU0sQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO0lBQ3pELE1BQU0sR0FBRyxNQUFNLENBQUMsNkNBQTZDLENBQUMsQ0FBQztJQUUvRCxZQUFZLEdBQ2xCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ2pDLEtBQUssR0FBdUIsSUFBSSxDQUFDO0lBRXpDLGNBQWMsQ0FBQyxJQUFZ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LEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDakMsb0dBQW9HO1FBQ3BHLGtGQUFrRjtRQUNsRixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztJQUMzQixDQUFDO3VHQTlHVSw0QkFBNEI7MkdBQTVCLDRCQUE0Qjs7MkZBQTVCLDRCQUE0QjtrQkFEeEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zbGF0aW9uLCBUcmFuc2xvY29Mb2FkZXIgfSBmcm9tICdAanN2ZXJzZS90cmFuc2xvY28nO1xuaW1wb3J0IHsgaXNPYmplY3QsIGlzU3RyaW5nIH0gZnJvbSAnQGpzdmVyc2UvdXRpbHMnO1xuaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSwgb2YsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAsIHN3aXRjaE1hcCwgdGFrZSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgb2JzZXJ2aWZ5IH0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7XG4gIFRSQU5TTE9DT19QRVJTSVNUX1RSQU5TTEFUSU9OU19MT0FERVIsXG4gIFRSQU5TTE9DT19QRVJTSVNUX1RSQU5TTEFUSU9OU19TVE9SQUdFLFxuICBUUkFOU0xPQ09fUEVSU0lTVF9UUkFOU0xBVElPTlNfU1RPUkFHRV9DT05GSUcsXG59IGZyb20gJy4vdHJhbnNsb2NvLXBlcnNpc3QtdHJhbnNsYXRpb25zLmNvbmZpZyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUaW1lc3RhbXBLZXkoa2V5OiBzdHJpbmcpIHtcbiAgcmV0dXJuIGAke2tleX0vdGltZXN0YW1wYDtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRyYW5zbG9jb1BlcnNpc3RUcmFuc2xhdGlvbnNcbiAgaW1wbGVtZW50cyBUcmFuc2xvY29Mb2FkZXIsIE9uRGVzdHJveVxue1xuICBwcml2YXRlIGxvYWRlciA9IGluamVjdChUUkFOU0xPQ09fUEVSU0lTVF9UUkFOU0xBVElPTlNfTE9BREVSKTtcbiAgcHJpdmF0ZSBzdG9yYWdlID0gaW5qZWN0KFRSQU5TTE9DT19QRVJTSVNUX1RSQU5TTEFUSU9OU19TVE9SQUdFKTtcbiAgcHJpdmF0ZSBjb25maWcgPSBpbmplY3QoVFJBTlNMT0NPX1BFUlNJU1RfVFJBTlNMQVRJT05TX1NUT1JBR0VfQ09ORklHKTtcblxuICBwcml2YXRlIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgbnVsbCA9XG4gICAgdGhpcy5jbGVhckN1cnJlbnRTdG9yYWdlKCkuc3Vic2NyaWJlKCk7XG4gIHByaXZhdGUgY2FjaGU6IFRyYW5zbGF0aW9uIHwgbnVsbCA9IG51bGw7XG5cbiAgZ2V0VHJhbnNsYXRpb24obGFuZzogc3RyaW5nKTogT2JzZXJ2YWJsZTxUcmFuc2xhdGlvbj4ge1xuICAgIGNvbnN0IHN0b3JhZ2VLZXkgPSB0aGlzLmNvbmZpZy5zdG9yYWdlS2V5O1xuXG4gICAgcmV0dXJuIHRoaXMuZ2V0Q2FjaGVkKHN0b3JhZ2VLZXkpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKHRyYW5zbGF0aW9ucykgPT4ge1xuICAgICAgICBpZiAodHJhbnNsYXRpb25zPy5bbGFuZ10pIHtcbiAgICAgICAgICByZXR1cm4gb2YodHJhbnNsYXRpb25zW2xhbmddKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmcm9tKHRoaXMubG9hZGVyLmdldFRyYW5zbGF0aW9uKGxhbmcpKS5waXBlKFxuICAgICAgICAgIHRhcCgodHJhbnNsYXRpb24pID0+IHRoaXMuc2V0Q2FjaGUoc3RvcmFnZUtleSwgbGFuZywgdHJhbnNsYXRpb24pKSxcbiAgICAgICAgKTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBjbGVhckNhY2hlKCkge1xuICAgIHRoaXMuY2xlYXJUaW1lc3RhbXAodGhpcy5jb25maWcuc3RvcmFnZUtleSk7XG4gICAgdGhpcy5jbGVhclRyYW5zbGF0aW9ucygpO1xuICAgIHRoaXMuY2FjaGUgPSBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDYWNoZWQoa2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFRyYW5zbGF0aW9uIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLmNhY2hlXG4gICAgICA/IG9mKHRoaXMuY2FjaGUpXG4gICAgICA6IG9ic2VydmlmeSh0aGlzLnN0b3JhZ2UuZ2V0SXRlbShrZXkpKS5waXBlKFxuICAgICAgICAgIG1hcCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW0gPyB0aGlzLmRlY29kZTxUcmFuc2xhdGlvbj4oa2V5LCBpdGVtKSA6IG51bGw7XG4gICAgICAgICAgfSksXG4gICAgICAgICAgdGFwKChpdGVtKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNhY2hlID0gaXRlbTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRDYWNoZShrZXk6IHN0cmluZywgbGFuZzogc3RyaW5nLCB0cmFuc2xhdGlvbjogVHJhbnNsYXRpb24pIHtcbiAgICBjb25zdCB0cmFuc2xhdGlvbnMgPSB0aGlzLmNhY2hlIHx8IHt9O1xuICAgIHRyYW5zbGF0aW9uc1tsYW5nXSA9IHRyYW5zbGF0aW9uO1xuICAgIHRoaXMuc2V0VGltZXN0YW1wKGtleSk7XG4gICAgdGhpcy5zdG9yYWdlLnNldEl0ZW0oa2V5LCB0aGlzLmVuY29kZSh0cmFuc2xhdGlvbnMpKTtcbiAgICB0aGlzLmNhY2hlID0gdHJhbnNsYXRpb25zO1xuICB9XG5cbiAgcHJpdmF0ZSBlbmNvZGUodmFsdWU6IHVua25vd24pOiBzdHJpbmcge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh2YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIGRlY29kZTxUPihrZXk6IHN0cmluZywgaXRlbTogYW55KTogVCB8IG51bGwge1xuICAgIGlmIChpc09iamVjdChpdGVtKSBhcyBUKSB7XG4gICAgICByZXR1cm4gaXRlbTtcbiAgICB9IGVsc2UgaWYgKGlzU3RyaW5nKGl0ZW0pKSB7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gSlNPTi5wYXJzZShpdGVtKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihgc3RvcmFnZSBrZXk6ICR7a2V5fSBpcyBub3Qgc2VyaWFsaXphYmxlYCk7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0VGltZXN0YW1wKGtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zdG9yYWdlLnNldEl0ZW0oZ2V0VGltZXN0YW1wS2V5KGtleSksIERhdGUubm93KCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUaW1lc3RhbXAoa2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgIHJldHVybiBvYnNlcnZpZnkodGhpcy5zdG9yYWdlLmdldEl0ZW0oZ2V0VGltZXN0YW1wS2V5KGtleSkpKS5waXBlKFxuICAgICAgbWFwKHBhcnNlSW50KSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBjbGVhclRpbWVzdGFtcChrZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuc3RvcmFnZS5yZW1vdmVJdGVtKGdldFRpbWVzdGFtcEtleShrZXkpKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJUcmFuc2xhdGlvbnMoKTogdm9pZCB7XG4gICAgdGhpcy5zdG9yYWdlLnJlbW92ZUl0ZW0odGhpcy5jb25maWcuc3RvcmFnZUtleSk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyQ3VycmVudFN0b3JhZ2UoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICBjb25zdCBzdG9yYWdlS2V5ID0gdGhpcy5jb25maWcuc3RvcmFnZUtleTtcblxuICAgIHJldHVybiB0aGlzLmdldFRpbWVzdGFtcChzdG9yYWdlS2V5KS5waXBlKFxuICAgICAgZmlsdGVyKEJvb2xlYW4pLFxuICAgICAgdGFwKCh0aW1lKSA9PiB7XG4gICAgICAgIGNvbnN0IGlzRXhwaXJlZCA9IERhdGUubm93KCkgLSB0aW1lID49IHRoaXMuY29uZmlnLnR0bDtcbiAgICAgICAgaWYgKGlzRXhwaXJlZCkge1xuICAgICAgICAgIHRoaXMuc3RvcmFnZS5yZW1vdmVJdGVtKHN0b3JhZ2VLZXkpO1xuICAgICAgICB9XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgLy8gQ2FyZXRha2VyIG5vdGU6IGl0J3MgaW1wb3J0YW50IHRvIGNsZWFuIHVwIHJlZmVyZW5jZXMgdG8gc3Vic2NyaXB0aW9ucyBzaW5jZSB0aGV5IHNhdmUgdGhlIGBuZXh0YFxuICAgIC8vIGNhbGxiYWNrIHdpdGhpbiBpdHMgYGRlc3RpbmF0aW9uYCBwcm9wZXJ0eSwgcHJldmVudGluZyBjbGFzc2VzIGZyb20gYmVpbmcgR0MnZC5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbiA9IG51bGw7XG4gIH1cbn1cbiJdfQ==
@@ -1,10 +1,11 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { InjectionToken, inject, Injectable, makeEnvironmentProviders } from '@angular/core';
3
- import { isFunction, isObject, isString, TRANSLOCO_LOADER } from '@jsverse/transloco';
3
+ import { isFunction, isObject, isString } from '@jsverse/utils';
4
4
  import { isObservable, from, of } from 'rxjs';
5
5
  import { switchMap, tap, map, take, filter } from 'rxjs/operators';
6
+ import { TRANSLOCO_LOADER } from '@jsverse/transloco';
6
7
 
7
- const dayInMilliseconds = 86400;
8
+ const dayInMilliseconds = 86_400;
8
9
  const defaultConfig = {
9
10
  ttl: dayInMilliseconds,
10
11
  storageKey: '@transloco/translations',
@@ -13,8 +14,8 @@ const TRANSLOCO_PERSIST_TRANSLATIONS_LOADER = new InjectionToken('TRANSLOCO_PERS
13
14
  const TRANSLOCO_PERSIST_TRANSLATIONS_STORAGE = new InjectionToken('The storage to use for the persistance behavior');
14
15
  const TRANSLOCO_PERSIST_TRANSLATIONS_STORAGE_CONFIG = new InjectionToken('Configuration for the storage behavior');
15
16
 
16
- function isPromise(v) {
17
- return v && isFunction(v.then);
17
+ function isPromise(value) {
18
+ return isFunction(value?.then);
18
19
  }
19
20
  function observify(asyncOrValue) {
20
21
  if (isPromise(asyncOrValue) || isObservable(asyncOrValue)) {
@@ -107,10 +108,10 @@ class TranslocoPersistTranslations {
107
108
  // callback within its `destination` property, preventing classes from being GC'd.
108
109
  this.subscription = null;
109
110
  }
110
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TranslocoPersistTranslations, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
111
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TranslocoPersistTranslations });
111
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: TranslocoPersistTranslations, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
112
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: TranslocoPersistTranslations });
112
113
  }
113
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: TranslocoPersistTranslations, decorators: [{
114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: TranslocoPersistTranslations, decorators: [{
114
115
  type: Injectable
115
116
  }] });
116
117
 
@@ -1 +1 @@
1
- {"version":3,"file":"jsverse-transloco-persist-translations.mjs","sources":["../../../../libs/transloco-persist-translations/src/lib/transloco-persist-translations.config.ts","../../../../libs/transloco-persist-translations/src/lib/helpers.ts","../../../../libs/transloco-persist-translations/src/lib/transloco-persist-translations.service.ts","../../../../libs/transloco-persist-translations/src/lib/transloco-persist-translations.providers.ts","../../../../libs/transloco-persist-translations/src/jsverse-transloco-persist-translations.ts"],"sourcesContent":["import {\n ClassProvider,\n ExistingProvider,\n FactoryProvider,\n InjectionToken,\n Type,\n ValueProvider,\n} from '@angular/core';\nimport { TranslocoLoader } from '@jsverse/transloco';\n\nimport { MaybeAsyncStorage } from './transloco.storage';\n\nexport interface StorageConfig {\n ttl: number;\n storageKey: string;\n}\n\ntype providerValue =\n | Pick<ValueProvider, 'useValue'>\n | Pick<ClassProvider, 'useClass'>\n | Pick<ExistingProvider, 'useExisting'>\n | Pick<FactoryProvider, 'useFactory' | 'deps'>;\nexport interface TranslocoPersistTranslationsConfig\n extends Partial<StorageConfig> {\n loader: Type<TranslocoLoader>;\n storage: providerValue;\n}\n\nconst dayInMilliseconds = 86_400;\nexport const defaultConfig: StorageConfig = {\n ttl: dayInMilliseconds,\n storageKey: '@transloco/translations',\n};\n\nexport const TRANSLOCO_PERSIST_TRANSLATIONS_LOADER =\n new InjectionToken<TranslocoLoader>('TRANSLOCO_PERSIST_TRANSLATIONS_LOADER');\n\nexport const TRANSLOCO_PERSIST_TRANSLATIONS_STORAGE =\n new InjectionToken<MaybeAsyncStorage>(\n 'The storage to use for the persistance behavior'\n );\n\nexport const TRANSLOCO_PERSIST_TRANSLATIONS_STORAGE_CONFIG =\n new InjectionToken<StorageConfig>('Configuration for the storage behavior');\n","import { isObservable, from, of, Observable } from 'rxjs';\nimport { isFunction } from '@jsverse/transloco';\n\nexport function isPromise(v: any): v is Promise<any> {\n return v && isFunction(v.then);\n}\n\nexport function observify(asyncOrValue: any): Observable<any> {\n if (isPromise(asyncOrValue) || isObservable(asyncOrValue)) {\n return from(asyncOrValue);\n }\n\n return of(asyncOrValue);\n}\n","import {\n isObject,\n isString,\n Translation,\n TranslocoLoader,\n} from '@jsverse/transloco';\nimport { from, Observable, of, Subscription } from 'rxjs';\nimport { filter, map, switchMap, take, tap } from 'rxjs/operators';\nimport { inject, Injectable, OnDestroy } from '@angular/core';\n\nimport { observify } from './helpers';\nimport {\n TRANSLOCO_PERSIST_TRANSLATIONS_LOADER,\n TRANSLOCO_PERSIST_TRANSLATIONS_STORAGE,\n TRANSLOCO_PERSIST_TRANSLATIONS_STORAGE_CONFIG,\n} from './transloco-persist-translations.config';\n\nexport function getTimestampKey(key: string) {\n return `${key}/timestamp`;\n}\n\n@Injectable()\nexport class TranslocoPersistTranslations\n implements TranslocoLoader, OnDestroy\n{\n private loader = inject(TRANSLOCO_PERSIST_TRANSLATIONS_LOADER);\n private storage = inject(TRANSLOCO_PERSIST_TRANSLATIONS_STORAGE);\n private config = inject(TRANSLOCO_PERSIST_TRANSLATIONS_STORAGE_CONFIG);\n\n private subscription: Subscription | null =\n this.clearCurrentStorage().subscribe();\n private cache: Translation | null = null;\n\n getTranslation(lang: string): Observable<Translation> {\n const storageKey = this.config.storageKey;\n\n return this.getCached(storageKey).pipe(\n switchMap((translations) => {\n if (translations?.[lang]) {\n return of(translations[lang]);\n }\n\n return from(this.loader.getTranslation(lang)).pipe(\n tap((translation) => this.setCache(storageKey, lang, translation))\n );\n })\n );\n }\n\n clearCache() {\n this.clearTimestamp(this.config.storageKey);\n this.clearTranslations();\n this.cache = null;\n }\n\n private getCached(key: string): Observable<Translation | null> {\n return this.cache\n ? of(this.cache)\n : observify(this.storage.getItem(key)).pipe(\n map((item) => {\n return item ? this.decode<Translation>(key, item) : null;\n }),\n tap((item) => {\n this.cache = item;\n }),\n take(1)\n );\n }\n\n private setCache(key: string, lang: string, translation: Translation) {\n const translations = this.cache || {};\n translations[lang] = translation;\n this.setTimestamp(key);\n this.storage.setItem(key, this.encode(translations));\n this.cache = translations;\n }\n\n private encode(value: unknown): string {\n return JSON.stringify(value);\n }\n\n private decode<T>(key: string, item: any): T | null {\n if (isObject(item)) {\n return item;\n } else if (isString(item)) {\n try {\n return JSON.parse(item);\n } catch (e) {\n console.error(`storage key: ${key} is not serializable`);\n return null;\n }\n }\n return null;\n }\n\n private setTimestamp(key: string): void {\n this.storage.setItem(getTimestampKey(key), Date.now());\n }\n\n private getTimestamp(key: string): Observable<number> {\n return observify(this.storage.getItem(getTimestampKey(key))).pipe(\n map(parseInt)\n );\n }\n\n private clearTimestamp(key: string): void {\n this.storage.removeItem(getTimestampKey(key));\n }\n\n private clearTranslations(): void {\n this.storage.removeItem(this.config.storageKey);\n }\n\n private clearCurrentStorage(): Observable<number> {\n const storageKey = this.config.storageKey;\n\n return this.getTimestamp(storageKey).pipe(\n filter(Boolean),\n tap((time) => {\n const isExpired = Date.now() - time >= this.config.ttl;\n if (isExpired) {\n this.storage.removeItem(storageKey);\n }\n })\n );\n }\n\n ngOnDestroy() {\n this.subscription?.unsubscribe();\n // Caretaker note: it's important to clean up references to subscriptions since they save the `next`\n // callback within its `destination` property, preventing classes from being GC'd.\n this.subscription = null;\n }\n}\n","import { makeEnvironmentProviders } from '@angular/core';\nimport { TRANSLOCO_LOADER } from '@jsverse/transloco';\n\nimport { TranslocoPersistTranslations } from './transloco-persist-translations.service';\nimport {\n defaultConfig,\n StorageConfig,\n TRANSLOCO_PERSIST_TRANSLATIONS_LOADER,\n TRANSLOCO_PERSIST_TRANSLATIONS_STORAGE,\n TRANSLOCO_PERSIST_TRANSLATIONS_STORAGE_CONFIG,\n TranslocoPersistTranslationsConfig,\n} from './transloco-persist-translations.config';\n\nexport function provideTranslocoPersistTranslations({\n storage,\n loader,\n ...storageConfig\n}: TranslocoPersistTranslationsConfig) {\n return makeEnvironmentProviders([\n { provide: TRANSLOCO_LOADER, useClass: TranslocoPersistTranslations },\n provideTranslocoPersistTranslationsConfig(storageConfig),\n { provide: TRANSLOCO_PERSIST_TRANSLATIONS_LOADER, useClass: loader },\n { provide: TRANSLOCO_PERSIST_TRANSLATIONS_STORAGE, ...storage },\n ]);\n}\n\nexport function provideTranslocoPersistTranslationsConfig(\n config?: Partial<StorageConfig>\n) {\n return {\n provide: TRANSLOCO_PERSIST_TRANSLATIONS_STORAGE_CONFIG,\n useValue: {\n ...defaultConfig,\n ...config,\n },\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jsverse-transloco-persist-translations.mjs","sources":["../../../../libs/transloco-persist-translations/src/lib/transloco-persist-translations.config.ts","../../../../libs/transloco-persist-translations/src/lib/helpers.ts","../../../../libs/transloco-persist-translations/src/lib/transloco-persist-translations.service.ts","../../../../libs/transloco-persist-translations/src/lib/transloco-persist-translations.providers.ts","../../../../libs/transloco-persist-translations/src/jsverse-transloco-persist-translations.ts"],"sourcesContent":["import {\n ClassProvider,\n ExistingProvider,\n FactoryProvider,\n InjectionToken,\n Type,\n ValueProvider,\n} from '@angular/core';\nimport { TranslocoLoader } from '@jsverse/transloco';\n\nimport { MaybeAsyncStorage } from './transloco.storage';\n\nexport interface StorageConfig {\n ttl: number;\n storageKey: string;\n}\n\ntype providerValue =\n | Pick<ValueProvider, 'useValue'>\n | Pick<ClassProvider, 'useClass'>\n | Pick<ExistingProvider, 'useExisting'>\n | Pick<FactoryProvider, 'useFactory' | 'deps'>;\nexport interface TranslocoPersistTranslationsConfig\n extends Partial<StorageConfig> {\n loader: Type<TranslocoLoader>;\n storage: providerValue;\n}\n\nconst dayInMilliseconds = 86_400;\nexport const defaultConfig: StorageConfig = {\n ttl: dayInMilliseconds,\n storageKey: '@transloco/translations',\n};\n\nexport const TRANSLOCO_PERSIST_TRANSLATIONS_LOADER =\n new InjectionToken<TranslocoLoader>('TRANSLOCO_PERSIST_TRANSLATIONS_LOADER');\n\nexport const TRANSLOCO_PERSIST_TRANSLATIONS_STORAGE =\n new InjectionToken<MaybeAsyncStorage>(\n 'The storage to use for the persistance behavior',\n );\n\nexport const TRANSLOCO_PERSIST_TRANSLATIONS_STORAGE_CONFIG =\n new InjectionToken<StorageConfig>('Configuration for the storage behavior');\n","import { from, isObservable, Observable, of } from 'rxjs';\nimport { isFunction } from '@jsverse/utils';\n\nexport function isPromise(value: any): value is PromiseLike<unknown> {\n return isFunction(value?.then);\n}\n\nexport function observify<T>(\n asyncOrValue: PromiseLike<T> | Observable<T> | T,\n): Observable<T> {\n if (isPromise(asyncOrValue) || isObservable(asyncOrValue)) {\n return from(asyncOrValue);\n }\n\n return of(asyncOrValue);\n}\n","import { Translation, TranslocoLoader } from '@jsverse/transloco';\nimport { isObject, isString } from '@jsverse/utils';\nimport { from, Observable, of, Subscription } from 'rxjs';\nimport { filter, map, switchMap, take, tap } from 'rxjs/operators';\nimport { inject, Injectable, OnDestroy } from '@angular/core';\n\nimport { observify } from './helpers';\nimport {\n TRANSLOCO_PERSIST_TRANSLATIONS_LOADER,\n TRANSLOCO_PERSIST_TRANSLATIONS_STORAGE,\n TRANSLOCO_PERSIST_TRANSLATIONS_STORAGE_CONFIG,\n} from './transloco-persist-translations.config';\n\nexport function getTimestampKey(key: string) {\n return `${key}/timestamp`;\n}\n\n@Injectable()\nexport class TranslocoPersistTranslations\n implements TranslocoLoader, OnDestroy\n{\n private loader = inject(TRANSLOCO_PERSIST_TRANSLATIONS_LOADER);\n private storage = inject(TRANSLOCO_PERSIST_TRANSLATIONS_STORAGE);\n private config = inject(TRANSLOCO_PERSIST_TRANSLATIONS_STORAGE_CONFIG);\n\n private subscription: Subscription | null =\n this.clearCurrentStorage().subscribe();\n private cache: Translation | null = null;\n\n getTranslation(lang: string): Observable<Translation> {\n const storageKey = this.config.storageKey;\n\n return this.getCached(storageKey).pipe(\n switchMap((translations) => {\n if (translations?.[lang]) {\n return of(translations[lang]);\n }\n\n return from(this.loader.getTranslation(lang)).pipe(\n tap((translation) => this.setCache(storageKey, lang, translation)),\n );\n }),\n );\n }\n\n clearCache() {\n this.clearTimestamp(this.config.storageKey);\n this.clearTranslations();\n this.cache = null;\n }\n\n private getCached(key: string): Observable<Translation | null> {\n return this.cache\n ? of(this.cache)\n : observify(this.storage.getItem(key)).pipe(\n map((item) => {\n return item ? this.decode<Translation>(key, item) : null;\n }),\n tap((item) => {\n this.cache = item;\n }),\n take(1),\n );\n }\n\n private setCache(key: string, lang: string, translation: Translation) {\n const translations = this.cache || {};\n translations[lang] = translation;\n this.setTimestamp(key);\n this.storage.setItem(key, this.encode(translations));\n this.cache = translations;\n }\n\n private encode(value: unknown): string {\n return JSON.stringify(value);\n }\n\n private decode<T>(key: string, item: any): T | null {\n if (isObject(item) as T) {\n return item;\n } else if (isString(item)) {\n try {\n return JSON.parse(item);\n } catch (e) {\n console.error(`storage key: ${key} is not serializable`);\n return null;\n }\n }\n return null;\n }\n\n private setTimestamp(key: string): void {\n this.storage.setItem(getTimestampKey(key), Date.now());\n }\n\n private getTimestamp(key: string): Observable<number> {\n return observify(this.storage.getItem(getTimestampKey(key))).pipe(\n map(parseInt),\n );\n }\n\n private clearTimestamp(key: string): void {\n this.storage.removeItem(getTimestampKey(key));\n }\n\n private clearTranslations(): void {\n this.storage.removeItem(this.config.storageKey);\n }\n\n private clearCurrentStorage(): Observable<number> {\n const storageKey = this.config.storageKey;\n\n return this.getTimestamp(storageKey).pipe(\n filter(Boolean),\n tap((time) => {\n const isExpired = Date.now() - time >= this.config.ttl;\n if (isExpired) {\n this.storage.removeItem(storageKey);\n }\n }),\n );\n }\n\n ngOnDestroy() {\n this.subscription?.unsubscribe();\n // Caretaker note: it's important to clean up references to subscriptions since they save the `next`\n // callback within its `destination` property, preventing classes from being GC'd.\n this.subscription = null;\n }\n}\n","import { makeEnvironmentProviders } from '@angular/core';\nimport { TRANSLOCO_LOADER } from '@jsverse/transloco';\n\nimport { TranslocoPersistTranslations } from './transloco-persist-translations.service';\nimport {\n defaultConfig,\n StorageConfig,\n TRANSLOCO_PERSIST_TRANSLATIONS_LOADER,\n TRANSLOCO_PERSIST_TRANSLATIONS_STORAGE,\n TRANSLOCO_PERSIST_TRANSLATIONS_STORAGE_CONFIG,\n TranslocoPersistTranslationsConfig,\n} from './transloco-persist-translations.config';\n\nexport function provideTranslocoPersistTranslations({\n storage,\n loader,\n ...storageConfig\n}: TranslocoPersistTranslationsConfig) {\n return makeEnvironmentProviders([\n { provide: TRANSLOCO_LOADER, useClass: TranslocoPersistTranslations },\n provideTranslocoPersistTranslationsConfig(storageConfig),\n { provide: TRANSLOCO_PERSIST_TRANSLATIONS_LOADER, useClass: loader },\n { provide: TRANSLOCO_PERSIST_TRANSLATIONS_STORAGE, ...storage },\n ]);\n}\n\nexport function provideTranslocoPersistTranslationsConfig(\n config?: Partial<StorageConfig>,\n) {\n return {\n provide: TRANSLOCO_PERSIST_TRANSLATIONS_STORAGE_CONFIG,\n useValue: {\n ...defaultConfig,\n ...config,\n },\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/lib/helpers.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  import { Observable } from 'rxjs';
2
- export declare function isPromise(v: any): v is Promise<any>;
3
- export declare function observify(asyncOrValue: any): Observable<any>;
2
+ export declare function isPromise(value: any): value is PromiseLike<unknown>;
3
+ export declare function observify<T>(asyncOrValue: PromiseLike<T> | Observable<T> | T): Observable<T>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jsverse/transloco-persist-translations",
3
- "version": "7.0.1",
3
+ "version": "8.0.1",
4
4
  "description": "Transloco persist translations",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -8,28 +8,30 @@
8
8
  "bugs": {
9
9
  "url": "https://github.com/jsverse/transloco/issues"
10
10
  },
11
- "homepage": "https://jsverse.github.io/transloco/docs/plugins/persist-translations",
11
+ "homepage": "https://jsverse.gitbook.io/transloco/plugins/persist-translations",
12
12
  "repository": {
13
13
  "type": "git",
14
14
  "url": "https://github.com/jsverse/transloco"
15
15
  },
16
16
  "keywords": [
17
- "angular",
18
- "angular 2",
17
+ "Angular",
19
18
  "i18n",
20
- "transloco",
21
- "translate",
22
- "persist",
23
- "storage"
19
+ "Translate",
20
+ "Angular Translate",
21
+ "Transloco",
22
+ "Persist",
23
+ "Storage"
24
24
  ],
25
25
  "license": "MIT",
26
26
  "peerDependencies": {
27
27
  "@angular/core": ">=16.0.0",
28
- "@jsverse/transloco": ">=7.0.0"
28
+ "@jsverse/transloco": ">=8.0.0",
29
+ "@jsverse/utils": "1.0.0-beta.5"
29
30
  },
30
31
  "dependencies": {
31
32
  "tslib": "^2.2.0"
32
33
  },
34
+ "sideEffects": false,
33
35
  "module": "fesm2022/jsverse-transloco-persist-translations.mjs",
34
36
  "typings": "index.d.ts",
35
37
  "exports": {
@@ -42,6 +44,5 @@
42
44
  "esm": "./esm2022/jsverse-transloco-persist-translations.mjs",
43
45
  "default": "./fesm2022/jsverse-transloco-persist-translations.mjs"
44
46
  }
45
- },
46
- "sideEffects": false
47
+ }
47
48
  }