taon-storage 18.0.8

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 (88) hide show
  1. package/assets/shared/shared_folder_info.txt +7 -0
  2. package/browser/README.md +24 -0
  3. package/browser/esm2022/lib/constants.mjs +30 -0
  4. package/browser/esm2022/lib/file-stor.mjs +56 -0
  5. package/browser/esm2022/lib/helpers.mjs +10 -0
  6. package/browser/esm2022/lib/index.mjs +4 -0
  7. package/browser/esm2022/lib/models.mjs +4 -0
  8. package/browser/esm2022/lib/storage.mjs +187 -0
  9. package/browser/esm2022/public-api.mjs +2 -0
  10. package/browser/esm2022/taon-storage.mjs +5 -0
  11. package/browser/fesm2022/taon-storage.mjs +235 -0
  12. package/browser/fesm2022/taon-storage.mjs.map +1 -0
  13. package/browser/index.d.ts +6 -0
  14. package/browser/lib/constants.d.ts +4 -0
  15. package/browser/lib/file-stor.d.ts +10 -0
  16. package/browser/lib/helpers.d.ts +3 -0
  17. package/browser/lib/index.d.ts +2 -0
  18. package/browser/lib/models.d.ts +11 -0
  19. package/browser/lib/storage.d.ts +33 -0
  20. package/browser/package.json +25 -0
  21. package/browser/public-api.d.ts +2 -0
  22. package/client/README.md +24 -0
  23. package/client/esm2022/lib/constants.mjs +30 -0
  24. package/client/esm2022/lib/file-stor.mjs +56 -0
  25. package/client/esm2022/lib/helpers.mjs +10 -0
  26. package/client/esm2022/lib/index.mjs +4 -0
  27. package/client/esm2022/lib/models.mjs +4 -0
  28. package/client/esm2022/lib/storage.mjs +187 -0
  29. package/client/esm2022/public-api.mjs +2 -0
  30. package/client/esm2022/taon-storage.mjs +5 -0
  31. package/client/fesm2022/taon-storage.mjs +235 -0
  32. package/client/fesm2022/taon-storage.mjs.map +1 -0
  33. package/client/index.d.ts +6 -0
  34. package/client/lib/constants.d.ts +4 -0
  35. package/client/lib/file-stor.d.ts +10 -0
  36. package/client/lib/helpers.d.ts +3 -0
  37. package/client/lib/index.d.ts +2 -0
  38. package/client/lib/models.d.ts +11 -0
  39. package/client/lib/storage.d.ts +33 -0
  40. package/client/public-api.d.ts +2 -0
  41. package/index.d.ts +1 -0
  42. package/index.js +5 -0
  43. package/index.js.map +1 -0
  44. package/lib/build-info._auto-generated_.d.ts +1 -0
  45. package/lib/build-info._auto-generated_.js +5 -0
  46. package/lib/build-info._auto-generated_.js.map +1 -0
  47. package/lib/constants.d.ts +3 -0
  48. package/lib/constants.js +48 -0
  49. package/lib/constants.js.map +1 -0
  50. package/lib/file-stor.d.ts +9 -0
  51. package/lib/file-stor.js +94 -0
  52. package/lib/file-stor.js.map +1 -0
  53. package/lib/helpers.d.ts +2 -0
  54. package/lib/helpers.js +15 -0
  55. package/lib/helpers.js.map +1 -0
  56. package/lib/index.d.ts +1 -0
  57. package/lib/index.js +5 -0
  58. package/lib/index.js.map +1 -0
  59. package/lib/models.d.ts +10 -0
  60. package/lib/models.js +5 -0
  61. package/lib/models.js.map +1 -0
  62. package/lib/storage.d.ts +38 -0
  63. package/lib/storage.js +296 -0
  64. package/lib/storage.js.map +1 -0
  65. package/package.json +42 -0
  66. package/src.d.ts +6 -0
  67. package/taon.jsonc +30 -0
  68. package/tmp-environment.json +358 -0
  69. package/websql/README.md +24 -0
  70. package/websql/esm2022/lib/constants.mjs +30 -0
  71. package/websql/esm2022/lib/file-stor.mjs +56 -0
  72. package/websql/esm2022/lib/helpers.mjs +10 -0
  73. package/websql/esm2022/lib/index.mjs +4 -0
  74. package/websql/esm2022/lib/models.mjs +4 -0
  75. package/websql/esm2022/lib/storage.mjs +187 -0
  76. package/websql/esm2022/public-api.mjs +2 -0
  77. package/websql/esm2022/taon-storage.mjs +5 -0
  78. package/websql/fesm2022/taon-storage.mjs +235 -0
  79. package/websql/fesm2022/taon-storage.mjs.map +1 -0
  80. package/websql/index.d.ts +6 -0
  81. package/websql/lib/constants.d.ts +4 -0
  82. package/websql/lib/file-stor.d.ts +10 -0
  83. package/websql/lib/helpers.d.ts +3 -0
  84. package/websql/lib/index.d.ts +2 -0
  85. package/websql/lib/models.d.ts +11 -0
  86. package/websql/lib/storage.d.ts +33 -0
  87. package/websql/package.json +25 -0
  88. package/websql/public-api.d.ts +2 -0
