taon-storage 19.0.16 → 19.0.17
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/browser/README.md +24 -24
- package/browser/fesm2022/taon-storage.mjs +2 -2
- package/browser/fesm2022/taon-storage.mjs.map +1 -1
- package/browser/package.json +1 -1
- package/client/README.md +24 -24
- package/client/fesm2022/taon-storage.mjs +2 -2
- package/client/fesm2022/taon-storage.mjs.map +1 -1
- package/client/package.json +1 -1
- package/index.js.map +1 -1
- package/lib/build-info._auto-generated_.d.ts +1 -1
- package/lib/build-info._auto-generated_.js +1 -1
- package/lib/build-info._auto-generated_.js.map +1 -1
- package/lib/constants.js.map +1 -1
- package/lib/file-stor.js.map +1 -1
- package/lib/helpers.js.map +1 -1
- package/lib/index._auto-generated_.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/models.js.map +1 -1
- package/lib/storage.js.map +1 -1
- package/migrations/index.js.map +1 -1
- package/migrations/migrations_index._auto-generated_.js.map +1 -1
- package/package.json +1 -1
- package/tmp-environment.json +6 -6
- package/websql/README.md +24 -24
- package/websql/fesm2022/taon-storage.mjs +2 -2
- package/websql/fesm2022/taon-storage.mjs.map +1 -1
- package/websql/package.json +1 -1
package/browser/README.md
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
# MyLib
|
|
2
|
-
|
|
3
|
-
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.2.0.
|
|
4
|
-
|
|
5
|
-
## Code scaffolding
|
|
6
|
-
|
|
7
|
-
Run `ng generate component component-name --project my-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project my-lib`.
|
|
8
|
-
> Note: Don't forget to add `--project my-lib` or else it will be added to the default project in your `angular.json` file.
|
|
9
|
-
|
|
10
|
-
## Build
|
|
11
|
-
|
|
12
|
-
Run `ng build my-lib` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
13
|
-
|
|
14
|
-
## Publishing
|
|
15
|
-
|
|
16
|
-
After building your library with `ng build my-lib`, go to the dist folder `cd dist/my-lib` and run `npm publish`.
|
|
17
|
-
|
|
18
|
-
## Running unit tests
|
|
19
|
-
|
|
20
|
-
Run `ng test my-lib` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
21
|
-
|
|
22
|
-
## Further help
|
|
23
|
-
|
|
24
|
-
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
|
|
1
|
+
# MyLib
|
|
2
|
+
|
|
3
|
+
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.2.0.
|
|
4
|
+
|
|
5
|
+
## Code scaffolding
|
|
6
|
+
|
|
7
|
+
Run `ng generate component component-name --project my-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project my-lib`.
|
|
8
|
+
> Note: Don't forget to add `--project my-lib` or else it will be added to the default project in your `angular.json` file.
|
|
9
|
+
|
|
10
|
+
## Build
|
|
11
|
+
|
|
12
|
+
Run `ng build my-lib` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
13
|
+
|
|
14
|
+
## Publishing
|
|
15
|
+
|
|
16
|
+
After building your library with `ng build my-lib`, go to the dist folder `cd dist/my-lib` and run `npm publish`.
|
|
17
|
+
|
|
18
|
+
## Running unit tests
|
|
19
|
+
|
|
20
|
+
Run `ng test my-lib` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
21
|
+
|
|
22
|
+
## Further help
|
|
23
|
+
|
|
24
|
+
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
|
|
@@ -6,11 +6,11 @@ import * as localForge from 'localforage';
|
|
|
6
6
|
|
|
7
7
|
class SampleLogCmpComponent {
|
|
8
8
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SampleLogCmpComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.7", type: SampleLogCmpComponent, isStandalone: true, selector: "sample-log-cmp", ngImport: i0, template: "<p>\n sample log component works!\n <img\n src=\"assets/assets-for/taon-storage/assets/shared/logo.png\"\n alt=\"logo\" height=\"200\" />\n</p
|
|
9
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.7", type: SampleLogCmpComponent, isStandalone: true, selector: "sample-log-cmp", ngImport: i0, template: "<p>\n sample log component works!\n <img\n src=\"assets/assets-for/taon-storage/assets/shared/logo.png\"\n alt=\"logo\" height=\"200\" />\n</p>", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10
10
|
}
|
|
11
11
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SampleLogCmpComponent, decorators: [{
|
|
12
12
|
type: Component,
|
|
13
|
-
args: [{ selector: 'sample-log-cmp', changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule], standalone: true, template: "<p>\n sample log component works!\n <img\n src=\"assets/assets-for/taon-storage/assets/shared/logo.png\"\n alt=\"logo\" height=\"200\" />\n</p
|
|
13
|
+
args: [{ selector: 'sample-log-cmp', changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule], standalone: true, template: "<p>\n sample log component works!\n <img\n src=\"assets/assets-for/taon-storage/assets/shared/logo.png\"\n alt=\"logo\" height=\"200\" />\n</p>", styles: [":host{display:block}\n"] }]
|
|
14
14
|
}] });
|
|
15
15
|
|
|
16
16
|
const keyValue = (classFun, memberName) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taon-storage.mjs","sources":["../../../tmp-libs-for-dist/taon-storage/projects/taon-storage/src/lib/sample-log-cmp/sample-log-cmp.component.ts","../../../tmp-libs-for-dist/taon-storage/projects/taon-storage/src/lib/sample-log-cmp/sample-log-cmp.component.html","../../../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":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'sample-log-cmp',\n templateUrl: './sample-log-cmp.component.html',\n styleUrls: ['./sample-log-cmp.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n standalone: true,\n})\nexport class SampleLogCmpComponent {}\n","<p>\n sample log component works!\n <img\n src=\"assets/assets-for/taon-storage/assets/shared/logo.png\"\n alt=\"logo\" height=\"200\" />\n</p>\n","\nexport const keyValue = (classFun, memberName) => {\n // console.log('classname',classFun.name)\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","//#region imports\nimport { Helpers, _ } from \"tnp-core/browser\";\n//#region @browser\nimport * as localForge from 'localforage';\n//#endregion\n//#endregion\n\n//#region constants / store name\nexport const storeName = 'taon-storage_'\n //#region @browser\n + window?.location.port;\n//#endregion\n//#endregion\n\n//#region constants / environment\nlet environment = {} as any;\n/* */\n/* */\n/* */\n \n//#region @browser\n// @ts-ignore\nenvironment = window['ENV'];\n//#endregion\n//#endregion\n\n//#region constant / stor local storage\nconst websql = Helpers.isWebSQL ? 'websql' : '';\n//#region @browser\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//#endregion\n//#endregion\n\n//#region constant / stor idndexedb storage\n//#region @browser\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//#endregion\n//#endregion\n","//#region imports\nimport { _ } from 'tnp-core/browser';\nimport { keyDefaultValueAreadySet, keyValue } from './helpers';\nimport { Models } from './models';\nimport { FileStor } from './file-stor';\n//#region @browser\nimport { storIndexdDb, storLocalStorage } from './constants';\n//#endregion\n//#endregion\n\n//#region constants\nconst AWAITING_INTERVAL_TIME = 200;\n//#endregion\n\n//#region public api / uncahce\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 //#region @browser\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 //#endregion\n ])\n}\n//#endregion\n\nclass TaonStorage {\n\n //#region static\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 // console.log('AWAITING')\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 //#endregion\n\n //#region private fields\n private onlyInThisComponentClass?: Function;\n private defaultValue: any;\n private engine: Models.StorgeEngine;\n\n\n //#region private fields / file path\n/* */\n/* */\n \n //#endregion\n //#endregion\n\n //#region public getters\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 //#endregion\n\n //#region public methods\n\n //#region public methods / for\n //#region @browser\n public for(onlyInThisComponentClass?: Function): Omit<TaonStorage, 'for' | 'in'> {\n this.onlyInThisComponentClass = onlyInThisComponentClass;\n return this as Omit<TaonStorage, 'for' | 'in'>;\n }\n //#endregion\n //#endregion\n\n //#region public methods / with default value\n public withDefaultValue(defaultValue?: any): any {\n // log.i(`[\"${}\"]`)\n return this.action(defaultValue, this.getEngine(), this.engine)\n }\n //#endregion\n\n //#region public methods / with options\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 //#endregion\n\n //#endregion\n\n //#region private methods\n\n //#region private methods / get engine\n private getEngine() {\n switch (this.engine) {\n //#region @browser\n case 'localstorage':\n return storLocalStorage;\n case 'indexeddb':\n return storIndexdDb;\n //#endregion\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n }\n //#endregion\n\n //#region private methods / end observer action\n private endObserverAction(observe: Models.PendingOperation) {\n // observe.subscribers.forEach(c => typeof c?.awaitId === 'function' && c());\n observe.isDone = true;\n }\n //#endregion\n\n //#region private methods / action\n private action = (\n defaultValue: any,\n storageEngine\n //#region @browser\n : Models.StorType\n //#endregion\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 //#region settin default value\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 // target[memberName] = valFromDb;\n currentValue = transformFrom ? transformFrom(valFromDb) : valFromDb;\n // log.info(`[\"${memberName}\"] set default value for `, valFromDb);\n resolve();\n this.endObserverAction(observe);\n })\n });\n //#endregion\n }\n\n if (defaultValue !== void 0) {\n //#region setting default value from db\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 // log.info(`[\"${memberName}\"] was set default value for ? `, val)\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 // log.i(`[\"${memberName}\"] defaultValue \"${memberName}\"`, currentValue)\n resolve()\n }\n });\n })).then(() => {\n this.endObserverAction(observe);\n });\n\n //#endregion\n } else {\n setItemDefaultValue();\n }\n\n Object.defineProperty(target, memberName, {\n set: (newValue: any) => {\n //#region setting new value on setter\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 //#endregion\n currentValue = newValue;\n },\n get: () => currentValue,\n });\n };\n };\n //#endregion\n\n //#endregion\n\n}\n\nexport const Stor = TaonStorage;\n","//#region @browser\nexport * from './sample-log-cmp/sample-log-cmp.component';\n//#endregion\nexport * from './storage';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taon-storage.mjs","sources":["../../../tmp-libs-for-dist/taon-storage/projects/taon-storage/src/lib/sample-log-cmp/sample-log-cmp.component.ts","../../../tmp-libs-for-dist/taon-storage/projects/taon-storage/src/lib/sample-log-cmp/sample-log-cmp.component.html","../../../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":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'sample-log-cmp',\n templateUrl: './sample-log-cmp.component.html',\n styleUrls: ['./sample-log-cmp.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n standalone: true,\n})\nexport class SampleLogCmpComponent {}","<p>\n sample log component works!\n <img\n src=\"assets/assets-for/taon-storage/assets/shared/logo.png\"\n alt=\"logo\" height=\"200\" />\n</p>","export const keyValue = (classFun, memberName) => {\n // console.log('classname',classFun.name)\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}","//#region imports\nimport { Helpers, _ } from \"tnp-core/browser\";\n//#region @browser\nimport * as localForge from 'localforage';\n//#endregion\n//#endregion\n\n//#region constants / store name\nexport const storeName = 'taon-storage_'\n //#region @browser\n + window?.location.port;\n//#endregion\n//#endregion\n\n//#region constants / environment\nlet environment = {} as any;\n/* */\n/* */\n/* */\n \n//#region @browser\n// @ts-ignore\nenvironment = window['ENV'];\n//#endregion\n//#endregion\n\n//#region constant / stor local storage\nconst websql = Helpers.isWebSQL ? 'websql' : '';\n//#region @browser\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//#endregion\n//#endregion\n\n//#region constant / stor idndexedb storage\n//#region @browser\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//#endregion\n//#endregion","//#region imports\nimport { _ } from 'tnp-core/browser';\nimport { keyDefaultValueAreadySet, keyValue } from './helpers';\nimport { Models } from './models';\nimport { FileStor } from './file-stor';\n//#region @browser\nimport { storIndexdDb, storLocalStorage } from './constants';\n//#endregion\n//#endregion\n\n//#region constants\nconst AWAITING_INTERVAL_TIME = 200;\n//#endregion\n\n//#region public api / uncahce\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 //#region @browser\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 //#endregion\n ])\n}\n//#endregion\n\nclass TaonStorage {\n\n //#region static\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 // console.log('AWAITING')\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 //#endregion\n\n //#region private fields\n private onlyInThisComponentClass?: Function;\n private defaultValue: any;\n private engine: Models.StorgeEngine;\n\n\n //#region private fields / file path\n/* */\n/* */\n \n //#endregion\n //#endregion\n\n //#region public getters\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 //#endregion\n\n //#region public methods\n\n //#region public methods / for\n //#region @browser\n public for(onlyInThisComponentClass?: Function): Omit<TaonStorage, 'for' | 'in'> {\n this.onlyInThisComponentClass = onlyInThisComponentClass;\n return this as Omit<TaonStorage, 'for' | 'in'>;\n }\n //#endregion\n //#endregion\n\n //#region public methods / with default value\n public withDefaultValue(defaultValue?: any): any {\n // log.i(`[\"${}\"]`)\n return this.action(defaultValue, this.getEngine(), this.engine)\n }\n //#endregion\n\n //#region public methods / with options\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 //#endregion\n\n //#endregion\n\n //#region private methods\n\n //#region private methods / get engine\n private getEngine() {\n switch (this.engine) {\n //#region @browser\n case 'localstorage':\n return storLocalStorage;\n case 'indexeddb':\n return storIndexdDb;\n //#endregion\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n }\n //#endregion\n\n //#region private methods / end observer action\n private endObserverAction(observe: Models.PendingOperation) {\n // observe.subscribers.forEach(c => typeof c?.awaitId === 'function' && c());\n observe.isDone = true;\n }\n //#endregion\n\n //#region private methods / action\n private action = (\n defaultValue: any,\n storageEngine\n //#region @browser\n : Models.StorType\n //#endregion\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 //#region settin default value\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 // target[memberName] = valFromDb;\n currentValue = transformFrom ? transformFrom(valFromDb) : valFromDb;\n // log.info(`[\"${memberName}\"] set default value for `, valFromDb);\n resolve();\n this.endObserverAction(observe);\n })\n });\n //#endregion\n }\n\n if (defaultValue !== void 0) {\n //#region setting default value from db\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 // log.info(`[\"${memberName}\"] was set default value for ? `, val)\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 // log.i(`[\"${memberName}\"] defaultValue \"${memberName}\"`, currentValue)\n resolve()\n }\n });\n })).then(() => {\n this.endObserverAction(observe);\n });\n\n //#endregion\n } else {\n setItemDefaultValue();\n }\n\n Object.defineProperty(target, memberName, {\n set: (newValue: any) => {\n //#region setting new value on setter\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 //#endregion\n currentValue = newValue;\n },\n get: () => currentValue,\n });\n };\n };\n //#endregion\n\n //#endregion\n\n}\n\nexport const Stor = TaonStorage;","//#region @browser\nexport * from './sample-log-cmp/sample-log-cmp.component';\n//#endregion\nexport * from './storage';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;MAoBa,qBAAqB,CAAA;8GAArB,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpBlC,kOAKI,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDYQ,YAAY,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAGX,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBARjC,SAAS;+BACE,gBAAgB,EAAA,eAAA,EAGT,uBAAuB,CAAC,MAAM,WACtC,CAAC,YAAY,CAAC,EAAA,UAAA,EACX,IAAI,EAAA,QAAA,EAAA,kOAAA,EAAA,MAAA,EAAA,CAAA,wBAAA,CAAA,EAAA;;;AElBX,MAAM,QAAQ,GAAG,CAAC,QAAQ,EAAE,UAAU,KAAI;;IAE/C,MAAM,GAAG,GAAG,CAA2B,wBAAA,EAAA,QAAQ,CAAC,IAAI,CAAA,MAAA,EAAS,UAAU,CAAA,CAAE;AACzE,IAAA,OAAO,GAAG;AACZ,CAAC;AAEM,MAAM,wBAAwB,GAAG,CAAC,QAAQ,EAAE,UAAU,KAAI;IAC/D,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,mBAAmB;AAChE,IAAA,OAAO,GAAG;AACZ,CAAC;;ACTD;AAIA;AACA;AAEA;AACO,MAAM,SAAS,GAAG;;AAErB,MAAA,MAAM,EAAE,QAAQ,CAAC,IAAI;AACzB;AACA;AAEA;AACA,IAAI,WAAW,GAAG,EAAS;AAC3B;AACA;AACA;AAEA;AACA;AACA,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;AAC3B;AACA;AAEA;AACA,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,QAAQ,GAAG,EAAE;AAC/C;AACO,MAAM,gBAAgB,GAAG,UAAU,CAAC,cAAc,CAAC;IACxD,MAAM,EAAE,UAAU,CAAC,YAAY;AAC/B,IAAA,SAAS,EAAE;QACT,SAAS;QACT,cAAc;QACd,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,yBAAyB,CAAC,GAAG,MAAM;AAC7D,KAAA,CAAC,IAAI,CAAC,GAAG,CAAC;CAEZ,CAAQ,CAAC;AACV;AACA;AAEA;AACA;AACO,MAAM,YAAY,GAAG,UAAU,CAAC,cAAc,CAAC;IACpD,MAAM,EAAE,UAAU,CAAC,SAAS;AAC5B,IAAA,SAAS,EAAE;QACT,SAAS;QACT,WAAW;QACX,CAAC,CAAC,SAAS,CAAC,WAAW,EAAE,yBAAyB,CAAC,GAAG,MAAM;KAC7D,CAAC,IAAI,CAAC,GAAG;CACX,CAAQ,CAAC;AACV;AACA;;AC7CA;AACA;AAEA;AACA,MAAM,sBAAsB,GAAG,GAAG;AAClC;AAEA;AACgB,SAAA,OAAO,CAAuB,wBAAwC,EAAE,8BAAoD,EAAA;AAC1I,IAAA,IAAI,CAAC,wBAAwB,EAAE;AAC7B,QAAA,wBAAwB,GAAG,EAAE,IAAI,EAAE,sBAAsB,EAAE;;IAE7D,OAAO,OAAO,CAAC,GAAG,CAAC;;QAEjB,gBAAgB,CAAC,UAAU,CAAC,QAAQ,CAAC,wBAAwB,EAAE,8BAA8B,CAAC,CAAC;QAC/F,gBAAgB,CAAC,UAAU,CAAC,wBAAwB,CAAC,wBAAwB,EAAE,8BAA8B,CAAC,CAAC;QAC/G,YAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,wBAAwB,EAAE,8BAA8B,CAAC,CAAC;QAC3F,YAAY,CAAC,UAAU,CAAC,wBAAwB,CAAC,wBAAwB,EAAE,8BAA8B,CAAC,CAAC;;AAE5G,KAAA,CAAC;AACJ;AACA;AAEA,MAAM,WAAW,CAAA;AAAjB,IAAA,WAAA,GAAA;;;AA4JU,QAAA,IAAA,CAAA,MAAM,GAAG,CACf,YAAiB,EACjB;;AAKA,UAAA,MAA2B,EAC3B,aAAc,EACd,WAAY,KACV;AACF,YAAA,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE;gBAClC,IAAI,CAAC,wBAAwB,GAAG,EAAE,IAAI,EAAE,sBAAsB,EAAE;;AAGlE,YAAA,OAAO,CAAC,MAAW,EAAE,UAAkB,KAAI;AACzC,gBAAA,IAAI,YAAY,GAAQ,MAAM,CAAC,UAAU,CAAC;AAE1C,gBAAA,MAAM,mBAAmB,GAAG,YAAW;;AAErC,oBAAA,MAAM,OAAO,GAAG;wBACd,MAAM;AACN,wBAAA,EAAE,EAAE;qBACsB;AAC5B,oBAAA,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC;oBAE1C,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,KAAI;AAC1C,wBAAA,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,wBAAwB,EAAE,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,KAAI;;AAE5F,4BAAA,YAAY,GAAG,aAAa,GAAG,aAAa,CAAC,SAAS,CAAC,GAAG,SAAS;;AAEnE,4BAAA,OAAO,EAAE;AACT,4BAAA,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;AACjC,yBAAC,CAAC;AACJ,qBAAC,CAAC;;AAEJ,iBAAC;AAED,gBAAA,IAAI,YAAY,KAAK,KAAK,CAAC,EAAE;;AAE3B,oBAAA,MAAM,OAAO,GAAG;wBACd,MAAM;AACN,wBAAA,EAAE,EAAE;qBACsB;AAC5B,oBAAA,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC;oBAE1C,CAAC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,KAAI;AACrC,wBAAA,aAAa,CAAC,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,wBAAwB,EAAE,UAAU,CAAC,EAAE,OAAO,GAAG,EAAE,GAAG,KAAI;;4BAE5G,IAAI,GAAG,EAAE;gCACP,MAAM,mBAAmB,EAAE;AAC3B,gCAAA,OAAO,EAAE;;iCACJ;gCACL,MAAM,IAAI,OAAO,CAAO,CAAC,GAAG,EAAE,GAAG,KAAI;AACnC,oCAAA,aAAa,CAAC,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,wBAAwB,EAAE,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,KAAI;AAC1G,wCAAA,GAAG,EAAE;AACP,qCAAC,CAAC;AACJ,iCAAC,CAAC;gCAEF,MAAM,IAAI,OAAO,CAAO,CAAC,GAAG,EAAE,GAAG,KAAI;AACnC,oCAAA,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,wBAAwB,EAAE,UAAU,CAAC,EACvE,WAAW,GAAG,WAAW,CAAC,YAAY,CAAC,GAAG,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,KAAI;AACnE,wCAAA,GAAG,EAAE;AACP,qCAAC,CAAC;AACN,iCAAC,CAAC;gCAEF,YAAY,GAAG,YAAY;;AAE3B,gCAAA,OAAO,EAAE;;AAEb,yBAAC,CAAC;AACJ,qBAAC,CAAC,EAAE,IAAI,CAAC,MAAK;AACZ,wBAAA,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;AACjC,qBAAC,CAAC;;;qBAGG;AACL,oBAAA,mBAAmB,EAAE;;AAGvB,gBAAA,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE;AACxC,oBAAA,GAAG,EAAE,CAAC,QAAa,KAAI;;AAErB,wBAAA,MAAM,OAAO,GAAG;4BACd,MAAM;AACN,4BAAA,EAAE,EAAE;yBACsB;AAC5B,wBAAA,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC;wBAE1C,CAAC,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,KAAI;AACrC,4BAAA,aAAa,CAAC,OAAO,CACnB,QAAQ,CAAC,IAAI,CAAC,wBAAwB,EAAE,UAAU,CAAC,EACnD,WAAW,GAAG,WAAW,CAAC,QAAQ,CAAC,GAAG,QAAQ,EAC9C,CAAC,GAAG,EAAE,UAAU,KAAI;AAClB,gCAAA,OAAO,EAAE;AACX,6BAAC,CACF;AACH,yBAAC,CAAC,EAAE,IAAI,CAAC,MAAK;AACZ,4BAAA,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;AACjC,yBAAC,CAAC;;wBAEF,YAAY,GAAG,QAAQ;qBACxB;AACD,oBAAA,GAAG,EAAE,MAAM,YAAY;AACxB,iBAAA,CAAC;AACJ,aAAC;AACH,SAAC;;;;;aAnQc,IAAgB,CAAA,gBAAA,GAA8B,EAA9B,CAAiC;aACjD,IAAE,CAAA,EAAA,GAAG,CAAH,CAAK;AAEtB;;AAEG;IACI,aAAa,qBAAqB,CAAC,EAAE,GAAG,WAAW,CAAC,EAAE,EAAE,EAAA;;QAE7D,IAAI,EAAE,GAAG,MAAM,CAAC,gBAAgB,GAAG,CAAC,EAAE;AACpC,YAAA,WAAW,CAAC,EAAE,GAAG,CAAC;AAClB,YAAA,EAAE,GAAG,WAAW,CAAC,EAAE,EAAE;;AAEvB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,gBAA6C;QAClE,MAAM,aAAa,GAAG,EAAE;AACxB,QAAA,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;AACnD,YAAA,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAA4B;AAEpD,YAAA,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE;gBACd,MAAM,IAAI,OAAO,CAAO,OAAO,OAAO,EAAE,MAAM,KAAI;oBAChD,UAAU,CAAC,YAAW;AACpB,wBAAA,MAAM,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC;AACpC,wBAAA,OAAO,EAAE;qBACV,EAAE,sBAAsB,CAAC;AAC5B,iBAAC,CAAC;gBACF;;iBACK;AACL,gBAAA,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;;;AAG7B,QAAA,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;AACzD,YAAA,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC;AACrC,YAAA,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;;;AAI/B,IAAA,WAAW,QAAQ,GAAA;QACjB,OAAO,IAAI,WAAW,EAAE;;;;;;;;AAkB1B,IAAA,IAAW,EAAE,GAAA;QACX,MAAM,IAAI,GAAG,IAAI;QACjB,OAAO;AACL,YAAA,IAAI,QAAQ,GAAA;AACV,gBAAA,IAAI,CAAC,MAAM,GAAG,WAAW;AACzB,gBAAA,OAAO,IAA+B;aACvC;AACD,YAAA,IAAI,YAAY,GAAA;AACd,gBAAA,IAAI,CAAC,MAAM,GAAG,cAAc;AAC5B,gBAAA,OAAO,IAA+B;aACvC;;;;;;;;;;;;;;;SAgBF;;;;;;AAQI,IAAA,GAAG,CAAC,wBAAmC,EAAA;AAC5C,QAAA,IAAI,CAAC,wBAAwB,GAAG,wBAAwB;AACxD,QAAA,OAAO,IAAuC;;;;;AAMzC,IAAA,gBAAgB,CAAC,YAAkB,EAAA;;AAExC,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC;;;;AAKjE,IAAA,WAAW,CAAC,OAOX,EAAA;AACC,QAAA,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,IAAI,OAAO,IAAI,EAAE,CAAQ;AAC3E,QAAA,OAAO,IAAI,CAAC,MAAM,CAChB,YAAY,GAAG,YAAY,GAAG,IAAI,CAAC,YAAY,EAC/C,IAAI,CAAC,SAAS,EAAE,EAChB,IAAI,CAAC,MAAM,EACX,aAAa,EACb,WAAW,CACZ;;;;;;IASK,SAAS,GAAA;AACf,QAAA,QAAQ,IAAI,CAAC,MAAM;;AAEjB,YAAA,KAAK,cAAc;AACjB,gBAAA,OAAO,gBAAgB;AACzB,YAAA,KAAK,WAAW;AACd,gBAAA,OAAO,YAAY;;;;;;;;;;;AAajB,IAAA,iBAAiB,CAAC,OAAgC,EAAA;;AAExD,QAAA,OAAO,CAAC,MAAM,GAAG,IAAI;;;AAsHlB,MAAM,IAAI,GAAG;;AC3SpB;;ACAA;;AAEG;;;;"}
|
package/browser/package.json
CHANGED
package/client/README.md
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
# MyLib
|
|
2
|
-
|
|
3
|
-
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.2.0.
|
|
4
|
-
|
|
5
|
-
## Code scaffolding
|
|
6
|
-
|
|
7
|
-
Run `ng generate component component-name --project my-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project my-lib`.
|
|
8
|
-
> Note: Don't forget to add `--project my-lib` or else it will be added to the default project in your `angular.json` file.
|
|
9
|
-
|
|
10
|
-
## Build
|
|
11
|
-
|
|
12
|
-
Run `ng build my-lib` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
13
|
-
|
|
14
|
-
## Publishing
|
|
15
|
-
|
|
16
|
-
After building your library with `ng build my-lib`, go to the dist folder `cd dist/my-lib` and run `npm publish`.
|
|
17
|
-
|
|
18
|
-
## Running unit tests
|
|
19
|
-
|
|
20
|
-
Run `ng test my-lib` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
21
|
-
|
|
22
|
-
## Further help
|
|
23
|
-
|
|
24
|
-
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
|
|
1
|
+
# MyLib
|
|
2
|
+
|
|
3
|
+
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.2.0.
|
|
4
|
+
|
|
5
|
+
## Code scaffolding
|
|
6
|
+
|
|
7
|
+
Run `ng generate component component-name --project my-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project my-lib`.
|
|
8
|
+
> Note: Don't forget to add `--project my-lib` or else it will be added to the default project in your `angular.json` file.
|
|
9
|
+
|
|
10
|
+
## Build
|
|
11
|
+
|
|
12
|
+
Run `ng build my-lib` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
13
|
+
|
|
14
|
+
## Publishing
|
|
15
|
+
|
|
16
|
+
After building your library with `ng build my-lib`, go to the dist folder `cd dist/my-lib` and run `npm publish`.
|
|
17
|
+
|
|
18
|
+
## Running unit tests
|
|
19
|
+
|
|
20
|
+
Run `ng test my-lib` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
21
|
+
|
|
22
|
+
## Further help
|
|
23
|
+
|
|
24
|
+
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
|
|
@@ -6,11 +6,11 @@ import * as localForge from 'localforage';
|
|
|
6
6
|
|
|
7
7
|
class SampleLogCmpComponent {
|
|
8
8
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SampleLogCmpComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.7", type: SampleLogCmpComponent, isStandalone: true, selector: "sample-log-cmp", ngImport: i0, template: "<p>\n sample log component works!\n <img\n src=\"assets/assets-for/taon-storage/assets/shared/logo.png\"\n alt=\"logo\" height=\"200\" />\n</p
|
|
9
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.7", type: SampleLogCmpComponent, isStandalone: true, selector: "sample-log-cmp", ngImport: i0, template: "<p>\n sample log component works!\n <img\n src=\"assets/assets-for/taon-storage/assets/shared/logo.png\"\n alt=\"logo\" height=\"200\" />\n</p>", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10
10
|
}
|
|
11
11
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SampleLogCmpComponent, decorators: [{
|
|
12
12
|
type: Component,
|
|
13
|
-
args: [{ selector: 'sample-log-cmp', changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule], standalone: true, template: "<p>\n sample log component works!\n <img\n src=\"assets/assets-for/taon-storage/assets/shared/logo.png\"\n alt=\"logo\" height=\"200\" />\n</p
|
|
13
|
+
args: [{ selector: 'sample-log-cmp', changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule], standalone: true, template: "<p>\n sample log component works!\n <img\n src=\"assets/assets-for/taon-storage/assets/shared/logo.png\"\n alt=\"logo\" height=\"200\" />\n</p>", styles: [":host{display:block}\n"] }]
|
|
14
14
|
}] });
|
|
15
15
|
|
|
16
16
|
const keyValue = (classFun, memberName) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taon-storage.mjs","sources":["../../../tmp-libs-for-dist/taon-storage/projects/taon-storage/src/lib/sample-log-cmp/sample-log-cmp.component.ts","../../../tmp-libs-for-dist/taon-storage/projects/taon-storage/src/lib/sample-log-cmp/sample-log-cmp.component.html","../../../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":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'sample-log-cmp',\n templateUrl: './sample-log-cmp.component.html',\n styleUrls: ['./sample-log-cmp.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n standalone: true,\n})\nexport class SampleLogCmpComponent {}\n","<p>\n sample log component works!\n <img\n src=\"assets/assets-for/taon-storage/assets/shared/logo.png\"\n alt=\"logo\" height=\"200\" />\n</p>\n","\nexport const keyValue = (classFun, memberName) => {\n // console.log('classname',classFun.name)\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","//#region imports\nimport { Helpers, _ } from \"tnp-core/browser\";\n//#region @browser\nimport * as localForge from 'localforage';\n//#endregion\n//#endregion\n\n//#region constants / store name\nexport const storeName = 'taon-storage_'\n //#region @browser\n + window?.location.port;\n//#endregion\n//#endregion\n\n//#region constants / environment\nlet environment = {} as any;\n/* */\n/* */\n/* */\n \n//#region @browser\n// @ts-ignore\nenvironment = window['ENV'];\n//#endregion\n//#endregion\n\n//#region constant / stor local storage\nconst websql = Helpers.isWebSQL ? 'websql' : '';\n//#region @browser\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//#endregion\n//#endregion\n\n//#region constant / stor idndexedb storage\n//#region @browser\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//#endregion\n//#endregion\n","//#region imports\nimport { _ } from 'tnp-core/browser';\nimport { keyDefaultValueAreadySet, keyValue } from './helpers';\nimport { Models } from './models';\nimport { FileStor } from './file-stor';\n//#region @browser\nimport { storIndexdDb, storLocalStorage } from './constants';\n//#endregion\n//#endregion\n\n//#region constants\nconst AWAITING_INTERVAL_TIME = 200;\n//#endregion\n\n//#region public api / uncahce\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 //#region @browser\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 //#endregion\n ])\n}\n//#endregion\n\nclass TaonStorage {\n\n //#region static\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 // console.log('AWAITING')\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 //#endregion\n\n //#region private fields\n private onlyInThisComponentClass?: Function;\n private defaultValue: any;\n private engine: Models.StorgeEngine;\n\n\n //#region private fields / file path\n/* */\n/* */\n \n //#endregion\n //#endregion\n\n //#region public getters\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 //#endregion\n\n //#region public methods\n\n //#region public methods / for\n //#region @browser\n public for(onlyInThisComponentClass?: Function): Omit<TaonStorage, 'for' | 'in'> {\n this.onlyInThisComponentClass = onlyInThisComponentClass;\n return this as Omit<TaonStorage, 'for' | 'in'>;\n }\n //#endregion\n //#endregion\n\n //#region public methods / with default value\n public withDefaultValue(defaultValue?: any): any {\n // log.i(`[\"${}\"]`)\n return this.action(defaultValue, this.getEngine(), this.engine)\n }\n //#endregion\n\n //#region public methods / with options\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 //#endregion\n\n //#endregion\n\n //#region private methods\n\n //#region private methods / get engine\n private getEngine() {\n switch (this.engine) {\n //#region @browser\n case 'localstorage':\n return storLocalStorage;\n case 'indexeddb':\n return storIndexdDb;\n //#endregion\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n }\n //#endregion\n\n //#region private methods / end observer action\n private endObserverAction(observe: Models.PendingOperation) {\n // observe.subscribers.forEach(c => typeof c?.awaitId === 'function' && c());\n observe.isDone = true;\n }\n //#endregion\n\n //#region private methods / action\n private action = (\n defaultValue: any,\n storageEngine\n //#region @browser\n : Models.StorType\n //#endregion\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 //#region settin default value\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 // target[memberName] = valFromDb;\n currentValue = transformFrom ? transformFrom(valFromDb) : valFromDb;\n // log.info(`[\"${memberName}\"] set default value for `, valFromDb);\n resolve();\n this.endObserverAction(observe);\n })\n });\n //#endregion\n }\n\n if (defaultValue !== void 0) {\n //#region setting default value from db\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 // log.info(`[\"${memberName}\"] was set default value for ? `, val)\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 // log.i(`[\"${memberName}\"] defaultValue \"${memberName}\"`, currentValue)\n resolve()\n }\n });\n })).then(() => {\n this.endObserverAction(observe);\n });\n\n //#endregion\n } else {\n setItemDefaultValue();\n }\n\n Object.defineProperty(target, memberName, {\n set: (newValue: any) => {\n //#region setting new value on setter\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 //#endregion\n currentValue = newValue;\n },\n get: () => currentValue,\n });\n };\n };\n //#endregion\n\n //#endregion\n\n}\n\nexport const Stor = TaonStorage;\n","//#region @browser\nexport * from './sample-log-cmp/sample-log-cmp.component';\n//#endregion\nexport * from './storage';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taon-storage.mjs","sources":["../../../tmp-libs-for-dist/taon-storage/projects/taon-storage/src/lib/sample-log-cmp/sample-log-cmp.component.ts","../../../tmp-libs-for-dist/taon-storage/projects/taon-storage/src/lib/sample-log-cmp/sample-log-cmp.component.html","../../../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":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'sample-log-cmp',\n templateUrl: './sample-log-cmp.component.html',\n styleUrls: ['./sample-log-cmp.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n standalone: true,\n})\nexport class SampleLogCmpComponent {}","<p>\n sample log component works!\n <img\n src=\"assets/assets-for/taon-storage/assets/shared/logo.png\"\n alt=\"logo\" height=\"200\" />\n</p>","export const keyValue = (classFun, memberName) => {\n // console.log('classname',classFun.name)\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}","//#region imports\nimport { Helpers, _ } from \"tnp-core/browser\";\n//#region @browser\nimport * as localForge from 'localforage';\n//#endregion\n//#endregion\n\n//#region constants / store name\nexport const storeName = 'taon-storage_'\n //#region @browser\n + window?.location.port;\n//#endregion\n//#endregion\n\n//#region constants / environment\nlet environment = {} as any;\n/* */\n/* */\n/* */\n \n//#region @browser\n// @ts-ignore\nenvironment = window['ENV'];\n//#endregion\n//#endregion\n\n//#region constant / stor local storage\nconst websql = Helpers.isWebSQL ? 'websql' : '';\n//#region @browser\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//#endregion\n//#endregion\n\n//#region constant / stor idndexedb storage\n//#region @browser\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//#endregion\n//#endregion","//#region imports\nimport { _ } from 'tnp-core/browser';\nimport { keyDefaultValueAreadySet, keyValue } from './helpers';\nimport { Models } from './models';\nimport { FileStor } from './file-stor';\n//#region @browser\nimport { storIndexdDb, storLocalStorage } from './constants';\n//#endregion\n//#endregion\n\n//#region constants\nconst AWAITING_INTERVAL_TIME = 200;\n//#endregion\n\n//#region public api / uncahce\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 //#region @browser\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 //#endregion\n ])\n}\n//#endregion\n\nclass TaonStorage {\n\n //#region static\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 // console.log('AWAITING')\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 //#endregion\n\n //#region private fields\n private onlyInThisComponentClass?: Function;\n private defaultValue: any;\n private engine: Models.StorgeEngine;\n\n\n //#region private fields / file path\n/* */\n/* */\n \n //#endregion\n //#endregion\n\n //#region public getters\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 //#endregion\n\n //#region public methods\n\n //#region public methods / for\n //#region @browser\n public for(onlyInThisComponentClass?: Function): Omit<TaonStorage, 'for' | 'in'> {\n this.onlyInThisComponentClass = onlyInThisComponentClass;\n return this as Omit<TaonStorage, 'for' | 'in'>;\n }\n //#endregion\n //#endregion\n\n //#region public methods / with default value\n public withDefaultValue(defaultValue?: any): any {\n // log.i(`[\"${}\"]`)\n return this.action(defaultValue, this.getEngine(), this.engine)\n }\n //#endregion\n\n //#region public methods / with options\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 //#endregion\n\n //#endregion\n\n //#region private methods\n\n //#region private methods / get engine\n private getEngine() {\n switch (this.engine) {\n //#region @browser\n case 'localstorage':\n return storLocalStorage;\n case 'indexeddb':\n return storIndexdDb;\n //#endregion\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n }\n //#endregion\n\n //#region private methods / end observer action\n private endObserverAction(observe: Models.PendingOperation) {\n // observe.subscribers.forEach(c => typeof c?.awaitId === 'function' && c());\n observe.isDone = true;\n }\n //#endregion\n\n //#region private methods / action\n private action = (\n defaultValue: any,\n storageEngine\n //#region @browser\n : Models.StorType\n //#endregion\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 //#region settin default value\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 // target[memberName] = valFromDb;\n currentValue = transformFrom ? transformFrom(valFromDb) : valFromDb;\n // log.info(`[\"${memberName}\"] set default value for `, valFromDb);\n resolve();\n this.endObserverAction(observe);\n })\n });\n //#endregion\n }\n\n if (defaultValue !== void 0) {\n //#region setting default value from db\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 // log.info(`[\"${memberName}\"] was set default value for ? `, val)\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 // log.i(`[\"${memberName}\"] defaultValue \"${memberName}\"`, currentValue)\n resolve()\n }\n });\n })).then(() => {\n this.endObserverAction(observe);\n });\n\n //#endregion\n } else {\n setItemDefaultValue();\n }\n\n Object.defineProperty(target, memberName, {\n set: (newValue: any) => {\n //#region setting new value on setter\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 //#endregion\n currentValue = newValue;\n },\n get: () => currentValue,\n });\n };\n };\n //#endregion\n\n //#endregion\n\n}\n\nexport const Stor = TaonStorage;","//#region @browser\nexport * from './sample-log-cmp/sample-log-cmp.component';\n//#endregion\nexport * from './storage';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
package/client/package.json
CHANGED
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["c:/Users/darek/projects/npm/taon-dev/taon-storage/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB"}
|
|
@@ -4,6 +4,6 @@ exports.CURRENT_PACKAGE_VERSION = exports.PROJECT_NPM_NAME = exports.BUILD_FRAME
|
|
|
4
4
|
// THIS FILE IS GENERATED - DO NOT MODIFY
|
|
5
5
|
exports.BUILD_FRAMEWORK_CLI_NAME = 'tnp';
|
|
6
6
|
exports.PROJECT_NPM_NAME = 'taon-storage';
|
|
7
|
-
exports.CURRENT_PACKAGE_VERSION = '19.0.
|
|
7
|
+
exports.CURRENT_PACKAGE_VERSION = '19.0.17';
|
|
8
8
|
// THIS FILE IS GENERATED - DO NOT MODIFY
|
|
9
9
|
//# sourceMappingURL=build-info._auto-generated_.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-info._auto-generated_.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"build-info._auto-generated_.js","sourceRoot":"","sources":["c:/Users/darek/projects/npm/taon-dev/taon-storage/src/lib/build-info._auto-generated_.ts"],"names":[],"mappings":";;;AAAA,yCAAyC;AAC5B,QAAA,wBAAwB,GAAG,KAAK,CAAC;AACjC,QAAA,gBAAgB,GAAG,cAAc,CAAC;AAClC,QAAA,uBAAuB,GAAG,SAAS,CAAC;AACjD,yCAAyC"}
|
package/lib/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["c:/Users/darek/projects/npm/taon-dev/taon-storage/src/lib/constants.ts"],"names":[],"mappings":";;;AAAA,iBAAiB;AACjB,sCAA0C;AAC1C,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,MAAM,MAAM,GAAG,aAAO,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"}
|
package/lib/file-stor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-stor.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"file-stor.js","sourceRoot":"","sources":["c:/Users/darek/projects/npm/taon-dev/taon-storage/src/lib/file-stor.ts"],"names":[],"mappings":";;;AAAA,sCAAuC;AAIvC,MAAa,QAAQ;IAMT;IACA;IAFV,YACU,QAAgB,EAChB,UAAU,KAAK;QADf,aAAQ,GAAR,QAAQ,CAAQ;QAChB,YAAO,GAAP,OAAO,CAAQ;IACrB,CAAC;IAEL,KAAK,CAAC,OAAO,CAAI,GAAW,EAAE,KAAQ,EAAE,QAAuC;QAC7E,sBAAsB;QACtB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACpD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,aAAO,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAY,CAAC,CAAC;gBAC/C,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;gBACxB,OAAO,EAAE,CAAC;YACZ,CAAC;iBAAM,CAAC;gBACN,aAAO,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAY,CAAC,CAAC;gBAC/C,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;gBACxB,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC,CAAC,CAAC;QACH,kCAAkC;QAClC,MAAM,OAAO,CAAC;QACd,OAAO,KAAK,CAAC,CAAC;QACd,YAAY;IACd,CAAC;IACD,KAAK,CAAC,OAAO,CAAI,GAAW,EAAE,QAAuC;QACnE,sBAAsB;QACtB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACjD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,MAAM,MAAM,GAAG,aAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC/C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;gBACzB,OAAO,CAAC,MAAM,CAAC,CAAA;YACjB,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,aAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC/C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAa,CAAC,CAAC;gBAChC,OAAO,CAAC,MAAa,CAAC,CAAA;YACxB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,kCAAkC;QAClC,OAAO,MAAM,OAAO,CAAC;QACrB,YAAY;IACd,CAAC;IACD,KAAK,CAAC,UAAU,CAAC,GAAW,EAAE,QAA6B;QACzD,sBAAsB;QACtB,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACpD,aAAO,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACpC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;YACjB,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QACH,kCAAkC;QAClC,MAAM,OAAO,CAAC;QACd,OAAO,KAAK,CAAC,CAAC;QACd,YAAY;IACd,CAAC;CACF;AAzDD,4BAyDC;AACD,YAAY"}
|
package/lib/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["c:/Users/darek/projects/npm/taon-dev/taon-storage/src/lib/helpers.ts"],"names":[],"mappings":";;;AAAO,MAAM,QAAQ,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE;IAC/C,yCAAyC;IACzC,MAAM,GAAG,GAAG,2BAA2B,QAAQ,CAAC,IAAI,SAAS,UAAU,EAAE,CAAA;IACzE,OAAO,GAAG,CAAC;AACb,CAAC,CAAA;AAJY,QAAA,QAAQ,YAIpB;AAEM,MAAM,wBAAwB,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE;IAC/D,MAAM,GAAG,GAAG,IAAA,gBAAQ,EAAC,QAAQ,EAAE,UAAU,CAAC,GAAG,mBAAmB,CAAC;IACjE,OAAO,GAAG,CAAC;AACb,CAAC,CAAA;AAHY,QAAA,wBAAwB,4BAGpC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index._auto-generated_.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"index._auto-generated_.js","sourceRoot":"","sources":["c:/Users/darek/projects/npm/taon-dev/taon-storage/src/lib/index._auto-generated_.ts"],"names":[],"mappings":"AAAA,cAAc;AACd,8CAA8C;AAC9C,4BAA4B;AAC5B,uDAAuD;AACvD,uDAAuD"}
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["c:/Users/darek/projects/npm/taon-dev/taon-storage/src/lib/index.ts"],"names":[],"mappings":";AAAA,KAAK;AACL,KAAK;;;;;;;;;;;;;;;;AAEL,4CAA0B"}
|
package/lib/models.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["c:/Users/darek/projects/npm/taon-dev/taon-storage/src/lib/models.ts"],"names":[],"mappings":";AAAA,KAAK;AACL,KAAK"}
|
package/lib/storage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["c:/Users/darek/projects/npm/taon-dev/taon-storage/src/lib/storage.ts"],"names":[],"mappings":"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"}
|
package/migrations/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["c:/Users/darek/projects/npm/taon-dev/taon-storage/src/migrations/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,aAAa;AACb,sEAAoD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrations_index._auto-generated_.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"migrations_index._auto-generated_.js","sourceRoot":"","sources":["c:/Users/darek/projects/npm/taon-dev/taon-storage/src/migrations/migrations_index._auto-generated_.ts"],"names":[],"mappings":"AAAA,yCAAyC;AAEzC,yCAAyC;AAEzC,yCAAyC"}
|
package/package.json
CHANGED
package/tmp-environment.json
CHANGED
|
@@ -9,9 +9,9 @@
|
|
|
9
9
|
"only": []
|
|
10
10
|
},
|
|
11
11
|
"ports": {
|
|
12
|
-
"ngNormalAppPort":
|
|
13
|
-
"ngWebsqlAppPort":
|
|
14
|
-
"nodeBeAppPort":
|
|
12
|
+
"ngNormalAppPort": 4243,
|
|
13
|
+
"ngWebsqlAppPort": 4244,
|
|
14
|
+
"nodeBeAppPort": 4122
|
|
15
15
|
},
|
|
16
16
|
"init": {},
|
|
17
17
|
"build": {
|
|
@@ -30,12 +30,12 @@
|
|
|
30
30
|
"releaseType": "manual",
|
|
31
31
|
"targetArtifact": "npm-lib-and-cli-tool",
|
|
32
32
|
"envName": "__",
|
|
33
|
-
"resolvedNewVersion": "19.0.
|
|
33
|
+
"resolvedNewVersion": "19.0.17"
|
|
34
34
|
},
|
|
35
35
|
"copyToManager": {},
|
|
36
36
|
"buildInfo": {
|
|
37
|
-
"date": "2025-05-
|
|
38
|
-
"hash": "
|
|
37
|
+
"date": "2025-05-22T17:15:25.000Z",
|
|
38
|
+
"hash": "73df00e2ba42e328fa3811451d4c14fd1d4a2e08"
|
|
39
39
|
},
|
|
40
40
|
"currentProjectName": "taon-storage",
|
|
41
41
|
"currentProjectType": "isomorphic-lib",
|
package/websql/README.md
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
# MyLib
|
|
2
|
-
|
|
3
|
-
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.2.0.
|
|
4
|
-
|
|
5
|
-
## Code scaffolding
|
|
6
|
-
|
|
7
|
-
Run `ng generate component component-name --project my-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project my-lib`.
|
|
8
|
-
> Note: Don't forget to add `--project my-lib` or else it will be added to the default project in your `angular.json` file.
|
|
9
|
-
|
|
10
|
-
## Build
|
|
11
|
-
|
|
12
|
-
Run `ng build my-lib` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
13
|
-
|
|
14
|
-
## Publishing
|
|
15
|
-
|
|
16
|
-
After building your library with `ng build my-lib`, go to the dist folder `cd dist/my-lib` and run `npm publish`.
|
|
17
|
-
|
|
18
|
-
## Running unit tests
|
|
19
|
-
|
|
20
|
-
Run `ng test my-lib` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
21
|
-
|
|
22
|
-
## Further help
|
|
23
|
-
|
|
24
|
-
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
|
|
1
|
+
# MyLib
|
|
2
|
+
|
|
3
|
+
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 13.2.0.
|
|
4
|
+
|
|
5
|
+
## Code scaffolding
|
|
6
|
+
|
|
7
|
+
Run `ng generate component component-name --project my-lib` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project my-lib`.
|
|
8
|
+
> Note: Don't forget to add `--project my-lib` or else it will be added to the default project in your `angular.json` file.
|
|
9
|
+
|
|
10
|
+
## Build
|
|
11
|
+
|
|
12
|
+
Run `ng build my-lib` to build the project. The build artifacts will be stored in the `dist/` directory.
|
|
13
|
+
|
|
14
|
+
## Publishing
|
|
15
|
+
|
|
16
|
+
After building your library with `ng build my-lib`, go to the dist folder `cd dist/my-lib` and run `npm publish`.
|
|
17
|
+
|
|
18
|
+
## Running unit tests
|
|
19
|
+
|
|
20
|
+
Run `ng test my-lib` to execute the unit tests via [Karma](https://karma-runner.github.io).
|
|
21
|
+
|
|
22
|
+
## Further help
|
|
23
|
+
|
|
24
|
+
To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
|
|
@@ -6,11 +6,11 @@ import * as localForge from 'localforage';
|
|
|
6
6
|
|
|
7
7
|
class SampleLogCmpComponent {
|
|
8
8
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SampleLogCmpComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.7", type: SampleLogCmpComponent, isStandalone: true, selector: "sample-log-cmp", ngImport: i0, template: "<p>\n sample log component works!\n <img\n src=\"assets/assets-for/taon-storage/assets/shared/logo.png\"\n alt=\"logo\" height=\"200\" />\n</p
|
|
9
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.7", type: SampleLogCmpComponent, isStandalone: true, selector: "sample-log-cmp", ngImport: i0, template: "<p>\n sample log component works!\n <img\n src=\"assets/assets-for/taon-storage/assets/shared/logo.png\"\n alt=\"logo\" height=\"200\" />\n</p>", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10
10
|
}
|
|
11
11
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: SampleLogCmpComponent, decorators: [{
|
|
12
12
|
type: Component,
|
|
13
|
-
args: [{ selector: 'sample-log-cmp', changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule], standalone: true, template: "<p>\n sample log component works!\n <img\n src=\"assets/assets-for/taon-storage/assets/shared/logo.png\"\n alt=\"logo\" height=\"200\" />\n</p
|
|
13
|
+
args: [{ selector: 'sample-log-cmp', changeDetection: ChangeDetectionStrategy.OnPush, imports: [CommonModule], standalone: true, template: "<p>\n sample log component works!\n <img\n src=\"assets/assets-for/taon-storage/assets/shared/logo.png\"\n alt=\"logo\" height=\"200\" />\n</p>", styles: [":host{display:block}\n"] }]
|
|
14
14
|
}] });
|
|
15
15
|
|
|
16
16
|
const keyValue = (classFun, memberName) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taon-storage.mjs","sources":["../../../tmp-libs-for-dist-websql/taon-storage/projects/taon-storage/src/lib/sample-log-cmp/sample-log-cmp.component.ts","../../../tmp-libs-for-dist-websql/taon-storage/projects/taon-storage/src/lib/sample-log-cmp/sample-log-cmp.component.html","../../../tmp-libs-for-dist-websql/taon-storage/projects/taon-storage/src/lib/helpers.ts","../../../tmp-libs-for-dist-websql/taon-storage/projects/taon-storage/src/lib/constants.ts","../../../tmp-libs-for-dist-websql/taon-storage/projects/taon-storage/src/lib/storage.ts","../../../tmp-libs-for-dist-websql/taon-storage/projects/taon-storage/src/lib/index.ts","../../../tmp-libs-for-dist-websql/taon-storage/projects/taon-storage/src/taon-storage.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'sample-log-cmp',\n templateUrl: './sample-log-cmp.component.html',\n styleUrls: ['./sample-log-cmp.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n standalone: true,\n})\nexport class SampleLogCmpComponent {}\n","<p>\n sample log component works!\n <img\n src=\"assets/assets-for/taon-storage/assets/shared/logo.png\"\n alt=\"logo\" height=\"200\" />\n</p>\n","\nexport const keyValue = (classFun, memberName) => {\n // console.log('classname',classFun.name)\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","//#region imports\nimport { Helpers, _ } from \"tnp-core/websql\";\n//#region @browser\nimport * as localForge from 'localforage';\n//#endregion\n//#endregion\n\n//#region constants / store name\nexport const storeName = 'taon-storage_'\n //#region @browser\n + window?.location.port;\n//#endregion\n//#endregion\n\n//#region constants / environment\nlet environment = {} as any;\n/* */\n/* */\n/* */\n \n//#region @browser\n// @ts-ignore\nenvironment = window['ENV'];\n//#endregion\n//#endregion\n\n//#region constant / stor local storage\nconst websql = Helpers.isWebSQL ? 'websql' : '';\n//#region @browser\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//#endregion\n//#endregion\n\n//#region constant / stor idndexedb storage\n//#region @browser\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//#endregion\n//#endregion\n","//#region imports\nimport { _ } from 'tnp-core/websql';\nimport { keyDefaultValueAreadySet, keyValue } from './helpers';\nimport { Models } from './models';\nimport { FileStor } from './file-stor';\n//#region @browser\nimport { storIndexdDb, storLocalStorage } from './constants';\n//#endregion\n//#endregion\n\n//#region constants\nconst AWAITING_INTERVAL_TIME = 200;\n//#endregion\n\n//#region public api / uncahce\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 //#region @browser\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 //#endregion\n ])\n}\n//#endregion\n\nclass TaonStorage {\n\n //#region static\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 // console.log('AWAITING')\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 //#endregion\n\n //#region private fields\n private onlyInThisComponentClass?: Function;\n private defaultValue: any;\n private engine: Models.StorgeEngine;\n\n\n //#region private fields / file path\n/* */\n/* */\n \n //#endregion\n //#endregion\n\n //#region public getters\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 //#endregion\n\n //#region public methods\n\n //#region public methods / for\n //#region @browser\n public for(onlyInThisComponentClass?: Function): Omit<TaonStorage, 'for' | 'in'> {\n this.onlyInThisComponentClass = onlyInThisComponentClass;\n return this as Omit<TaonStorage, 'for' | 'in'>;\n }\n //#endregion\n //#endregion\n\n //#region public methods / with default value\n public withDefaultValue(defaultValue?: any): any {\n // log.i(`[\"${}\"]`)\n return this.action(defaultValue, this.getEngine(), this.engine)\n }\n //#endregion\n\n //#region public methods / with options\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 //#endregion\n\n //#endregion\n\n //#region private methods\n\n //#region private methods / get engine\n private getEngine() {\n switch (this.engine) {\n //#region @browser\n case 'localstorage':\n return storLocalStorage;\n case 'indexeddb':\n return storIndexdDb;\n //#endregion\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n }\n //#endregion\n\n //#region private methods / end observer action\n private endObserverAction(observe: Models.PendingOperation) {\n // observe.subscribers.forEach(c => typeof c?.awaitId === 'function' && c());\n observe.isDone = true;\n }\n //#endregion\n\n //#region private methods / action\n private action = (\n defaultValue: any,\n storageEngine\n //#region @browser\n : Models.StorType\n //#endregion\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 //#region settin default value\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 // target[memberName] = valFromDb;\n currentValue = transformFrom ? transformFrom(valFromDb) : valFromDb;\n // log.info(`[\"${memberName}\"] set default value for `, valFromDb);\n resolve();\n this.endObserverAction(observe);\n })\n });\n //#endregion\n }\n\n if (defaultValue !== void 0) {\n //#region setting default value from db\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 // log.info(`[\"${memberName}\"] was set default value for ? `, val)\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 // log.i(`[\"${memberName}\"] defaultValue \"${memberName}\"`, currentValue)\n resolve()\n }\n });\n })).then(() => {\n this.endObserverAction(observe);\n });\n\n //#endregion\n } else {\n setItemDefaultValue();\n }\n\n Object.defineProperty(target, memberName, {\n set: (newValue: any) => {\n //#region setting new value on setter\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 //#endregion\n currentValue = newValue;\n },\n get: () => currentValue,\n });\n };\n };\n //#endregion\n\n //#endregion\n\n}\n\nexport const Stor = TaonStorage;\n","//#region @browser\nexport * from './sample-log-cmp/sample-log-cmp.component';\n//#endregion\nexport * from './storage';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taon-storage.mjs","sources":["../../../tmp-libs-for-dist-websql/taon-storage/projects/taon-storage/src/lib/sample-log-cmp/sample-log-cmp.component.ts","../../../tmp-libs-for-dist-websql/taon-storage/projects/taon-storage/src/lib/sample-log-cmp/sample-log-cmp.component.html","../../../tmp-libs-for-dist-websql/taon-storage/projects/taon-storage/src/lib/helpers.ts","../../../tmp-libs-for-dist-websql/taon-storage/projects/taon-storage/src/lib/constants.ts","../../../tmp-libs-for-dist-websql/taon-storage/projects/taon-storage/src/lib/storage.ts","../../../tmp-libs-for-dist-websql/taon-storage/projects/taon-storage/src/lib/index.ts","../../../tmp-libs-for-dist-websql/taon-storage/projects/taon-storage/src/taon-storage.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { CommonModule } from '@angular/common';\n\n@Component({\n selector: 'sample-log-cmp',\n templateUrl: './sample-log-cmp.component.html',\n styleUrls: ['./sample-log-cmp.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CommonModule],\n standalone: true,\n})\nexport class SampleLogCmpComponent {}","<p>\n sample log component works!\n <img\n src=\"assets/assets-for/taon-storage/assets/shared/logo.png\"\n alt=\"logo\" height=\"200\" />\n</p>","export const keyValue = (classFun, memberName) => {\n // console.log('classname',classFun.name)\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}","//#region imports\nimport { Helpers, _ } from \"tnp-core/websql\";\n//#region @browser\nimport * as localForge from 'localforage';\n//#endregion\n//#endregion\n\n//#region constants / store name\nexport const storeName = 'taon-storage_'\n //#region @browser\n + window?.location.port;\n//#endregion\n//#endregion\n\n//#region constants / environment\nlet environment = {} as any;\n/* */\n/* */\n/* */\n \n//#region @browser\n// @ts-ignore\nenvironment = window['ENV'];\n//#endregion\n//#endregion\n\n//#region constant / stor local storage\nconst websql = Helpers.isWebSQL ? 'websql' : '';\n//#region @browser\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//#endregion\n//#endregion\n\n//#region constant / stor idndexedb storage\n//#region @browser\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//#endregion\n//#endregion","//#region imports\nimport { _ } from 'tnp-core/websql';\nimport { keyDefaultValueAreadySet, keyValue } from './helpers';\nimport { Models } from './models';\nimport { FileStor } from './file-stor';\n//#region @browser\nimport { storIndexdDb, storLocalStorage } from './constants';\n//#endregion\n//#endregion\n\n//#region constants\nconst AWAITING_INTERVAL_TIME = 200;\n//#endregion\n\n//#region public api / uncahce\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 //#region @browser\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 //#endregion\n ])\n}\n//#endregion\n\nclass TaonStorage {\n\n //#region static\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 // console.log('AWAITING')\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 //#endregion\n\n //#region private fields\n private onlyInThisComponentClass?: Function;\n private defaultValue: any;\n private engine: Models.StorgeEngine;\n\n\n //#region private fields / file path\n/* */\n/* */\n \n //#endregion\n //#endregion\n\n //#region public getters\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 //#endregion\n\n //#region public methods\n\n //#region public methods / for\n //#region @browser\n public for(onlyInThisComponentClass?: Function): Omit<TaonStorage, 'for' | 'in'> {\n this.onlyInThisComponentClass = onlyInThisComponentClass;\n return this as Omit<TaonStorage, 'for' | 'in'>;\n }\n //#endregion\n //#endregion\n\n //#region public methods / with default value\n public withDefaultValue(defaultValue?: any): any {\n // log.i(`[\"${}\"]`)\n return this.action(defaultValue, this.getEngine(), this.engine)\n }\n //#endregion\n\n //#region public methods / with options\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 //#endregion\n\n //#endregion\n\n //#region private methods\n\n //#region private methods / get engine\n private getEngine() {\n switch (this.engine) {\n //#region @browser\n case 'localstorage':\n return storLocalStorage;\n case 'indexeddb':\n return storIndexdDb;\n //#endregion\n/* */\n/* */\n/* */\n/* */\n/* */\n \n }\n }\n //#endregion\n\n //#region private methods / end observer action\n private endObserverAction(observe: Models.PendingOperation) {\n // observe.subscribers.forEach(c => typeof c?.awaitId === 'function' && c());\n observe.isDone = true;\n }\n //#endregion\n\n //#region private methods / action\n private action = (\n defaultValue: any,\n storageEngine\n //#region @browser\n : Models.StorType\n //#endregion\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 //#region settin default value\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 // target[memberName] = valFromDb;\n currentValue = transformFrom ? transformFrom(valFromDb) : valFromDb;\n // log.info(`[\"${memberName}\"] set default value for `, valFromDb);\n resolve();\n this.endObserverAction(observe);\n })\n });\n //#endregion\n }\n\n if (defaultValue !== void 0) {\n //#region setting default value from db\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 // log.info(`[\"${memberName}\"] was set default value for ? `, val)\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 // log.i(`[\"${memberName}\"] defaultValue \"${memberName}\"`, currentValue)\n resolve()\n }\n });\n })).then(() => {\n this.endObserverAction(observe);\n });\n\n //#endregion\n } else {\n setItemDefaultValue();\n }\n\n Object.defineProperty(target, memberName, {\n set: (newValue: any) => {\n //#region setting new value on setter\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 //#endregion\n currentValue = newValue;\n },\n get: () => currentValue,\n });\n };\n };\n //#endregion\n\n //#endregion\n\n}\n\nexport const Stor = TaonStorage;","//#region @browser\nexport * from './sample-log-cmp/sample-log-cmp.component';\n//#endregion\nexport * from './storage';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|