@azrico/global 1.4.0 → 1.4.2
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/dist/packages/storage/gstorage.d.ts +11 -0
- package/dist/packages/storage/gstorage.d.ts.map +1 -1
- package/dist/packages/storage/gstorage.js +73 -40
- package/dist/packages/storage/gstorage.js.map +1 -1
- package/dist/packages/storage/gstorage.test.js +66 -0
- package/dist/packages/storage/gstorage.test.js.map +1 -1
- package/package.json +4 -2
- package/dist/packages/storage/g_storage.d.ts +0 -14
- package/dist/packages/storage/g_storage.d.ts.map +0 -1
- package/dist/packages/storage/g_storage.js +0 -184
- package/dist/packages/storage/g_storage.js.map +0 -1
|
@@ -14,6 +14,17 @@ export declare class gstorage {
|
|
|
14
14
|
static hold<T>(key: string, value: T, options?: setVarOptions): T;
|
|
15
15
|
private static _optional_dec;
|
|
16
16
|
private static _optional_enc;
|
|
17
|
+
private static _is_empty;
|
|
18
|
+
/**
|
|
19
|
+
* reads the raw (still encoded) value from localStorage, then sessionStorage,
|
|
20
|
+
* based on options
|
|
21
|
+
*/
|
|
22
|
+
private static _browser_get;
|
|
23
|
+
/**
|
|
24
|
+
* writes the encoded value to localStorage / sessionStorage based on options,
|
|
25
|
+
* removes the key when the original value is empty
|
|
26
|
+
*/
|
|
27
|
+
private static _browser_set;
|
|
17
28
|
/**
|
|
18
29
|
* @deprecated
|
|
19
30
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gstorage.d.ts","sourceRoot":"","sources":["../../../packages/storage/gstorage.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,aAAa;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,qBAAa,QAAQ;WACJ,GAAG,CACZ,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,aAAa,GACxB,OAAO,CAAC,GAAG,CAAC;IAOf,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,GAAG;
|
|
1
|
+
{"version":3,"file":"gstorage.d.ts","sourceRoot":"","sources":["../../../packages/storage/gstorage.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,aAAa;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,qBAAa,QAAQ;WACJ,GAAG,CACZ,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,aAAa,GACxB,OAAO,CAAC,GAAG,CAAC;IAOf,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,GAAG;IAezD,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,CAAC;WAevD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB;WAoC5C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,aAAa;IAmDjE,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,CAAC;IAajE,OAAO,CAAC,MAAM,CAAC,aAAa;IAG5B,OAAO,CAAC,MAAM,CAAC,aAAa;IAO5B,OAAO,CAAC,MAAM,CAAC,SAAS;IAGxB;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAmB3B;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAyC3B;;OAEG;WACU,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,aAAa;IAGrE;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa;IAGxD,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,aAAa;IAGpE;;OAEG;WACU,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa;IAGzD;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa;IAGpD;;OAEG;WACU,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,aAAa;IAGrE;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,aAAa;IAGhE;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,CAAC;CAGxE"}
|
|
@@ -18,9 +18,12 @@ class gstorage {
|
|
|
18
18
|
return foundValue;
|
|
19
19
|
}
|
|
20
20
|
static getSync(key, options) {
|
|
21
|
+
var _a;
|
|
21
22
|
if (!options)
|
|
22
23
|
options = {};
|
|
23
24
|
let foundValue = core_1.default.Global_get(lname, key);
|
|
25
|
+
if (foundValue == null)
|
|
26
|
+
foundValue = (_a = gstorage._browser_get(key, options)) !== null && _a !== void 0 ? _a : foundValue;
|
|
24
27
|
if (typeof foundValue === "string")
|
|
25
28
|
foundValue = gstorage._optional_dec(foundValue);
|
|
26
29
|
if (options.json && typeof foundValue === "string")
|
|
@@ -44,6 +47,7 @@ class gstorage {
|
|
|
44
47
|
/* Encode any string */
|
|
45
48
|
final_value = gstorage._optional_enc(final_value);
|
|
46
49
|
}
|
|
50
|
+
gstorage._browser_set(key, value, final_value, options);
|
|
47
51
|
return core_1.default.Global_set(lname, key, final_value);
|
|
48
52
|
}
|
|
49
53
|
static async get(key, options = {}) {
|
|
@@ -57,22 +61,10 @@ class gstorage {
|
|
|
57
61
|
fv = core_1.default.Global_get(lname, key);
|
|
58
62
|
if (fv != null)
|
|
59
63
|
return fv;
|
|
60
|
-
/*
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
fv = localStorage[key]; // only strings
|
|
65
|
-
if (fv != null)
|
|
66
|
-
return fv;
|
|
67
|
-
}
|
|
68
|
-
/* --------------------------------- session -------------------------------- */
|
|
69
|
-
if (options.session) {
|
|
70
|
-
if (!isBrowser)
|
|
71
|
-
throw new Error("you cant use session storage in node");
|
|
72
|
-
fv = window.sessionStorage.getItem(key);
|
|
73
|
-
if (fv != null)
|
|
74
|
-
return fv;
|
|
75
|
-
}
|
|
64
|
+
/* ------------------------ local_storage / session ------------------------ */
|
|
65
|
+
fv = gstorage._browser_get(key, options);
|
|
66
|
+
if (fv != null)
|
|
67
|
+
return fv;
|
|
76
68
|
/* --------------------------------- storage -------------------------------- */
|
|
77
69
|
if (options.storage) {
|
|
78
70
|
if (!isBrowser)
|
|
@@ -116,31 +108,9 @@ class gstorage {
|
|
|
116
108
|
/* Encode any string */
|
|
117
109
|
final_value = gstorage._optional_enc(final_value);
|
|
118
110
|
}
|
|
119
|
-
let isEmpty =
|
|
111
|
+
let isEmpty = gstorage._is_empty(value);
|
|
120
112
|
/* -------------------------------------------------------------------------- */
|
|
121
|
-
|
|
122
|
-
if (!isBrowser)
|
|
123
|
-
throw new Error("you cant use localStorage storage in node");
|
|
124
|
-
if (isEmpty)
|
|
125
|
-
delete localStorage[key];
|
|
126
|
-
else {
|
|
127
|
-
if (!isString)
|
|
128
|
-
throw new Error("You cant save non-string values in local_storage !");
|
|
129
|
-
localStorage[key] = final_value; // only strings
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
if (options.session) {
|
|
133
|
-
if (!isBrowser)
|
|
134
|
-
throw new Error("you cant use session storage in node");
|
|
135
|
-
if (isEmpty)
|
|
136
|
-
window.sessionStorage.removeItem(key);
|
|
137
|
-
else {
|
|
138
|
-
if (!isString)
|
|
139
|
-
throw new Error("You cant save non-string values in session ! " +
|
|
140
|
-
final_value);
|
|
141
|
-
window.sessionStorage.setItem(key, final_value);
|
|
142
|
-
}
|
|
143
|
-
}
|
|
113
|
+
gstorage._browser_set(key, value, final_value, options);
|
|
144
114
|
if (options.storage) {
|
|
145
115
|
if (!isBrowser)
|
|
146
116
|
throw new Error("you cant use AsyncStorage in node");
|
|
@@ -176,6 +146,69 @@ class gstorage {
|
|
|
176
146
|
return data + "SECRET";
|
|
177
147
|
}
|
|
178
148
|
/* -------------------------------------------------------------------------- */
|
|
149
|
+
/* localStorage / sessionStorage (sync) */
|
|
150
|
+
/* -------------------------------------------------------------------------- */
|
|
151
|
+
static _is_empty(value) {
|
|
152
|
+
return value == null || value === "";
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* reads the raw (still encoded) value from localStorage, then sessionStorage,
|
|
156
|
+
* based on options
|
|
157
|
+
*/
|
|
158
|
+
static _browser_get(key, options) {
|
|
159
|
+
const isBrowser = typeof window !== "undefined";
|
|
160
|
+
let fv = null;
|
|
161
|
+
/* ------------------------------ local_storage ----------------------------- */
|
|
162
|
+
if (options.local_storage) {
|
|
163
|
+
if (!isBrowser)
|
|
164
|
+
throw new Error("you cant use localStorage storage in node");
|
|
165
|
+
fv = localStorage[key]; // only strings
|
|
166
|
+
if (fv != null)
|
|
167
|
+
return fv;
|
|
168
|
+
}
|
|
169
|
+
/* --------------------------------- session -------------------------------- */
|
|
170
|
+
if (options.session) {
|
|
171
|
+
if (!isBrowser)
|
|
172
|
+
throw new Error("you cant use session storage in node");
|
|
173
|
+
fv = window.sessionStorage.getItem(key);
|
|
174
|
+
if (fv != null)
|
|
175
|
+
return fv;
|
|
176
|
+
}
|
|
177
|
+
return undefined;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* writes the encoded value to localStorage / sessionStorage based on options,
|
|
181
|
+
* removes the key when the original value is empty
|
|
182
|
+
*/
|
|
183
|
+
static _browser_set(key, value, final_value, options) {
|
|
184
|
+
const isBrowser = typeof window !== "undefined";
|
|
185
|
+
const isEmpty = gstorage._is_empty(value);
|
|
186
|
+
const isString = typeof final_value == "string";
|
|
187
|
+
if (options.local_storage) {
|
|
188
|
+
if (!isBrowser)
|
|
189
|
+
throw new Error("you cant use localStorage storage in node");
|
|
190
|
+
if (isEmpty)
|
|
191
|
+
delete localStorage[key];
|
|
192
|
+
else {
|
|
193
|
+
if (!isString)
|
|
194
|
+
throw new Error("You cant save non-string values in local_storage !");
|
|
195
|
+
localStorage[key] = final_value; // only strings
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
if (options.session) {
|
|
199
|
+
if (!isBrowser)
|
|
200
|
+
throw new Error("you cant use session storage in node");
|
|
201
|
+
if (isEmpty)
|
|
202
|
+
window.sessionStorage.removeItem(key);
|
|
203
|
+
else {
|
|
204
|
+
if (!isString)
|
|
205
|
+
throw new Error("You cant save non-string values in session ! " +
|
|
206
|
+
final_value);
|
|
207
|
+
window.sessionStorage.setItem(key, final_value);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
/* -------------------------------------------------------------------------- */
|
|
179
212
|
/* deprected functions */
|
|
180
213
|
/* -------------------------------------------------------------------------- */
|
|
181
214
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gstorage.js","sourceRoot":"","sources":["../../../packages/storage/gstorage.ts"],"names":[],"mappings":";;;;;;AAAA,8FAAqE;AACrE,kDAA0B;AAC1B,mDAA0B;AAE1B,MAAM,KAAK,GAAG,UAAU,CAAC;AAUzB,MAAa,QAAQ;IACjB,MAAM,CAAC,KAAK,CAAC,GAAG,CACZ,GAAW,EACX,KAAU,EACV,OAAuB;QAEvB,IAAI,UAAU,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;YAAE,UAAU,GAAG,EAAE,CAAC;QAChD,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QACzC,OAAO,UAAU,CAAC;IACtB,CAAC;IACD,MAAM,CAAC,OAAO,CAAC,GAAW,EAAE,OAAuB
|
|
1
|
+
{"version":3,"file":"gstorage.js","sourceRoot":"","sources":["../../../packages/storage/gstorage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const index_1 = require("./index");
|
|
4
|
+
const core_1 = require("../core");
|
|
4
5
|
describe("gstorage", () => {
|
|
5
6
|
var testObject = { name: "reza" };
|
|
6
7
|
it("set_var_sync", async () => {
|
|
@@ -53,4 +54,69 @@ describe("gstorage", () => {
|
|
|
53
54
|
})).toStrictEqual(storage_a);
|
|
54
55
|
});
|
|
55
56
|
});
|
|
57
|
+
describe("gstorage sync with browser storage", () => {
|
|
58
|
+
/* clears the in-memory store, like a page reload */
|
|
59
|
+
const reload = () => core_1.GlobalStorage.Global_set("list_var", true, null);
|
|
60
|
+
beforeEach(() => {
|
|
61
|
+
localStorage.clear();
|
|
62
|
+
sessionStorage.clear();
|
|
63
|
+
reload();
|
|
64
|
+
});
|
|
65
|
+
test("setSync getSync local_storage", () => {
|
|
66
|
+
index_1.gstorage.setSync("ls_a", "hello", { local_storage: true });
|
|
67
|
+
reload();
|
|
68
|
+
expect(index_1.gstorage.getSync("ls_a")).toBeUndefined();
|
|
69
|
+
expect(index_1.gstorage.getSync("ls_a", { local_storage: true })).toBe("hello");
|
|
70
|
+
});
|
|
71
|
+
test("setSync getSync session", () => {
|
|
72
|
+
index_1.gstorage.setSync("ss_a", "hello", { session: true });
|
|
73
|
+
reload();
|
|
74
|
+
expect(index_1.gstorage.getSync("ss_a", { local_storage: true })).toBeUndefined();
|
|
75
|
+
expect(index_1.gstorage.getSync("ss_a", { session: true })).toBe("hello");
|
|
76
|
+
});
|
|
77
|
+
test("setSync getSync local_storage json", () => {
|
|
78
|
+
const obj = { b4: "bbbb", abArray: ["a", "b"] };
|
|
79
|
+
index_1.gstorage.setSync("ls_json", obj, { local_storage: true, json: true });
|
|
80
|
+
reload();
|
|
81
|
+
expect(index_1.gstorage.getSync("ls_json", { local_storage: true, json: true })).toStrictEqual(obj);
|
|
82
|
+
});
|
|
83
|
+
test("set then getSync local_storage", async () => {
|
|
84
|
+
await index_1.gstorage.set("ls_async", "hello", { local_storage: true });
|
|
85
|
+
reload();
|
|
86
|
+
expect(index_1.gstorage.getSync("ls_async", { local_storage: true })).toBe("hello");
|
|
87
|
+
});
|
|
88
|
+
test("in-memory store is checked first", () => {
|
|
89
|
+
localStorage["ls_mem"] = "fromStorage";
|
|
90
|
+
index_1.gstorage.setSync("ls_mem", "fromMemory");
|
|
91
|
+
expect(index_1.gstorage.getSync("ls_mem", { local_storage: true })).toBe("fromMemory");
|
|
92
|
+
});
|
|
93
|
+
test("setSync with empty value removes the localStorage key", () => {
|
|
94
|
+
index_1.gstorage.setSync("ls_empty", "hello", { local_storage: true });
|
|
95
|
+
expect(localStorage.getItem("ls_empty")).not.toBeNull();
|
|
96
|
+
index_1.gstorage.setSync("ls_empty", "", { local_storage: true });
|
|
97
|
+
expect(localStorage.getItem("ls_empty")).toBeNull();
|
|
98
|
+
index_1.gstorage.setSync("ls_null", "hello", { local_storage: true });
|
|
99
|
+
index_1.gstorage.setSync("ls_null", null, { local_storage: true });
|
|
100
|
+
expect(localStorage.getItem("ls_null")).toBeNull();
|
|
101
|
+
reload();
|
|
102
|
+
expect(index_1.gstorage.getSync("ls_null", { local_storage: true })).toBeUndefined();
|
|
103
|
+
});
|
|
104
|
+
test("setSync non-string without json throws for local_storage", () => {
|
|
105
|
+
expect(() => index_1.gstorage.setSync("ls_obj", { a: 1 }, { local_storage: true })).toThrow();
|
|
106
|
+
});
|
|
107
|
+
test("no options does not touch browser storage", () => {
|
|
108
|
+
const obj = { name: "reza" };
|
|
109
|
+
expect(index_1.gstorage.setSync("plain_a", obj)).toBe(obj);
|
|
110
|
+
expect(index_1.gstorage.getSync("plain_a")).toBe(obj);
|
|
111
|
+
expect(index_1.gstorage.setSync("plain_b", "hello")).toBe("helloSECRET");
|
|
112
|
+
expect(index_1.gstorage.getSync("plain_b")).toBe("hello");
|
|
113
|
+
expect(index_1.gstorage.setSync("plain_c", obj, { json: true })).toBe(JSON.stringify(obj) + "SECRET");
|
|
114
|
+
expect(index_1.gstorage.getSync("plain_c", { json: true })).toStrictEqual(obj);
|
|
115
|
+
expect(localStorage.length).toBe(0);
|
|
116
|
+
expect(sessionStorage.length).toBe(0);
|
|
117
|
+
localStorage["plain_d"] = "hello";
|
|
118
|
+
expect(index_1.gstorage.getSync("plain_d")).toBeUndefined();
|
|
119
|
+
expect(index_1.gstorage.getSync("plain_d", { json: true })).toBeUndefined();
|
|
120
|
+
});
|
|
121
|
+
});
|
|
56
122
|
//# sourceMappingURL=gstorage.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gstorage.test.js","sourceRoot":"","sources":["../../../packages/storage/gstorage.test.ts"],"names":[],"mappings":";;AAAA,mCAAiC;
|
|
1
|
+
{"version":3,"file":"gstorage.test.js","sourceRoot":"","sources":["../../../packages/storage/gstorage.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@azrico/global",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.2",
|
|
4
4
|
"description": "Simple global functions and helpers",
|
|
5
5
|
"author": "Azrideus",
|
|
6
6
|
"license": "MIT",
|
|
@@ -52,8 +52,10 @@
|
|
|
52
52
|
"dist"
|
|
53
53
|
],
|
|
54
54
|
"peerDependencies": {
|
|
55
|
-
"@react-native-async-storage/async-storage": "^1.15.5",
|
|
56
55
|
"react": "^18.0.0"
|
|
57
56
|
},
|
|
57
|
+
"dependencies": {
|
|
58
|
+
"@react-native-async-storage/async-storage": "^3.1.1"
|
|
59
|
+
},
|
|
58
60
|
"packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
|
|
59
61
|
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export interface setVarOptions {
|
|
2
|
-
normal?: boolean;
|
|
3
|
-
session?: boolean;
|
|
4
|
-
storage?: boolean;
|
|
5
|
-
local_storage?: boolean;
|
|
6
|
-
json?: boolean;
|
|
7
|
-
}
|
|
8
|
-
export declare function add_var(key: string, value: any, options?: setVarOptions): Promise<any>;
|
|
9
|
-
export declare function get_var_sync(key: string, options?: setVarOptions): any;
|
|
10
|
-
export declare function set_var_sync<T>(key: string, value: T, options?: setVarOptions): T;
|
|
11
|
-
export declare function get_var(key: string, options?: setVarOptions): Promise<any>;
|
|
12
|
-
export declare function set_var(key: string, value: any, options?: setVarOptions): Promise<any>;
|
|
13
|
-
export declare function hold_var<T>(key: string, value: T, options?: setVarOptions): T;
|
|
14
|
-
//# sourceMappingURL=g_storage.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"g_storage.d.ts","sourceRoot":"","sources":["../../../packages/storage/g_storage.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,aAAa;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,OAAO,CACzB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,aAAa,GACxB,OAAO,CAAC,GAAG,CAAC,CAMd;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,GAAG,CAWtE;AACD,wBAAgB,YAAY,CAAC,CAAC,EAC1B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,CAAC,EACR,OAAO,CAAC,EAAE,aAAa,GACxB,CAAC,CAaH;AACD,wBAAsB,OAAO,CACzB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,aAAkB,GAC5B,OAAO,CAAC,GAAG,CAAC,CA4Cd;AAED,wBAAsB,OAAO,CACzB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,aAAa,GACxB,OAAO,CAAC,GAAG,CAAC,CAyEd;AAYD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,CAAC,CAQ7E"}
|
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.hold_var = exports.set_var = exports.get_var = exports.set_var_sync = exports.get_var_sync = exports.add_var = void 0;
|
|
7
|
-
const async_storage_1 = __importDefault(require("@react-native-async-storage/async-storage"));
|
|
8
|
-
const react_1 = __importDefault(require("react"));
|
|
9
|
-
const core_1 = __importDefault(require("../core"));
|
|
10
|
-
const lname = "list_var";
|
|
11
|
-
async function add_var(key, value, options) {
|
|
12
|
-
var foundValue = await get_var(key, options);
|
|
13
|
-
if (!Array.isArray(foundValue))
|
|
14
|
-
foundValue = [];
|
|
15
|
-
foundValue.push(value);
|
|
16
|
-
await set_var(key, foundValue, options);
|
|
17
|
-
return foundValue;
|
|
18
|
-
}
|
|
19
|
-
exports.add_var = add_var;
|
|
20
|
-
function get_var_sync(key, options) {
|
|
21
|
-
if (!options)
|
|
22
|
-
options = {};
|
|
23
|
-
let foundValue = core_1.default.Global_get(lname, key);
|
|
24
|
-
if (typeof foundValue === "string")
|
|
25
|
-
foundValue = _optional_dec(foundValue);
|
|
26
|
-
if (options.json && typeof foundValue === "string")
|
|
27
|
-
try {
|
|
28
|
-
return JSON.parse(foundValue);
|
|
29
|
-
}
|
|
30
|
-
catch (Ex) { }
|
|
31
|
-
return foundValue;
|
|
32
|
-
}
|
|
33
|
-
exports.get_var_sync = get_var_sync;
|
|
34
|
-
function set_var_sync(key, value, options) {
|
|
35
|
-
if (!options)
|
|
36
|
-
options = {};
|
|
37
|
-
let final_value = value;
|
|
38
|
-
if (options.json && typeof final_value !== "function") {
|
|
39
|
-
try {
|
|
40
|
-
final_value = JSON.stringify(final_value);
|
|
41
|
-
}
|
|
42
|
-
catch (Ex) { }
|
|
43
|
-
}
|
|
44
|
-
if (typeof final_value === "string") {
|
|
45
|
-
/* Encode any string */
|
|
46
|
-
final_value = _optional_enc(final_value);
|
|
47
|
-
}
|
|
48
|
-
return core_1.default.Global_set(lname, key, final_value);
|
|
49
|
-
}
|
|
50
|
-
exports.set_var_sync = set_var_sync;
|
|
51
|
-
async function get_var(key, options = {}) {
|
|
52
|
-
if (!options)
|
|
53
|
-
options = {};
|
|
54
|
-
const isBrowser = typeof window !== "undefined";
|
|
55
|
-
/* -------------------------------------------------------------------------- */
|
|
56
|
-
async function getValueBasedOnOptions() {
|
|
57
|
-
let fv = null;
|
|
58
|
-
/* -------------------- normal get var, always checked first -------------------- */
|
|
59
|
-
fv = core_1.default.Global_get(lname, key);
|
|
60
|
-
if (fv != null)
|
|
61
|
-
return fv;
|
|
62
|
-
/* ------------------------------ local_storage ----------------------------- */
|
|
63
|
-
if (options.local_storage) {
|
|
64
|
-
if (!isBrowser)
|
|
65
|
-
throw new Error("you cant use localStorage storage in node");
|
|
66
|
-
fv = localStorage[key]; // only strings
|
|
67
|
-
if (fv != null)
|
|
68
|
-
return fv;
|
|
69
|
-
}
|
|
70
|
-
/* --------------------------------- session -------------------------------- */
|
|
71
|
-
if (options.session) {
|
|
72
|
-
if (!isBrowser)
|
|
73
|
-
throw new Error("you cant use session storage in node");
|
|
74
|
-
fv = window.sessionStorage.getItem(key);
|
|
75
|
-
if (fv != null)
|
|
76
|
-
return fv;
|
|
77
|
-
}
|
|
78
|
-
/* --------------------------------- storage -------------------------------- */
|
|
79
|
-
if (options.storage) {
|
|
80
|
-
if (!isBrowser)
|
|
81
|
-
throw new Error("you cant use AsyncStorage storage in node");
|
|
82
|
-
fv = await async_storage_1.default.getItem(key);
|
|
83
|
-
if (fv != null)
|
|
84
|
-
return fv;
|
|
85
|
-
}
|
|
86
|
-
return undefined;
|
|
87
|
-
}
|
|
88
|
-
let foundValue = await getValueBasedOnOptions();
|
|
89
|
-
if (typeof foundValue === "string") {
|
|
90
|
-
foundValue = _optional_dec(foundValue);
|
|
91
|
-
if (options.json)
|
|
92
|
-
try {
|
|
93
|
-
return JSON.parse(foundValue);
|
|
94
|
-
}
|
|
95
|
-
catch (Ex) { }
|
|
96
|
-
}
|
|
97
|
-
return foundValue;
|
|
98
|
-
}
|
|
99
|
-
exports.get_var = get_var;
|
|
100
|
-
async function set_var(key, value, options) {
|
|
101
|
-
if (!options)
|
|
102
|
-
options = {};
|
|
103
|
-
let final_value = value;
|
|
104
|
-
let final_value_object = typeof final_value === "object" ? final_value : undefined;
|
|
105
|
-
//
|
|
106
|
-
const isBrowser = typeof window !== "undefined";
|
|
107
|
-
/* ----------------------- optionally convert to json ----------------------- */
|
|
108
|
-
if (options.json &&
|
|
109
|
-
final_value != null &&
|
|
110
|
-
typeof final_value != "function") {
|
|
111
|
-
try {
|
|
112
|
-
final_value = JSON.stringify(final_value);
|
|
113
|
-
}
|
|
114
|
-
catch (Ex) { }
|
|
115
|
-
}
|
|
116
|
-
/* -------------------------------------------------------------------------- */
|
|
117
|
-
let isString = typeof final_value == "string";
|
|
118
|
-
if (isString) {
|
|
119
|
-
/* Encode any string */
|
|
120
|
-
final_value = _optional_enc(final_value);
|
|
121
|
-
}
|
|
122
|
-
let isEmpty = final_value == null || final_value == "";
|
|
123
|
-
/* -------------------------------------------------------------------------- */
|
|
124
|
-
if (options.local_storage) {
|
|
125
|
-
if (!isBrowser)
|
|
126
|
-
throw new Error("you cant use localStorage storage in node");
|
|
127
|
-
if (isEmpty)
|
|
128
|
-
delete localStorage[key];
|
|
129
|
-
else {
|
|
130
|
-
if (!isString)
|
|
131
|
-
throw new Error("You cant save non-string values in local_storage !");
|
|
132
|
-
localStorage[key] = final_value; // only strings
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
if (options.session) {
|
|
136
|
-
if (!isBrowser)
|
|
137
|
-
throw new Error("you cant use session storage in node");
|
|
138
|
-
if (isEmpty)
|
|
139
|
-
window.sessionStorage.removeItem(key);
|
|
140
|
-
else {
|
|
141
|
-
if (!isString)
|
|
142
|
-
throw new Error("You cant save non-string values in session ! " +
|
|
143
|
-
final_value);
|
|
144
|
-
window.sessionStorage.setItem(key, final_value);
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
if (options.storage) {
|
|
148
|
-
if (!isBrowser)
|
|
149
|
-
throw new Error("you cant use AsyncStorage in node");
|
|
150
|
-
if (isEmpty)
|
|
151
|
-
await async_storage_1.default.removeItem(key);
|
|
152
|
-
else {
|
|
153
|
-
if (!isString)
|
|
154
|
-
throw new Error("You cant save non-string values in AsyncStorage !");
|
|
155
|
-
await async_storage_1.default.setItem(key, final_value);
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
/* ------------------------- always set in global too ------------------------ */
|
|
159
|
-
core_1.default.Global_set(lname, key, final_value_object !== null && final_value_object !== void 0 ? final_value_object : final_value);
|
|
160
|
-
/* -------------------------------------------------------------------------- */
|
|
161
|
-
return final_value;
|
|
162
|
-
}
|
|
163
|
-
exports.set_var = set_var;
|
|
164
|
-
/* -------------------------------------------------------------------------- */
|
|
165
|
-
/* encode / decode stored strings */
|
|
166
|
-
/* -------------------------------------------------------------------------- */
|
|
167
|
-
function _optional_dec(data) {
|
|
168
|
-
return data.replaceAll("SECRET", "");
|
|
169
|
-
}
|
|
170
|
-
function _optional_enc(data) {
|
|
171
|
-
return data + "SECRET";
|
|
172
|
-
}
|
|
173
|
-
/* -------------------------------------------------------------------------- */
|
|
174
|
-
function hold_var(key, value, options) {
|
|
175
|
-
react_1.default.useEffect(() => {
|
|
176
|
-
set_var(key, value, options);
|
|
177
|
-
return () => {
|
|
178
|
-
set_var(key, null, options);
|
|
179
|
-
};
|
|
180
|
-
}, [value]);
|
|
181
|
-
return value;
|
|
182
|
-
}
|
|
183
|
-
exports.hold_var = hold_var;
|
|
184
|
-
//# sourceMappingURL=g_storage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"g_storage.js","sourceRoot":"","sources":["../../../packages/storage/g_storage.ts"],"names":[],"mappings":"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"}
|