@esfaenza/preferences 11.2.19 → 11.2.20

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.
Files changed (36) hide show
  1. package/bundles/esfaenza-preferences.umd.js +316 -237
  2. package/bundles/esfaenza-preferences.umd.js.map +1 -1
  3. package/bundles/esfaenza-preferences.umd.min.js +2 -2
  4. package/bundles/esfaenza-preferences.umd.min.js.map +1 -1
  5. package/esfaenza-preferences.d.ts +5 -2
  6. package/esfaenza-preferences.metadata.json +1 -1
  7. package/esm2015/esfaenza-preferences.js +5 -3
  8. package/esm2015/lib/models/PreferencesModuleConfig.js +1 -1
  9. package/esm2015/lib/persistor/base/CachePersistor.js +31 -0
  10. package/esm2015/lib/persistor/base/IBasePersistor.js +2 -0
  11. package/esm2015/lib/persistor/base/PreferencesPersistor.js +33 -0
  12. package/esm2015/lib/persistor/implementation/LocalStorageCachePersistor.js +52 -0
  13. package/esm2015/lib/persistor/implementation/LocalStoragePreferencesPersistor.js +52 -0
  14. package/esm2015/lib/preferences.module.js +10 -5
  15. package/esm2015/lib/services/base/IBaseStorage.js +2 -0
  16. package/esm2015/lib/services/base/base.service.js +114 -0
  17. package/esm2015/lib/services/cache.service.js +21 -0
  18. package/esm2015/lib/services/preferences.service.js +21 -0
  19. package/esm2015/public-api.js +5 -3
  20. package/fesm2015/esfaenza-preferences.js +190 -115
  21. package/fesm2015/esfaenza-preferences.js.map +1 -1
  22. package/lib/models/PreferencesModuleConfig.d.ts +8 -2
  23. package/lib/persistor/base/CachePersistor.d.ts +57 -0
  24. package/lib/persistor/base/IBasePersistor.d.ts +17 -0
  25. package/lib/persistor/base/{BasePreferencesPersistor.d.ts → PreferencesPersistor.d.ts} +7 -10
  26. package/lib/persistor/implementation/{LocalStoragePersistor.d.ts → LocalStorageCachePersistor.d.ts} +3 -4
  27. package/lib/persistor/implementation/LocalStoragePreferencesPersistor.d.ts +19 -0
  28. package/lib/services/base/IBaseStorage.d.ts +9 -0
  29. package/lib/{preferences.service.d.ts → services/base/base.service.d.ts} +11 -19
  30. package/lib/services/cache.service.d.ts +7 -0
  31. package/lib/services/preferences.service.d.ts +7 -0
  32. package/package.json +1 -1
  33. package/public-api.d.ts +4 -2
  34. package/esm2015/lib/persistor/base/BasePreferencesPersistor.js +0 -34
  35. package/esm2015/lib/persistor/implementation/LocalStoragePersistor.js +0 -52
  36. package/esm2015/lib/preferences.service.js +0 -147
@@ -3,4 +3,4 @@
3
3
  */