@@ -0,0 +1,235 @@
1
+ import { Helpers, _ } from 'tnp-core/browser';
2
+ import * as localForge from 'localforage';
3
+
4
+ const keyValue = (classFun, memberName) => {
5
+ const res = `taon.localstorage.class.${classFun.name}.prop.${memberName}`;
6
+ return res;
7
+ };
8
+ const keyDefaultValueAreadySet = (classFun, memberName) => {
9
+ const res = keyValue(classFun, memberName) + 'defaultvalueisset';
10
+ return res;
11
+ };
12
+ ({}); // @--end-of-file-for-module=taon-storage lib/helpers.ts
13
+
14
+ const storeName = 'taon-storage_'
15
+ + window?.location.port;
16
+ let environment = {};
17
+ /* */
18
+ /* */
19
+ /* */
20
+ // @ts-ignore
21
+ environment = window['ENV'];
22
+ const websql = Helpers.isWebSQL ? 'websql' : '';
23
+ const storLocalStorage = localForge.createInstance({
24
+ driver: localForge.LOCALSTORAGE,
25
+ storeName: [
26
+ storeName,
27
+ 'LOCALSTORAGE',
28
+ _.kebabCase(environment?.currentProjectGenericName) + websql,
29
+ ].join('_'), // + _.kebabCase(window.location.origin),
30
+ }); // TODO UNCOMMENT any
31
+ const storIndexdDb = localForge.createInstance({
32
+ driver: localForge.INDEXEDDB,
33
+ storeName: [
34
+ storeName,
35
+ 'INDEXEDDB',
36
+ _.kebabCase(environment?.currentProjectGenericName) + websql,
37
+ ].join('_')
38
+ }); // TODO UNCOMMENT any
39
+ ;
40
+ ({}); // @--end-of-file-for-module=taon-storage lib/constants.ts
41
+
42
+ const AWAITING_INTERVAL_TIME = 200;
43
+ function uncache(onlyInThisComponentClass, propertyValueToDeleteFromCache) {
44
+ if (!onlyInThisComponentClass) { // @ts-ignore
45
+ onlyInThisComponentClass = { name: '__GLOBAL_NAMESPACE__' };
46
+ }
47
+ return Promise.all([
48
+ storLocalStorage.removeItem(keyValue(onlyInThisComponentClass, propertyValueToDeleteFromCache)),
49
+ storLocalStorage.removeItem(keyDefaultValueAreadySet(onlyInThisComponentClass, propertyValueToDeleteFromCache)),
50
+ storIndexdDb.removeItem(keyValue(onlyInThisComponentClass, propertyValueToDeleteFromCache)),
51
+ storIndexdDb.removeItem(keyDefaultValueAreadySet(onlyInThisComponentClass, propertyValueToDeleteFromCache)),
52
+ ]);
53
+ }
54
+ class TaonStorage {
55
+ constructor() {
56
+ this.action = (defaultValue, storageEngine, engine, transformFrom, transformTo) => {
57
+ if (!this.onlyInThisComponentClass) { // @ts-ignore
58
+ this.onlyInThisComponentClass = { name: '__GLOBAL_NAMESPACE__' };
59
+ }
60
+ return (target, memberName) => {
61
+ let currentValue = target[memberName];
62
+ const setItemDefaultValue = async () => {
63
+ const observe = {
64
+ engine,
65
+ id: 'setting default value'
66
+ };
67
+ TaonStorage.pendingOperatins.push(observe);
68
+ await new Promise((resolve, reject) => {
69
+ storageEngine.getItem(keyValue(this.onlyInThisComponentClass, memberName), (err, valFromDb) => {
70
+ currentValue = transformFrom ? transformFrom(valFromDb) : valFromDb;
71
+ resolve();
72
+ this.endObserverAction(observe);
73
+ });
74
+ });
75
+ };
76
+ if (defaultValue !== void 0) {
77
+ const observe = {
78
+ engine,
79
+ id: 'setting not rivial default value'
80
+ };
81
+ TaonStorage.pendingOperatins.push(observe);
82
+ (new Promise((resolve, reject) => {
83
+ storageEngine.getItem(keyDefaultValueAreadySet(this.onlyInThisComponentClass, memberName), async (err, val) => {
84
+ if (val) {
85
+ await setItemDefaultValue();
86
+ resolve();
87
+ }
88
+ else {
89
+ await new Promise((res, rej) => {
90
+ storageEngine.setItem(keyDefaultValueAreadySet(this.onlyInThisComponentClass, memberName), true, (err, v) => {
91
+ res();
92
+ });
93
+ });
94
+ await new Promise((res, rej) => {
95
+ storageEngine.setItem(keyValue(this.onlyInThisComponentClass, memberName), transformTo ? transformTo(defaultValue) : defaultValue, (err, val) => {
96
+ res();
97
+ });
98
+ });
99
+ currentValue = defaultValue;
100
+ resolve();
101
+ }
102
+ });
103
+ })).then(() => {
104
+ this.endObserverAction(observe);
105
+ });
106
+ }
107
+ else {
108
+ setItemDefaultValue();
109
+ }
110
+ Object.defineProperty(target, memberName, {
111
+ set: (newValue) => {
112
+ const observe = {
113
+ engine,
114
+ id: 'setting in SET not rivial default value'
115
+ };
116
+ TaonStorage.pendingOperatins.push(observe);
117
+ (new Promise((resolve, reject) => {
118
+ storageEngine.setItem(keyValue(this.onlyInThisComponentClass, memberName), transformTo ? transformTo(newValue) : newValue, (err, savedValue) => {
119
+ resolve();
120
+ });
121
+ })).then(() => {
122
+ this.endObserverAction(observe);
123
+ });
124
+ currentValue = newValue;
125
+ },
126
+ get: () => currentValue,
127
+ });
128
+ };
129
+ };
130
+ }
131
+ static { this.pendingOperatins = []; }
132
+ static { this.id = 0; }
133
+ /**
134
+ * TODO This is fine for now, but could be something smarter here
135
+ */
136
+ static async awaitPendingOperatios(id = TaonStorage.id++) {
137
+ if (id > Number.MAX_SAFE_INTEGER - 2) {
138
+ TaonStorage.id = 0;
139
+ id = TaonStorage.id++;
140
+ }
141
+ const pending = this.pendingOperatins;
142
+ const toDeleteIndex = [];
143
+ for (let index = 0; index < pending.length; index++) {
144
+ const op = pending[index];
145
+ if (!op.isDone) {
146
+ await new Promise(async (resovle, reject) => {
147
+ setTimeout(async () => {
148
+ await this.awaitPendingOperatios(id);
149
+ resovle();
150
+ }, AWAITING_INTERVAL_TIME);
151
+ });
152
+ return;
153
+ }
154
+ else {
155
+ toDeleteIndex.push(index);
156
+ }
157
+ }
158
+ for (let index = 0; index < toDeleteIndex.length; index++) {
159
+ const toDelete = toDeleteIndex[index];
160
+ pending.splice(toDelete, 1);
161
+ }
162
+ }
163
+ static get property() {
164
+ return new TaonStorage();
165
+ }
166
+ /* */
167
+ /* */
168
+ get in() {
169
+ const that = this;
170
+ return {
171
+ get indexedb() {
172
+ that.engine = 'indexeddb';
173
+ return that;
174
+ },
175
+ get localstorage() {
176
+ that.engine = 'localstorage';
177
+ return that;
178
+ },
179
+ /* */
180
+ /* */
181
+ /* */
182
+ /* */
183
+ /* */
184
+ /* */
185
+ /* */
186
+ /* */
187
+ /* */
188
+ /* */
189
+ /* */
190
+ /* */
191
+ /* */
192
+ /* */
193
+ };
194
+ }
195
+ for(onlyInThisComponentClass) {
196
+ this.onlyInThisComponentClass = onlyInThisComponentClass;
197
+ return this;
198
+ }
199
+ withDefaultValue(defaultValue) {
200
+ return this.action(defaultValue, this.getEngine(), this.engine);
201
+ }
202
+ withOptions(options) {
203
+ const { defaultValue, transformFrom, transformTo } = (options || {});
204
+ return this.action(defaultValue ? defaultValue : this.defaultValue, this.getEngine(), this.engine, transformFrom, transformTo);
205
+ }
206
+ getEngine() {
207
+ switch (this.engine) {
208
+ case 'localstorage':
209
+ return storLocalStorage;
210
+ case 'indexeddb':
211
+ return storIndexdDb;
212
+ /* */
213
+ /* */
214
+ /* */
215
+ /* */
216
+ /* */
217
+ }
218
+ }
219
+ endObserverAction(observe) {
220
+ observe.isDone = true;
221
+ }
222
+ }
223
+ const Stor = TaonStorage;
224
+ ;
225
+ ({}); // @--end-of-file-for-module=taon-storage lib/storage.ts
226
+
227
+ ;
228
+ ({}); // @--end-of-file-for-module=taon-storage lib/index.ts
229
+
230
+ /**
231
+ * Generated bundle index. Do not edit.
232
+ */
233
+
234
+ export { Stor, uncache };
235
+ //# sourceMappingURL=taon-storage.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taon-storage.mjs","sources":["../../../tmp-libs-for-dist/taon-storage/projects/taon-storage/src/lib/helpers.ts","../../../tmp-libs-for-dist/taon-storage/projects/taon-storage/src/lib/constants.ts","../../../tmp-libs-for-dist/taon-storage/projects/taon-storage/src/lib/storage.ts","../../../tmp-libs-for-dist/taon-storage/projects/taon-storage/src/lib/index.ts","../../../tmp-libs-for-dist/taon-storage/projects/taon-storage/src/taon-storage.ts"],"sourcesContent":["\n\n\nexport const keyValue = (classFun, memberName) => {\n\n const res = `taon.localstorage.class.${classFun.name}.prop.${memberName}`\n return res;\n}\n\nexport const keyDefaultValueAreadySet = (classFun, memberName) => {\n const res = keyValue(classFun, memberName) + 'defaultvalueisset';\n return res;\n}\n\n\n\n ;({}); // @--end-of-file-for-module=taon-storage lib/helpers.ts","\n\n\nimport { Helpers, _ } from \"tnp-core/browser\";\n\nimport * as localForge from 'localforage';\n\n\n\n\nexport const storeName = 'taon-storage_'\n\n + window?.location.port;\n\n\n\n\nlet environment = {} as any;\n/* */\n/* */\n/* */\n \n\n// @ts-ignore\nenvironment = window['ENV'];\n\n\n\n\nconst websql = Helpers.isWebSQL ? 'websql' : '';\n\nexport const storLocalStorage = localForge.createInstance({\n driver: localForge.LOCALSTORAGE,\n storeName: [\n storeName,\n 'LOCALSTORAGE',\n _.kebabCase(environment?.currentProjectGenericName) + websql,\n ].join('_')\n , // + _.kebabCase(window.location.origin),\n}) as any; // TODO UNCOMMENT any\n\n\n\n\n\nexport const storIndexdDb = localForge.createInstance({\n driver: localForge.INDEXEDDB,\n storeName: [\n storeName,\n 'INDEXEDDB',\n _.kebabCase(environment?.currentProjectGenericName) + websql,\n ].join('_')\n}) as any; // TODO UNCOMMENT any\n\n\n\n ;({}); // @--end-of-file-for-module=taon-storage lib/constants.ts","\n\n\nimport { _ } from 'tnp-core/browser';\nimport { keyDefaultValueAreadySet, keyValue } from './helpers';\nimport { Models } from './models';\nimport { FileStor } from './file-stor';\n\nimport { storIndexdDb, storLocalStorage } from './constants';\n\n\n\n\nconst AWAITING_INTERVAL_TIME = 200;\n\n\n\nexport function uncache<CLASS_FUNCTION = any>(onlyInThisComponentClass: CLASS_FUNCTION, propertyValueToDeleteFromCache: keyof CLASS_FUNCTION) {\n if (!onlyInThisComponentClass) { // @ts-ignore\n onlyInThisComponentClass = { name: '__GLOBAL_NAMESPACE__' };\n }\n return Promise.all([\n\n storLocalStorage.removeItem(keyValue(onlyInThisComponentClass, propertyValueToDeleteFromCache)),\n storLocalStorage.removeItem(keyDefaultValueAreadySet(onlyInThisComponentClass, propertyValueToDeleteFromCache)),\n storIndexdDb.removeItem(keyValue(onlyInThisComponentClass, propertyValueToDeleteFromCache)),\n storIndexdDb.removeItem(keyDefaultValueAreadySet(onlyInThisComponentClass, propertyValueToDeleteFromCache)),\n\n ])\n}\n\n\nclass TaonStorage {\n\n\n private static pendingOperatins: Models.PendingOperation[] = [];\n private static id = 0;\n\n /**\n * TODO This is fine for now, but could be something smarter here\n */\n public static async awaitPendingOperatios(id = TaonStorage.id++): Promise<void> {\n\n if (id > Number.MAX_SAFE_INTEGER - 2) {\n TaonStorage.id = 0;\n id = TaonStorage.id++;\n }\n const pending = this.pendingOperatins as Models.PendingOperation[];\n const toDeleteIndex = [];\n for (let index = 0; index < pending.length; index++) {\n const op = pending[index] as Models.PendingOperation;\n\n if (!op.isDone) {\n await new Promise<void>(async (resovle, reject) => {\n setTimeout(async () => {\n await this.awaitPendingOperatios(id);\n resovle();\n }, AWAITING_INTERVAL_TIME)\n })\n return;\n } else {\n toDeleteIndex.push(index);\n }\n }\n for (let index = 0; index < toDeleteIndex.length; index++) {\n const toDelete = toDeleteIndex[index];\n pending.splice(toDelete, 1);\n }\n }\n\n static get property() {\n return new TaonStorage();\n }\n\n\n\n private onlyInThisComponentClass?: Function;\n private defaultValue: any;\n private engine: Models.StorgeEngine;\n\n\n\n/* */\n/* */\n \n\n\n\n\n public get in() {\n const that = this;\n return {\n get indexedb() {\n that.engine = 'indexeddb';\n return that as Omit<TaonStorage, 'in'>;\n },\n get localstorage() {\n that.engine = 'localstorage';\n return that as Omit<TaonStorage, 'in'>;\n },\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n }\n\n\n\n\n\n\n public for(onlyInThisComponentClass?: Function): Omit<TaonStorage, 'for' | 'in'> {\n this.onlyInThisComponentClass = onlyInThisComponentClass;\n return this as Omit<TaonStorage, 'for' | 'in'>;\n }\n\n\n\n\n public withDefaultValue(defaultValue?: any): any {\n\n return this.action(defaultValue, this.getEngine(), this.engine)\n }\n\n\n\n withOptions(options: {\n /**\n * default value\n */\n defaultValue?: any;\n transformFrom?: (valueFromDb: any) => any,\n transformTo?: (valueThatGetToDB: any) => any,\n }) {\n const { defaultValue, transformFrom, transformTo } = (options || {}) as any;\n return this.action(\n defaultValue ? defaultValue : this.defaultValue,\n this.getEngine(),\n this.engine,\n transformFrom,\n transformTo,\n );\n }\n\n\n\n\n\n\n\n private getEngine() {\n switch (this.engine) {\n\n case 'localstorage':\n return storLocalStorage;\n case 'indexeddb':\n return storIndexdDb;\n\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n }\n\n\n\n private endObserverAction(observe: Models.PendingOperation) {\n\n observe.isDone = true;\n }\n\n\n\n private action = (\n defaultValue: any,\n storageEngine\n\n : Models.StorType\n\n ,\n engine: Models.StorgeEngine,\n transformFrom?,\n transformTo?,\n ) => {\n if (!this.onlyInThisComponentClass) { // @ts-ignore\n this.onlyInThisComponentClass = { name: '__GLOBAL_NAMESPACE__' };\n }\n\n return (target: any, memberName: string) => {\n let currentValue: any = target[memberName];\n\n const setItemDefaultValue = async () => {\n\n const observe = {\n engine,\n id: 'setting default value'\n } as Models.PendingOperation;\n TaonStorage.pendingOperatins.push(observe);\n\n await new Promise<void>((resolve, reject) => {\n storageEngine.getItem(keyValue(this.onlyInThisComponentClass, memberName), (err, valFromDb) => {\n\n currentValue = transformFrom ? transformFrom(valFromDb) : valFromDb;\n\n resolve();\n this.endObserverAction(observe);\n })\n });\n\n }\n\n if (defaultValue !== void 0) {\n\n const observe = {\n engine,\n id: 'setting not rivial default value'\n } as Models.PendingOperation;\n TaonStorage.pendingOperatins.push(observe);\n\n (new Promise<void>((resolve, reject) => {\n storageEngine.getItem(keyDefaultValueAreadySet(this.onlyInThisComponentClass, memberName), async (err, val) => {\n\n if (val) {\n await setItemDefaultValue();\n resolve()\n } else {\n await new Promise<void>((res, rej) => {\n storageEngine.setItem(keyDefaultValueAreadySet(this.onlyInThisComponentClass, memberName), true, (err, v) => {\n res();\n })\n });\n\n await new Promise<void>((res, rej) => {\n storageEngine.setItem(keyValue(this.onlyInThisComponentClass, memberName),\n transformTo ? transformTo(defaultValue) : defaultValue, (err, val) => {\n res();\n })\n });\n\n currentValue = defaultValue;\n\n resolve()\n }\n });\n })).then(() => {\n this.endObserverAction(observe);\n });\n\n\n } else {\n setItemDefaultValue();\n }\n\n Object.defineProperty(target, memberName, {\n set: (newValue: any) => {\n\n const observe = {\n engine,\n id: 'setting in SET not rivial default value'\n } as Models.PendingOperation;\n TaonStorage.pendingOperatins.push(observe);\n\n (new Promise<void>((resolve, reject) => {\n storageEngine.setItem(\n keyValue(this.onlyInThisComponentClass, memberName),\n transformTo ? transformTo(newValue) : newValue,\n (err, savedValue) => {\n resolve();\n }\n );\n })).then(() => {\n this.endObserverAction(observe);\n });\n\n currentValue = newValue;\n },\n get: () => currentValue,\n });\n };\n };\n\n\n\n\n}\n\nexport const Stor = TaonStorage;\n\n ;({}); // @--end-of-file-for-module=taon-storage lib/storage.ts","\n\nexport * from './storage';\n\n ;({}); // @--end-of-file-for-module=taon-storage lib/index.ts","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ // @ts-nocheck
2
+ /**
3
+ * Generated bundle index. Do not edit.
4
+ */
5
+ /// <amd-module name="taon-storage" />
6
+ export * from './public-api';
@@ -0,0 +1,4 @@
1
+ // @ts-nocheck
2
+ export declare const storeName: string;
3
+ export declare const storLocalStorage: any;
4
+ export declare const storIndexdDb: any;
@@ -0,0 +1,10 @@
1
+ // @ts-nocheck
2
+ import { Models } from "./models";
3
+ export declare class FileStor implements Models.StorType {
4
+ private filePath;
5
+ private useJSON;
6
+ constructor(filePath: string, useJSON?: boolean);
7
+ setItem<T>(key: string, value: T, callback?: (err: any, value: T) => void): Promise<T>;
8
+ getItem<T>(key: string, callback?: (err: any, value: T) => void): Promise<T>;
9
+ removeItem(key: string, callback?: (err: any) => void): Promise<void>;
10
+ }
@@ -0,0 +1,3 @@
1
+ // @ts-nocheck
2
+ export declare const keyValue: (classFun: any, memberName: any) => string;
3
+ export declare const keyDefaultValueAreadySet: (classFun: any, memberName: any) => string;
@@ -0,0 +1,2 @@
1
+ // @ts-nocheck
2
+ export * from './storage';
@@ -0,0 +1,11 @@
1
+ // @ts-nocheck
2
+ import type { storIndexdDb } from "./constants";
3
+ export declare namespace Models {
4
+ type StorType = Partial<(typeof storIndexdDb)>;
5
+ interface PendingOperation {
6
+ engine: StorgeEngine;
7
+ id: string;
8
+ isDone: boolean;
9
+ }
10
+ type StorgeEngine = 'localstorage' | 'indexeddb';
11
+ }
@@ -0,0 +1,33 @@
1
+ // @ts-nocheck
2
+ export declare function uncache<CLASS_FUNCTION = any>(onlyInThisComponentClass: CLASS_FUNCTION, propertyValueToDeleteFromCache: keyof CLASS_FUNCTION): Promise<[any, any, any, any]>;
3
+ declare class TaonStorage {
4
+ private static pendingOperatins;
5
+ private static id;
6
+ /**
7
+ * TODO This is fine for now, but could be something smarter here
8
+ */
9
+ static awaitPendingOperatios(id?: number): Promise<void>;
10
+ static get property(): TaonStorage;
11
+ private onlyInThisComponentClass?;
12
+ private defaultValue;
13
+ private engine;
14
+ get in(): {
15
+ readonly indexedb: Omit<TaonStorage, "in">;
16
+ readonly localstorage: Omit<TaonStorage, "in">;
17
+ };
18
+ for(onlyInThisComponentClass?: Function): Omit<TaonStorage, 'for' | 'in'>;
19
+ withDefaultValue(defaultValue?: any): any;
20
+ withOptions(options: {
21
+ /**
22
+ * default value
23
+ */
24
+ defaultValue?: any;
25
+ transformFrom?: (valueFromDb: any) => any;
26
+ transformTo?: (valueThatGetToDB: any) => any;
27
+ }): (target: any, memberName: string) => void;
28
+ private getEngine;
29
+ private endObserverAction;
30
+ private action;
31
+ }
32
+ export declare const Stor: typeof TaonStorage;
33
+ export {};
@@ -0,0 +1,2 @@
1
+ // @ts-nocheck
2
+ export * from './lib';
package/index.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './lib';
package/index.js ADDED
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./lib"), exports);
5
+ //# sourceMappingURL=index.js.map
package/index.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;AAAA,gDAAsB"}
@@ -0,0 +1 @@
1
+ export declare const BUILD_FRAMEWORK_CLI_NAME = "tnp";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BUILD_FRAMEWORK_CLI_NAME = void 0;
4
+ exports.BUILD_FRAMEWORK_CLI_NAME = 'tnp';
5
+ //# sourceMappingURL=build-info._auto-generated_.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-info._auto-generated_.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;AACa,QAAA,wBAAwB,GAAG,KAAK,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const storeName: string;
2
+ export declare const storLocalStorage: any;
3
+ export declare const storIndexdDb: any;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.storeName = void 0;
4
+ //#region imports
5
+ var tnp_core_1 = require("tnp-core");
6
+ /* */
7
+ /* */
8
+ //#endregion
9
+ //#region constants / store name
10
+ exports.storeName = 'taon-storage_';
11
+ /* */
12
+ /* */
13
+ //#endregion
14
+ //#region constants / environment
15
+ var environment = {};
16
+ //#region @backend
17
+ // @ts-ignore
18
+ environment = global['ENV'];
19
+ //#endregion
20
+ /* */
21
+ /* */
22
+ /* */
23
+ //#endregion
24
+ //#region constant / stor local storage
25
+ var websql = tnp_core_1.Helpers.isWebSQL ? 'websql' : '';
26
+ /* */
27
+ /* */
28
+ /* */
29
+ /* */
30
+ /* */
31
+ /* */
32
+ /* */
33
+ /* */
34
+ /* */
35
+ /* */
36
+ //#endregion
37
+ //#region constant / stor idndexedb storage
38
+ /* */
39
+ /* */
40
+ /* */
41
+ /* */
42
+ /* */
43
+ /* */
44
+ /* */
45
+ /* */
46
+ /* */
47
+ //#endregion
48
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;AAAA,iBAAiB;AACjB,qCAAsC;AACtC,KAAK;AACL,KAAK;AAEL,YAAY;AAEZ,gCAAgC;AACnB,QAAA,SAAS,GAAG,eAAe,CAAA;AACxC,KAAK;AACL,KAAK;AAEL,YAAY;AAEZ,iCAAiC;AACjC,IAAI,WAAW,GAAG,EAAS,CAAC;AAC5B,kBAAkB;AAClB,aAAa;AACb,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5B,YAAY;AACZ,KAAK;AACL,KAAK;AACL,KAAK;AAEL,YAAY;AAEZ,uCAAuC;AACvC,IAAM,MAAM,GAAG,kBAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;AAChD,KAAK;AACL,KAAK;AACL,KAAK;AACL,KAAK;AACL,KAAK;AACL,KAAK;AACL,KAAK;AACL,KAAK;AACL,KAAK;AACL,KAAK;AAEL,YAAY;AAEZ,2CAA2C;AAC3C,KAAK;AACL,KAAK;AACL,KAAK;AACL,KAAK;AACL,KAAK;AACL,KAAK;AACL,KAAK;AACL,KAAK;AACL,KAAK;AAEL,YAAY"}
@@ -0,0 +1,9 @@
1
+ import { Models } from "./models";
2
+ export declare class FileStor implements Models.StorType {
3
+ private filePath;
4
+ private useJSON;
5
+ constructor(filePath: string, useJSON?: boolean);
6
+ setItem<T>(key: string, value: T, callback?: (err: any, value: T) => void): Promise<T>;
7
+ getItem<T>(key: string, callback?: (err: any, value: T) => void): Promise<T>;
8
+ removeItem(key: string, callback?: (err: any) => void): Promise<void>;
9
+ }
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FileStor = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var tnp_core_1 = require("tnp-core");
6
+ var FileStor = /** @class */ (function () {
7
+ function FileStor(filePath, useJSON) {
8
+ if (useJSON === void 0) { useJSON = false; }
9
+ this.filePath = filePath;
10
+ this.useJSON = useJSON;
11
+ }
12
+ FileStor.prototype.setItem = function (key, value, callback) {
13
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
14
+ var promise;
15
+ var _this = this;
16
+ return tslib_1.__generator(this, function (_a) {
17
+ switch (_a.label) {
18
+ case 0:
19
+ promise = new Promise(function (resolve, reject) {
20
+ if (_this.useJSON) {
21
+ tnp_core_1.Helpers.writeJson(_this.filePath, value);
22
+ callback(void 0, value);
23
+ resolve();
24
+ }
25
+ else {
26
+ tnp_core_1.Helpers.writeFile(_this.filePath, value);
27
+ callback(void 0, value);
28
+ resolve();
29
+ }
30
+ });
31
+ // pendingOperatins.push(promise);
32
+ return [4 /*yield*/, promise];
33
+ case 1:
34
+ // pendingOperatins.push(promise);
35
+ _a.sent();
36
+ return [2 /*return*/, void 0];
37
+ }
38
+ });
39
+ });
40
+ };
41
+ FileStor.prototype.getItem = function (key, callback) {
42
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
43
+ var promise;
44
+ var _this = this;
45
+ return tslib_1.__generator(this, function (_a) {
46
+ switch (_a.label) {
47
+ case 0:
48
+ promise = new Promise(function (resolve, reject) {
49
+ if (_this.useJSON) {
50
+ var result = tnp_core_1.Helpers.readJson(_this.filePath);
51
+ callback(void 0, result);
52
+ resolve(result);
53
+ }
54
+ else {
55
+ var result = tnp_core_1.Helpers.readFile(_this.filePath);
56
+ callback(void 0, result);
57
+ resolve(result);
58
+ }
59
+ });
60
+ return [4 /*yield*/, promise];
61
+ case 1:
62
+ // pendingOperatins.push(promise);
63
+ return [2 /*return*/, _a.sent()];
64
+ }
65
+ });
66
+ });
67
+ };
68
+ FileStor.prototype.removeItem = function (key, callback) {
69
+ return tslib_1.__awaiter(this, void 0, void 0, function () {
70
+ var promise;
71
+ var _this = this;
72
+ return tslib_1.__generator(this, function (_a) {
73
+ switch (_a.label) {
74
+ case 0:
75
+ promise = new Promise(function (resolve, reject) {
76
+ tnp_core_1.Helpers.remove(_this.filePath, true);
77
+ callback(void 0);
78
+ resolve();
79
+ });
80
+ // pendingOperatins.push(promise);
81
+ return [4 /*yield*/, promise];
82
+ case 1:
83
+ // pendingOperatins.push(promise);
84
+ _a.sent();
85
+ return [2 /*return*/, void 0];
86
+ }
87
+ });
88
+ });
89
+ };
90
+ return FileStor;
91
+ }());
92
+ exports.FileStor = FileStor;
93
+ //#endregion
94
+ //# sourceMappingURL=file-stor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-stor.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;;AAAA,qCAAmC;AAInC;IAKE,kBACU,QAAgB,EAChB,OAAe;QAAf,wBAAA,EAAA,eAAe;QADf,aAAQ,GAAR,QAAQ,CAAQ;QAChB,YAAO,GAAP,OAAO,CAAQ;IACrB,CAAC;IAEC,0BAAO,GAAb,UAAiB,GAAW,EAAE,KAAQ,EAAE,QAAuC;;;;;;;wBAEvE,OAAO,GAAG,IAAI,OAAO,CAAO,UAAC,OAAO,EAAE,MAAM;4BAChD,IAAI,KAAI,CAAC,OAAO,EAAE,CAAC;gCACjB,kBAAO,CAAC,SAAS,CAAC,KAAI,CAAC,QAAQ,EAAE,KAAY,CAAC,CAAC;gCAC/C,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;gCACxB,OAAO,EAAE,CAAC;4BACZ,CAAC;iCAAM,CAAC;gCACN,kBAAO,CAAC,SAAS,CAAC,KAAI,CAAC,QAAQ,EAAE,KAAY,CAAC,CAAC;gCAC/C,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;gCACxB,OAAO,EAAE,CAAC;4BACZ,CAAC;wBACH,CAAC,CAAC,CAAC;wBACH,kCAAkC;wBAClC,qBAAM,OAAO,EAAA;;wBADb,kCAAkC;wBAClC,SAAa,CAAC;wBACd,sBAAO,KAAK,CAAC,EAAC;;;;KAEf;IACK,0BAAO,GAAb,UAAiB,GAAW,EAAE,QAAuC;;;;;;;wBAE7D,OAAO,GAAG,IAAI,OAAO,CAAI,UAAC,OAAO,EAAE,MAAM;4BAC7C,IAAI,KAAI,CAAC,OAAO,EAAE,CAAC;gCACjB,IAAM,MAAM,GAAG,kBAAO,CAAC,QAAQ,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;gCAC/C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;gCACzB,OAAO,CAAC,MAAM,CAAC,CAAA;4BACjB,CAAC;iCAAM,CAAC;gCACN,IAAM,MAAM,GAAG,kBAAO,CAAC,QAAQ,CAAC,KAAI,CAAC,QAAQ,CAAC,CAAC;gCAC/C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAa,CAAC,CAAC;gCAChC,OAAO,CAAC,MAAa,CAAC,CAAA;4BACxB,CAAC;wBACH,CAAC,CAAC,CAAC;wBAEI,qBAAM,OAAO,EAAA;;oBADpB,kCAAkC;oBAClC,sBAAO,SAAa,EAAC;;;;KAEtB;IACK,6BAAU,GAAhB,UAAiB,GAAW,EAAE,QAA6B;;;;;;;wBAEnD,OAAO,GAAG,IAAI,OAAO,CAAO,UAAC,OAAO,EAAE,MAAM;4BAChD,kBAAO,CAAC,MAAM,CAAC,KAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;4BACpC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;4BACjB,OAAO,EAAE,CAAC;wBACZ,CAAC,CAAC,CAAC;wBACH,kCAAkC;wBAClC,qBAAM,OAAO,EAAA;;wBADb,kCAAkC;wBAClC,SAAa,CAAC;wBACd,sBAAO,KAAK,CAAC,EAAC;;;;KAEf;IACH,eAAC;AAAD,CAAC,AAzDD,IAyDC;AAzDY,4BAAQ;AA0DrB,YAAY"}
@@ -0,0 +1,2 @@
1
+ export declare const keyValue: (classFun: any, memberName: any) => string;
2
+ export declare const keyDefaultValueAreadySet: (classFun: any, memberName: any) => string;
package/lib/helpers.js ADDED
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.keyDefaultValueAreadySet = exports.keyValue = void 0;
4
+ var keyValue = function (classFun, memberName) {
5
+ // console.log('classname',classFun.name)
6
+ var res = "taon.localstorage.class.".concat(classFun.name, ".prop.").concat(memberName);
7
+ return res;
8
+ };
9
+ exports.keyValue = keyValue;
10
+ var keyDefaultValueAreadySet = function (classFun, memberName) {
11
+ var res = (0, exports.keyValue)(classFun, memberName) + 'defaultvalueisset';
12
+ return res;
13
+ };
14
+ exports.keyDefaultValueAreadySet = keyDefaultValueAreadySet;
15
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;AACO,IAAM,QAAQ,GAAG,UAAC,QAAQ,EAAE,UAAU;IAC3C,yCAAyC;IACzC,IAAM,GAAG,GAAG,kCAA2B,QAAQ,CAAC,IAAI,mBAAS,UAAU,CAAE,CAAA;IACzE,OAAO,GAAG,CAAC;AACb,CAAC,CAAA;AAJY,QAAA,QAAQ,YAIpB;AAEM,IAAM,wBAAwB,GAAG,UAAC,QAAQ,EAAE,UAAU;IAC3D,IAAM,GAAG,GAAG,IAAA,gBAAQ,EAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,mBAAmB,CAAC;IACjE,OAAO,GAAG,CAAC;AACb,CAAC,CAAA;AAHY,QAAA,wBAAwB,4BAGpC"}
package/lib/index.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './storage';
package/lib/index.js ADDED
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./storage"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;AAAA,oDAA0B"}
@@ -0,0 +1,10 @@
1
+ import type { storIndexdDb } from "./constants";
2
+ export declare namespace Models {
3
+ type StorType = Partial<(typeof storIndexdDb)>;
4
+ interface PendingOperation {
5
+ engine: StorgeEngine;
6
+ id: string;
7
+ isDone: boolean;
8
+ }
9
+ type StorgeEngine = 'localstorage' | 'indexeddb' | 'file' | 'json';
10
+ }
package/lib/models.js ADDED
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ /* */
3
+ /* */
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ //# sourceMappingURL=models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":[""],"names":[],"mappings":";AAAA,KAAK;AACL,KAAK"}
@@ -0,0 +1,38 @@
1
+ export declare function uncache<CLASS_FUNCTION = any>(onlyInThisComponentClass: CLASS_FUNCTION, propertyValueToDeleteFromCache: keyof CLASS_FUNCTION): Promise<[any, any, any, any]>;
2
+ declare class TaonStorage {
3
+ private static pendingOperatins;
4
+ private static id;
5
+ /**
6
+ * TODO This is fine for now, but could be something smarter here
7
+ */
8
+ static awaitPendingOperatios(id?: number): Promise<void>;
9
+ static get property(): TaonStorage;
10
+ private onlyInThisComponentClass?;
11
+ private defaultValue;
12
+ private engine;
13
+ private filePath;
14
+ get in(): {
15
+ readonly indexedb: Omit<TaonStorage, "in">;
16
+ readonly localstorage: Omit<TaonStorage, "in">;
17
+ /**
18
+ * may be relative or absolute
19
+ */
20
+ file(filePath: string): Omit<TaonStorage, "in" | "for">;
21
+ jsonFile(filePath: string): Omit<TaonStorage, "in" | "for">;
22
+ };
23
+ for(onlyInThisComponentClass?: Function): Omit<TaonStorage, 'for' | 'in'>;
24
+ withDefaultValue(defaultValue?: any): any;
25
+ withOptions(options: {
26
+ /**
27
+ * default value
28
+ */
29
+ defaultValue?: any;
30
+ transformFrom?: (valueFromDb: any) => any;
31
+ transformTo?: (valueThatGetToDB: any) => any;
32
+ }): (target: any, memberName: string) => void;
33
+ private getEngine;
34
+ private endObserverAction;
35
+ private action;
36
+ }
37
+ export declare const Stor: typeof TaonStorage;
38
+ export {};