@esfaenza/extensions 11.2.21 → 11.2.24

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 (33) hide show
  1. package/bundles/esfaenza-extensions.umd.js +61 -546
  2. package/bundles/esfaenza-extensions.umd.js.map +1 -1
  3. package/bundles/esfaenza-extensions.umd.min.js +1 -16
  4. package/bundles/esfaenza-extensions.umd.min.js.map +1 -1
  5. package/esfaenza-extensions.d.ts +0 -2
  6. package/esfaenza-extensions.metadata.json +1 -1
  7. package/esm2015/esfaenza-extensions.js +1 -3
  8. package/esm2015/lib/models/ExtensionsModuleConfig.js +1 -1
  9. package/esm2015/lib/models/InboundMessageTypes.js +7 -0
  10. package/esm2015/lib/models/InterComMessage.js +14 -0
  11. package/esm2015/lib/modules/extensions.full.module.js +6 -13
  12. package/esm2015/lib/services/extensions.dates.service.js +2 -2
  13. package/esm2015/lib/services/extensions.intercom.service.js +50 -0
  14. package/esm2015/public-api.js +5 -4
  15. package/fesm2015/esfaenza-extensions.js +54 -217
  16. package/fesm2015/esfaenza-extensions.js.map +1 -1
  17. package/lib/models/ExtensionsModuleConfig.d.ts +0 -11
  18. package/lib/models/InboundMessageTypes.d.ts +5 -0
  19. package/lib/models/InterComMessage.d.ts +12 -0
  20. package/lib/modules/extensions.full.module.d.ts +2 -2
  21. package/lib/services/extensions.intercom.service.d.ts +25 -0
  22. package/package.json +1 -1
  23. package/public-api.d.ts +4 -3
  24. package/esm2015/lib/models/providers/base/BaseStorageProvider.js +0 -25
  25. package/esm2015/lib/models/providers/implementation/DefaultStorageProvider.js +0 -79
  26. package/esm2015/lib/models/session/base/BaseSessionRetriever.js +0 -6
  27. package/esm2015/lib/models/session/implementation/DefaultSessionRetriever.js +0 -26
  28. package/esm2015/lib/services/extensions.storage.service.js +0 -102
  29. package/lib/models/providers/base/BaseStorageProvider.d.ts +0 -65
  30. package/lib/models/providers/implementation/DefaultStorageProvider.d.ts +0 -20
  31. package/lib/models/session/base/BaseSessionRetriever.d.ts +0 -11
  32. package/lib/models/session/implementation/DefaultSessionRetriever.d.ts +0 -18
  33. package/lib/services/extensions.storage.service.d.ts +0 -58
@@ -1,6 +1,3 @@
1
- import { Type } from "@angular/core";
2
- import { BaseStorageProvider } from "./providers/base/BaseStorageProvider";
3
- import { BaseSessionRetriever } from "./session/base/BaseSessionRetriever";
4
1
  /**
5
2
  * Classe di configurazione per il modulo di estensione
6
3
  */
@@ -21,12 +18,4 @@ export declare class ExtensionsModuleConfig {
21
18
  * Prefisso delle searchView che serve per storicizzarle evitando di tirarsi in memoria anche tutti gli oggetti. Se vuoto viene supposto 'Hot'
22
19
  */
23
20
  appsearch_prefix: string;
24
- /**
25
- * Classe che si deve occupare per generare un ID univoco di sessione in base al quale verranno salvate le preferenze
26
- */
27
- sessionRetriever?: Type<BaseSessionRetriever>;
28
- /**
29
- * Classe che si deve occupare di salvare fisicamente le preferenze su un supporto fisico, sia esso un DB, un localStorage o whatever
30
- */
31
- storageProvider?: Type<BaseStorageProvider>;
32
21
  }
@@ -0,0 +1,5 @@
1
+ /** Enumeratore dei tipi di messaggio che i moduli esterni possono contattare sull'applicazione principale */
2
+ export declare enum InboundMessageTypes {
3
+ /** Evento di navigazione */
4
+ Navigation = 0
5
+ }
@@ -0,0 +1,12 @@
1
+ /** Classe che rappresenta un generico messaggio scambiato fra applicazione e moduli */
2
+ export declare class InterComMessage {
3
+ type: any;
4
+ message: any;
5
+ /**
6
+ * Costruttore
7
+ *
8
+ * @param type Tipo di messaggio
9
+ * @param message Contenuto del messaggio
10
+ */
11
+ constructor(type: any, message: any);
12
+ }
@@ -7,8 +7,8 @@ import { ExtensionsModuleConfig } from '../models/ExtensionsModuleConfig';
7
7
  * ExportService,
8
8
  * HashingService,
9
9
  * MessageService,
10
- * UtilityService,
11
- * StorageService,
10
+ * UtilityService
11
+ * InterComService
12
12
  *
13
13
  * con eventuali provider che utilizzano
14
14
  */