4
4
  export class PreferencesModuleConfig {
5
5
  }
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJlZmVyZW5jZXNNb2R1bGVDb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVmZXJlbmNlcy9zcmMvbGliL21vZGVscy9QcmVmZXJlbmNlc01vZHVsZUNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQTs7R0FFRztBQUNILE1BQU0sT0FBTyx1QkFBdUI7Q0FtQm5DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEJhc2VQcmVmZXJlbmNlc1BlcnNpc3RvciB9IGZyb20gXCIuLi9wZXJzaXN0b3IvYmFzZS9CYXNlUHJlZmVyZW5jZXNQZXJzaXN0b3JcIjtcclxuaW1wb3J0IHsgQmFzZVNlc3Npb25SZXRyaWV2ZXIgfSBmcm9tIFwiLi4vc2Vzc2lvbi9iYXNlL0Jhc2VTZXNzaW9uUmV0cmlldmVyXCI7XHJcblxyXG4vKipcclxuICogQ2xhc3NlIGRpIENvbmZpZ3VyYXppb25lIHBlciBsYSBsaWJyZXJpYVxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIFByZWZlcmVuY2VzTW9kdWxlQ29uZmlne1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhIHNlIHJlY3VwZXJhcmUgYXV0b25vbWFtZW50ZSB0dXR0ZSBsZSBjb25maWd1cmF6aW9uaSBzYWx2YXRlIGFsIGJvb3RzdHJhcCBkZWxsYSBsaWJyZXJpYSBvIHNlIGFzcGV0dGFyZSBsZSByaWNoaWVzdGUgc3BlY2lmaWNoZS5cclxuICAgICAqIFxyXG4gICAgICogVXRpbGUgc2Ugbm9uIHZlbmdvbm8gc2FsdmF0ZSB0YW50ZSBjb3NlLCBwb3RyZWJiZSBjcmVhcmUgdW4gbW9tZW50byBkaSBpcnJlc3BvbnNpdml0w6Agc2UgbGUgaW5mbyBkYSByZWN1cGVyYXJlIHNvbm8gbW9sdGVcclxuICAgICAqL1xyXG4gICAgcmV0cmlldmVBbGxBdFN0YXJ0PzogYm9vbGVhbjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIENsYXNzZSBjaGUgc2kgZGV2ZSBvY2N1cGFyZSBkZWxsbyBzdG9yZSBcIkRlZmluaXRpdm9cIiBkZWxsZSBwcmVmZXJlbnplLiBEaSBkZWZhdWx0IHZpZW5lIHByb3Bvc3RvIHVubyBzdG9yZSBsYXRvIGxvY2FsU3RvcmFnZSBtYSBzaSBwdcOyIGZhY2lsbWVudGUgXHJcbiAgICAgKiBmb3JuaXJlIHVubyBzdG9yYWdlIGNoZSBwb3J0YSBsZSBpbmZvcm1hemlvbmkgbGF0byBEYXRhYmFzZVxyXG4gICAgICovXHJcbiAgICBwcmVmZXJlbmNlUGVyc2lzdG9yPzogVHlwZTxCYXNlUHJlZmVyZW5jZXNQZXJzaXN0b3I+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2xhc3NlIGNoZSBzaSBkZXZlIG9jY3VwYXJlIHBlciBnZW5lcmFyZSB1biBJRCB1bml2b2NvIGRpIHNlc3Npb25lIGluIGJhc2UgYWwgcXVhbGUgdmVycmFubm8gc2FsdmF0ZSBsZSBwcmVmZXJlbnplXHJcbiAgICAgKi9cclxuICAgIHNlc3Npb25SZXRyaWV2ZXI/OiBUeXBlPEJhc2VTZXNzaW9uUmV0cmlldmVyPjtcclxufSJdfQ==
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJlZmVyZW5jZXNNb2R1bGVDb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVmZXJlbmNlcy9zcmMvbGliL21vZGVscy9QcmVmZXJlbmNlc01vZHVsZUNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQTs7R0FFRztBQUNILE1BQU0sT0FBTyx1QkFBdUI7Q0F5Qm5DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVHlwZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENhY2hlUGVyc2lzdG9yIH0gZnJvbSBcIi4uL3BlcnNpc3Rvci9iYXNlL0NhY2hlUGVyc2lzdG9yXCI7XHJcbmltcG9ydCB7IFByZWZlcmVuY2VzUGVyc2lzdG9yIH0gZnJvbSBcIi4uL3BlcnNpc3Rvci9iYXNlL1ByZWZlcmVuY2VzUGVyc2lzdG9yXCI7XHJcbmltcG9ydCB7IEJhc2VTZXNzaW9uUmV0cmlldmVyIH0gZnJvbSBcIi4uL3Nlc3Npb24vYmFzZS9CYXNlU2Vzc2lvblJldHJpZXZlclwiO1xyXG5cclxuLyoqXHJcbiAqIENsYXNzZSBkaSBDb25maWd1cmF6aW9uZSBwZXIgbGEgbGlicmVyaWFcclxuICovXHJcbmV4cG9ydCBjbGFzcyBQcmVmZXJlbmNlc01vZHVsZUNvbmZpZ3tcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYSBzZSByZWN1cGVyYXJlIGF1dG9ub21hbWVudGUgdHV0dGUgbGUgY29uZmlndXJhemlvbmkgc2FsdmF0ZSBhbCBib290c3RyYXAgZGVsbGEgbGlicmVyaWEgbyBzZSBhc3BldHRhcmUgbGUgcmljaGllc3RlIHNwZWNpZmljaGUuXHJcbiAgICAgKiBcclxuICAgICAqIFV0aWxlIHNlIG5vbiB2ZW5nb25vIHNhbHZhdGUgdGFudGUgY29zZSwgcG90cmViYmUgY3JlYXJlIHVuIG1vbWVudG8gZGkgaXJyZXNwb25zaXZpdMOgIHNlIGxlIGluZm8gZGEgcmVjdXBlcmFyZSBzb25vIG1vbHRlXHJcbiAgICAgKi9cclxuICAgIHJldHJpZXZlQWxsQXRTdGFydD86IGJvb2xlYW47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDbGFzc2UgY2hlIHNpIGRldmUgb2NjdXBhcmUgZGVsbG8gc3RvcmUgXCJEZWZpbml0aXZvXCIgZGVsbGUgcHJlZmVyZW56ZS4gRGkgZGVmYXVsdCB2aWVuZSBwcm9wb3N0byB1bm8gc3RvcmUgbGF0byBsb2NhbFN0b3JhZ2UgbWEgc2kgcHXDsiBmYWNpbG1lbnRlIFxyXG4gICAgICogZm9ybmlyZSB1bm8gc3RvcmFnZSBjaGUgcG9ydGEgbGUgaW5mb3JtYXppb25pIGxhdG8gRGF0YWJhc2VcclxuICAgICAqL1xyXG4gICAgcHJlZmVyZW5jZVBlcnNpc3Rvcj86IFR5cGU8UHJlZmVyZW5jZXNQZXJzaXN0b3I+O1xyXG5cclxuICAgICAvKipcclxuICAgICAqIENsYXNzZSBjaGUgc2kgZGV2ZSBvY2N1cGFyZSBkZWxsbyBzdG9yZSBcIkRlZmluaXRpdm9cIiBkZWxsZSBjYWNoZS4gRGkgZGVmYXVsdCB2aWVuZSBwcm9wb3N0byB1bm8gc3RvcmUgbGF0byBsb2NhbFN0b3JhZ2UgbWEgc2kgcHXDsiBmYWNpbG1lbnRlIFxyXG4gICAgICogZm9ybmlyZSB1bm8gc3RvcmFnZSBjaGUgcG9ydGEgbGUgaW5mb3JtYXppb25pIGxhdG8gRGF0YWJhc2VcclxuICAgICAqL1xyXG4gICAgY2FjaGVQZXJzaXN0b3I/OiBUeXBlPENhY2hlUGVyc2lzdG9yPjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIENsYXNzZSBjaGUgc2kgZGV2ZSBvY2N1cGFyZSBwZXIgZ2VuZXJhcmUgdW4gSUQgdW5pdm9jbyBkaSBzZXNzaW9uZSBpbiBiYXNlIGFsIHF1YWxlIHZlcnJhbm5vIHNhbHZhdGUgbGUgcHJlZmVyZW56ZVxyXG4gICAgICovXHJcbiAgICBzZXNzaW9uUmV0cmlldmVyPzogVHlwZTxCYXNlU2Vzc2lvblJldHJpZXZlcj47XHJcbn0iXX0=
@@ -0,0 +1,31 @@
1
+ import { forkJoin } from "rxjs";
2
+ import { map } from "rxjs/operators";
3
+ /** Classe astratta che rappresenta lo stato di persistenza fra la libreria e uno storage */
4
+ export class CachePersistor {
5
+ /** @ignore Costruttore */
6
+ constructor(session) {
7
+ this.session = session;
8
+ }
9
+ /**
10
+ * Effettua il **persist** massivo di una lista di Chiave - Valore
11
+ *
12
+ * @param {{ [key: string]: string }} dictionary Dizionario (lista di Chiave - Valore) da persistere
13
+ */
14
+ persistAll(dictionary) {
15
+ let observables = [];
16
+ for (let key in dictionary)
17
+ observables.push(this.persist(key, dictionary[key]));
18
+ return forkJoin(observables).pipe(map(res => res.reduce((acc, val) => acc && val, true)));
19
+ }
20
+ /**
21
+ * Ottiene la chiave "Reale" da utilizzare per la persistenza di una chiave generica
22
+ *
23
+ * @param {string} key Chiave da storicizzare
24
+ *
25
+ * @returns {string} Unione fra l'identificativo della sessione e la chiave specificata
26
+ */
27
+ getKey(key) {
28
+ return this.session.getSessionKey() + "§" + key + "§";
29
+ }
30
+ }
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FjaGVQZXJzaXN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVmZXJlbmNlcy9zcmMvbGliL3BlcnNpc3Rvci9iYXNlL0NhY2hlUGVyc2lzdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXJDLDRGQUE0RjtBQUM1RixNQUFNLE9BQWdCLGNBQWM7SUFFaEMsMEJBQTBCO0lBQzFCLFlBQXNCLE9BQTZCO1FBQTdCLFlBQU8sR0FBUCxPQUFPLENBQXNCO0lBQUcsQ0FBQztJQXFDdkQ7Ozs7T0FJRztJQUNJLFVBQVUsQ0FBQyxVQUFxQztRQUNuRCxJQUFJLFdBQVcsR0FBMEIsRUFBRSxDQUFDO1FBQzVDLEtBQUssSUFBSSxHQUFHLElBQUksVUFBVTtZQUN0QixXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFekQsT0FBTyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLEdBQVc7UUFDckIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDO0lBQzFELENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIGZvcmtKb2luIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7IEJhc2VTZXNzaW9uUmV0cmlldmVyIH0gZnJvbSBcIi4uLy4uL3Nlc3Npb24vYmFzZS9CYXNlU2Vzc2lvblJldHJpZXZlclwiO1xyXG5pbXBvcnQgeyBJQmFzZVBlcnNpc3RvciB9IGZyb20gXCIuL0lCYXNlUGVyc2lzdG9yXCI7XHJcblxyXG4vKiogQ2xhc3NlIGFzdHJhdHRhIGNoZSByYXBwcmVzZW50YSBsbyBzdGF0byBkaSBwZXJzaXN0ZW56YSBmcmEgbGEgbGlicmVyaWEgZSB1bm8gc3RvcmFnZSAqL1xyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ2FjaGVQZXJzaXN0b3IgaW1wbGVtZW50cyBJQmFzZVBlcnNpc3RvciB7XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgQ29zdHJ1dHRvcmUgKi9cclxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBzZXNzaW9uOiBCYXNlU2Vzc2lvblJldHJpZXZlcikge31cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNhbHZhLCBwZXIgdW5hIHNlc3Npb25lLCB1bmEgY2hpYXZlIGNvbiB1biB2YWxvcmVcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBDaGlhdmUgZGEgc3RvcmljaXp6YXJlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhYnN0cmFjdCBwZXJzaXN0PFQ+KGtleTogc3RyaW5nLCBpdGVtOiBUKTogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlY3VwZXJhLCBwZXIgdW5hIHNlc3Npb25lLCBpbCB2YWxvcmUgYXNzZWduYXRvIGFkIHVuYSBjaGlhdmVcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBDaGlhdmUgZGEgcmVjdXBlcmFyZVxyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxUPn0gVmFsb3JlIHNhbHZhdG8gcGVyIGxhIGNoaWF2ZSAqKmtleSoqXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhYnN0cmFjdCByZWNvdmVyPFQ+KGtleT86IHN0cmluZyk6IE9ic2VydmFibGU8VD47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQZXIgdW5hIHNlc3Npb25lIHJlY3VwZXJhIHR1dHRlIGxlIGNvcHBpZSBDaGlhdmUgLSBWYWxvcmUgc2FsdmF0ZVxyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTx7IFtpbmRleDogc3RyaW5nXTogYW55IH0+fSBEaXppb25hcmlvIGNvbiB0dXR0ZSBsZSBwcmVmZXJlbmNlIHNhbHZhdGUgcGVyIGxhIHNlc3Npb25lXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhYnN0cmFjdCByZWNvdmVyQWxsKCk6IE9ic2VydmFibGU8eyBbaW5kZXg6IHN0cmluZ106IGFueSB9PjtcclxuXHJcbiAgICAvKipcclxuICAgICAqICBSaXB1bGlzY2UgbGUgcHJlZmVyZW5jZSBzYWx2YXRlIHJlbGF0aXZlIGFkIHVuYSBzZXNzaW9uZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYWJzdHJhY3QgY2xlYXIoKTogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEVsaW1pbmEgdW4gb2dnZXR0byBkYWxsYSBjYWNoZSBwZXJzaXN0aXRhXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgQ2hpYXZlIGRhIHJpbXVvdmVyZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYWJzdHJhY3QgcmVtb3ZlKGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEVmZmV0dHVhIGlsICoqcGVyc2lzdCoqIG1hc3Npdm8gZGkgdW5hIGxpc3RhIGRpIENoaWF2ZSAtIFZhbG9yZVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge3sgW2tleTogc3RyaW5nXTogc3RyaW5nIH19IGRpY3Rpb25hcnkgRGl6aW9uYXJpbyAobGlzdGEgZGkgQ2hpYXZlIC0gVmFsb3JlKSBkYSBwZXJzaXN0ZXJlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBwZXJzaXN0QWxsKGRpY3Rpb25hcnk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0pOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgICAgICBsZXQgb2JzZXJ2YWJsZXM6IE9ic2VydmFibGU8Ym9vbGVhbj5bXSA9IFtdO1xyXG4gICAgICAgIGZvciAobGV0IGtleSBpbiBkaWN0aW9uYXJ5KVxyXG4gICAgICAgICAgICBvYnNlcnZhYmxlcy5wdXNoKHRoaXMucGVyc2lzdChrZXksIGRpY3Rpb25hcnlba2V5XSkpO1xyXG5cclxuICAgICAgICByZXR1cm4gZm9ya0pvaW4ob2JzZXJ2YWJsZXMpLnBpcGUobWFwKHJlcyA9PiByZXMucmVkdWNlKChhY2MsIHZhbCkgPT4gYWNjICYmIHZhbCwgdHJ1ZSkpKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE90dGllbmUgbGEgY2hpYXZlIFwiUmVhbGVcIiBkYSB1dGlsaXp6YXJlIHBlciBsYSBwZXJzaXN0ZW56YSBkaSB1bmEgY2hpYXZlIGdlbmVyaWNhXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgQ2hpYXZlIGRhIHN0b3JpY2l6emFyZVxyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBVbmlvbmUgZnJhIGwnaWRlbnRpZmljYXRpdm8gZGVsbGEgc2Vzc2lvbmUgZSBsYSBjaGlhdmUgc3BlY2lmaWNhdGFcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldEtleShrZXk6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc2Vzc2lvbi5nZXRTZXNzaW9uS2V5KCkgKyBcIsKnXCIgKyBrZXkgKyBcIsKnXCI7XHJcbiAgICB9XHJcbn0iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUJhc2VQZXJzaXN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVmZXJlbmNlcy9zcmMvbGliL3BlcnNpc3Rvci9iYXNlL0lCYXNlUGVyc2lzdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbi8qKlxyXG4gKiBDbGFzc2UgYXN0cmF0dGEgY2hlIHJhcHByZXNlbnRhIGxvIHN0YXRvIGRpIHBlcnNpc3RlbnphIGZyYSBsYSBsaWJyZXJpYSBlIHVubyBzdG9yYWdlXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIElCYXNlUGVyc2lzdG9yIHtcclxuICAgIHBlcnNpc3Q8VD4oa2V5OiBzdHJpbmcsIGl0ZW06IFQpOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgcmVjb3ZlcjxUPihrZXk/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFQ+O1xyXG4gICAgcmVjb3ZlckFsbCgpOiBPYnNlcnZhYmxlPHsgW2luZGV4OiBzdHJpbmddOiBhbnkgfT47XHJcbiAgICBjbGVhcigpOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgcmVtb3ZlKGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICAgIHBlcnNpc3RBbGwoZGljdGlvbmFyeTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSk6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICBnZXRLZXkoa2V5OiBzdHJpbmcpOiBzdHJpbmc7XHJcbn0iXX0=
@@ -0,0 +1,33 @@
1
+ import { forkJoin } from "rxjs";
2
+ import { map } from "rxjs/operators";
3
+ /**
4
+ * Classe astratta che rappresenta lo stato di persistenza fra la libreria e uno storage
5
+ */
6
+ export class PreferencesPersistor {
7
+ /** @ignore Costruttore */
8
+ constructor(session) {
9
+ this.session = session;
10
+ }
11
+ /**
12
+ * Effettua il **persist** massivo di una lista di Chiave - Valore
13
+ *
14
+ * @param {{ [key: string]: string }} dictionary Dizionario (lista di Chiave - Valore) da persistere
15
+ */
16
+ persistAll(dictionary) {
17
+ let observables = [];
18
+ for (let key in dictionary)
19
+ observables.push(this.persist(key, dictionary[key]));
20
+ return forkJoin(observables).pipe(map(res => res.reduce((acc, val) => acc && val, true)));
21
+ }
22
+ /**
23
+ * Ottiene la chiave "Reale" da utilizzare per la persistenza di una chiave generica
24
+ *
25
+ * @param {string} key Chiave da storicizzare
26
+ *
27
+ * @returns {string} Unione fra l'identificativo della sessione e la chiave specificata
28
+ */
29
+ getKey(key) {
30
+ return this.session.getSessionKey() + "§" + key + "§";
31
+ }
32
+ }
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJlZmVyZW5jZXNQZXJzaXN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVmZXJlbmNlcy9zcmMvbGliL3BlcnNpc3Rvci9iYXNlL1ByZWZlcmVuY2VzUGVyc2lzdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXJDOztHQUVHO0FBQ0gsTUFBTSxPQUFnQixvQkFBb0I7SUFFdEMsMEJBQTBCO0lBQzFCLFlBQXNCLE9BQTZCO1FBQTdCLFlBQU8sR0FBUCxPQUFPLENBQXNCO0lBQUcsQ0FBQztJQXFDdkQ7Ozs7T0FJRztJQUNJLFVBQVUsQ0FBQyxVQUFxQztRQUNuRCxJQUFJLFdBQVcsR0FBMEIsRUFBRSxDQUFDO1FBQzVDLEtBQUssSUFBSSxHQUFHLElBQUksVUFBVTtZQUN0QixXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFekQsT0FBTyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLEdBQVc7UUFDckIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDO0lBQzFELENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIGZvcmtKb2luIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7IEJhc2VTZXNzaW9uUmV0cmlldmVyIH0gZnJvbSBcIi4uLy4uL3Nlc3Npb24vYmFzZS9CYXNlU2Vzc2lvblJldHJpZXZlclwiO1xyXG5pbXBvcnQgeyBJQmFzZVBlcnNpc3RvciB9IGZyb20gXCIuL0lCYXNlUGVyc2lzdG9yXCI7XHJcblxyXG4vKipcclxuICogQ2xhc3NlIGFzdHJhdHRhIGNoZSByYXBwcmVzZW50YSBsbyBzdGF0byBkaSBwZXJzaXN0ZW56YSBmcmEgbGEgbGlicmVyaWEgZSB1bm8gc3RvcmFnZVxyXG4gKi9cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFByZWZlcmVuY2VzUGVyc2lzdG9yIGltcGxlbWVudHMgSUJhc2VQZXJzaXN0b3Ige1xyXG5cclxuICAgIC8qKiBAaWdub3JlIENvc3RydXR0b3JlICovXHJcbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgc2Vzc2lvbjogQmFzZVNlc3Npb25SZXRyaWV2ZXIpIHt9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTYWx2YSwgcGVyIHVuYSBzZXNzaW9uZSwgdW5hIGNoaWF2ZSBjb24gdW4gdmFsb3JlXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgQ2hpYXZlIGRhIHN0b3JpY2l6emFyZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYWJzdHJhY3QgcGVyc2lzdDxUPihrZXk6IHN0cmluZywgaXRlbTogVCk6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZWN1cGVyYSwgcGVyIHVuYSBzZXNzaW9uZSwgaWwgdmFsb3JlIGFzc2VnbmF0byBhZCB1bmEgY2hpYXZlXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgQ2hpYXZlIGRhIHJlY3VwZXJhcmVcclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMge09ic2VydmFibGU8VD59IFZhbG9yZSBzYWx2YXRvIHBlciBsYSBjaGlhdmUgKiprZXkqKlxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYWJzdHJhY3QgcmVjb3ZlcjxUPihrZXk/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFQ+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUGVyIHVuYSBzZXNzaW9uZSByZWN1cGVyYSB0dXR0ZSBsZSBjb3BwaWUgQ2hpYXZlIC0gVmFsb3JlIHNhbHZhdGVcclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMge09ic2VydmFibGU8eyBbaW5kZXg6IHN0cmluZ106IGFueSB9Pn0gRGl6aW9uYXJpbyBjb24gdHV0dGUgbGUgcHJlZmVyZW5jZSBzYWx2YXRlIHBlciBsYSBzZXNzaW9uZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYWJzdHJhY3QgcmVjb3ZlckFsbCgpOiBPYnNlcnZhYmxlPHsgW2luZGV4OiBzdHJpbmddOiBhbnkgfT47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiAgUmlwdWxpc2NlIGxlIHByZWZlcmVuY2Ugc2FsdmF0ZSByZWxhdGl2ZSBhZCB1bmEgc2Vzc2lvbmVcclxuICAgICAqL1xyXG4gICAgcHVibGljIGFic3RyYWN0IGNsZWFyKCk6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFbGltaW5hIHVuIG9nZ2V0dG8gZGFsbGEgY2FjaGUgcGVyc2lzdGl0YVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IENoaWF2ZSBkYSByaW11b3ZlcmVcclxuICAgICAqL1xyXG4gICAgcHVibGljIGFic3RyYWN0IHJlbW92ZShrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFZmZldHR1YSBpbCAqKnBlcnNpc3QqKiBtYXNzaXZvIGRpIHVuYSBsaXN0YSBkaSBDaGlhdmUgLSBWYWxvcmVcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHt7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9fSBkaWN0aW9uYXJ5IERpemlvbmFyaW8gKGxpc3RhIGRpIENoaWF2ZSAtIFZhbG9yZSkgZGEgcGVyc2lzdGVyZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcGVyc2lzdEFsbChkaWN0aW9uYXJ5OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9KTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICAgICAgbGV0IG9ic2VydmFibGVzOiBPYnNlcnZhYmxlPGJvb2xlYW4+W10gPSBbXTtcclxuICAgICAgICBmb3IgKGxldCBrZXkgaW4gZGljdGlvbmFyeSlcclxuICAgICAgICAgICAgb2JzZXJ2YWJsZXMucHVzaCh0aGlzLnBlcnNpc3Qoa2V5LCBkaWN0aW9uYXJ5W2tleV0pKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIGZvcmtKb2luKG9ic2VydmFibGVzKS5waXBlKG1hcChyZXMgPT4gcmVzLnJlZHVjZSgoYWNjLCB2YWwpID0+IGFjYyAmJiB2YWwsIHRydWUpKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBPdHRpZW5lIGxhIGNoaWF2ZSBcIlJlYWxlXCIgZGEgdXRpbGl6emFyZSBwZXIgbGEgcGVyc2lzdGVuemEgZGkgdW5hIGNoaWF2ZSBnZW5lcmljYVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IENoaWF2ZSBkYSBzdG9yaWNpenphcmVcclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMge3N0cmluZ30gVW5pb25lIGZyYSBsJ2lkZW50aWZpY2F0aXZvIGRlbGxhIHNlc3Npb25lIGUgbGEgY2hpYXZlIHNwZWNpZmljYXRhXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRLZXkoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlc3Npb24uZ2V0U2Vzc2lvbktleSgpICsgXCLCp1wiICsga2V5ICsgXCLCp1wiO1xyXG4gICAgfVxyXG59Il19
@@ -0,0 +1,52 @@
1
+ // Angular
2
+ import { Injectable } from "@angular/core";
3
+ // Classi
4
+ import { BaseSessionRetriever } from "../../session/base/BaseSessionRetriever";
5
+ import { CachePersistor } from "../base/CachePersistor";
6
+ // RXJS
7
+ import { of } from "rxjs";
8
+ import { first } from "rxjs/operators";
9
+ export class LocalStorageCachePersistor extends CachePersistor {
10
+ constructor(session) {
11
+ super(session);
12
+ }
13
+ /** @ignore Vedi classe base */
14
+ persist(key, item) {
15
+ localStorage.setItem(this.getKey(key), JSON.stringify(item));
16
+ return of(true).pipe(first());
17
+ }
18
+ /** @ignore Vedi classe base */
19
+ recover(key) {
20
+ var ret = JSON.parse(localStorage.getItem(this.getKey(key)));
21
+ return of(ret).pipe(first());
22
+ }
23
+ /** @ignore Vedi classe base */
24
+ remove(key) {
25
+ var ret = localStorage.removeItem(this.getKey(key));
26
+ return of(true).pipe(first());
27
+ }
28
+ /** @ignore Vedi classe base */
29
+ recoverAll() {
30
+ var ret = {};
31
+ for (var k in localStorage) {
32
+ if (k.includes("§") && k.startsWith(this.session.getSessionKey()))
33
+ ret[k.match(/§(.*)§/)[1]] = JSON.parse(localStorage.getItem(k));
34
+ }
35
+ return of(ret).pipe(first());
36
+ }
37
+ /** @ignore Vedi classe base */
38
+ clear() {
39
+ for (var k in localStorage) {
40
+ if (k.includes("§") && k.startsWith(this.session.getSessionKey()))
41
+ localStorage.removeItem(k);
42
+ }
43
+ return of(true).pipe(first());
44
+ }
45
+ }
46
+ LocalStorageCachePersistor.decorators = [
47
+ { type: Injectable }
48
+ ];
49
+ LocalStorageCachePersistor.ctorParameters = () => [
50
+ { type: BaseSessionRetriever }
51
+ ];
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9jYWxTdG9yYWdlQ2FjaGVQZXJzaXN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVmZXJlbmNlcy9zcmMvbGliL3BlcnNpc3Rvci9pbXBsZW1lbnRhdGlvbi9Mb2NhbFN0b3JhZ2VDYWNoZVBlcnNpc3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxTQUFTO0FBQ1QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBR3hELE9BQU87QUFDUCxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd2QyxNQUFNLE9BQU8sMEJBQTJCLFNBQVEsY0FBYztJQUUxRCxZQUFZLE9BQTZCO1FBQ3JDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBRUQsK0JBQStCO0lBQ3hCLE9BQU8sQ0FBSSxHQUFXLEVBQUUsSUFBTztRQUNsQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzdELE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCwrQkFBK0I7SUFDeEIsT0FBTyxDQUFJLEdBQVc7UUFDekIsSUFBSSxHQUFHLEdBQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hFLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCwrQkFBK0I7SUFDeEIsTUFBTSxDQUFDLEdBQVc7UUFDckIsSUFBSSxHQUFHLEdBQUcsWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDcEQsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELCtCQUErQjtJQUN4QixVQUFVO1FBQ2IsSUFBSSxHQUFHLEdBQWlDLEVBQUUsQ0FBQztRQUMzQyxLQUFLLElBQUksQ0FBQyxJQUFJLFlBQVksRUFBRTtZQUN4QixJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUM3RCxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3ZFO1FBRUQsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELCtCQUErQjtJQUN4QixLQUFLO1FBQ1IsS0FBSyxJQUFJLENBQUMsSUFBSSxZQUFZLEVBQUU7WUFDeEIsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDN0QsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNsQztRQUNELE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7OztZQTNDSixVQUFVOzs7WUFSRixvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLy8gQ2xhc3NpXHJcbmltcG9ydCB7IEJhc2VTZXNzaW9uUmV0cmlldmVyIH0gZnJvbSBcIi4uLy4uL3Nlc3Npb24vYmFzZS9CYXNlU2Vzc2lvblJldHJpZXZlclwiO1xyXG5pbXBvcnQgeyBDYWNoZVBlcnNpc3RvciB9IGZyb20gXCIuLi9iYXNlL0NhY2hlUGVyc2lzdG9yXCI7XHJcbmltcG9ydCB7IElCYXNlUGVyc2lzdG9yIH0gZnJvbSBcIi4uL2Jhc2UvSUJhc2VQZXJzaXN0b3JcIjtcclxuXHJcbi8vIFJYSlNcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgTG9jYWxTdG9yYWdlQ2FjaGVQZXJzaXN0b3IgZXh0ZW5kcyBDYWNoZVBlcnNpc3RvciBpbXBsZW1lbnRzIElCYXNlUGVyc2lzdG9yIHtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihzZXNzaW9uOiBCYXNlU2Vzc2lvblJldHJpZXZlcikge1xyXG4gICAgICAgIHN1cGVyKHNlc3Npb24pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAaWdub3JlIFZlZGkgY2xhc3NlIGJhc2UgKi9cclxuICAgIHB1YmxpYyBwZXJzaXN0PFQ+KGtleTogc3RyaW5nLCBpdGVtOiBUKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5nZXRLZXkoa2V5KSwgSlNPTi5zdHJpbmdpZnkoaXRlbSkpO1xyXG4gICAgICAgIHJldHVybiBvZih0cnVlKS5waXBlKGZpcnN0KCkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAaWdub3JlIFZlZGkgY2xhc3NlIGJhc2UgKi9cclxuICAgIHB1YmxpYyByZWNvdmVyPFQ+KGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICAgICAgdmFyIHJldCA9IDxUPkpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5nZXRLZXkoa2V5KSkpO1xyXG4gICAgICAgIHJldHVybiBvZihyZXQpLnBpcGUoZmlyc3QoKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgVmVkaSBjbGFzc2UgYmFzZSAqL1xyXG4gICAgcHVibGljIHJlbW92ZShrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgICAgIHZhciByZXQgPSBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLmdldEtleShrZXkpKTtcclxuICAgICAgICByZXR1cm4gb2YodHJ1ZSkucGlwZShmaXJzdCgpKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogQGlnbm9yZSBWZWRpIGNsYXNzZSBiYXNlICovXHJcbiAgICBwdWJsaWMgcmVjb3ZlckFsbCgpOiBPYnNlcnZhYmxlPHsgW2luZGV4OiBzdHJpbmddOiBhbnk7IH0+IHtcclxuICAgICAgICB2YXIgcmV0OiB7IFtpbmRleDogc3RyaW5nXTogc3RyaW5nOyB9ID0ge307XHJcbiAgICAgICAgZm9yICh2YXIgayBpbiBsb2NhbFN0b3JhZ2UpIHtcclxuICAgICAgICAgICAgaWYgKGsuaW5jbHVkZXMoXCLCp1wiKSAmJiBrLnN0YXJ0c1dpdGgodGhpcy5zZXNzaW9uLmdldFNlc3Npb25LZXkoKSkpXHJcbiAgICAgICAgICAgICAgICByZXRbay5tYXRjaCgvwqcoLiopwqcvKVsxXV0gPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKGspKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBvZihyZXQpLnBpcGUoZmlyc3QoKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgVmVkaSBjbGFzc2UgYmFzZSAqL1xyXG4gICAgcHVibGljIGNsZWFyKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgICAgIGZvciAodmFyIGsgaW4gbG9jYWxTdG9yYWdlKSB7XHJcbiAgICAgICAgICAgIGlmIChrLmluY2x1ZGVzKFwiwqdcIikgJiYgay5zdGFydHNXaXRoKHRoaXMuc2Vzc2lvbi5nZXRTZXNzaW9uS2V5KCkpKVxyXG4gICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oayk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBvZih0cnVlKS5waXBlKGZpcnN0KCkpO1xyXG4gICAgfVxyXG59XHJcblxyXG4iXX0=
@@ -0,0 +1,52 @@
1
+ // Angular
2
+ import { Injectable } from "@angular/core";
3
+ // RXJS
4
+ import { of } from "rxjs";
5
+ import { first } from "rxjs/operators";
6
+ // Classi
7
+ import { BaseSessionRetriever } from "../../session/base/BaseSessionRetriever";
8
+ import { PreferencesPersistor } from "../base/PreferencesPersistor";
9
+ export class LocalStoragePreferencesPersistor extends PreferencesPersistor {
10
+ constructor(session) {
11
+ super(session);
12
+ }
13
+ /** @ignore Vedi classe base */
14
+ persist(key, item) {
15
+ localStorage.setItem(this.getKey(key), JSON.stringify(item));
16
+ return of(true).pipe(first());
17
+ }
18
+ /** @ignore Vedi classe base */
19
+ recover(key) {
20
+ var ret = JSON.parse(localStorage.getItem(this.getKey(key)));
21
+ return of(ret).pipe(first());
22
+ }
23
+ /** @ignore Vedi classe base */
24
+ remove(key) {
25
+ var ret = localStorage.removeItem(this.getKey(key));
26
+ return of(true).pipe(first());
27
+ }
28
+ /** @ignore Vedi classe base */
29
+ recoverAll() {
30
+ var ret = {};
31
+ for (var k in localStorage) {
32
+ if (k.includes("§") && k.startsWith(this.session.getSessionKey()))
33
+ ret[k.match(/§(.*)§/)[1]] = JSON.parse(localStorage.getItem(k));
34
+ }
35
+ return of(ret).pipe(first());
36
+ }
37
+ /** @ignore Vedi classe base */
38
+ clear() {
39
+ for (var k in localStorage) {
40
+ if (k.includes("§") && k.startsWith(this.session.getSessionKey()))
41
+ localStorage.removeItem(k);
42
+ }
43
+ return of(true).pipe(first());
44
+ }
45
+ }
46
+ LocalStoragePreferencesPersistor.decorators = [
47
+ { type: Injectable }
48
+ ];
49
+ LocalStoragePreferencesPersistor.ctorParameters = () => [
50
+ { type: BaseSessionRetriever }
51
+ ];
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9jYWxTdG9yYWdlUHJlZmVyZW5jZXNQZXJzaXN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVmZXJlbmNlcy9zcmMvbGliL3BlcnNpc3Rvci9pbXBsZW1lbnRhdGlvbi9Mb2NhbFN0b3JhZ2VQcmVmZXJlbmNlc1BlcnNpc3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPO0FBQ1AsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdkMsU0FBUztBQUNULE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBSXBFLE1BQU0sT0FBTyxnQ0FBaUMsU0FBUSxvQkFBb0I7SUFFdEUsWUFBWSxPQUE2QjtRQUNyQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkIsQ0FBQztJQUVELCtCQUErQjtJQUN4QixPQUFPLENBQUksR0FBVyxFQUFFLElBQU87UUFDbEMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUM3RCxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsK0JBQStCO0lBQ3hCLE9BQU8sQ0FBSSxHQUFXO1FBQ3pCLElBQUksR0FBRyxHQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRSxPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsK0JBQStCO0lBQ3hCLE1BQU0sQ0FBQyxHQUFXO1FBQ3JCLElBQUksR0FBRyxHQUFHLFlBQVksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3BELE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCwrQkFBK0I7SUFDeEIsVUFBVTtRQUNiLElBQUksR0FBRyxHQUFpQyxFQUFFLENBQUM7UUFDM0MsS0FBSyxJQUFJLENBQUMsSUFBSSxZQUFZLEVBQUU7WUFDeEIsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDN0QsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN2RTtRQUVELE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCwrQkFBK0I7SUFDeEIsS0FBSztRQUNSLEtBQUssSUFBSSxDQUFDLElBQUksWUFBWSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQzdELFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDbEM7UUFDRCxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNsQyxDQUFDOzs7WUEzQ0osVUFBVTs7O1lBSkYsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQW5ndWxhclxyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbi8vIFJYSlNcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5cclxuLy8gQ2xhc3NpXHJcbmltcG9ydCB7IEJhc2VTZXNzaW9uUmV0cmlldmVyIH0gZnJvbSBcIi4uLy4uL3Nlc3Npb24vYmFzZS9CYXNlU2Vzc2lvblJldHJpZXZlclwiO1xyXG5pbXBvcnQgeyBQcmVmZXJlbmNlc1BlcnNpc3RvciB9IGZyb20gXCIuLi9iYXNlL1ByZWZlcmVuY2VzUGVyc2lzdG9yXCI7XHJcbmltcG9ydCB7IElCYXNlUGVyc2lzdG9yIH0gZnJvbSBcIi4uL2Jhc2UvSUJhc2VQZXJzaXN0b3JcIjtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIExvY2FsU3RvcmFnZVByZWZlcmVuY2VzUGVyc2lzdG9yIGV4dGVuZHMgUHJlZmVyZW5jZXNQZXJzaXN0b3IgaW1wbGVtZW50cyBJQmFzZVBlcnNpc3RvciB7XHJcblxyXG4gICAgY29uc3RydWN0b3Ioc2Vzc2lvbjogQmFzZVNlc3Npb25SZXRyaWV2ZXIpIHtcclxuICAgICAgICBzdXBlcihzZXNzaW9uKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogQGlnbm9yZSBWZWRpIGNsYXNzZSBiYXNlICovXHJcbiAgICBwdWJsaWMgcGVyc2lzdDxUPihrZXk6IHN0cmluZywgaXRlbTogVCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuZ2V0S2V5KGtleSksIEpTT04uc3RyaW5naWZ5KGl0ZW0pKTtcclxuICAgICAgICByZXR1cm4gb2YodHJ1ZSkucGlwZShmaXJzdCgpKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogQGlnbm9yZSBWZWRpIGNsYXNzZSBiYXNlICovXHJcbiAgICBwdWJsaWMgcmVjb3ZlcjxUPihrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8VD4ge1xyXG4gICAgICAgIHZhciByZXQgPSA8VD5KU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuZ2V0S2V5KGtleSkpKTtcclxuICAgICAgICByZXR1cm4gb2YocmV0KS5waXBlKGZpcnN0KCkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAaWdub3JlIFZlZGkgY2xhc3NlIGJhc2UgKi9cclxuICAgIHB1YmxpYyByZW1vdmUoa2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgICAgICB2YXIgcmV0ID0gbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0odGhpcy5nZXRLZXkoa2V5KSk7XHJcbiAgICAgICAgcmV0dXJuIG9mKHRydWUpLnBpcGUoZmlyc3QoKSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgVmVkaSBjbGFzc2UgYmFzZSAqL1xyXG4gICAgcHVibGljIHJlY292ZXJBbGwoKTogT2JzZXJ2YWJsZTx7IFtpbmRleDogc3RyaW5nXTogYW55OyB9PiB7XHJcbiAgICAgICAgdmFyIHJldDogeyBbaW5kZXg6IHN0cmluZ106IHN0cmluZzsgfSA9IHt9O1xyXG4gICAgICAgIGZvciAodmFyIGsgaW4gbG9jYWxTdG9yYWdlKSB7XHJcbiAgICAgICAgICAgIGlmIChrLmluY2x1ZGVzKFwiwqdcIikgJiYgay5zdGFydHNXaXRoKHRoaXMuc2Vzc2lvbi5nZXRTZXNzaW9uS2V5KCkpKVxyXG4gICAgICAgICAgICAgICAgcmV0W2subWF0Y2goL8KnKC4qKcKnLylbMV1dID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShrKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gb2YocmV0KS5waXBlKGZpcnN0KCkpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAaWdub3JlIFZlZGkgY2xhc3NlIGJhc2UgKi9cclxuICAgIHB1YmxpYyBjbGVhcigpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgICAgICBmb3IgKHZhciBrIGluIGxvY2FsU3RvcmFnZSkge1xyXG4gICAgICAgICAgICBpZiAoay5pbmNsdWRlcyhcIsKnXCIpICYmIGsuc3RhcnRzV2l0aCh0aGlzLnNlc3Npb24uZ2V0U2Vzc2lvbktleSgpKSlcclxuICAgICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGspO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gb2YodHJ1ZSkucGlwZShmaXJzdCgpKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,17 +1,22 @@
1
1
  import { NgModule } from '@angular/core';
