@etsoo/shared 1.0.85 → 1.0.86
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/storage/IStorage.d.ts +3 -2
- package/lib/cjs/storage/WindowStorage.d.ts +4 -2
- package/lib/cjs/storage/WindowStorage.js +10 -6
- package/lib/mjs/storage/IStorage.d.ts +3 -2
- package/lib/mjs/storage/WindowStorage.d.ts +4 -2
- package/lib/mjs/storage/WindowStorage.js +10 -6
- package/package.json +1 -1
- package/src/storage/IStorage.ts +6 -2
- package/src/storage/WindowStorage.ts +14 -7
|
@@ -22,12 +22,13 @@ export interface IStorage {
|
|
|
22
22
|
* Set data
|
|
23
23
|
* @param key Key name
|
|
24
24
|
* @param data Data, null for removal
|
|
25
|
+
* @param persistance Persist the data, false will stop persistance
|
|
25
26
|
*/
|
|
26
|
-
setData(key: string, data: unknown): void;
|
|
27
|
+
setData(key: string, data: unknown, persistance?: boolean): void;
|
|
27
28
|
}
|
|
28
29
|
/**
|
|
29
30
|
* Storage constructor interface
|
|
30
31
|
*/
|
|
31
32
|
export interface IStorageConstructor {
|
|
32
|
-
new (globalFields: string[]): IStorage;
|
|
33
|
+
new (globalFields: string[], callback: (field: string, data: string | null) => string | null): IStorage;
|
|
33
34
|
}
|
|
@@ -8,8 +8,9 @@ export declare class WindowStorage implements IStorage {
|
|
|
8
8
|
/**
|
|
9
9
|
* Constructor
|
|
10
10
|
* @param globalFields Global fields
|
|
11
|
+
* @param callback Field and data callback
|
|
11
12
|
*/
|
|
12
|
-
constructor(globalFields: string[]);
|
|
13
|
+
constructor(globalFields: string[], callback: (field: string, data: string | null) => string | null);
|
|
13
14
|
/**
|
|
14
15
|
* Get data
|
|
15
16
|
* @param key Key name
|
|
@@ -30,6 +31,7 @@ export declare class WindowStorage implements IStorage {
|
|
|
30
31
|
* Set data
|
|
31
32
|
* @param key Key name
|
|
32
33
|
* @param data Data, null for removal
|
|
34
|
+
* @param persistance Persist the data, false will stop persistance
|
|
33
35
|
*/
|
|
34
|
-
setData(key: string, data: unknown): void;
|
|
36
|
+
setData(key: string, data: unknown, persistance?: boolean): void;
|
|
35
37
|
}
|
|
@@ -11,8 +11,9 @@ class WindowStorage {
|
|
|
11
11
|
/**
|
|
12
12
|
* Constructor
|
|
13
13
|
* @param globalFields Global fields
|
|
14
|
+
* @param callback Field and data callback
|
|
14
15
|
*/
|
|
15
|
-
constructor(globalFields) {
|
|
16
|
+
constructor(globalFields, callback) {
|
|
16
17
|
this.globalFields = globalFields;
|
|
17
18
|
if (globalFields.length == 0)
|
|
18
19
|
return;
|
|
@@ -22,10 +23,11 @@ class WindowStorage {
|
|
|
22
23
|
if (firsItem)
|
|
23
24
|
return;
|
|
24
25
|
globalFields.forEach((field) => {
|
|
25
|
-
const data = localStorage.getItem(field);
|
|
26
|
-
if (data
|
|
26
|
+
const data = callback(field, localStorage.getItem(field));
|
|
27
|
+
if (data == null)
|
|
28
|
+
sessionStorage.removeItem(field);
|
|
29
|
+
else
|
|
27
30
|
sessionStorage.setItem(field, data);
|
|
28
|
-
}
|
|
29
31
|
});
|
|
30
32
|
}
|
|
31
33
|
/**
|
|
@@ -57,10 +59,12 @@ class WindowStorage {
|
|
|
57
59
|
* Set data
|
|
58
60
|
* @param key Key name
|
|
59
61
|
* @param data Data, null for removal
|
|
62
|
+
* @param persistance Persist the data, false will stop persistance
|
|
60
63
|
*/
|
|
61
|
-
setData(key, data) {
|
|
64
|
+
setData(key, data, persistance) {
|
|
62
65
|
StorageUtils_1.StorageUtils.setSessionData(key, data);
|
|
63
|
-
if (
|
|
66
|
+
if (persistance ||
|
|
67
|
+
(persistance == null && this.globalFields.includes(key))) {
|
|
64
68
|
StorageUtils_1.StorageUtils.setLocalData(key, data);
|
|
65
69
|
}
|
|
66
70
|
}
|
|
@@ -22,12 +22,13 @@ export interface IStorage {
|
|
|
22
22
|
* Set data
|
|
23
23
|
* @param key Key name
|
|
24
24
|
* @param data Data, null for removal
|
|
25
|
+
* @param persistance Persist the data, false will stop persistance
|
|
25
26
|
*/
|
|
26
|
-
setData(key: string, data: unknown): void;
|
|
27
|
+
setData(key: string, data: unknown, persistance?: boolean): void;
|
|
27
28
|
}
|
|
28
29
|
/**
|
|
29
30
|
* Storage constructor interface
|
|
30
31
|
*/
|
|
31
32
|
export interface IStorageConstructor {
|
|
32
|
-
new (globalFields: string[]): IStorage;
|
|
33
|
+
new (globalFields: string[], callback: (field: string, data: string | null) => string | null): IStorage;
|
|
33
34
|
}
|
|
@@ -8,8 +8,9 @@ export declare class WindowStorage implements IStorage {
|
|
|
8
8
|
/**
|
|
9
9
|
* Constructor
|
|
10
10
|
* @param globalFields Global fields
|
|
11
|
+
* @param callback Field and data callback
|
|
11
12
|
*/
|
|
12
|
-
constructor(globalFields: string[]);
|
|
13
|
+
constructor(globalFields: string[], callback: (field: string, data: string | null) => string | null);
|
|
13
14
|
/**
|
|
14
15
|
* Get data
|
|
15
16
|
* @param key Key name
|
|
@@ -30,6 +31,7 @@ export declare class WindowStorage implements IStorage {
|
|
|
30
31
|
* Set data
|
|
31
32
|
* @param key Key name
|
|
32
33
|
* @param data Data, null for removal
|
|
34
|
+
* @param persistance Persist the data, false will stop persistance
|
|
33
35
|
*/
|
|
34
|
-
setData(key: string, data: unknown): void;
|
|
36
|
+
setData(key: string, data: unknown, persistance?: boolean): void;
|
|
35
37
|
}
|
|
@@ -8,8 +8,9 @@ export class WindowStorage {
|
|
|
8
8
|
/**
|
|
9
9
|
* Constructor
|
|
10
10
|
* @param globalFields Global fields
|
|
11
|
+
* @param callback Field and data callback
|
|
11
12
|
*/
|
|
12
|
-
constructor(globalFields) {
|
|
13
|
+
constructor(globalFields, callback) {
|
|
13
14
|
this.globalFields = globalFields;
|
|
14
15
|
if (globalFields.length == 0)
|
|
15
16
|
return;
|
|
@@ -19,10 +20,11 @@ export class WindowStorage {
|
|
|
19
20
|
if (firsItem)
|
|
20
21
|
return;
|
|
21
22
|
globalFields.forEach((field) => {
|
|
22
|
-
const data = localStorage.getItem(field);
|
|
23
|
-
if (data
|
|
23
|
+
const data = callback(field, localStorage.getItem(field));
|
|
24
|
+
if (data == null)
|
|
25
|
+
sessionStorage.removeItem(field);
|
|
26
|
+
else
|
|
24
27
|
sessionStorage.setItem(field, data);
|
|
25
|
-
}
|
|
26
28
|
});
|
|
27
29
|
}
|
|
28
30
|
/**
|
|
@@ -54,10 +56,12 @@ export class WindowStorage {
|
|
|
54
56
|
* Set data
|
|
55
57
|
* @param key Key name
|
|
56
58
|
* @param data Data, null for removal
|
|
59
|
+
* @param persistance Persist the data, false will stop persistance
|
|
57
60
|
*/
|
|
58
|
-
setData(key, data) {
|
|
61
|
+
setData(key, data, persistance) {
|
|
59
62
|
StorageUtils.setSessionData(key, data);
|
|
60
|
-
if (
|
|
63
|
+
if (persistance ||
|
|
64
|
+
(persistance == null && this.globalFields.includes(key))) {
|
|
61
65
|
StorageUtils.setLocalData(key, data);
|
|
62
66
|
}
|
|
63
67
|
}
|
package/package.json
CHANGED
package/src/storage/IStorage.ts
CHANGED
|
@@ -25,13 +25,17 @@ export interface IStorage {
|
|
|
25
25
|
* Set data
|
|
26
26
|
* @param key Key name
|
|
27
27
|
* @param data Data, null for removal
|
|
28
|
+
* @param persistance Persist the data, false will stop persistance
|
|
28
29
|
*/
|
|
29
|
-
setData(key: string, data: unknown): void;
|
|
30
|
+
setData(key: string, data: unknown, persistance?: boolean): void;
|
|
30
31
|
}
|
|
31
32
|
|
|
32
33
|
/**
|
|
33
34
|
* Storage constructor interface
|
|
34
35
|
*/
|
|
35
36
|
export interface IStorageConstructor {
|
|
36
|
-
new (
|
|
37
|
+
new (
|
|
38
|
+
globalFields: string[],
|
|
39
|
+
callback: (field: string, data: string | null) => string | null
|
|
40
|
+
): IStorage;
|
|
37
41
|
}
|
|
@@ -10,8 +10,12 @@ export class WindowStorage implements IStorage {
|
|
|
10
10
|
/**
|
|
11
11
|
* Constructor
|
|
12
12
|
* @param globalFields Global fields
|
|
13
|
+
* @param callback Field and data callback
|
|
13
14
|
*/
|
|
14
|
-
constructor(
|
|
15
|
+
constructor(
|
|
16
|
+
private globalFields: string[],
|
|
17
|
+
callback: (field: string, data: string | null) => string | null
|
|
18
|
+
) {
|
|
15
19
|
if (globalFields.length == 0) return;
|
|
16
20
|
|
|
17
21
|
// Copy global fields to session storage where first item does not exist
|
|
@@ -20,10 +24,9 @@ export class WindowStorage implements IStorage {
|
|
|
20
24
|
if (firsItem) return;
|
|
21
25
|
|
|
22
26
|
globalFields.forEach((field) => {
|
|
23
|
-
const data = localStorage.getItem(field);
|
|
24
|
-
if (data
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
+
const data = callback(field, localStorage.getItem(field));
|
|
28
|
+
if (data == null) sessionStorage.removeItem(field);
|
|
29
|
+
else sessionStorage.setItem(field, data);
|
|
27
30
|
});
|
|
28
31
|
}
|
|
29
32
|
|
|
@@ -71,10 +74,14 @@ export class WindowStorage implements IStorage {
|
|
|
71
74
|
* Set data
|
|
72
75
|
* @param key Key name
|
|
73
76
|
* @param data Data, null for removal
|
|
77
|
+
* @param persistance Persist the data, false will stop persistance
|
|
74
78
|
*/
|
|
75
|
-
setData(key: string, data: unknown) {
|
|
79
|
+
setData(key: string, data: unknown, persistance?: boolean) {
|
|
76
80
|
StorageUtils.setSessionData(key, data);
|
|
77
|
-
if (
|
|
81
|
+
if (
|
|
82
|
+
persistance ||
|
|
83
|
+
(persistance == null && this.globalFields.includes(key))
|
|
84
|
+
) {
|
|
78
85
|
StorageUtils.setLocalData(key, data);
|
|
79
86
|
}
|
|
80
87
|
}
|