@@ -0,0 +1,25 @@
1
+ import { Subject } from "rxjs";
2
+ import { InterComMessage } from "../models/InterComMessage";
3
+ /** Service che si occupa di gestire la comunicazione fra i moduli interni ed esterni dell'applicativo */
4
+ export declare class InterComService {
5
+ /** Messaggi in uscita, uno per ogni recipient registratosi dall'entrypoint **register** */
6
+ outbounds: {
7
+ [id: string]: Subject<InterComMessage>;
8
+ };
9
+ /** Messaggi in entrata, unico per applicazione principale */
10
+ inbounds: Subject<InterComMessage>;
11
+ /**
12
+ * Metodo che permette di inviare un messaggio dall'applicazione ad un modulo esterno o viceversa
13
+ *
14
+ * @param {any} messageType Tipologia di messaggio. Sarà di tipo **InboundMessageTypes** per tutti i messaggi inbound, dinamico per tutti i mesaggi outbound (il tipo dipenderà dagli enum dei messaggi dei moduli esterni)
15
+ * @param {any} message Messaggio da inviare che può essere un dto in casi complessi ma dovrà essere gestito a dovere lato implementativo
16
+ * @param {string} recipient Destinatario del messaggio. Per i messaggi inbound dev'essere lasciato vuoto, per i messaggi outbound sarà valorizzato alla chiave del modulo a cui si vuole inviare il messaggio
17
+ */
18
+ send(messageType: any, message: any, recipient?: string): void;
19
+ /**
20
+ * Permette di registrare un modulo esterno alla lista dei moduli in listening sulla coda di messaggi
21
+ *
22
+ * @param {string} key Chiave del modulo da registrare. Tutti i messaggi inbound saranno inviati dall'applicazione principale su questa chiave
23
+ */
24
+ register(key: string): void;
25
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esfaenza/extensions",
3
- "version": "11.2.21",
3
+ "version": "11.2.24",
4
4
  "dependencies": {
5
5
  "tslib": "^2.0.0"
6
6
  },
package/public-api.d.ts CHANGED
@@ -6,10 +6,11 @@ export * from './lib/services/extensions.clipboard.service';
6
6
  export * from './lib/services/extensions.hashing.service';
7
7
  export * from './lib/services/extensions.messages.service';
8
8
  export * from './lib/services/extensions.utilities.service';
9
- export * from './lib/services/extensions.storage.service';
10
9
  export * from './lib/tokens';
11
10
  export * from './lib/models/CallResult';
12
11
  export * from './lib/models/CsvHeaders';
13
12
  export * from './lib/models/GenericItem';
14
- export * from './lib/models/providers/base/BaseStorageProvider';
15
- export * from './lib/models/session/base/BaseSessionRetriever';
13
+ /** Intercom */
14
+ export * from './lib/models/InboundMessageTypes';
15
+ export * from './lib/models/InterComMessage';
16
+ export * from './lib/services/extensions.intercom.service';
@@ -1,25 +0,0 @@
1
- /**
2
- * Classe che gestisce la scrittura delle informazioni nello store locale.
3
- * Questo store locale potrebbe essere il localStorage (implementazione di default data dal **DefaultStorageProvider**),
4
- * oppure un'implementazione custom facente capo a un DB esterno.
5
- *
6
- * In questo ultimo caso però sarà necessario implementarsi un proprio **BaseSessionRetriever**
7
- * che generi una chiave univoca di sessione su cui tutte le operazioni di questa classe saranno eseguite
8
- */
9
- export class BaseStorageProvider {
10
- /** @ignore Costruttore */
11
- constructor(session) {
12
- this.session = session;
13
- }
14
- /**
15
- * Ottiene la chiave "Reale" da utilizzare per la persistenza di una chiave generica
16
- *
17
- * @param {string} key Chiave da storicizzare
18
- *
19
- * @returns {string} Unione fra l'identificativo della sessione e la chiave specificata
20
- */
21
- getKey(key) {
22
- return this.session.getSessionKey() + "§" + key + "§";
23
- }
24
- }
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZVN0b3JhZ2VQcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dGVuc2lvbnMvc3JjL2xpYi9tb2RlbHMvcHJvdmlkZXJzL2Jhc2UvQmFzZVN0b3JhZ2VQcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQTs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxPQUFnQixtQkFBbUI7SUFFckMsMEJBQTBCO0lBQzFCLFlBQXNCLE9BQTZCO1FBQTdCLFlBQU8sR0FBUCxPQUFPLENBQXNCO0lBQUksQ0FBQztJQStDdkQ7Ozs7OztNQU1FO0lBQ08sTUFBTSxDQUFDLEdBQVc7UUFDeEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDO0lBQzFELENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbmltcG9ydCB7IEJhc2VTZXNzaW9uUmV0cmlldmVyIH0gZnJvbSBcIi4uLy4uL3Nlc3Npb24vYmFzZS9CYXNlU2Vzc2lvblJldHJpZXZlclwiO1xyXG5cclxuLyoqXHJcbiAqIENsYXNzZSBjaGUgZ2VzdGlzY2UgbGEgc2NyaXR0dXJhIGRlbGxlIGluZm9ybWF6aW9uaSBuZWxsbyBzdG9yZSBsb2NhbGUuXHJcbiAqIFF1ZXN0byBzdG9yZSBsb2NhbGUgcG90cmViYmUgZXNzZXJlIGlsIGxvY2FsU3RvcmFnZSAoaW1wbGVtZW50YXppb25lIGRpIGRlZmF1bHQgZGF0YSBkYWwgKipEZWZhdWx0U3RvcmFnZVByb3ZpZGVyKiopLFxyXG4gKiBvcHB1cmUgdW4naW1wbGVtZW50YXppb25lIGN1c3RvbSBmYWNlbnRlIGNhcG8gYSB1biBEQiBlc3Rlcm5vLiBcclxuICogXHJcbiAqIEluIHF1ZXN0byB1bHRpbW8gY2FzbyBwZXLDsiBzYXLDoCBuZWNlc3NhcmlvIGltcGxlbWVudGFyc2kgdW4gcHJvcHJpbyAqKkJhc2VTZXNzaW9uUmV0cmlldmVyKipcclxuICogY2hlIGdlbmVyaSB1bmEgY2hpYXZlIHVuaXZvY2EgZGkgc2Vzc2lvbmUgc3UgY3VpIHR1dHRlIGxlIG9wZXJhemlvbmkgZGkgcXVlc3RhIGNsYXNzZSBzYXJhbm5vIGVzZWd1aXRlXHJcbiAqL1xyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZVN0b3JhZ2VQcm92aWRlciB7XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgQ29zdHJ1dHRvcmUgKi9cclxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBzZXNzaW9uOiBCYXNlU2Vzc2lvblJldHJpZXZlcikgeyB9XHJcblxyXG4gICAgLyoqIFxyXG4gICAgICogSW1wb3N0YSB1biBvZ2dldHRvIGRhdGEgdW5hIGNoaWF2ZVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IENoaWF2ZSBwZXIgY3VpIGltcG9zdGFyZSBpbCB2YWxvcmUgc2VyaWFsaXp6YXRvIGRlbGwnb2dnZXR0byAqKnZhbHVlKipcclxuICAgICAqIEBwYXJhbSB7VH0gdmFsdWUgVmFsb3JlIGRhIHNlcmlhbGl6emFyZSBlIHNhbHZhcmUgXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPGJvb2xlYW4+fSBPYnNlcnZhYmxlIGNoZSB2aWVuZSByaXNvbHRvIHF1YW5kbyBsJ29wZXJhemlvbmUgZGkgc2FsdmF0YWdnaW8gdGVybWluYS4gXHJcbiAgICAgKiBSZXN0aXR1aXNjZSB0cnVlIHNlIGwnb3BlcmF6aW9uZSDDqCBhbmRhdGEgYSBidW9uIGZpbmUsIGZhbHNlIGFsdHJpbWVudGlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGFic3RyYWN0IHNldEl0ZW08VD4oa2V5OiBzdHJpbmcsIHZhbHVlOiBUKTogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuXHJcbiAgICAvKiogXHJcbiAgICAgKiBSaXNvbHZlIHVuIG9nZ2V0dG8gZGF0YSB1bmEgY2hpYXZlXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgQ2hpYXZlIHBlciBjdWkgcmlzb2x2ZXJlIGUgcmVjdXBlcmFyZSBsJ29nZ2V0dG9cclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMge09ic2VydmFibGU8VD59IE9ic2VydmFibGUgY2hlIHZpZW5lIHJpc29sdG8gcXVhbmRvIGwnb2dnZXR0byB2aWVuZSB0cm92YXRvIGUgcmVjdXBlcmF0by4gXHJcbiAgICAgKiBSZXN0aXR1aXNjZSBcIm51bGxcIiBzZSBsJ29nZ2V0dG8gbm9uIHZpZW5lIHRyb3ZhdG8gbyBzZSBjaSBzb25vIHByb2JsZW1pIGEgcmVjdXBlcmFybG9cclxuICAgICAqL1xyXG4gICAgcHVibGljIGFic3RyYWN0IGdldEl0ZW08VD4oa2V5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFQ+O1xyXG5cclxuICAgIC8qKiBcclxuICAgICAqIFJpbXVvdmUgdW4gb2dnZXR0byBzYWx2YXRvIGNvbiB1bmEgc3BlY2lmaWNhIGNoaWF2ZVxyXG4gICAgICogXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPFQ+fSBPYnNlcnZhYmxlIGNoZSB2aWVuZSByaXNvbHRvIHF1YW5kbyBsJ29wZXJhemlvbmUgZGkgZWxpbWluYXppb25lIHRlcm1pbmEuIFxyXG4gICAgICogUmVzdGl0dWlzY2UgdHJ1ZSBzZSBsJ29wZXJhemlvbmUgw6ggYW5kYXRhIGEgYnVvbiBmaW5lLCBmYWxzZSBhbHRyaW1lbnRpXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhYnN0cmFjdCByZW1vdmVJdGVtKGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuXHJcbiAgICAvKiogXHJcbiAgICAgKiBSaXB1bGlzY2UgY29tcGxldGFtZW50ZSBsbyBzdG9yZSBsb2NhbGVcclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMge09ic2VydmFibGU8Ym9vbGVhbj59IE9ic2VydmFibGUgY2hlIHZpZW5lIHJpc29sdG8gcXVhbmRvIGwnb3BlcmF6aW9uZSBkaSBwdWxpemlhIHRlcm1pbmEuIFxyXG4gICAgICogUmVzdGl0dWlzY2UgdHJ1ZSBzZSBsJ29wZXJhemlvbmUgw6ggYW5kYXRhIGEgYnVvbiBmaW5lLCBmYWxzZSBhbHRyaW1lbnRpXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhYnN0cmFjdCBjbGVhcigpOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG5cclxuICAgIC8qKiBcclxuICAgICAqIE90dGllbmUgdHV0dGUgbGUgY2hpYXZpIHNhbHZhdGUgbmVsbG8gc3RvcmUgbG9jYWxlXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPHsgW2luZGV4OiBzdHJpbmddOiBzdHJpbmc7IH0+fSBPYnNlcnZhYmxlIGNoZSB2aWVuZSByaXNvbHRvIHF1YW5kbyBsJ29wZXJhemlvbmUgZGkgcmVjdXBlcm8gZGF0aSB0ZXJtaW5hLiBcclxuICAgICAqL1xyXG4gICAgIHB1YmxpYyBhYnN0cmFjdCBnZXRBbGwoKTogT2JzZXJ2YWJsZTx7IFtpbmRleDogc3RyaW5nXTogc3RyaW5nOyB9PjtcclxuXHJcbiAgICAgLyoqXHJcbiAgICAgKiBPdHRpZW5lIGxhIGNoaWF2ZSBcIlJlYWxlXCIgZGEgdXRpbGl6emFyZSBwZXIgbGEgcGVyc2lzdGVuemEgZGkgdW5hIGNoaWF2ZSBnZW5lcmljYVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IENoaWF2ZSBkYSBzdG9yaWNpenphcmVcclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMge3N0cmluZ30gVW5pb25lIGZyYSBsJ2lkZW50aWZpY2F0aXZvIGRlbGxhIHNlc3Npb25lIGUgbGEgY2hpYXZlIHNwZWNpZmljYXRhXHJcbiAgICAgKi9cclxuICAgIHByb3RlY3RlZCBnZXRLZXkoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnNlc3Npb24uZ2V0U2Vzc2lvbktleSgpICsgXCLCp1wiICsga2V5ICsgXCLCp1wiO1xyXG4gICAgfVxyXG59Il19
@@ -1,79 +0,0 @@
1
- import { Injectable } from "@angular/core";
2
- import { of } from "rxjs";
3
- import { BaseSessionRetriever } from "../../session/base/BaseSessionRetriever";
4
- import { BaseStorageProvider } from "../base/BaseStorageProvider";
5
- /** Implementazione di default per la classe **BaseStorageProvider** */
6
- export class DefaultStorageProvider extends BaseStorageProvider {
7
- /** @ignore Costruttore */
8
- constructor(session) { super(session); }
9
- /** @ignore Implementazione di Default con localStorage. Identity viene ignorata perché essendo già nel localStorage è già per sito */
10
- setItem(key, value) {
11
- try {
12
- localStorage.setItem(key, JSON.stringify(value));
13
- return of(true);
14
- }
15
- catch (_a) {
16
- // Potrebbe arrivarmi un prefisso di salvataggio nella modalità di default. Questo serve per ripulire le stesse cose con quel prefisso e sperare di liberare spazio
17
- if (value.savedprefix) {
18
- console.warn("Spazio del local Storage insufficiente, prova a ripulirlo e risalvare");
19
- //Pulisco tutte le view con nome che parta per "Hot"
20
- for (let key in localStorage) {
21
- if (localStorage.hasOwnProperty(key) && key.startsWith(value.savedprefix))
22
- delete localStorage[key];
23
- }
24
- try {
25
- localStorage.setItem(key, JSON.stringify(value));
26
- }
27
- catch (e) {
28
- console.error("Spazio del local Storage insufficiente per salvare i risultati di ricerca con solo filtri. Non salvo nulla");
29
- }
30
- }
31
- return of(false);
32
- }
33
- }
34
- /** @ignore Implementazione di Default con localStorage. Identity viene ignorata perché essendo già nel localStorage è già per sito */
35
- getItem(key) {
36
- try {
37
- var ret = JSON.parse(localStorage.getItem(key));
38
- return of(ret);
39
- }
40
- catch (_a) {
41
- return of(null);
42
- }
43
- }
44
- /** @ignore Implementazione di Default con localStorage. Identity viene ignorata perché essendo già nel localStorage è già per sito */
45
- removeItem(key) {
46
- try {
47
- localStorage.removeItem(key);
48
- return of(true);
49
- }
50
- catch (_a) {
51
- return of(false);
52
- }
53
- }
54
- /** @ignore Implementazione di Default con localStorage. Identity viene ignorata perché essendo già nel localStorage è già per sito */
55
- clear() {
56
- try {
57
- localStorage.clear();
58
- return of(true);
59
- }
60
- catch (_a) {
61
- return of(false);
62
- }
63
- }
64
- /** @ignore Implementazione di Default con localStorage. Identity viene ignorata perché essendo già nel localStorage è già per sito */
65
- getAll() {
66
- var ret = {};
67
- for (let key in localStorage) {
68
- ret[key] = localStorage[key];
69
- }
70
- return of(ret);
71
- }
72
- }
73
- DefaultStorageProvider.decorators = [
74
- { type: Injectable }
75
- ];
76
- DefaultStorageProvider.ctorParameters = () => [
77
- { type: BaseSessionRetriever }
78
- ];
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVmYXVsdFN0b3JhZ2VQcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V4dGVuc2lvbnMvc3JjL2xpYi9tb2RlbHMvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9uL0RlZmF1bHRTdG9yYWdlUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWxFLHVFQUF1RTtBQUV2RSxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsbUJBQW1CO0lBRTFELDBCQUEwQjtJQUMxQixZQUFZLE9BQTZCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUUvRCxzSUFBc0k7SUFDL0gsT0FBTyxDQUFJLEdBQVcsRUFBRSxLQUFRO1FBQ25DLElBQUk7WUFDQSxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDakQsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDbkI7UUFDRCxXQUFNO1lBQ0YsbUtBQW1LO1lBQ25LLElBQVUsS0FBTSxDQUFDLFdBQVcsRUFBRTtnQkFDMUIsT0FBTyxDQUFDLElBQUksQ0FBQyx1RUFBdUUsQ0FBQyxDQUFDO2dCQUV0RixvREFBb0Q7Z0JBQ3BELEtBQUssSUFBSSxHQUFHLElBQUksWUFBWSxFQUFFO29CQUMxQixJQUFJLFlBQVksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBTyxLQUFNLENBQUMsV0FBVyxDQUFDO3dCQUM1RSxPQUFPLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDaEM7Z0JBQ0QsSUFBSTtvQkFDQSxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7aUJBQ3BEO2dCQUFDLE9BQU8sQ0FBQyxFQUFFO29CQUNSLE9BQU8sQ0FBQyxLQUFLLENBQUMsNEdBQTRHLENBQUMsQ0FBQztpQkFDL0g7YUFDSjtZQUNELE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3BCO0lBQ0wsQ0FBQztJQUVELHNJQUFzSTtJQUMvSCxPQUFPLENBQUksR0FBVztRQUN6QixJQUFJO1lBQ0EsSUFBSSxHQUFHLEdBQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDbkQsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDbEI7UUFDRCxXQUFNO1lBQ0YsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDbkI7SUFDTCxDQUFDO0lBRUQsc0lBQXNJO0lBQy9ILFVBQVUsQ0FBQyxHQUFXO1FBQ3pCLElBQUk7WUFDQSxZQUFZLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzdCLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ25CO1FBQ0QsV0FBTTtZQUNGLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3BCO0lBQ0wsQ0FBQztJQUVELHNJQUFzSTtJQUMvSCxLQUFLO1FBQ1IsSUFBSTtZQUNBLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNyQixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNuQjtRQUNELFdBQU07WUFDRixPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNwQjtJQUNMLENBQUM7SUFFRCxzSUFBc0k7SUFDL0gsTUFBTTtRQUNULElBQUksR0FBRyxHQUFnQyxFQUFFLENBQUM7UUFDMUMsS0FBSyxJQUFJLEdBQUcsSUFBSSxZQUFZLEVBQUU7WUFDMUIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNoQztRQUNELE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25CLENBQUM7OztZQXhFSixVQUFVOzs7WUFKRixvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBCYXNlU2Vzc2lvblJldHJpZXZlciB9IGZyb20gXCIuLi8uLi9zZXNzaW9uL2Jhc2UvQmFzZVNlc3Npb25SZXRyaWV2ZXJcIjtcclxuaW1wb3J0IHsgQmFzZVN0b3JhZ2VQcm92aWRlciB9IGZyb20gXCIuLi9iYXNlL0Jhc2VTdG9yYWdlUHJvdmlkZXJcIjtcclxuXHJcbi8qKiBJbXBsZW1lbnRhemlvbmUgZGkgZGVmYXVsdCBwZXIgbGEgY2xhc3NlICoqQmFzZVN0b3JhZ2VQcm92aWRlcioqICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIERlZmF1bHRTdG9yYWdlUHJvdmlkZXIgZXh0ZW5kcyBCYXNlU3RvcmFnZVByb3ZpZGVyIHtcclxuXHJcbiAgICAgLyoqIEBpZ25vcmUgQ29zdHJ1dHRvcmUgKi9cclxuICAgICBjb25zdHJ1Y3RvcihzZXNzaW9uOiBCYXNlU2Vzc2lvblJldHJpZXZlcikgeyBzdXBlcihzZXNzaW9uKTsgfVxyXG5cclxuICAgIC8qKiBAaWdub3JlIEltcGxlbWVudGF6aW9uZSBkaSBEZWZhdWx0IGNvbiBsb2NhbFN0b3JhZ2UuIElkZW50aXR5IHZpZW5lIGlnbm9yYXRhIHBlcmNow6kgZXNzZW5kbyBnacOgIG5lbCBsb2NhbFN0b3JhZ2Ugw6ggZ2nDoCBwZXIgc2l0byAqL1xyXG4gICAgcHVibGljIHNldEl0ZW08VD4oa2V5OiBzdHJpbmcsIHZhbHVlOiBUKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oa2V5LCBKU09OLnN0cmluZ2lmeSh2YWx1ZSkpO1xyXG4gICAgICAgICAgICByZXR1cm4gb2YodHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNhdGNoIHtcclxuICAgICAgICAgICAgLy8gUG90cmViYmUgYXJyaXZhcm1pIHVuIHByZWZpc3NvIGRpIHNhbHZhdGFnZ2lvIG5lbGxhIG1vZGFsaXTDoCBkaSBkZWZhdWx0LiBRdWVzdG8gc2VydmUgcGVyIHJpcHVsaXJlIGxlIHN0ZXNzZSBjb3NlIGNvbiBxdWVsIHByZWZpc3NvIGUgc3BlcmFyZSBkaSBsaWJlcmFyZSBzcGF6aW9cclxuICAgICAgICAgICAgaWYgKCg8YW55PnZhbHVlKS5zYXZlZHByZWZpeCkge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFwiU3BhemlvIGRlbCBsb2NhbCBTdG9yYWdlIGluc3VmZmljaWVudGUsIHByb3ZhIGEgcmlwdWxpcmxvIGUgcmlzYWx2YXJlXCIpO1xyXG5cclxuICAgICAgICAgICAgICAgIC8vUHVsaXNjbyB0dXR0ZSBsZSB2aWV3IGNvbiBub21lIGNoZSBwYXJ0YSBwZXIgXCJIb3RcIlxyXG4gICAgICAgICAgICAgICAgZm9yIChsZXQga2V5IGluIGxvY2FsU3RvcmFnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChsb2NhbFN0b3JhZ2UuaGFzT3duUHJvcGVydHkoa2V5KSAmJiBrZXkuc3RhcnRzV2l0aCgoPGFueT52YWx1ZSkuc2F2ZWRwcmVmaXgpKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgbG9jYWxTdG9yYWdlW2tleV07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgSlNPTi5zdHJpbmdpZnkodmFsdWUpKTtcclxuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiU3BhemlvIGRlbCBsb2NhbCBTdG9yYWdlIGluc3VmZmljaWVudGUgcGVyIHNhbHZhcmUgaSByaXN1bHRhdGkgZGkgcmljZXJjYSBjb24gc29sbyBmaWx0cmkuIE5vbiBzYWx2byBudWxsYVwiKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gb2YoZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiogQGlnbm9yZSBJbXBsZW1lbnRhemlvbmUgZGkgRGVmYXVsdCBjb24gbG9jYWxTdG9yYWdlLiBJZGVudGl0eSB2aWVuZSBpZ25vcmF0YSBwZXJjaMOpIGVzc2VuZG8gZ2nDoCBuZWwgbG9jYWxTdG9yYWdlIMOoIGdpw6AgcGVyIHNpdG8gKi9cclxuICAgIHB1YmxpYyBnZXRJdGVtPFQ+KGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgdmFyIHJldCA9IDxUPkpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KSk7XHJcbiAgICAgICAgICAgIHJldHVybiBvZihyZXQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjYXRjaCB7XHJcbiAgICAgICAgICAgIHJldHVybiBvZihudWxsKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgSW1wbGVtZW50YXppb25lIGRpIERlZmF1bHQgY29uIGxvY2FsU3RvcmFnZS4gSWRlbnRpdHkgdmllbmUgaWdub3JhdGEgcGVyY2jDqSBlc3NlbmRvIGdpw6AgbmVsIGxvY2FsU3RvcmFnZSDDqCBnacOgIHBlciBzaXRvICovXHJcbiAgICBwdWJsaWMgcmVtb3ZlSXRlbShrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XHJcbiAgICAgICAgICAgIHJldHVybiBvZih0cnVlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY2F0Y2gge1xyXG4gICAgICAgICAgICByZXR1cm4gb2YoZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiogQGlnbm9yZSBJbXBsZW1lbnRhemlvbmUgZGkgRGVmYXVsdCBjb24gbG9jYWxTdG9yYWdlLiBJZGVudGl0eSB2aWVuZSBpZ25vcmF0YSBwZXJjaMOpIGVzc2VuZG8gZ2nDoCBuZWwgbG9jYWxTdG9yYWdlIMOoIGdpw6AgcGVyIHNpdG8gKi9cclxuICAgIHB1YmxpYyBjbGVhcigpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2UuY2xlYXIoKTtcclxuICAgICAgICAgICAgcmV0dXJuIG9mKHRydWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjYXRjaCB7XHJcbiAgICAgICAgICAgIHJldHVybiBvZihmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKiBAaWdub3JlIEltcGxlbWVudGF6aW9uZSBkaSBEZWZhdWx0IGNvbiBsb2NhbFN0b3JhZ2UuIElkZW50aXR5IHZpZW5lIGlnbm9yYXRhIHBlcmNow6kgZXNzZW5kbyBnacOgIG5lbCBsb2NhbFN0b3JhZ2Ugw6ggZ2nDoCBwZXIgc2l0byAqL1xyXG4gICAgcHVibGljIGdldEFsbCgpOiBPYnNlcnZhYmxlPHsgW2luZGV4OiBzdHJpbmddOiBzdHJpbmc7IH0+IHtcclxuICAgICAgICB2YXIgcmV0OiB7IFtpbmRleDogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcclxuICAgICAgICBmb3IgKGxldCBrZXkgaW4gbG9jYWxTdG9yYWdlKSB7XHJcbiAgICAgICAgICAgIHJldFtrZXldID0gbG9jYWxTdG9yYWdlW2tleV07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBvZihyZXQpO1xyXG4gICAgfVxyXG59Il19
@@ -1,6 +0,0 @@
1
- /**
2
- * Classe astratta che si occupa di recuperare l'Id sessione univoco per applicazione ed utente collegato
3
- */
4
- export class BaseSessionRetriever {
5
- }
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQmFzZVNlc3Npb25SZXRyaWV2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHRlbnNpb25zL3NyYy9saWIvbW9kZWxzL3Nlc3Npb24vYmFzZS9CYXNlU2Vzc2lvblJldHJpZXZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNGLE1BQU0sT0FBZ0Isb0JBQW9CO0NBUTFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIENsYXNzZSBhc3RyYXR0YSBjaGUgc2kgb2NjdXBhIGRpIHJlY3VwZXJhcmUgbCdJZCBzZXNzaW9uZSB1bml2b2NvIHBlciBhcHBsaWNhemlvbmUgZWQgdXRlbnRlIGNvbGxlZ2F0b1xyXG4gKi9cclxuIGV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlU2Vzc2lvblJldHJpZXZlciB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBPdHRpZW5lIHVuIElEIHNlc3Npb25lXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IElEIHNlc3Npb25lXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXRTZXNzaW9uS2V5KCk6IHN0cmluZztcclxufSJdfQ==
@@ -1,26 +0,0 @@
1
- import { Injectable } from "@angular/core";
2
- import { BaseSessionRetriever } from "../base/BaseSessionRetriever";
3
- /**
4
- * Implementazione di default per la classe **BaseSessionRetriever**
5
- */
6
- export class DefaultSessionRetriever extends BaseSessionRetriever {
7
- /**
8
- * Costruttore
9
- *
10
- * @ignore
11
- */
12
- constructor() { super(); }
13
- /**
14
- * Ottiene un ID sessione
15
- *
16
- * @returns {string} ID sessione
17
- */
18
- getSessionKey() {
19
- return "DUMMY_SESSION";
20
- }
21
- }
22
- DefaultSessionRetriever.decorators = [
23
- { type: Injectable }
24
- ];
25
- DefaultSessionRetriever.ctorParameters = () => [];
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVmYXVsdFNlc3Npb25SZXRyaWV2ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHRlbnNpb25zL3NyYy9saWIvbW9kZWxzL3Nlc3Npb24vaW1wbGVtZW50YXRpb24vRGVmYXVsdFNlc3Npb25SZXRyaWV2ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUVwRTs7R0FFRztBQUVILE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxvQkFBb0I7SUFFN0Q7Ozs7T0FJRztJQUNILGdCQUFnQixLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFMUI7Ozs7T0FJRztJQUNILGFBQWE7UUFDVCxPQUFPLGVBQWUsQ0FBQztJQUMzQixDQUFDOzs7WUFqQkosVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBCYXNlU2Vzc2lvblJldHJpZXZlciB9IGZyb20gXCIuLi9iYXNlL0Jhc2VTZXNzaW9uUmV0cmlldmVyXCI7XHJcblxyXG4vKipcclxuICogSW1wbGVtZW50YXppb25lIGRpIGRlZmF1bHQgcGVyIGxhIGNsYXNzZSAqKkJhc2VTZXNzaW9uUmV0cmlldmVyKipcclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIERlZmF1bHRTZXNzaW9uUmV0cmlldmVyIGV4dGVuZHMgQmFzZVNlc3Npb25SZXRyaWV2ZXIge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29zdHJ1dHRvcmVcclxuICAgICAqIFxyXG4gICAgICogQGlnbm9yZVxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcigpIHsgc3VwZXIoKTsgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogT3R0aWVuZSB1biBJRCBzZXNzaW9uZVxyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBJRCBzZXNzaW9uZVxyXG4gICAgICovXHJcbiAgICBnZXRTZXNzaW9uS2V5KCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIFwiRFVNTVlfU0VTU0lPTlwiO1xyXG4gICAgfVxyXG59Il19
@@ -1,102 +0,0 @@
1
- // Angular
2
- import { Injectable, Inject, Optional } from "@angular/core";
3
- import { BaseStorageProvider } from "../models/providers/base/BaseStorageProvider";
4
- import { BaseSessionRetriever } from "../models/session/base/BaseSessionRetriever";
5
- // Modelli
6
- import { APPSEARCH_PREFIX } from '../tokens';
7
- import { tap, first } from "rxjs/operators";
8
- /**
9
- * @deprecated Utilizzare "PreferencesService" dalla libreria "@esfaenza/preferences"
10
- *
11
- * Service che fornisce funzionalità di base per storicizzazione e recupero oggetti dallo Storage Locale
12
- *
13
- * N.B: In ogni chiamata è presente l'operatore rxjs **first()** per far sì che a prescindere dall'implementazione utente/default gli
14
- * observable effettuino l'unsubscribe automaticamente terminata la prima operazine
15
- */
16
- export class StorageService {
17
- /**
18
- * Costruttore
19
- *
20
- * @ignore
21
- */
22
- constructor(APPSEARCH_PREFIX, _session, _storage) {
23
- this.APPSEARCH_PREFIX = APPSEARCH_PREFIX;
24
- this._session = _session;
25
- this._storage = _storage;
26
- }
27
- /**
28
- * Inserisce un oggetto che funga da contenitore di oggetti nel local storage, ripulendone gli oggetti (supponendo che sia una view di ricerca) e marcandolo come
29
- * salvato, in modo che quando viene recuperato il sistema non pensi che sia un oggetto vuoto ma che sappia che gli oggetti son stati ripuliti per risparmiare spazio
30
- *
31
- * @param {string} storeName Chiave del localStorage in cui storicizzare l'oggetto **itemsContainer**
32
- * @param {{ items: any[] }} itemsContainer Oggetto da storicizzare
33
- */
34
- setItem(storeName, item) {
35
- var finalItem;
36
- //Se sto salvando un oggetto con "items" e "page" vuol dire che è un appsearch, la ripulisco
37
- if (item.items && item.page) {
38
- finalItem = JSON.parse(JSON.stringify(item));
39
- finalItem.items = [];
40
- finalItem.savedstate = true;
41
- finalItem.savedprefix = this.APPSEARCH_PREFIX || 'Hot';
42
- }
43
- else
44
- finalItem = item;
45
- return this._storage.setItem(storeName, finalItem).pipe(first(), tap(res => {
46
- if (res == false)
47
- console.error("Impossibile effettuare il salvataggio dell'oggetto all'interno dello Storage Locale per la chiave " + storeName);
48
- }));
49
- }
50
- /**
51
- * Recupera un oggetto dallo Storage Locale
52
- *
53
- * @param {string} storeName Chiave del localStorage da cui recuperare l'oggetto
54
- *
55
- * @returns {any} Oggetto recuperato e deserializzato
56
- */
57
- getItem(storeName) {
58
- return this._storage.getItem(storeName).pipe(first(), tap(res => {
59
- if (res == null)
60
- console.warn("Impossibile ottenere l'oggetto salvato con chiave " + storeName);
61
- }));
62
- }
63
- /**
64
- * Ripulisce lo Storage Locale
65
- *
66
- * @param {string} storeName Chiave del localStorage da ripulire
67
- */
68
- removeItem(storeName) {
69
- return this._storage.removeItem(storeName).pipe(first(), tap(res => {
70
- if (res == false)
71
- console.warn("Impossibile rimuovere l'oggetto salvato con chiave " + storeName);
72
- }));
73
- }
74
- /**
75
- * Ripulisce lo Storage Locale di ogni cosa salvata
76
- *
77
- * @param {string} storeName Chiave del localStorage da ripulire
78
- */
79
- clear() {
80
- return this._storage.clear().pipe(first(), tap(res => {
81
- if (res == false)
82
- console.warn("Impossibile ripulire lo Storage Locale");
83
- }));
84
- }
85
- /**
86
- * Restituisce tutte le chiavi-valore associate alla sessione corrente
87
- *
88
- * @returns {Observable<{ [index: string]: string; }>} Risultato della query
89
- */
90
- getAll() {
91
- return this._storage.getAll().pipe(first());
92
- }
93
- }
94
- StorageService.decorators = [
95
- { type: Injectable }
96
- ];
97
- StorageService.ctorParameters = () => [
98
- { type: String, decorators: [{ type: Optional }, { type: Inject, args: [APPSEARCH_PREFIX,] }] },
99
- { type: BaseSessionRetriever },
100
- { type: BaseStorageProvider }
101
- ];
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5zaW9ucy5zdG9yYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9leHRlbnNpb25zL3NyYy9saWIvc2VydmljZXMvZXh0ZW5zaW9ucy5zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNuRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUVuRixVQUFVO0FBQ1YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBSTdDLE9BQU8sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFNUM7Ozs7Ozs7R0FPRztBQUVILE1BQU0sT0FBTyxjQUFjO0lBRXZCOzs7O09BSUc7SUFDSCxZQUEwRCxnQkFBd0IsRUFBVSxRQUE4QixFQUFVLFFBQTZCO1FBQXZHLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBUTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQXNCO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBcUI7SUFBSSxDQUFDO0lBRXRLOzs7Ozs7T0FNRztJQUNJLE9BQU8sQ0FBSSxTQUFpQixFQUFFLElBQU87UUFDeEMsSUFBSSxTQUFjLENBQUM7UUFDbkIsNEZBQTRGO1FBQzVGLElBQVUsSUFBSyxDQUFDLEtBQUssSUFBVSxJQUFLLENBQUMsSUFBSSxFQUFFO1lBQ3ZDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUM3QyxTQUFTLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUNyQixTQUFTLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUN0QixTQUFVLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxLQUFLLENBQUM7U0FDakU7O1lBRUcsU0FBUyxHQUFHLElBQUksQ0FBQztRQUVyQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZFLElBQUksR0FBRyxJQUFJLEtBQUs7Z0JBQ1osT0FBTyxDQUFDLEtBQUssQ0FBQyxvR0FBb0csR0FBRyxTQUFTLENBQUMsQ0FBQztRQUN4SSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLE9BQU8sQ0FBSSxTQUFpQjtRQUMvQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFJLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDL0QsSUFBSSxHQUFHLElBQUksSUFBSTtnQkFDWCxPQUFPLENBQUMsSUFBSSxDQUFDLG9EQUFvRCxHQUFHLFNBQVMsQ0FBQyxDQUFDO1FBQ3ZGLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFVBQVUsQ0FBQyxTQUFpQjtRQUMvQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDL0QsSUFBSSxHQUFHLElBQUksS0FBSztnQkFDWixPQUFPLENBQUMsSUFBSSxDQUFDLHFEQUFxRCxHQUFHLFNBQVMsQ0FBQyxDQUFDO1FBQ3hGLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLEtBQUs7UUFDUixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNqRCxJQUFJLEdBQUcsSUFBSSxLQUFLO2dCQUNaLE9BQU8sQ0FBQyxJQUFJLENBQUMsd0NBQXdDLENBQUMsQ0FBQztRQUMvRCxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELENBQUM7OztZQWhGSixVQUFVOzs7eUNBUU0sUUFBUSxZQUFJLE1BQU0sU0FBQyxnQkFBZ0I7WUF6QjNDLG9CQUFvQjtZQURwQixtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBbmd1bGFyXHJcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCwgT3B0aW9uYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBCYXNlU3RvcmFnZVByb3ZpZGVyIH0gZnJvbSBcIi4uL21vZGVscy9wcm92aWRlcnMvYmFzZS9CYXNlU3RvcmFnZVByb3ZpZGVyXCI7XHJcbmltcG9ydCB7IEJhc2VTZXNzaW9uUmV0cmlldmVyIH0gZnJvbSBcIi4uL21vZGVscy9zZXNzaW9uL2Jhc2UvQmFzZVNlc3Npb25SZXRyaWV2ZXJcIjtcclxuXHJcbi8vIE1vZGVsbGlcclxuaW1wb3J0IHsgQVBQU0VBUkNIX1BSRUZJWCB9IGZyb20gJy4uL3Rva2Vucyc7XHJcblxyXG4vLyBSWEpTXHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyB0YXAsIGZpcnN0IH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcblxyXG4vKipcclxuICogQGRlcHJlY2F0ZWQgVXRpbGl6emFyZSBcIlByZWZlcmVuY2VzU2VydmljZVwiIGRhbGxhIGxpYnJlcmlhIFwiQGVzZmFlbnphL3ByZWZlcmVuY2VzXCJcclxuICogXHJcbiAqIFNlcnZpY2UgY2hlIGZvcm5pc2NlIGZ1bnppb25hbGl0w6AgZGkgYmFzZSBwZXIgc3RvcmljaXp6YXppb25lIGUgcmVjdXBlcm8gb2dnZXR0aSBkYWxsbyBTdG9yYWdlIExvY2FsZVxyXG4gKiBcclxuICogTi5COiBJbiBvZ25pIGNoaWFtYXRhIMOoIHByZXNlbnRlIGwnb3BlcmF0b3JlIHJ4anMgKipmaXJzdCgpKiogcGVyIGZhciBzw6wgY2hlIGEgcHJlc2NpbmRlcmUgZGFsbCdpbXBsZW1lbnRhemlvbmUgdXRlbnRlL2RlZmF1bHQgZ2xpIFxyXG4gKiBvYnNlcnZhYmxlIGVmZmV0dHVpbm8gbCd1bnN1YnNjcmliZSBhdXRvbWF0aWNhbWVudGUgdGVybWluYXRhIGxhIHByaW1hIG9wZXJhemluZVxyXG4gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU3RvcmFnZVNlcnZpY2Uge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29zdHJ1dHRvcmVcclxuICAgICAqIFxyXG4gICAgICogQGlnbm9yZVxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASW5qZWN0KEFQUFNFQVJDSF9QUkVGSVgpIHByaXZhdGUgQVBQU0VBUkNIX1BSRUZJWDogc3RyaW5nLCBwcml2YXRlIF9zZXNzaW9uOiBCYXNlU2Vzc2lvblJldHJpZXZlciwgcHJpdmF0ZSBfc3RvcmFnZTogQmFzZVN0b3JhZ2VQcm92aWRlcikgeyB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbnNlcmlzY2UgdW4gb2dnZXR0byBjaGUgZnVuZ2EgZGEgY29udGVuaXRvcmUgZGkgb2dnZXR0aSBuZWwgbG9jYWwgc3RvcmFnZSwgcmlwdWxlbmRvbmUgZ2xpIG9nZ2V0dGkgKHN1cHBvbmVuZG8gY2hlIHNpYSB1bmEgdmlldyBkaSByaWNlcmNhKSBlIG1hcmNhbmRvbG8gY29tZSBcclxuICAgICAqIHNhbHZhdG8sIGluIG1vZG8gY2hlIHF1YW5kbyB2aWVuZSByZWN1cGVyYXRvIGlsIHNpc3RlbWEgbm9uIHBlbnNpIGNoZSBzaWEgdW4gb2dnZXR0byB2dW90byBtYSBjaGUgc2FwcGlhIGNoZSBnbGkgb2dnZXR0aSBzb24gc3RhdGkgcmlwdWxpdGkgcGVyIHJpc3Bhcm1pYXJlIHNwYXppb1xyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gc3RvcmVOYW1lIENoaWF2ZSBkZWwgbG9jYWxTdG9yYWdlIGluIGN1aSBzdG9yaWNpenphcmUgbCdvZ2dldHRvICoqaXRlbXNDb250YWluZXIqKlxyXG4gICAgICogQHBhcmFtIHt7IGl0ZW1zOiBhbnlbXSB9fSBpdGVtc0NvbnRhaW5lciBPZ2dldHRvIGRhIHN0b3JpY2l6emFyZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc2V0SXRlbTxUPihzdG9yZU5hbWU6IHN0cmluZywgaXRlbTogVCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgICAgIHZhciBmaW5hbEl0ZW06IGFueTtcclxuICAgICAgICAvL1NlIHN0byBzYWx2YW5kbyB1biBvZ2dldHRvIGNvbiBcIml0ZW1zXCIgZSBcInBhZ2VcIiB2dW9sIGRpcmUgY2hlIMOoIHVuIGFwcHNlYXJjaCwgbGEgcmlwdWxpc2NvXHJcbiAgICAgICAgaWYgKCg8YW55Pml0ZW0pLml0ZW1zICYmICg8YW55Pml0ZW0pLnBhZ2UpIHtcclxuICAgICAgICAgICAgZmluYWxJdGVtID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShpdGVtKSk7XHJcbiAgICAgICAgICAgIGZpbmFsSXRlbS5pdGVtcyA9IFtdO1xyXG4gICAgICAgICAgICBmaW5hbEl0ZW0uc2F2ZWRzdGF0ZSA9IHRydWU7XHJcbiAgICAgICAgICAgICg8YW55PmZpbmFsSXRlbSkuc2F2ZWRwcmVmaXggPSB0aGlzLkFQUFNFQVJDSF9QUkVGSVggfHwgJ0hvdCc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgICAgZmluYWxJdGVtID0gaXRlbTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0b3JhZ2Uuc2V0SXRlbShzdG9yZU5hbWUsIGZpbmFsSXRlbSkucGlwZShmaXJzdCgpLCB0YXAocmVzID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlcyA9PSBmYWxzZSlcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJJbXBvc3NpYmlsZSBlZmZldHR1YXJlIGlsIHNhbHZhdGFnZ2lvIGRlbGwnb2dnZXR0byBhbGwnaW50ZXJubyBkZWxsbyBTdG9yYWdlIExvY2FsZSBwZXIgbGEgY2hpYXZlIFwiICsgc3RvcmVOYW1lKTtcclxuICAgICAgICB9KSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZWN1cGVyYSB1biBvZ2dldHRvIGRhbGxvIFN0b3JhZ2UgTG9jYWxlXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBzdG9yZU5hbWUgQ2hpYXZlIGRlbCBsb2NhbFN0b3JhZ2UgZGEgY3VpIHJlY3VwZXJhcmUgbCdvZ2dldHRvXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIHthbnl9IE9nZ2V0dG8gcmVjdXBlcmF0byBlIGRlc2VyaWFsaXp6YXRvXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZXRJdGVtPFQ+KHN0b3JlTmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0b3JhZ2UuZ2V0SXRlbTxUPihzdG9yZU5hbWUpLnBpcGUoZmlyc3QoKSwgdGFwKHJlcyA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyZXMgPT0gbnVsbClcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcIkltcG9zc2liaWxlIG90dGVuZXJlIGwnb2dnZXR0byBzYWx2YXRvIGNvbiBjaGlhdmUgXCIgKyBzdG9yZU5hbWUpO1xyXG4gICAgICAgIH0pKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJpcHVsaXNjZSBsbyBTdG9yYWdlIExvY2FsZSBcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHN0b3JlTmFtZSBDaGlhdmUgZGVsIGxvY2FsU3RvcmFnZSBkYSByaXB1bGlyZVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgcmVtb3ZlSXRlbShzdG9yZU5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zdG9yYWdlLnJlbW92ZUl0ZW0oc3RvcmVOYW1lKS5waXBlKGZpcnN0KCksIHRhcChyZXMgPT4ge1xyXG4gICAgICAgICAgICBpZiAocmVzID09IGZhbHNlKVxyXG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFwiSW1wb3NzaWJpbGUgcmltdW92ZXJlIGwnb2dnZXR0byBzYWx2YXRvIGNvbiBjaGlhdmUgXCIgKyBzdG9yZU5hbWUpO1xyXG4gICAgICAgIH0pKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJpcHVsaXNjZSBsbyBTdG9yYWdlIExvY2FsZSBkaSBvZ25pIGNvc2Egc2FsdmF0YVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gc3RvcmVOYW1lIENoaWF2ZSBkZWwgbG9jYWxTdG9yYWdlIGRhIHJpcHVsaXJlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjbGVhcigpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc3RvcmFnZS5jbGVhcigpLnBpcGUoZmlyc3QoKSwgdGFwKHJlcyA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyZXMgPT0gZmFsc2UpXHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXCJJbXBvc3NpYmlsZSByaXB1bGlyZSBsbyBTdG9yYWdlIExvY2FsZVwiKTtcclxuICAgICAgICB9KSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXN0aXR1aXNjZSB0dXR0ZSBsZSBjaGlhdmktdmFsb3JlIGFzc29jaWF0ZSBhbGxhIHNlc3Npb25lIGNvcnJlbnRlXHJcbiAgICAgKiBcclxuICAgICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPHsgW2luZGV4OiBzdHJpbmddOiBzdHJpbmc7IH0+fSBSaXN1bHRhdG8gZGVsbGEgcXVlcnlcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldEFsbCgpOiBPYnNlcnZhYmxlPHsgW2luZGV4OiBzdHJpbmddOiBzdHJpbmc7IH0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc3RvcmFnZS5nZXRBbGwoKS5waXBlKGZpcnN0KCkpO1xyXG4gICAgfVxyXG59Il19
@@ -1,65 +0,0 @@
1
- import { Observable } from "rxjs";
2
- import { BaseSessionRetriever } from "../../session/base/BaseSessionRetriever";
3
- /**
4
- * Classe che gestisce la scrittura delle informazioni nello store locale.
5
- * Questo store locale potrebbe essere il localStorage (implementazione di default data dal **DefaultStorageProvider**),
6
- * oppure un'implementazione custom facente capo a un DB esterno.
7
- *
8
- * In questo ultimo caso però sarà necessario implementarsi un proprio **BaseSessionRetriever**
9
- * che generi una chiave univoca di sessione su cui tutte le operazioni di questa classe saranno eseguite
10
- */
11
- export declare abstract class BaseStorageProvider {
12
- protected session: BaseSessionRetriever;
13
- /** @ignore Costruttore */
14
- constructor(session: BaseSessionRetriever);
15
- /**
16
- * Imposta un oggetto data una chiave
17
- *
18
- * @param {string} key Chiave per cui impostare il valore serializzato dell'oggetto **value**
19
- * @param {T} value Valore da serializzare e salvare
20
- *
21
- * @returns {Observable<boolean>} Observable che viene risolto quando l'operazione di salvataggio termina.
22
- * Restituisce true se l'operazione è andata a buon fine, false altrimenti
23
- */
24
- abstract setItem<T>(key: string, value: T): Observable<boolean>;
25
- /**
26
- * Risolve un oggetto data una chiave
27
- *
28
- * @param {string} key Chiave per cui risolvere e recuperare l'oggetto
29
- *
30
- * @returns {Observable<T>} Observable che viene risolto quando l'oggetto viene trovato e recuperato.
31
- * Restituisce "null" se l'oggetto non viene trovato o se ci sono problemi a recuperarlo
32
- */
33
- abstract getItem<T>(key: string): Observable<T>;
34
- /**
35
- * Rimuove un oggetto salvato con una specifica chiave
36
- *
37
- *
38
- * @returns {Observable<T>} Observable che viene risolto quando l'operazione di eliminazione termina.
39
- * Restituisce true se l'operazione è andata a buon fine, false altrimenti
40
- */
41
- abstract removeItem(key: string): Observable<boolean>;
42
- /**
43
- * Ripulisce completamente lo store locale
44
- *
45
- * @returns {Observable<boolean>} Observable che viene risolto quando l'operazione di pulizia termina.
46
- * Restituisce true se l'operazione è andata a buon fine, false altrimenti
47
- */
48
- abstract clear(): Observable<boolean>;
49
- /**
50
- * Ottiene tutte le chiavi salvate nello store locale
51
- *
52
- * @returns {Observable<{ [index: string]: string; }>} Observable che viene risolto quando l'operazione di recupero dati termina.
53
- */
54
- abstract getAll(): Observable<{
55
- [index: string]: string;
56
- }>;
57
- /**
58
- * Ottiene la chiave "Reale" da utilizzare per la persistenza di una chiave generica
59
- *
60
- * @param {string} key Chiave da storicizzare
61
- *
62
- * @returns {string} Unione fra l'identificativo della sessione e la chiave specificata
63
- */
64
- protected getKey(key: string): string;
65
- }
@@ -1,20 +0,0 @@
1
- import { Observable } from "rxjs";
2
- import { BaseSessionRetriever } from "../../session/base/BaseSessionRetriever";
3
- import { BaseStorageProvider } from "../base/BaseStorageProvider";
4
- /** Implementazione di default per la classe **BaseStorageProvider** */
5
- export declare class DefaultStorageProvider extends BaseStorageProvider {
6
- /** @ignore Costruttore */
7
- constructor(session: BaseSessionRetriever);
8
- /** @ignore Implementazione di Default con localStorage. Identity viene ignorata perché essendo già nel localStorage è già per sito */
9
- setItem<T>(key: string, value: T): Observable<boolean>;
10
- /** @ignore Implementazione di Default con localStorage. Identity viene ignorata perché essendo già nel localStorage è già per sito */
11
- getItem<T>(key: string): Observable<T>;
12
- /** @ignore Implementazione di Default con localStorage. Identity viene ignorata perché essendo già nel localStorage è già per sito */
13
- removeItem(key: string): Observable<boolean>;
14
- /** @ignore Implementazione di Default con localStorage. Identity viene ignorata perché essendo già nel localStorage è già per sito */
15
- clear(): Observable<boolean>;
16
- /** @ignore Implementazione di Default con localStorage. Identity viene ignorata perché essendo già nel localStorage è già per sito */
17
- getAll(): Observable<{
18
- [index: string]: string;
19
- }>;
20
- }
@@ -1,11 +0,0 @@
1
- /**
2
- * Classe astratta che si occupa di recuperare l'Id sessione univoco per applicazione ed utente collegato
3
- */
4
- export declare abstract class BaseSessionRetriever {
5
- /**
6
- * Ottiene un ID sessione
7
- *
8
- * @returns {string} ID sessione
9
- */
10
- abstract getSessionKey(): string;
11
- }
@@ -1,18 +0,0 @@
1
- import { BaseSessionRetriever } from "../base/BaseSessionRetriever";
2
- /**
3
- * Implementazione di default per la classe **BaseSessionRetriever**
4
- */
5
- export declare class DefaultSessionRetriever extends BaseSessionRetriever {
6
- /**
7
- * Costruttore
8
- *
9
- * @ignore
10
- */
11
- constructor();
12
- /**
13
- * Ottiene un ID sessione
14
- *
15
- * @returns {string} ID sessione
16
- */
17
- getSessionKey(): string;
18
- }
@@ -1,58 +0,0 @@
1
- import { BaseStorageProvider } from "../models/providers/base/BaseStorageProvider";
2
- import { BaseSessionRetriever } from "../models/session/base/BaseSessionRetriever";
3
- import { Observable } from "rxjs";
4
- /**
5
- * @deprecated Utilizzare "PreferencesService" dalla libreria "@esfaenza/preferences"
6
- *
7
- * Service che fornisce funzionalità di base per storicizzazione e recupero oggetti dallo Storage Locale
8
- *
9
- * N.B: In ogni chiamata è presente l'operatore rxjs **first()** per far sì che a prescindere dall'implementazione utente/default gli
10
- * observable effettuino l'unsubscribe automaticamente terminata la prima operazine
11
- */
12
- export declare class StorageService {
13
- private APPSEARCH_PREFIX;
14
- private _session;
15
- private _storage;
16
- /**
17
- * Costruttore
18
- *
19
- * @ignore
20
- */
21
- constructor(APPSEARCH_PREFIX: string, _session: BaseSessionRetriever, _storage: BaseStorageProvider);
22
- /**
23
- * Inserisce un oggetto che funga da contenitore di oggetti nel local storage, ripulendone gli oggetti (supponendo che sia una view di ricerca) e marcandolo come
24
- * salvato, in modo che quando viene recuperato il sistema non pensi che sia un oggetto vuoto ma che sappia che gli oggetti son stati ripuliti per risparmiare spazio
25
- *
26
- * @param {string} storeName Chiave del localStorage in cui storicizzare l'oggetto **itemsContainer**
27
- * @param {{ items: any[] }} itemsContainer Oggetto da storicizzare
28
- */
29
- setItem<T>(storeName: string, item: T): Observable<boolean>;
30
- /**
31
- * Recupera un oggetto dallo Storage Locale
32
- *
33
- * @param {string} storeName Chiave del localStorage da cui recuperare l'oggetto
34
- *
35
- * @returns {any} Oggetto recuperato e deserializzato
36
- */
37
- getItem<T>(storeName: string): Observable<T>;
38
- /**
39
- * Ripulisce lo Storage Locale
40
- *
41
- * @param {string} storeName Chiave del localStorage da ripulire
42
- */
43
- removeItem(storeName: string): Observable<boolean>;
44
- /**
45
- * Ripulisce lo Storage Locale di ogni cosa salvata
46
- *
47
- * @param {string} storeName Chiave del localStorage da ripulire
48
- */
49
- clear(): Observable<boolean>;
50
- /**
51
- * Restituisce tutte le chiavi-valore associate alla sessione corrente
52
- *
53
- * @returns {Observable<{ [index: string]: string; }>} Risultato della query
54
- */
55
- getAll(): Observable<{
56
- [index: string]: string;
57
- }>;
58
- }