2
- import { BasePreferencesPersistor } from './persistor/base/BasePreferencesPersistor';
3
- import { LocalStoragePersistor } from './persistor/implementation/LocalStoragePersistor';
2
+ import { CacheService } from './services/cache.service';
3
+ import { PreferencesService } from './services/preferences.service';
4
4
  import { BaseSessionRetriever } from './session/base/BaseSessionRetriever';
5
5
  import { DefaultSessionRetriever } from './session/implementation/DefaultSessionRetriever';
6
- import { PreferencesService } from './preferences.service';
7
6
  import { PREF_FULL_RETRIEVE_AT_START } from './tokens';
7
+ import { CachePersistor } from './persistor/base/CachePersistor';
8
+ import { PreferencesPersistor } from './persistor/base/PreferencesPersistor';
9
+ import { LocalStorageCachePersistor } from './persistor/implementation/LocalStorageCachePersistor';
10
+ import { LocalStoragePreferencesPersistor } from './persistor/implementation/LocalStoragePreferencesPersistor';
8
11
  export class PreferencesModule {
9
12
  static forRoot(config) {
10
13
  return {
11
14
  ngModule: PreferencesModule,
12
15
  providers: [
16
+ CacheService,
13
17
  PreferencesService,
14
- { provide: BasePreferencesPersistor, useClass: (config === null || config === void 0 ? void 0 : config.preferencePersistor) || LocalStoragePersistor },
18
+ { provide: PreferencesPersistor, useClass: (config === null || config === void 0 ? void 0 : config.preferencePersistor) || LocalStoragePreferencesPersistor },
19
+ { provide: CachePersistor, useClass: (config === null || config === void 0 ? void 0 : config.cachePersistor) || LocalStorageCachePersistor },
15
20
  { provide: BaseSessionRetriever, useClass: (config === null || config === void 0 ? void 0 : config.sessionRetriever) || DefaultSessionRetriever },
16
21
  { provide: PREF_FULL_RETRIEVE_AT_START, useValue: (config === null || config === void 0 ? void 0 : config.retrieveAllAtStart) || true }
17
22
  ]
@@ -21,4 +26,4 @@ export class PreferencesModule {
21
26
  PreferencesModule.decorators = [
22
27
  { type: NgModule }
23
28
  ];
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZmVyZW5jZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlZmVyZW5jZXMvc3JjL2xpYi9wcmVmZXJlbmNlcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUl6QyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNyRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN6RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFHdkQsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixNQUFNLENBQUMsT0FBTyxDQUFDLE1BQWdDO1FBQzdDLE9BQU87WUFDTCxRQUFRLEVBQUUsaUJBQWlCO1lBQzNCLFNBQVMsRUFBRTtnQkFDVCxrQkFBa0I7Z0JBQ2xCLEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLFFBQVEsRUFBRSxDQUFBLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxtQkFBbUIsS0FBSSxxQkFBcUIsRUFBRTtnQkFDckcsRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsUUFBUSxFQUFFLENBQUEsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLGdCQUFnQixLQUFJLHVCQUF1QixFQUFFO2dCQUNoRyxFQUFFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxRQUFRLEVBQUUsQ0FBQSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsa0JBQWtCLEtBQUksSUFBSSxFQUFFO2FBQ3ZGO1NBQ0YsQ0FBQztJQUNKLENBQUM7OztZQVpGLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXG5pbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vLyBNb2RlbGxpXG5pbXBvcnQgeyBQcmVmZXJlbmNlc01vZHVsZUNvbmZpZyB9IGZyb20gJy4vbW9kZWxzL1ByZWZlcmVuY2VzTW9kdWxlQ29uZmlnJztcbmltcG9ydCB7IEJhc2VQcmVmZXJlbmNlc1BlcnNpc3RvciB9IGZyb20gJy4vcGVyc2lzdG9yL2Jhc2UvQmFzZVByZWZlcmVuY2VzUGVyc2lzdG9yJztcbmltcG9ydCB7IExvY2FsU3RvcmFnZVBlcnNpc3RvciB9IGZyb20gJy4vcGVyc2lzdG9yL2ltcGxlbWVudGF0aW9uL0xvY2FsU3RvcmFnZVBlcnNpc3Rvcic7XG5pbXBvcnQgeyBCYXNlU2Vzc2lvblJldHJpZXZlciB9IGZyb20gJy4vc2Vzc2lvbi9iYXNlL0Jhc2VTZXNzaW9uUmV0cmlldmVyJztcbmltcG9ydCB7IERlZmF1bHRTZXNzaW9uUmV0cmlldmVyIH0gZnJvbSAnLi9zZXNzaW9uL2ltcGxlbWVudGF0aW9uL0RlZmF1bHRTZXNzaW9uUmV0cmlldmVyJztcbmltcG9ydCB7IFByZWZlcmVuY2VzU2VydmljZSB9IGZyb20gJy4vcHJlZmVyZW5jZXMuc2VydmljZSc7XG5pbXBvcnQgeyBQUkVGX0ZVTExfUkVUUklFVkVfQVRfU1RBUlQgfSBmcm9tICcuL3Rva2Vucyc7XG5cbkBOZ01vZHVsZSgpXG5leHBvcnQgY2xhc3MgUHJlZmVyZW5jZXNNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChjb25maWc/OiBQcmVmZXJlbmNlc01vZHVsZUNvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8UHJlZmVyZW5jZXNNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IFByZWZlcmVuY2VzTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIFByZWZlcmVuY2VzU2VydmljZSxcbiAgICAgICAgeyBwcm92aWRlOiBCYXNlUHJlZmVyZW5jZXNQZXJzaXN0b3IsIHVzZUNsYXNzOiBjb25maWc/LnByZWZlcmVuY2VQZXJzaXN0b3IgfHwgTG9jYWxTdG9yYWdlUGVyc2lzdG9yIH0sXG4gICAgICAgIHsgcHJvdmlkZTogQmFzZVNlc3Npb25SZXRyaWV2ZXIsIHVzZUNsYXNzOiBjb25maWc/LnNlc3Npb25SZXRyaWV2ZXIgfHwgRGVmYXVsdFNlc3Npb25SZXRyaWV2ZXIgfSxcbiAgICAgICAgeyBwcm92aWRlOiBQUkVGX0ZVTExfUkVUUklFVkVfQVRfU1RBUlQsIHVzZVZhbHVlOiBjb25maWc/LnJldHJpZXZlQWxsQXRTdGFydCB8fCB0cnVlIH1cbiAgICAgIF1cbiAgICB9O1xuICB9XG59Il19
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZmVyZW5jZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlZmVyZW5jZXMvc3JjL2xpYi9wcmVmZXJlbmNlcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUl6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDM0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDM0YsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNuRyxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUcvRyxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBZ0M7UUFDN0MsT0FBTztZQUNMLFFBQVEsRUFBRSxpQkFBaUI7WUFDM0IsU0FBUyxFQUFFO2dCQUNULFlBQVk7Z0JBQ1osa0JBQWtCO2dCQUNsQixFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxRQUFRLEVBQUUsQ0FBQSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsbUJBQW1CLEtBQUksZ0NBQWdDLEVBQUU7Z0JBQzVHLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsQ0FBQSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsY0FBYyxLQUFJLDBCQUEwQixFQUFFO2dCQUMzRixFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxRQUFRLEVBQUUsQ0FBQSxNQUFNLGFBQU4sTUFBTSx1QkFBTixNQUFNLENBQUUsZ0JBQWdCLEtBQUksdUJBQXVCLEVBQUU7Z0JBQ2hHLEVBQUUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLFFBQVEsRUFBRSxDQUFBLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxrQkFBa0IsS0FBSSxJQUFJLEVBQUU7YUFDdkY7U0FDRixDQUFDO0lBQ0osQ0FBQzs7O1lBZEYsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8vIE1vZGVsbGlcbmltcG9ydCB7IFByZWZlcmVuY2VzTW9kdWxlQ29uZmlnIH0gZnJvbSAnLi9tb2RlbHMvUHJlZmVyZW5jZXNNb2R1bGVDb25maWcnO1xuaW1wb3J0IHsgQ2FjaGVTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9jYWNoZS5zZXJ2aWNlJztcbmltcG9ydCB7IFByZWZlcmVuY2VzU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvcHJlZmVyZW5jZXMuc2VydmljZSc7XG5pbXBvcnQgeyBCYXNlU2Vzc2lvblJldHJpZXZlciB9IGZyb20gJy4vc2Vzc2lvbi9iYXNlL0Jhc2VTZXNzaW9uUmV0cmlldmVyJztcbmltcG9ydCB7IERlZmF1bHRTZXNzaW9uUmV0cmlldmVyIH0gZnJvbSAnLi9zZXNzaW9uL2ltcGxlbWVudGF0aW9uL0RlZmF1bHRTZXNzaW9uUmV0cmlldmVyJztcbmltcG9ydCB7IFBSRUZfRlVMTF9SRVRSSUVWRV9BVF9TVEFSVCB9IGZyb20gJy4vdG9rZW5zJztcbmltcG9ydCB7IENhY2hlUGVyc2lzdG9yIH0gZnJvbSAnLi9wZXJzaXN0b3IvYmFzZS9DYWNoZVBlcnNpc3Rvcic7XG5pbXBvcnQgeyBQcmVmZXJlbmNlc1BlcnNpc3RvciB9IGZyb20gJy4vcGVyc2lzdG9yL2Jhc2UvUHJlZmVyZW5jZXNQZXJzaXN0b3InO1xuaW1wb3J0IHsgTG9jYWxTdG9yYWdlQ2FjaGVQZXJzaXN0b3IgfSBmcm9tICcuL3BlcnNpc3Rvci9pbXBsZW1lbnRhdGlvbi9Mb2NhbFN0b3JhZ2VDYWNoZVBlcnNpc3Rvcic7XG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2VQcmVmZXJlbmNlc1BlcnNpc3RvciB9IGZyb20gJy4vcGVyc2lzdG9yL2ltcGxlbWVudGF0aW9uL0xvY2FsU3RvcmFnZVByZWZlcmVuY2VzUGVyc2lzdG9yJztcblxuQE5nTW9kdWxlKClcbmV4cG9ydCBjbGFzcyBQcmVmZXJlbmNlc01vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KGNvbmZpZz86IFByZWZlcmVuY2VzTW9kdWxlQ29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxQcmVmZXJlbmNlc01vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogUHJlZmVyZW5jZXNNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgQ2FjaGVTZXJ2aWNlLFxuICAgICAgICBQcmVmZXJlbmNlc1NlcnZpY2UsXG4gICAgICAgIHsgcHJvdmlkZTogUHJlZmVyZW5jZXNQZXJzaXN0b3IsIHVzZUNsYXNzOiBjb25maWc/LnByZWZlcmVuY2VQZXJzaXN0b3IgfHwgTG9jYWxTdG9yYWdlUHJlZmVyZW5jZXNQZXJzaXN0b3IgfSxcbiAgICAgICAgeyBwcm92aWRlOiBDYWNoZVBlcnNpc3RvciwgdXNlQ2xhc3M6IGNvbmZpZz8uY2FjaGVQZXJzaXN0b3IgfHwgTG9jYWxTdG9yYWdlQ2FjaGVQZXJzaXN0b3IgfSxcbiAgICAgICAgeyBwcm92aWRlOiBCYXNlU2Vzc2lvblJldHJpZXZlciwgdXNlQ2xhc3M6IGNvbmZpZz8uc2Vzc2lvblJldHJpZXZlciB8fCBEZWZhdWx0U2Vzc2lvblJldHJpZXZlciB9LFxuICAgICAgICB7IHByb3ZpZGU6IFBSRUZfRlVMTF9SRVRSSUVWRV9BVF9TVEFSVCwgdXNlVmFsdWU6IGNvbmZpZz8ucmV0cmlldmVBbGxBdFN0YXJ0IHx8IHRydWUgfVxuICAgICAgXVxuICAgIH07XG4gIH1cbn0iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUJhc2VTdG9yYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlZmVyZW5jZXMvc3JjL2xpYi9zZXJ2aWNlcy9iYXNlL0lCYXNlU3RvcmFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJQmFzZVN0b3JhZ2Uge1xyXG4gIHNldEl0ZW08VD4oa2V5OiBzdHJpbmcsIGl0ZW06IFQpOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gIHNldExvY2FsSXRlbTxUPihrZXk6IHN0cmluZywgaXRlbTogVCk6IGJvb2xlYW47XHJcbiAgZ2V0SXRlbTxUPihrZXk6IHN0cmluZywgY2FjaGVCdXN0OiBib29sZWFuKTogT2JzZXJ2YWJsZTxUPjtcclxuICBnZXRMb2NhbEl0ZW08VD4oa2V5OiBzdHJpbmcpOiBUO1xyXG4gIHJlbW92ZUl0ZW0oa2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gIGNsZWFyKCk6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbn0iXX0=
@@ -0,0 +1,114 @@
1
+ // Angular
2
+ import { Inject, Optional } from '@angular/core';
3
+ import { of } from 'rxjs';
4
+ import { take, tap } from 'rxjs/operators';
5
+ // Modelli
6
+ import { PREF_FULL_RETRIEVE_AT_START } from '../../tokens';
7
+ /**
8
+ * Service che si occupa di salvare e recuperare le preferenze utente rispetto alle chiavi salvate
9
+ */
10
+ export class BaseService {
11
+ /**
12
+ * Costruttore
13
+ *
14
+ * @ignore
15
+ */
16
+ constructor(persistor, PREF_FULL_RETRIEVE_AT_START) {
17
+ this.persistor = persistor;
18
+ this.PREF_FULL_RETRIEVE_AT_START = PREF_FULL_RETRIEVE_AT_START;
19
+ /** Store in memoria delle preferenze locali che sarà persistito per mezzo della classe che fa le veci del **BasePreferencesPersistor** */
20
+ this.LocalStore = {};
21
+ if (this.PREF_FULL_RETRIEVE_AT_START) {
22
+ this.persistor.recoverAll().pipe(take(1)).subscribe(t => {
23
+ for (let cProp in t)
24
+ this.LocalStore[cProp] = t[cProp];
25
+ });
26
+ }
27
+ }
28
+ /**
29
+ * Salva un oggetto sia nella cache locale che nel persistor
30
+ *
31
+ * @param {string} key Chiave di persistenza
32
+ * @param {T} item Oggetto da salvare
33
+ */
34
+ setItem(key, item) {
35
+ this.setLocalItem(key, item);
36
+ return this.persist(key, item);
37
+ }
38
+ /**
39
+ * Salva un oggetto solo nella cache locale. Dovrà essere persistito manualmente o andrà perso al riavvio dell'applicazione
40
+ *
41
+ * @param {string} key Chiave di persistenza
42
+ * @param {T} item Oggetto da salvare
43
+ */
44
+ setLocalItem(key, item) {
45
+ this.LocalStore[key] = item;
46
+ return true;
47
+ }
48
+ /**
49
+ * Salva, per una sessione, una chiave con un valore, viene chiamato automaticamente dal metodo **store** ma dev'essere chiamato manualmente
50
+ * nel caso si utilizzi il metodo **storeLocal**
51
+ *
52
+ * @param {string} key Chiave da storicizzare
53
+ */
54
+ persist(key, item) {
55
+ return this.persistor.persist(key, item);
56
+ }
57
+ /**
58
+ * Recupera un oggetto in base a una chiave. Permette di accedere alla copia locale o alla copia persistita.
59
+ *
60
+ * @param {string} key Chiave del valore da recuperare
61
+ * @param {boolean} cacheBust Indica se ignorare il valore della cache locale e recuperare l'oggetto dallo store persistito,
62
+ * in caso fosse stato modificato fuori sistema o da un altro sistema
63
+ *
64
+ * @returns {T} Oggetto richiesto
65
+ */
66
+ getItem(key, cacheBust = false) {
67
+ if (this.LocalStore[key] && !cacheBust)
68
+ return of(this.LocalStore[key]);
69
+ else {
70
+ var obj = this.persistor.recover(key);
71
+ if (!obj)
72
+ return of(null);
73
+ obj.pipe(tap(item => { this.LocalStore[key] = item; }));
74
+ return obj;
75
+ }
76
+ }
77
+ /**
78
+ * Recupera un oggetto in base a una chiave. Permette di accedere solo alla copia locale
79
+ *
80
+ * @param {string} key Chiave del valore da recuperare
81
+ *
82
+ * @returns {T} Oggetto richiesto
83
+ */
84
+ getLocalItem(key) {
85
+ if (this.LocalStore[key])
86
+ return this.LocalStore[key];
87
+ else
88
+ return null;
89
+ }
90
+ /**
91
+ * Elimina un oggetto dalla cache sia locale che persistita
92
+ *
93
+ * @param {string} key Chiave da rimuovere
94
+ */
95
+ removeItem(key) {
96
+ if (this.LocalStore[key])
97
+ delete this.LocalStore[key];
98
+ return this.persistor.remove(key);
99
+ }
100
+ /**
101
+ * Ripulisce le impostazioni locali e le impostazioni salvate dal persistor
102
+ */
103
+ clear() {
104
+ // Pulisco la cache locale
105
+ this.LocalStore = {};
106
+ // "Committo" le modifiche
107
+ return this.persistor.clear();
108
+ }
109
+ }
110
+ BaseService.ctorParameters = () => [
111
+ { type: undefined },
112
+ { type: Boolean, decorators: [{ type: Optional }, { type: Inject, args: [PREF_FULL_RETRIEVE_AT_START,] }] }
113
+ ];
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlZmVyZW5jZXMvc3JjL2xpYi9zZXJ2aWNlcy9iYXNlL2Jhc2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzNDLFVBQVU7QUFDVixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHM0Q7O0dBRUc7QUFDSCxNQUFNLE9BQU8sV0FBVztJQUt0Qjs7OztPQUlHO0lBQ0gsWUFBb0IsU0FBeUIsRUFBMkQsMkJBQW9DO1FBQXhILGNBQVMsR0FBVCxTQUFTLENBQWdCO1FBQTJELGdDQUEyQixHQUEzQiwyQkFBMkIsQ0FBUztRQVI1SSwwSUFBMEk7UUFDaEksZUFBVSxHQUE2QixFQUFFLENBQUM7UUFRbEQsSUFBSSxJQUFJLENBQUMsMkJBQTJCLEVBQUU7WUFFcEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUN0RCxLQUFLLElBQUksS0FBSyxJQUFJLENBQUM7b0JBQ2pCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RDLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxPQUFPLENBQUksR0FBVyxFQUFFLElBQU87UUFDcEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFDNUIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxZQUFZLENBQUksR0FBVyxFQUFFLElBQU87UUFDekMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDNUIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSyxPQUFPLENBQUksR0FBVyxFQUFFLElBQU87UUFDckMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ksT0FBTyxDQUFJLEdBQVcsRUFBRSxZQUFxQixLQUFLO1FBQ3ZELElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVM7WUFDcEMsT0FBTyxFQUFFLENBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2FBQ2hDO1lBQ0gsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUksR0FBRyxDQUFDLENBQUM7WUFDekMsSUFBSSxDQUFDLEdBQUc7Z0JBQ04sT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbEIsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDdkQsT0FBTyxHQUFHLENBQUM7U0FDWjtJQUNILENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxZQUFZLENBQUksR0FBVztRQUNoQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO1lBQ3RCLE9BQVUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQzs7WUFFL0IsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxVQUFVLENBQUMsR0FBVztRQUMzQixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO1lBQ3RCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUU5QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUs7UUFDViwwQkFBMEI7UUFDMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDckIsMEJBQTBCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNoQyxDQUFDOzs7OzBDQWpHK0MsUUFBUSxZQUFJLE1BQU0sU0FBQywyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IEluamVjdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBJQmFzZVBlcnNpc3RvciB9IGZyb20gJy4uLy4uL3BlcnNpc3Rvci9iYXNlL0lCYXNlUGVyc2lzdG9yJztcclxuXHJcbi8vIE1vZGVsbGlcclxuaW1wb3J0IHsgUFJFRl9GVUxMX1JFVFJJRVZFX0FUX1NUQVJUIH0gZnJvbSAnLi4vLi4vdG9rZW5zJztcclxuaW1wb3J0IHsgSUJhc2VTdG9yYWdlIH0gZnJvbSAnLi9JQmFzZVN0b3JhZ2UnO1xyXG5cclxuLyoqXHJcbiAqIFNlcnZpY2UgY2hlIHNpIG9jY3VwYSBkaSBzYWx2YXJlIGUgcmVjdXBlcmFyZSBsZSBwcmVmZXJlbnplIHV0ZW50ZSByaXNwZXR0byBhbGxlIGNoaWF2aSBzYWx2YXRlXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgQmFzZVNlcnZpY2UgaW1wbGVtZW50cyBJQmFzZVN0b3JhZ2Uge1xyXG5cclxuICAvKiogU3RvcmUgaW4gbWVtb3JpYSBkZWxsZSBwcmVmZXJlbnplIGxvY2FsaSBjaGUgc2Fyw6AgcGVyc2lzdGl0byBwZXIgbWV6em8gZGVsbGEgY2xhc3NlIGNoZSBmYSBsZSB2ZWNpIGRlbCAqKkJhc2VQcmVmZXJlbmNlc1BlcnNpc3RvcioqICovXHJcbiAgcHJvdGVjdGVkIExvY2FsU3RvcmU6IHsgW2luZGV4OiBzdHJpbmddOiBhbnkgfSA9IHt9O1xyXG5cclxuICAvKipcclxuICAgKiBDb3N0cnV0dG9yZVxyXG4gICAqIFxyXG4gICAqIEBpZ25vcmVcclxuICAgKi9cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBlcnNpc3RvcjogSUJhc2VQZXJzaXN0b3IsIEBPcHRpb25hbCgpIEBJbmplY3QoUFJFRl9GVUxMX1JFVFJJRVZFX0FUX1NUQVJUKSBwcml2YXRlIFBSRUZfRlVMTF9SRVRSSUVWRV9BVF9TVEFSVDogYm9vbGVhbikge1xyXG4gICAgaWYgKHRoaXMuUFJFRl9GVUxMX1JFVFJJRVZFX0FUX1NUQVJUKSB7XHJcblxyXG4gICAgICB0aGlzLnBlcnNpc3Rvci5yZWNvdmVyQWxsKCkucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUodCA9PiB7XHJcbiAgICAgICAgZm9yIChsZXQgY1Byb3AgaW4gdClcclxuICAgICAgICAgIHRoaXMuTG9jYWxTdG9yZVtjUHJvcF0gPSB0W2NQcm9wXTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTYWx2YSB1biBvZ2dldHRvIHNpYSBuZWxsYSBjYWNoZSBsb2NhbGUgY2hlIG5lbCBwZXJzaXN0b3JcclxuICAgKiBcclxuICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IENoaWF2ZSBkaSBwZXJzaXN0ZW56YVxyXG4gICAqIEBwYXJhbSB7VH0gaXRlbSBPZ2dldHRvIGRhIHNhbHZhcmVcclxuICAgKi9cclxuICBwdWJsaWMgc2V0SXRlbTxUPihrZXk6IHN0cmluZywgaXRlbTogVCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgdGhpcy5zZXRMb2NhbEl0ZW0oa2V5LCBpdGVtKVxyXG4gICAgcmV0dXJuIHRoaXMucGVyc2lzdChrZXksIGl0ZW0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU2FsdmEgdW4gb2dnZXR0byBzb2xvIG5lbGxhIGNhY2hlIGxvY2FsZS4gRG92csOgIGVzc2VyZSBwZXJzaXN0aXRvIG1hbnVhbG1lbnRlIG8gYW5kcsOgIHBlcnNvIGFsIHJpYXZ2aW8gZGVsbCdhcHBsaWNhemlvbmVcclxuICAgKiBcclxuICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IENoaWF2ZSBkaSBwZXJzaXN0ZW56YVxyXG4gICAqIEBwYXJhbSB7VH0gaXRlbSBPZ2dldHRvIGRhIHNhbHZhcmVcclxuICAgKi9cclxuICBwdWJsaWMgc2V0TG9jYWxJdGVtPFQ+KGtleTogc3RyaW5nLCBpdGVtOiBUKTogYm9vbGVhbiB7XHJcbiAgICB0aGlzLkxvY2FsU3RvcmVba2V5XSA9IGl0ZW07XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNhbHZhLCBwZXIgdW5hIHNlc3Npb25lLCB1bmEgY2hpYXZlIGNvbiB1biB2YWxvcmUsIHZpZW5lIGNoaWFtYXRvIGF1dG9tYXRpY2FtZW50ZSBkYWwgbWV0b2RvICoqc3RvcmUqKiBtYSBkZXYnZXNzZXJlIGNoaWFtYXRvIG1hbnVhbG1lbnRlXHJcbiAgICogbmVsIGNhc28gc2kgdXRpbGl6emkgaWwgbWV0b2RvICoqc3RvcmVMb2NhbCoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBDaGlhdmUgZGEgc3RvcmljaXp6YXJlXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBwZXJzaXN0PFQ+KGtleTogc3RyaW5nLCBpdGVtOiBUKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gdGhpcy5wZXJzaXN0b3IucGVyc2lzdChrZXksIGl0ZW0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVjdXBlcmEgdW4gb2dnZXR0byBpbiBiYXNlIGEgdW5hIGNoaWF2ZS4gUGVybWV0dGUgZGkgYWNjZWRlcmUgYWxsYSBjb3BpYSBsb2NhbGUgbyBhbGxhIGNvcGlhIHBlcnNpc3RpdGEuXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBDaGlhdmUgZGVsIHZhbG9yZSBkYSByZWN1cGVyYXJlXHJcbiAgICogQHBhcmFtIHtib29sZWFufSBjYWNoZUJ1c3QgSW5kaWNhIHNlIGlnbm9yYXJlIGlsIHZhbG9yZSBkZWxsYSBjYWNoZSBsb2NhbGUgZSByZWN1cGVyYXJlIGwnb2dnZXR0byBkYWxsbyBzdG9yZSBwZXJzaXN0aXRvLCBcclxuICAgKiBpbiBjYXNvIGZvc3NlIHN0YXRvIG1vZGlmaWNhdG8gZnVvcmkgc2lzdGVtYSBvIGRhIHVuIGFsdHJvIHNpc3RlbWFcclxuICAgKiBcclxuICAgKiBAcmV0dXJucyB7VH0gT2dnZXR0byByaWNoaWVzdG9cclxuICAgKi9cclxuICBwdWJsaWMgZ2V0SXRlbTxUPihrZXk6IHN0cmluZywgY2FjaGVCdXN0OiBib29sZWFuID0gZmFsc2UpOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgIGlmICh0aGlzLkxvY2FsU3RvcmVba2V5XSAmJiAhY2FjaGVCdXN0KVxyXG4gICAgICByZXR1cm4gb2YoPFQ+dGhpcy5Mb2NhbFN0b3JlW2tleV0pO1xyXG4gICAgZWxzZSB7XHJcbiAgICAgIHZhciBvYmogPSB0aGlzLnBlcnNpc3Rvci5yZWNvdmVyPFQ+KGtleSk7XHJcbiAgICAgIGlmICghb2JqKVxyXG4gICAgICAgIHJldHVybiBvZihudWxsKTtcclxuICAgICAgb2JqLnBpcGUodGFwKGl0ZW0gPT4geyB0aGlzLkxvY2FsU3RvcmVba2V5XSA9IGl0ZW07IH0pKVxyXG4gICAgICByZXR1cm4gb2JqO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmVjdXBlcmEgdW4gb2dnZXR0byBpbiBiYXNlIGEgdW5hIGNoaWF2ZS4gUGVybWV0dGUgZGkgYWNjZWRlcmUgc29sbyBhbGxhIGNvcGlhIGxvY2FsZVxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgQ2hpYXZlIGRlbCB2YWxvcmUgZGEgcmVjdXBlcmFyZVxyXG4gICAqIFxyXG4gICAqIEByZXR1cm5zIHtUfSBPZ2dldHRvIHJpY2hpZXN0b1xyXG4gICAqL1xyXG4gIHB1YmxpYyBnZXRMb2NhbEl0ZW08VD4oa2V5OiBzdHJpbmcpOiBUIHtcclxuICAgIGlmICh0aGlzLkxvY2FsU3RvcmVba2V5XSlcclxuICAgICAgcmV0dXJuIDxUPnRoaXMuTG9jYWxTdG9yZVtrZXldO1xyXG4gICAgZWxzZVxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVsaW1pbmEgdW4gb2dnZXR0byBkYWxsYSBjYWNoZSBzaWEgbG9jYWxlIGNoZSBwZXJzaXN0aXRhXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBDaGlhdmUgZGEgcmltdW92ZXJlXHJcbiAgICovXHJcbiAgcHVibGljIHJlbW92ZUl0ZW0oa2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgIGlmICh0aGlzLkxvY2FsU3RvcmVba2V5XSlcclxuICAgICAgZGVsZXRlIHRoaXMuTG9jYWxTdG9yZVtrZXldO1xyXG5cclxuICAgIHJldHVybiB0aGlzLnBlcnNpc3Rvci5yZW1vdmUoa2V5KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJpcHVsaXNjZSBsZSBpbXBvc3RhemlvbmkgbG9jYWxpIGUgbGUgaW1wb3N0YXppb25pIHNhbHZhdGUgZGFsIHBlcnNpc3RvclxyXG4gICAqL1xyXG4gIHB1YmxpYyBjbGVhcigpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgIC8vIFB1bGlzY28gbGEgY2FjaGUgbG9jYWxlXHJcbiAgICB0aGlzLkxvY2FsU3RvcmUgPSB7fTtcclxuICAgIC8vIFwiQ29tbWl0dG9cIiBsZSBtb2RpZmljaGVcclxuICAgIHJldHVybiB0aGlzLnBlcnNpc3Rvci5jbGVhcigpO1xyXG4gIH1cclxufSJdfQ==
@@ -0,0 +1,21 @@
1
+ // Angular
2
+ import { Inject, Injectable, Optional } from '@angular/core';
3
+ import { BaseService } from './base/base.service';
4
+ // Modelli
5
+ import { PREF_FULL_RETRIEVE_AT_START } from './../tokens';
6
+ import { CachePersistor } from '../persistor/base/CachePersistor';
7
+ /** Service che si occupa di salvare e recuperare le preferenze utente rispetto alle chiavi salvate */
8
+ export class CacheService extends BaseService {
9
+ /** @ignore Costruttore */
10
+ constructor(persistor, PREF_FULL_RETRIEVE_AT_START) {
11
+ super(persistor, PREF_FULL_RETRIEVE_AT_START);
12
+ }
13
+ }
14
+ CacheService.decorators = [
15
+ { type: Injectable }
16
+ ];
17
+ CacheService.ctorParameters = () => [
18
+ { type: CachePersistor },
19
+ { type: Boolean, decorators: [{ type: Optional }, { type: Inject, args: [PREF_FULL_RETRIEVE_AT_START,] }] }
20
+ ];
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZWZlcmVuY2VzL3NyYy9saWIvc2VydmljZXMvY2FjaGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRCxVQUFVO0FBQ1YsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUVsRSxzR0FBc0c7QUFFdEcsTUFBTSxPQUFPLFlBQWEsU0FBUSxXQUFXO0lBRTNDLDBCQUEwQjtJQUMxQixZQUFZLFNBQXlCLEVBQW1ELDJCQUFvQztRQUMxSCxLQUFLLENBQUMsU0FBUyxFQUFFLDJCQUEyQixDQUFDLENBQUM7SUFDaEQsQ0FBQzs7O1lBTkYsVUFBVTs7O1lBSEYsY0FBYzswQ0FPbUIsUUFBUSxZQUFJLE1BQU0sU0FBQywyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmFzZVNlcnZpY2UgfSBmcm9tICcuL2Jhc2UvYmFzZS5zZXJ2aWNlJztcclxuXHJcbi8vIE1vZGVsbGlcclxuaW1wb3J0IHsgUFJFRl9GVUxMX1JFVFJJRVZFX0FUX1NUQVJUIH0gZnJvbSAnLi8uLi90b2tlbnMnO1xyXG5pbXBvcnQgeyBDYWNoZVBlcnNpc3RvciB9IGZyb20gJy4uL3BlcnNpc3Rvci9iYXNlL0NhY2hlUGVyc2lzdG9yJztcclxuXHJcbi8qKiBTZXJ2aWNlIGNoZSBzaSBvY2N1cGEgZGkgc2FsdmFyZSBlIHJlY3VwZXJhcmUgbGUgcHJlZmVyZW56ZSB1dGVudGUgcmlzcGV0dG8gYWxsZSBjaGlhdmkgc2FsdmF0ZSAqL1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBDYWNoZVNlcnZpY2UgZXh0ZW5kcyBCYXNlU2VydmljZSB7XHJcblxyXG4gIC8qKiBAaWdub3JlIENvc3RydXR0b3JlICovXHJcbiAgY29uc3RydWN0b3IocGVyc2lzdG9yOiBDYWNoZVBlcnNpc3RvciwgQE9wdGlvbmFsKCkgQEluamVjdChQUkVGX0ZVTExfUkVUUklFVkVfQVRfU1RBUlQpIFBSRUZfRlVMTF9SRVRSSUVWRV9BVF9TVEFSVDogYm9vbGVhbikge1xyXG4gICAgc3VwZXIocGVyc2lzdG9yLCBQUkVGX0ZVTExfUkVUUklFVkVfQVRfU1RBUlQpO1xyXG4gIH1cclxufSJdfQ==
@@ -0,0 +1,21 @@
1
+ // Angular
2
+ import { Inject, Injectable, Optional } from '@angular/core';
3
+ import { BaseService } from './base/base.service';
4
+ // Modelli
5
+ import { PREF_FULL_RETRIEVE_AT_START } from './../tokens';
6
+ import { PreferencesPersistor } from '../persistor/base/PreferencesPersistor';
7
+ /** Service che si occupa di salvare e recuperare le preferenze utente rispetto alle chiavi salvate */
8
+ export class PreferencesService extends BaseService {
9
+ /** @ignore Costruttore */
10
+ constructor(persistor, PREF_FULL_RETRIEVE_AT_START) {
11
+ super(persistor, PREF_FULL_RETRIEVE_AT_START);
12
+ }
13
+ }
14
+ PreferencesService.decorators = [
15
+ { type: Injectable }
16
+ ];
17
+ PreferencesService.ctorParameters = () => [
18
+ { type: PreferencesPersistor },
19
+ { type: Boolean, decorators: [{ type: Optional }, { type: Inject, args: [PREF_FULL_RETRIEVE_AT_START,] }] }
20
+ ];
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZmVyZW5jZXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZWZlcmVuY2VzL3NyYy9saWIvc2VydmljZXMvcHJlZmVyZW5jZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxVQUFVO0FBQ1YsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRCxVQUFVO0FBQ1YsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRTlFLHNHQUFzRztBQUV0RyxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsV0FBVztJQUVqRCwwQkFBMEI7SUFDMUIsWUFBWSxTQUErQixFQUFtRCwyQkFBb0M7UUFDaEksS0FBSyxDQUFDLFNBQVMsRUFBRSwyQkFBMkIsQ0FBQyxDQUFDO0lBQ2hELENBQUM7OztZQU5GLFVBQVU7OztZQUhGLG9CQUFvQjswQ0FPbUIsUUFBUSxZQUFJLE1BQU0sU0FBQywyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmFzZVNlcnZpY2UgfSBmcm9tICcuL2Jhc2UvYmFzZS5zZXJ2aWNlJztcclxuXHJcbi8vIE1vZGVsbGlcclxuaW1wb3J0IHsgUFJFRl9GVUxMX1JFVFJJRVZFX0FUX1NUQVJUIH0gZnJvbSAnLi8uLi90b2tlbnMnO1xyXG5pbXBvcnQgeyBQcmVmZXJlbmNlc1BlcnNpc3RvciB9IGZyb20gJy4uL3BlcnNpc3Rvci9iYXNlL1ByZWZlcmVuY2VzUGVyc2lzdG9yJztcclxuXHJcbi8qKiBTZXJ2aWNlIGNoZSBzaSBvY2N1cGEgZGkgc2FsdmFyZSBlIHJlY3VwZXJhcmUgbGUgcHJlZmVyZW56ZSB1dGVudGUgcmlzcGV0dG8gYWxsZSBjaGlhdmkgc2FsdmF0ZSAqL1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBQcmVmZXJlbmNlc1NlcnZpY2UgZXh0ZW5kcyBCYXNlU2VydmljZSB7XHJcblxyXG4gIC8qKiBAaWdub3JlIENvc3RydXR0b3JlICovXHJcbiAgY29uc3RydWN0b3IocGVyc2lzdG9yOiBQcmVmZXJlbmNlc1BlcnNpc3RvciwgQE9wdGlvbmFsKCkgQEluamVjdChQUkVGX0ZVTExfUkVUUklFVkVfQVRfU1RBUlQpIFBSRUZfRlVMTF9SRVRSSUVWRV9BVF9TVEFSVDogYm9vbGVhbikge1xyXG4gICAgc3VwZXIocGVyc2lzdG9yLCBQUkVGX0ZVTExfUkVUUklFVkVfQVRfU1RBUlQpO1xyXG4gIH1cclxufSJdfQ==
@@ -1,7 +1,9 @@
1
- export * from './lib/preferences.service';
1
+ export * from './lib/services/cache.service';
2
+ export * from './lib/services/preferences.service';
2
3
  export * from './lib/models/PreferencesModuleConfig';
3
4
  export * from './lib/tokens';
4
5
  export * from './lib/preferences.module';
5
- export * from './lib/persistor/base/BasePreferencesPersistor';
6
+ export * from './lib/persistor/base/CachePersistor';
7
+ export * from './lib/persistor/base/PreferencesPersistor';
6
8
  export * from './lib/session/base/BaseSessionRetriever';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3ByZWZlcmVuY2VzL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyx5Q0FBeUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL3ByZWZlcmVuY2VzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL1ByZWZlcmVuY2VzTW9kdWxlQ29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Rva2Vucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wcmVmZXJlbmNlcy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGVyc2lzdG9yL2Jhc2UvQmFzZVByZWZlcmVuY2VzUGVyc2lzdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Nlc3Npb24vYmFzZS9CYXNlU2Vzc2lvblJldHJpZXZlcic7Il19
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3ByZWZlcmVuY2VzL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMseUNBQXlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9jYWNoZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3ByZWZlcmVuY2VzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL1ByZWZlcmVuY2VzTW9kdWxlQ29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Rva2Vucyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wcmVmZXJlbmNlcy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGVyc2lzdG9yL2Jhc2UvQ2FjaGVQZXJzaXN0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGVyc2lzdG9yL2Jhc2UvUHJlZmVyZW5jZXNQZXJzaXN0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2Vzc2lvbi9iYXNlL0Jhc2VTZXNzaW9uUmV0cmlldmVyJzsiXX0=