taon-storage 21.0.11 → 21.0.12
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/fesm2022/taon-storage-browser.mjs +1 -5
- package/browser/fesm2022/taon-storage-browser.mjs.map +1 -1
- package/browser/package.json +1 -1
- package/lib/build-info._auto-generated_.d.ts +1 -1
- package/lib/build-info._auto-generated_.js +1 -1
- package/lib/constants.d.ts +3 -0
- package/lib/constants.js +40 -0
- package/lib/constants.js.map +1 -0
- package/lib/file-stor.d.ts +9 -0
- package/lib/file-stor.js +64 -0
- package/lib/file-stor.js.map +1 -0
- package/lib/helpers.d.ts +2 -0
- package/lib/helpers.js +15 -0
- package/lib/helpers.js.map +1 -0
- package/lib/models.d.ts +10 -0
- package/lib/models.js +5 -0
- package/lib/models.js.map +1 -0
- package/lib/storage.js +1 -5
- package/lib/storage.js.map +1 -1
- package/package.json +1 -1
- package/websql/fesm2022/taon-storage-websql.mjs +1 -5
- package/websql/fesm2022/taon-storage-websql.mjs.map +1 -1
- package/websql/package.json +1 -1
|
@@ -16,9 +16,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImpor
|
|
|
16
16
|
const isBrowser = typeof window !== 'undefined' &&
|
|
17
17
|
typeof document !== 'undefined' &&
|
|
18
18
|
typeof navigator !== 'undefined';
|
|
19
|
-
function getGlobalEnv() {
|
|
20
|
-
return globalThis?.ENV;
|
|
21
|
-
}
|
|
22
19
|
function safeLocationPort() {
|
|
23
20
|
try {
|
|
24
21
|
return globalThis?.location?.port || 'no-port';
|
|
@@ -33,8 +30,7 @@ function safeLocationPort() {
|
|
|
33
30
|
*/
|
|
34
31
|
const storeName = `taon-storage_${safeLocationPort()}`;
|
|
35
32
|
function defaultNamespace() {
|
|
36
|
-
const
|
|
37
|
-
const project = _.kebabCase(env?.currentProjectGenericName ?? '');
|
|
33
|
+
const project = _.kebabCase(globalThis['CURRENT_PROJECT_GENERIC_NAME'] ?? '');
|
|
38
34
|
return project ? `${storeName}_${project}` : storeName;
|
|
39
35
|
}
|
|
40
36
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taon-storage-browser.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/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-browser.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>","/* taon-storage (native, SSR-safe) */\nimport { UtilsOs, _ } from 'tnp-core/browser';\nexport type StorageEngine = 'localstorage' | 'indexeddb' | 'file' | 'json';\n\nexport interface StorOptions<T = any> {\n defaultValue?: T;\n transformFrom?: (valueFromDb: any) => T;\n transformTo?: (valueToDb: T) => any;\n}\n\nexport interface PendingOperation {\n engine: StorageEngine;\n id: string;\n isDone: boolean;\n}\n\ntype ClassLike = Function | { name: string } | undefined;\n\nconst isBrowser =\n typeof window !== 'undefined' &&\n typeof document !== 'undefined' &&\n typeof navigator !== 'undefined';\n\nfunction getGlobalEnv(): any {\n return (globalThis as any)?.ENV;\n}\n\nfunction safeLocationPort(): string {\n try {\n return (globalThis as any)?.location?.port || 'no-port';\n } catch {\n return 'no-port';\n }\n}\n\n/**\n * Keeps the spirit of your old `storeName = taon-storage_<port>`\n * plus project name namespacing (but without localForage).\n */\nexport const storeName = `taon-storage_${safeLocationPort()}`;\n\nfunction defaultNamespace(): string {\n const env = getGlobalEnv();\n const project = _.kebabCase(env?.currentProjectGenericName ?? '');\n return project ? `${storeName}_${project}` : storeName;\n}\n\n/**\n * Central config (optional).\n * You can set it once at app bootstrap if you want a stable namespace.\n */\nexport const StorConfig = {\n namespace: defaultNamespace(),\n indexedDb: {\n dbName: `${defaultNamespace()}_INDEXEDDB`,\n storeName: 'keyvaluepairs',\n },\n};\n\nfunction normalizeScopeClass(cls: ClassLike): { name: string } {\n if (!cls) return { name: '__GLOBAL_NAMESPACE__' };\n // if it's a function/class\n if (typeof cls === 'function')\n return { name: (cls as any).name || '__ANON__' };\n // if it's already object with name\n return { name: (cls as any).name || '__ANON__' };\n}\n\nexport function keyValue(scopeClass: ClassLike, memberName: string) {\n const c = normalizeScopeClass(scopeClass);\n return `${StorConfig.namespace}::taon.storage.class.${c.name}.prop.${memberName}`;\n}\n\nexport function keyDefaultValueAlreadySet(\n scopeClass: ClassLike,\n memberName: string,\n) {\n return `${keyValue(scopeClass, memberName)}::defaultvalueisset`;\n}\n\n/** Back-compat alias (your old typo) */\nexport const keyDefaultValueAreadySet = keyDefaultValueAlreadySet;\n\n/* ---------------------------\n * Stores\n * -------------------------- */\n\ninterface AsyncKVStore {\n getItem<T = any>(key: string): Promise<T | undefined>;\n setItem<T = any>(key: string, value: T): Promise<void>;\n removeItem(key: string): Promise<void>;\n}\n\nclass NoopStore implements AsyncKVStore {\n async getItem<T>(_key: string): Promise<T | undefined> {\n return undefined;\n }\n async setItem<T>(_key: string, _value: T): Promise<void> {\n // noop\n }\n async removeItem(_key: string): Promise<void> {\n // noop\n }\n}\n\nclass BrowserLocalStorageStore implements AsyncKVStore {\n private ls(): Storage | undefined {\n if (!isBrowser) return undefined;\n try {\n return window.localStorage;\n } catch {\n return undefined;\n }\n }\n\n async getItem<T>(key: string): Promise<T | undefined> {\n const ls = this.ls();\n if (!ls) return undefined;\n\n const raw = ls.getItem(key);\n if (raw === null) return undefined;\n\n try {\n return JSON.parse(raw) as T;\n } catch {\n // if something stored plain string by older versions\n return raw as unknown as T;\n }\n }\n\n async setItem<T>(key: string, value: T): Promise<void> {\n const ls = this.ls();\n if (!ls) return;\n\n try {\n ls.setItem(key, JSON.stringify(value));\n } catch {\n // last resort: try as string\n try {\n ls.setItem(key, String(value));\n } catch {\n // ignore (quota/private mode)\n }\n }\n }\n\n async removeItem(key: string): Promise<void> {\n const ls = this.ls();\n if (!ls) return;\n try {\n ls.removeItem(key);\n } catch {\n // ignore\n }\n }\n}\n\nclass BrowserIndexedDbStore implements AsyncKVStore {\n private dbPromise: Promise<IDBDatabase> | null = null;\n\n private openDb(): Promise<IDBDatabase> {\n if (!isBrowser || !(window as any).indexedDB) {\n return Promise.reject(new Error('IndexedDB not available'));\n }\n if (this.dbPromise) return this.dbPromise;\n\n const { dbName, storeName } = StorConfig.indexedDb;\n\n this.dbPromise = new Promise<IDBDatabase>((resolve, reject) => {\n const req = indexedDB.open(dbName, 1);\n\n req.onupgradeneeded = () => {\n const db = req.result;\n if (!db.objectStoreNames.contains(storeName)) {\n db.createObjectStore(storeName);\n }\n };\n\n req.onsuccess = () => resolve(req.result);\n req.onerror = () => reject(req.error);\n });\n\n return this.dbPromise;\n }\n\n private async withStore<T>(\n mode: IDBTransactionMode,\n fn: (store: IDBObjectStore) => IDBRequest<T>,\n ): Promise<T> {\n const db = await this.openDb();\n const { storeName } = StorConfig.indexedDb;\n\n return await new Promise<T>((resolve, reject) => {\n const tx = db.transaction(storeName, mode);\n const store = tx.objectStore(storeName);\n const req = fn(store);\n\n req.onsuccess = () => resolve(req.result);\n req.onerror = () => reject(req.error);\n\n tx.onabort = () => reject(tx.error);\n // tx.oncomplete => nothing\n });\n }\n\n async getItem<T>(key: string): Promise<T | undefined> {\n try {\n const result = await this.withStore('readonly', s => s.get(key));\n return (result as any) === undefined ? undefined : (result as any);\n } catch {\n return undefined;\n }\n }\n\n async setItem<T>(key: string, value: T): Promise<void> {\n try {\n await this.withStore('readwrite', s => s.put(value as any, key));\n } catch {\n // ignore\n }\n }\n\n async removeItem(key: string): Promise<void> {\n try {\n await this.withStore('readwrite', s => s.delete(key) as any);\n } catch {\n // ignore\n }\n }\n}\n\n/**\n * Node-side file storage (optional). No top-level node imports (Angular-safe).\n * Works only when executed in Node.\n */\nclass FileStor implements AsyncKVStore {\n constructor(\n private filePath: string,\n private useJSON = false,\n ) {}\n\n private isNodeRuntime() {\n return UtilsOs.isNode;\n // return (\n // typeof process !== 'undefined' &&\n // !!(process as any).versions?.node &&\n // typeof (globalThis as any).window === 'undefined'\n // );\n }\n\n async setItem<T>(_key: string, value: T): Promise<void> {\n if (!this.isNodeRuntime()) return;\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async getItem<T>(_key: string): Promise<T | undefined> {\n if (!this.isNodeRuntime()) return undefined;\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async removeItem(_key: string): Promise<void> {\n if (!this.isNodeRuntime()) return;\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}\n\n/* ---------------------------\n * Pending ops (so you can still await)\n * -------------------------- */\n\nclass StorPending {\n static pending: PendingOperation[] = [];\n static id = 0;\n static AWAITING_INTERVAL_TIME = 200;\n\n static async awaitPendingOperations(id = StorPending.id++): Promise<void> {\n if (id > Number.MAX_SAFE_INTEGER - 2) {\n StorPending.id = 0;\n id = StorPending.id++;\n }\n\n const pending = StorPending.pending;\n\n for (const op of pending) {\n if (!op.isDone) {\n await new Promise<void>(resolve => {\n setTimeout(async () => {\n await StorPending.awaitPendingOperations(id);\n resolve();\n }, StorPending.AWAITING_INTERVAL_TIME);\n });\n return;\n }\n }\n\n // cleanup\n StorPending.pending = pending.filter(p => !p.isDone);\n }\n\n static start(engine: StorageEngine, id: string): PendingOperation {\n const op: PendingOperation = { engine, id, isDone: false };\n StorPending.pending.push(op);\n return op;\n }\n\n static done(op: PendingOperation) {\n op.isDone = true;\n }\n}\n\n/* ---------------------------\n * Decorator builder\n * -------------------------- */\n\nclass StorPropertyBuilder {\n private scopeClass?: ClassLike;\n private engine: StorageEngine;\n private store: AsyncKVStore;\n private filePath?: string;\n private useJsonFile = false;\n\n constructor(engine: StorageEngine, store: AsyncKVStore) {\n this.engine = engine;\n this.store = store;\n }\n\n for(scopeClass?: ClassLike) {\n this.scopeClass = scopeClass;\n return this;\n }\n\n withDefaultValue<T = any>(defaultValue: T) {\n return this.withOptions<T>({ defaultValue });\n }\n\n withOptions<T = any>(options: StorOptions<T>) {\n const scopeClass = this.scopeClass;\n\n // per-instance state (fixes prototype-closure sharing)\n const values = new WeakMap<object, T>();\n const initStarted = new WeakMap<object, Promise<void>>();\n\n const ensureInit = (instance: object) => {\n if (initStarted.has(instance)) return;\n\n const op = StorPending.start(this.engine, 'init');\n const p = (async () => {\n const memberName = (ensureInit as any).__memberName as string;\n\n const kVal = keyValue(scopeClass, memberName);\n const kDef = keyDefaultValueAlreadySet(scopeClass, memberName);\n\n const defProvided = options.defaultValue !== undefined;\n\n if (\n !isBrowser &&\n (this.engine === 'localstorage' || this.engine === 'indexeddb')\n ) {\n // SSR: just set defaults, no storage\n if (defProvided) values.set(instance, options.defaultValue as T);\n return;\n }\n\n // Browser (or node file/json)\n if (defProvided) {\n const already = await this.store.getItem<boolean>(kDef);\n if (already) {\n const stored = await this.store.getItem<any>(kVal);\n const v = options.transformFrom\n ? options.transformFrom(stored)\n : stored;\n if (v !== undefined) values.set(instance, v as T);\n else values.set(instance, options.defaultValue as T);\n } else {\n await this.store.setItem(kDef, true);\n const toDb = options.transformTo\n ? options.transformTo(options.defaultValue as T)\n : (options.defaultValue as any);\n await this.store.setItem(kVal, toDb);\n values.set(instance, options.defaultValue as T);\n }\n } else {\n const stored = await this.store.getItem<any>(kVal);\n const v = options.transformFrom\n ? options.transformFrom(stored)\n : stored;\n if (v !== undefined) values.set(instance, v as T);\n }\n })()\n .catch(() => {\n // swallow, keep app alive\n })\n .finally(() => StorPending.done(op));\n\n initStarted.set(instance, p);\n };\n\n return (target: any, memberName: string) => {\n (ensureInit as any).__memberName = memberName;\n\n Object.defineProperty(target, memberName, {\n configurable: true,\n enumerable: true,\n get: function () {\n ensureInit(this);\n\n if (values.has(this)) return values.get(this);\n if (options.defaultValue !== undefined) return options.defaultValue;\n return undefined;\n },\n set: function (newValue: T) {\n values.set(this, newValue);\n\n // if this is the first interaction, init will happen anyway\n ensureInit(this);\n\n const op = StorPending.start(\n (target as any)?.engine ?? 'localstorage',\n 'set',\n );\n\n const scope = scopeClass;\n const kVal = keyValue(scope, memberName);\n\n const toDb = options.transformTo\n ? options.transformTo(newValue)\n : (newValue as any);\n\n Promise.resolve()\n .then(() => target as any)\n .then(() => this as any)\n .then(() => this as any)\n .then(async () => {\n // If we are SSR + browser engine => no-op\n if (!isBrowser && (options as any)) return;\n await (options as any); // no-op line to keep TS happy about chaining in some builds\n })\n .catch(() => {\n // ignore\n });\n\n // do real store write (async)\n Promise.resolve()\n .then(async () => {\n // SSR guard for browser engines\n if (!isBrowser && (StorPropertyInLocalStorage as any)) {\n return;\n }\n await thisStoreForEngineWrite(this, kVal, toDb);\n })\n .catch(() => {\n // ignore\n })\n .finally(() => StorPending.done(op));\n },\n });\n\n // small helper to keep closure clean\n const builderStore = this.store;\n const builderEngine = this.engine;\n\n async function thisStoreForEngineWrite(\n _instance: any,\n key: string,\n value: any,\n ) {\n // If browser engines but not browser, skip.\n if (\n !isBrowser &&\n (builderEngine === 'localstorage' || builderEngine === 'indexeddb')\n )\n return;\n await builderStore.setItem(key, value);\n }\n };\n }\n\n /* optional node-only engines (same builder) */\n file(filePath: string) {\n this.engine = 'file';\n this.filePath = filePath;\n this.useJsonFile = false;\n this.store = new FileStor(filePath, false);\n return this;\n }\n\n jsonFile(filePath: string) {\n this.engine = 'json';\n this.filePath = filePath;\n this.useJsonFile = true;\n this.store = new FileStor(filePath, true);\n return this;\n }\n}\n\n/* ---------------------------\n * Public: clean API exports\n * -------------------------- */\n\nconst localStorageStore: AsyncKVStore = isBrowser\n ? new BrowserLocalStorageStore()\n : new NoopStore();\nconst indexedDbStore: AsyncKVStore = isBrowser\n ? new BrowserIndexedDbStore()\n : new NoopStore();\n\nexport class StorPropertyInLocalStorage {\n static for(scopeClass?: ClassLike) {\n return new StorPropertyBuilder('localstorage', localStorageStore).for(\n scopeClass,\n );\n }\n}\n\nexport class StorPropertyInIndexedDb {\n static for(scopeClass?: ClassLike) {\n return new StorPropertyBuilder('indexeddb', indexedDbStore).for(scopeClass);\n }\n}\n\n/**\n * Helpers\n */\nexport async function uncache<CLASS_FUNCTION = any>(\n onlyInThisComponentClass: CLASS_FUNCTION,\n propertyValueToDeleteFromCache: keyof CLASS_FUNCTION,\n) {\n const scope =\n onlyInThisComponentClass || ({ name: '__GLOBAL_NAMESPACE__' } as any);\n const prop = String(propertyValueToDeleteFromCache);\n\n await Promise.all([\n localStorageStore.removeItem(keyValue(scope as any, prop)),\n localStorageStore.removeItem(keyDefaultValueAlreadySet(scope as any, prop)),\n indexedDbStore.removeItem(keyValue(scope as any, prop)),\n indexedDbStore.removeItem(keyDefaultValueAlreadySet(scope as any, prop)),\n ]);\n}\n\n/**\n * Backwards-compatible facade:\n * Stor.property.in.localstorage.for(...).withDefaultValue(...)\n */\nclass TaonStorageFacade {\n static async awaitPendingOperatios() {\n await StorPending.awaitPendingOperations();\n }\n\n static get property() {\n return {\n in: {\n get localstorage() {\n return new StorPropertyBuilder('localstorage', localStorageStore);\n },\n get indexedb() {\n return new StorPropertyBuilder('indexeddb', indexedDbStore);\n },\n // node-only (safe: dynamic import inside FileStor)\n file(filePath: string) {\n return new StorPropertyBuilder('file', new FileStor(filePath, false));\n },\n jsonFile(filePath: string) {\n return new StorPropertyBuilder('json', new FileStor(filePath, true));\n },\n },\n };\n }\n}\n\nexport const Stor = TaonStorageFacade;","//#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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"}
|
|
1
|
+
{"version":3,"file":"taon-storage-browser.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/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-browser.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>","/* taon-storage (native, SSR-safe) */\nimport { UtilsOs, _ } from 'tnp-core/browser';\nexport type StorageEngine = 'localstorage' | 'indexeddb' | 'file' | 'json';\n\nexport interface StorOptions<T = any> {\n defaultValue?: T;\n transformFrom?: (valueFromDb: any) => T;\n transformTo?: (valueToDb: T) => any;\n}\n\nexport interface PendingOperation {\n engine: StorageEngine;\n id: string;\n isDone: boolean;\n}\n\ntype ClassLike = Function | { name: string } | undefined;\n\nconst isBrowser =\n typeof window !== 'undefined' &&\n typeof document !== 'undefined' &&\n typeof navigator !== 'undefined';\n\nfunction safeLocationPort(): string {\n try {\n return (globalThis as any)?.location?.port || 'no-port';\n } catch {\n return 'no-port';\n }\n}\n\n/**\n * Keeps the spirit of your old `storeName = taon-storage_<port>`\n * plus project name namespacing (but without localForage).\n */\nexport const storeName = `taon-storage_${safeLocationPort()}`;\n\nfunction defaultNamespace(): string {\n const project = _.kebabCase(globalThis['CURRENT_PROJECT_GENERIC_NAME'] ?? '');\n return project ? `${storeName}_${project}` : storeName;\n}\n\n/**\n * Central config (optional).\n * You can set it once at app bootstrap if you want a stable namespace.\n */\nexport const StorConfig = {\n namespace: defaultNamespace(),\n indexedDb: {\n dbName: `${defaultNamespace()}_INDEXEDDB`,\n storeName: 'keyvaluepairs',\n },\n};\n\nfunction normalizeScopeClass(cls: ClassLike): { name: string } {\n if (!cls) return { name: '__GLOBAL_NAMESPACE__' };\n // if it's a function/class\n if (typeof cls === 'function')\n return { name: (cls as any).name || '__ANON__' };\n // if it's already object with name\n return { name: (cls as any).name || '__ANON__' };\n}\n\nexport function keyValue(scopeClass: ClassLike, memberName: string) {\n const c = normalizeScopeClass(scopeClass);\n return `${StorConfig.namespace}::taon.storage.class.${c.name}.prop.${memberName}`;\n}\n\nexport function keyDefaultValueAlreadySet(\n scopeClass: ClassLike,\n memberName: string,\n) {\n return `${keyValue(scopeClass, memberName)}::defaultvalueisset`;\n}\n\n/** Back-compat alias (your old typo) */\nexport const keyDefaultValueAreadySet = keyDefaultValueAlreadySet;\n\n/* ---------------------------\n * Stores\n * -------------------------- */\n\ninterface AsyncKVStore {\n getItem<T = any>(key: string): Promise<T | undefined>;\n setItem<T = any>(key: string, value: T): Promise<void>;\n removeItem(key: string): Promise<void>;\n}\n\nclass NoopStore implements AsyncKVStore {\n async getItem<T>(_key: string): Promise<T | undefined> {\n return undefined;\n }\n async setItem<T>(_key: string, _value: T): Promise<void> {\n // noop\n }\n async removeItem(_key: string): Promise<void> {\n // noop\n }\n}\n\nclass BrowserLocalStorageStore implements AsyncKVStore {\n private ls(): Storage | undefined {\n if (!isBrowser) return undefined;\n try {\n return window.localStorage;\n } catch {\n return undefined;\n }\n }\n\n async getItem<T>(key: string): Promise<T | undefined> {\n const ls = this.ls();\n if (!ls) return undefined;\n\n const raw = ls.getItem(key);\n if (raw === null) return undefined;\n\n try {\n return JSON.parse(raw) as T;\n } catch {\n // if something stored plain string by older versions\n return raw as unknown as T;\n }\n }\n\n async setItem<T>(key: string, value: T): Promise<void> {\n const ls = this.ls();\n if (!ls) return;\n\n try {\n ls.setItem(key, JSON.stringify(value));\n } catch {\n // last resort: try as string\n try {\n ls.setItem(key, String(value));\n } catch {\n // ignore (quota/private mode)\n }\n }\n }\n\n async removeItem(key: string): Promise<void> {\n const ls = this.ls();\n if (!ls) return;\n try {\n ls.removeItem(key);\n } catch {\n // ignore\n }\n }\n}\n\nclass BrowserIndexedDbStore implements AsyncKVStore {\n private dbPromise: Promise<IDBDatabase> | null = null;\n\n private openDb(): Promise<IDBDatabase> {\n if (!isBrowser || !(window as any).indexedDB) {\n return Promise.reject(new Error('IndexedDB not available'));\n }\n if (this.dbPromise) return this.dbPromise;\n\n const { dbName, storeName } = StorConfig.indexedDb;\n\n this.dbPromise = new Promise<IDBDatabase>((resolve, reject) => {\n const req = indexedDB.open(dbName, 1);\n\n req.onupgradeneeded = () => {\n const db = req.result;\n if (!db.objectStoreNames.contains(storeName)) {\n db.createObjectStore(storeName);\n }\n };\n\n req.onsuccess = () => resolve(req.result);\n req.onerror = () => reject(req.error);\n });\n\n return this.dbPromise;\n }\n\n private async withStore<T>(\n mode: IDBTransactionMode,\n fn: (store: IDBObjectStore) => IDBRequest<T>,\n ): Promise<T> {\n const db = await this.openDb();\n const { storeName } = StorConfig.indexedDb;\n\n return await new Promise<T>((resolve, reject) => {\n const tx = db.transaction(storeName, mode);\n const store = tx.objectStore(storeName);\n const req = fn(store);\n\n req.onsuccess = () => resolve(req.result);\n req.onerror = () => reject(req.error);\n\n tx.onabort = () => reject(tx.error);\n // tx.oncomplete => nothing\n });\n }\n\n async getItem<T>(key: string): Promise<T | undefined> {\n try {\n const result = await this.withStore('readonly', s => s.get(key));\n return (result as any) === undefined ? undefined : (result as any);\n } catch {\n return undefined;\n }\n }\n\n async setItem<T>(key: string, value: T): Promise<void> {\n try {\n await this.withStore('readwrite', s => s.put(value as any, key));\n } catch {\n // ignore\n }\n }\n\n async removeItem(key: string): Promise<void> {\n try {\n await this.withStore('readwrite', s => s.delete(key) as any);\n } catch {\n // ignore\n }\n }\n}\n\n/**\n * Node-side file storage (optional). No top-level node imports (Angular-safe).\n * Works only when executed in Node.\n */\nclass FileStor implements AsyncKVStore {\n constructor(\n private filePath: string,\n private useJSON = false,\n ) {}\n\n private isNodeRuntime() {\n return UtilsOs.isNode;\n // return (\n // typeof process !== 'undefined' &&\n // !!(process as any).versions?.node &&\n // typeof (globalThis as any).window === 'undefined'\n // );\n }\n\n async setItem<T>(_key: string, value: T): Promise<void> {\n if (!this.isNodeRuntime()) return;\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async getItem<T>(_key: string): Promise<T | undefined> {\n if (!this.isNodeRuntime()) return undefined;\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async removeItem(_key: string): Promise<void> {\n if (!this.isNodeRuntime()) return;\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}\n\n/* ---------------------------\n * Pending ops (so you can still await)\n * -------------------------- */\n\nclass StorPending {\n static pending: PendingOperation[] = [];\n static id = 0;\n static AWAITING_INTERVAL_TIME = 200;\n\n static async awaitPendingOperations(id = StorPending.id++): Promise<void> {\n if (id > Number.MAX_SAFE_INTEGER - 2) {\n StorPending.id = 0;\n id = StorPending.id++;\n }\n\n const pending = StorPending.pending;\n\n for (const op of pending) {\n if (!op.isDone) {\n await new Promise<void>(resolve => {\n setTimeout(async () => {\n await StorPending.awaitPendingOperations(id);\n resolve();\n }, StorPending.AWAITING_INTERVAL_TIME);\n });\n return;\n }\n }\n\n // cleanup\n StorPending.pending = pending.filter(p => !p.isDone);\n }\n\n static start(engine: StorageEngine, id: string): PendingOperation {\n const op: PendingOperation = { engine, id, isDone: false };\n StorPending.pending.push(op);\n return op;\n }\n\n static done(op: PendingOperation) {\n op.isDone = true;\n }\n}\n\n/* ---------------------------\n * Decorator builder\n * -------------------------- */\n\nclass StorPropertyBuilder {\n private scopeClass?: ClassLike;\n private engine: StorageEngine;\n private store: AsyncKVStore;\n private filePath?: string;\n private useJsonFile = false;\n\n constructor(engine: StorageEngine, store: AsyncKVStore) {\n this.engine = engine;\n this.store = store;\n }\n\n for(scopeClass?: ClassLike) {\n this.scopeClass = scopeClass;\n return this;\n }\n\n withDefaultValue<T = any>(defaultValue: T) {\n return this.withOptions<T>({ defaultValue });\n }\n\n withOptions<T = any>(options: StorOptions<T>) {\n const scopeClass = this.scopeClass;\n\n // per-instance state (fixes prototype-closure sharing)\n const values = new WeakMap<object, T>();\n const initStarted = new WeakMap<object, Promise<void>>();\n\n const ensureInit = (instance: object) => {\n if (initStarted.has(instance)) return;\n\n const op = StorPending.start(this.engine, 'init');\n const p = (async () => {\n const memberName = (ensureInit as any).__memberName as string;\n\n const kVal = keyValue(scopeClass, memberName);\n const kDef = keyDefaultValueAlreadySet(scopeClass, memberName);\n\n const defProvided = options.defaultValue !== undefined;\n\n if (\n !isBrowser &&\n (this.engine === 'localstorage' || this.engine === 'indexeddb')\n ) {\n // SSR: just set defaults, no storage\n if (defProvided) values.set(instance, options.defaultValue as T);\n return;\n }\n\n // Browser (or node file/json)\n if (defProvided) {\n const already = await this.store.getItem<boolean>(kDef);\n if (already) {\n const stored = await this.store.getItem<any>(kVal);\n const v = options.transformFrom\n ? options.transformFrom(stored)\n : stored;\n if (v !== undefined) values.set(instance, v as T);\n else values.set(instance, options.defaultValue as T);\n } else {\n await this.store.setItem(kDef, true);\n const toDb = options.transformTo\n ? options.transformTo(options.defaultValue as T)\n : (options.defaultValue as any);\n await this.store.setItem(kVal, toDb);\n values.set(instance, options.defaultValue as T);\n }\n } else {\n const stored = await this.store.getItem<any>(kVal);\n const v = options.transformFrom\n ? options.transformFrom(stored)\n : stored;\n if (v !== undefined) values.set(instance, v as T);\n }\n })()\n .catch(() => {\n // swallow, keep app alive\n })\n .finally(() => StorPending.done(op));\n\n initStarted.set(instance, p);\n };\n\n return (target: any, memberName: string) => {\n (ensureInit as any).__memberName = memberName;\n\n Object.defineProperty(target, memberName, {\n configurable: true,\n enumerable: true,\n get: function () {\n ensureInit(this);\n\n if (values.has(this)) return values.get(this);\n if (options.defaultValue !== undefined) return options.defaultValue;\n return undefined;\n },\n set: function (newValue: T) {\n values.set(this, newValue);\n\n // if this is the first interaction, init will happen anyway\n ensureInit(this);\n\n const op = StorPending.start(\n (target as any)?.engine ?? 'localstorage',\n 'set',\n );\n\n const scope = scopeClass;\n const kVal = keyValue(scope, memberName);\n\n const toDb = options.transformTo\n ? options.transformTo(newValue)\n : (newValue as any);\n\n Promise.resolve()\n .then(() => target as any)\n .then(() => this as any)\n .then(() => this as any)\n .then(async () => {\n // If we are SSR + browser engine => no-op\n if (!isBrowser && (options as any)) return;\n await (options as any); // no-op line to keep TS happy about chaining in some builds\n })\n .catch(() => {\n // ignore\n });\n\n // do real store write (async)\n Promise.resolve()\n .then(async () => {\n // SSR guard for browser engines\n if (!isBrowser && (StorPropertyInLocalStorage as any)) {\n return;\n }\n await thisStoreForEngineWrite(this, kVal, toDb);\n })\n .catch(() => {\n // ignore\n })\n .finally(() => StorPending.done(op));\n },\n });\n\n // small helper to keep closure clean\n const builderStore = this.store;\n const builderEngine = this.engine;\n\n async function thisStoreForEngineWrite(\n _instance: any,\n key: string,\n value: any,\n ) {\n // If browser engines but not browser, skip.\n if (\n !isBrowser &&\n (builderEngine === 'localstorage' || builderEngine === 'indexeddb')\n )\n return;\n await builderStore.setItem(key, value);\n }\n };\n }\n\n /* optional node-only engines (same builder) */\n file(filePath: string) {\n this.engine = 'file';\n this.filePath = filePath;\n this.useJsonFile = false;\n this.store = new FileStor(filePath, false);\n return this;\n }\n\n jsonFile(filePath: string) {\n this.engine = 'json';\n this.filePath = filePath;\n this.useJsonFile = true;\n this.store = new FileStor(filePath, true);\n return this;\n }\n}\n\n/* ---------------------------\n * Public: clean API exports\n * -------------------------- */\n\nconst localStorageStore: AsyncKVStore = isBrowser\n ? new BrowserLocalStorageStore()\n : new NoopStore();\nconst indexedDbStore: AsyncKVStore = isBrowser\n ? new BrowserIndexedDbStore()\n : new NoopStore();\n\nexport class StorPropertyInLocalStorage {\n static for(scopeClass?: ClassLike) {\n return new StorPropertyBuilder('localstorage', localStorageStore).for(\n scopeClass,\n );\n }\n}\n\nexport class StorPropertyInIndexedDb {\n static for(scopeClass?: ClassLike) {\n return new StorPropertyBuilder('indexeddb', indexedDbStore).for(scopeClass);\n }\n}\n\n/**\n * Helpers\n */\nexport async function uncache<CLASS_FUNCTION = any>(\n onlyInThisComponentClass: CLASS_FUNCTION,\n propertyValueToDeleteFromCache: keyof CLASS_FUNCTION,\n) {\n const scope =\n onlyInThisComponentClass || ({ name: '__GLOBAL_NAMESPACE__' } as any);\n const prop = String(propertyValueToDeleteFromCache);\n\n await Promise.all([\n localStorageStore.removeItem(keyValue(scope as any, prop)),\n localStorageStore.removeItem(keyDefaultValueAlreadySet(scope as any, prop)),\n indexedDbStore.removeItem(keyValue(scope as any, prop)),\n indexedDbStore.removeItem(keyDefaultValueAlreadySet(scope as any, prop)),\n ]);\n}\n\n/**\n * Backwards-compatible facade:\n * Stor.property.in.localstorage.for(...).withDefaultValue(...)\n */\nclass TaonStorageFacade {\n static async awaitPendingOperatios() {\n await StorPending.awaitPendingOperations();\n }\n\n static get property() {\n return {\n in: {\n get localstorage() {\n return new StorPropertyBuilder('localstorage', localStorageStore);\n },\n get indexedb() {\n return new StorPropertyBuilder('indexeddb', indexedDbStore);\n },\n // node-only (safe: dynamic import inside FileStor)\n file(filePath: string) {\n return new StorPropertyBuilder('file', new FileStor(filePath, false));\n },\n jsonFile(filePath: string) {\n return new StorPropertyBuilder('json', new FileStor(filePath, true));\n },\n },\n };\n }\n}\n\nexport const Stor = TaonStorageFacade;","//#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/browser/package.json
CHANGED
|
@@ -21,6 +21,6 @@ exports.PROJECT_NPM_NAME = 'taon-storage';
|
|
|
21
21
|
/**
|
|
22
22
|
* Autogenerated by current cli tool. Use *tnp release* to bump version.
|
|
23
23
|
*/
|
|
24
|
-
exports.CURRENT_PACKAGE_VERSION = '21.0.
|
|
24
|
+
exports.CURRENT_PACKAGE_VERSION = '21.0.12';
|
|
25
25
|
// THIS FILE IS GENERATED - DO NOT MODIFY
|
|
26
26
|
//# sourceMappingURL=build-info._auto-generated_.js.map
|
package/lib/constants.js
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.storeName = void 0;
|
|
4
|
+
//#region imports
|
|
5
|
+
/* */
|
|
6
|
+
const lib_1 = require("tnp-core/lib");
|
|
7
|
+
//#endregion
|
|
8
|
+
//#region constants / store name
|
|
9
|
+
let win;
|
|
10
|
+
if (typeof window !== 'undefined') {
|
|
11
|
+
win = window;
|
|
12
|
+
}
|
|
13
|
+
win = win || globalThis;
|
|
14
|
+
exports.storeName = 'taon-storage_' + win?.location?.port;
|
|
15
|
+
//#endregion
|
|
16
|
+
let environment = globalThis['ENV'];
|
|
17
|
+
//#region constant / stor local storage
|
|
18
|
+
const websql = lib_1.Helpers.isWebSQL ? 'websql' : '';
|
|
19
|
+
/* */
|
|
20
|
+
/* */
|
|
21
|
+
/* */
|
|
22
|
+
/* */
|
|
23
|
+
/* */
|
|
24
|
+
/* */
|
|
25
|
+
/* */
|
|
26
|
+
/* */
|
|
27
|
+
/* */
|
|
28
|
+
//#endregion
|
|
29
|
+
//#region constant / stor idndexedb storage
|
|
30
|
+
/* */
|
|
31
|
+
/* */
|
|
32
|
+
/* */
|
|
33
|
+
/* */
|
|
34
|
+
/* */
|
|
35
|
+
/* */
|
|
36
|
+
/* */
|
|
37
|
+
/* */
|
|
38
|
+
/* */
|
|
39
|
+
//#endregion
|
|
40
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;AAAA,iBAAiB;AACjB,KAAK;AACL,sCAA0C;AAC1C,YAAY;AAEZ,gCAAgC;AAChC,IAAI,GAAQ,CAAC;AACb,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;IAClC,GAAG,GAAG,MAAM,CAAC;AACf,CAAC;AACD,GAAG,GAAG,GAAG,IAAI,UAAU,CAAC;AAEX,QAAA,SAAS,GAAG,eAAe,GAAG,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC;AAC/D,YAAY;AAEZ,IAAI,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;AAEpC,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;AAEL,YAAY;AAEZ,2CAA2C;AAC3C,KAAK;AACL,KAAK;AACL,KAAK;AACL,KAAK;AACL,KAAK;AACL,KAAK;AACL,KAAK;AACL,KAAK;AACL,KAAK;AAEL,YAAY"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Models } from "./models";
|
|
2
|
+
export declare class FileStor implements Models.StorType {
|
|
3
|
+
private filePath;
|
|
4
|
+
private useJSON;
|
|
5
|
+
constructor(filePath: string, useJSON?: boolean);
|
|
6
|
+
setItem<T>(key: string, value: T, callback?: (err: any, value: T) => void): Promise<T>;
|
|
7
|
+
getItem<T>(key: string, callback?: (err: any, value: T) => void): Promise<T>;
|
|
8
|
+
removeItem(key: string, callback?: (err: any) => void): Promise<void>;
|
|
9
|
+
}
|
package/lib/file-stor.js
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FileStor = void 0;
|
|
4
|
+
const lib_1 = require("tnp-core/lib");
|
|
5
|
+
class FileStor {
|
|
6
|
+
filePath;
|
|
7
|
+
useJSON;
|
|
8
|
+
constructor(filePath, useJSON = false) {
|
|
9
|
+
this.filePath = filePath;
|
|
10
|
+
this.useJSON = useJSON;
|
|
11
|
+
}
|
|
12
|
+
async setItem(key, value, callback) {
|
|
13
|
+
//#region @backendFunc
|
|
14
|
+
const promise = new Promise((resolve, reject) => {
|
|
15
|
+
if (this.useJSON) {
|
|
16
|
+
lib_1.Helpers.writeJson(this.filePath, value);
|
|
17
|
+
callback(void 0, value);
|
|
18
|
+
resolve();
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
lib_1.Helpers.writeFile(this.filePath, value);
|
|
22
|
+
callback(void 0, value);
|
|
23
|
+
resolve();
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
// pendingOperatins.push(promise);
|
|
27
|
+
await promise;
|
|
28
|
+
return void 0;
|
|
29
|
+
//#endregion
|
|
30
|
+
}
|
|
31
|
+
async getItem(key, callback) {
|
|
32
|
+
//#region @backendFunc
|
|
33
|
+
const promise = new Promise((resolve, reject) => {
|
|
34
|
+
if (this.useJSON) {
|
|
35
|
+
const result = lib_1.Helpers.readJson(this.filePath);
|
|
36
|
+
callback(void 0, result);
|
|
37
|
+
resolve(result);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
const result = lib_1.Helpers.readFile(this.filePath);
|
|
41
|
+
callback(void 0, result);
|
|
42
|
+
resolve(result);
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
// pendingOperatins.push(promise);
|
|
46
|
+
return await promise;
|
|
47
|
+
//#endregion
|
|
48
|
+
}
|
|
49
|
+
async removeItem(key, callback) {
|
|
50
|
+
//#region @backendFunc
|
|
51
|
+
const promise = new Promise((resolve, reject) => {
|
|
52
|
+
lib_1.Helpers.remove(this.filePath, true);
|
|
53
|
+
callback(void 0);
|
|
54
|
+
resolve();
|
|
55
|
+
});
|
|
56
|
+
// pendingOperatins.push(promise);
|
|
57
|
+
await promise;
|
|
58
|
+
return void 0;
|
|
59
|
+
//#endregion
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.FileStor = FileStor;
|
|
63
|
+
//#endregion
|
|
64
|
+
//# sourceMappingURL=file-stor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-stor.js","sourceRoot":"","sources":[""],"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.d.ts
ADDED
package/lib/helpers.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.keyDefaultValueAreadySet = exports.keyValue = void 0;
|
|
4
|
+
const keyValue = (classFun, memberName) => {
|
|
5
|
+
// console.log('classname',classFun.name)
|
|
6
|
+
const res = `taon.localstorage.class.${classFun.name}.prop.${memberName}`;
|
|
7
|
+
return res;
|
|
8
|
+
};
|
|
9
|
+
exports.keyValue = keyValue;
|
|
10
|
+
const keyDefaultValueAreadySet = (classFun, memberName) => {
|
|
11
|
+
const res = (0, exports.keyValue)(classFun, memberName) + 'defaultvalueisset';
|
|
12
|
+
return res;
|
|
13
|
+
};
|
|
14
|
+
exports.keyDefaultValueAreadySet = keyDefaultValueAreadySet;
|
|
15
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;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"}
|
package/lib/models.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { storIndexdDb } from "./constants";
|
|
2
|
+
export declare namespace Models {
|
|
3
|
+
type StorType = Partial<(typeof storIndexdDb)>;
|
|
4
|
+
interface PendingOperation {
|
|
5
|
+
engine: StorgeEngine;
|
|
6
|
+
id: string;
|
|
7
|
+
isDone: boolean;
|
|
8
|
+
}
|
|
9
|
+
type StorgeEngine = 'localstorage' | 'indexeddb' | 'file' | 'json';
|
|
10
|
+
}
|
package/lib/models.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":[""],"names":[],"mappings":";AAAA,KAAK;AACL,KAAK"}
|
package/lib/storage.js
CHANGED
|
@@ -9,9 +9,6 @@ const lib_1 = require("tnp-core/lib");
|
|
|
9
9
|
const isBrowser = typeof window !== 'undefined' &&
|
|
10
10
|
typeof document !== 'undefined' &&
|
|
11
11
|
typeof navigator !== 'undefined';
|
|
12
|
-
function getGlobalEnv() {
|
|
13
|
-
return globalThis?.ENV;
|
|
14
|
-
}
|
|
15
12
|
function safeLocationPort() {
|
|
16
13
|
try {
|
|
17
14
|
return globalThis?.location?.port || 'no-port';
|
|
@@ -26,8 +23,7 @@ function safeLocationPort() {
|
|
|
26
23
|
*/
|
|
27
24
|
exports.storeName = `taon-storage_${safeLocationPort()}`;
|
|
28
25
|
function defaultNamespace() {
|
|
29
|
-
const
|
|
30
|
-
const project = lib_1._.kebabCase(env?.currentProjectGenericName ?? '');
|
|
26
|
+
const project = lib_1._.kebabCase(globalThis['CURRENT_PROJECT_GENERIC_NAME'] ?? '');
|
|
31
27
|
return project ? `${exports.storeName}_${project}` : exports.storeName;
|
|
32
28
|
}
|
|
33
29
|
/**
|
package/lib/storage.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -16,9 +16,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImpor
|
|
|
16
16
|
const isBrowser = typeof window !== 'undefined' &&
|
|
17
17
|
typeof document !== 'undefined' &&
|
|
18
18
|
typeof navigator !== 'undefined';
|
|
19
|
-
function getGlobalEnv() {
|
|
20
|
-
return globalThis?.ENV;
|
|
21
|
-
}
|
|
22
19
|
function safeLocationPort() {
|
|
23
20
|
try {
|
|
24
21
|
return globalThis?.location?.port || 'no-port';
|
|
@@ -33,8 +30,7 @@ function safeLocationPort() {
|
|
|
33
30
|
*/
|
|
34
31
|
const storeName = `taon-storage_${safeLocationPort()}`;
|
|
35
32
|
function defaultNamespace() {
|
|
36
|
-
const
|
|
37
|
-
const project = _.kebabCase(env?.currentProjectGenericName ?? '');
|
|
33
|
+
const project = _.kebabCase(globalThis['CURRENT_PROJECT_GENERIC_NAME'] ?? '');
|
|
38
34
|
return project ? `${storeName}_${project}` : storeName;
|
|
39
35
|
}
|
|
40
36
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taon-storage-websql.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/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-websql.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>","/* taon-storage (native, SSR-safe) */\nimport { UtilsOs, _ } from 'tnp-core/websql';\nexport type StorageEngine = 'localstorage' | 'indexeddb' | 'file' | 'json';\n\nexport interface StorOptions<T = any> {\n defaultValue?: T;\n transformFrom?: (valueFromDb: any) => T;\n transformTo?: (valueToDb: T) => any;\n}\n\nexport interface PendingOperation {\n engine: StorageEngine;\n id: string;\n isDone: boolean;\n}\n\ntype ClassLike = Function | { name: string } | undefined;\n\nconst isBrowser =\n typeof window !== 'undefined' &&\n typeof document !== 'undefined' &&\n typeof navigator !== 'undefined';\n\nfunction getGlobalEnv(): any {\n return (globalThis as any)?.ENV;\n}\n\nfunction safeLocationPort(): string {\n try {\n return (globalThis as any)?.location?.port || 'no-port';\n } catch {\n return 'no-port';\n }\n}\n\n/**\n * Keeps the spirit of your old `storeName = taon-storage_<port>`\n * plus project name namespacing (but without localForage).\n */\nexport const storeName = `taon-storage_${safeLocationPort()}`;\n\nfunction defaultNamespace(): string {\n const env = getGlobalEnv();\n const project = _.kebabCase(env?.currentProjectGenericName ?? '');\n return project ? `${storeName}_${project}` : storeName;\n}\n\n/**\n * Central config (optional).\n * You can set it once at app bootstrap if you want a stable namespace.\n */\nexport const StorConfig = {\n namespace: defaultNamespace(),\n indexedDb: {\n dbName: `${defaultNamespace()}_INDEXEDDB`,\n storeName: 'keyvaluepairs',\n },\n};\n\nfunction normalizeScopeClass(cls: ClassLike): { name: string } {\n if (!cls) return { name: '__GLOBAL_NAMESPACE__' };\n // if it's a function/class\n if (typeof cls === 'function')\n return { name: (cls as any).name || '__ANON__' };\n // if it's already object with name\n return { name: (cls as any).name || '__ANON__' };\n}\n\nexport function keyValue(scopeClass: ClassLike, memberName: string) {\n const c = normalizeScopeClass(scopeClass);\n return `${StorConfig.namespace}::taon.storage.class.${c.name}.prop.${memberName}`;\n}\n\nexport function keyDefaultValueAlreadySet(\n scopeClass: ClassLike,\n memberName: string,\n) {\n return `${keyValue(scopeClass, memberName)}::defaultvalueisset`;\n}\n\n/** Back-compat alias (your old typo) */\nexport const keyDefaultValueAreadySet = keyDefaultValueAlreadySet;\n\n/* ---------------------------\n * Stores\n * -------------------------- */\n\ninterface AsyncKVStore {\n getItem<T = any>(key: string): Promise<T | undefined>;\n setItem<T = any>(key: string, value: T): Promise<void>;\n removeItem(key: string): Promise<void>;\n}\n\nclass NoopStore implements AsyncKVStore {\n async getItem<T>(_key: string): Promise<T | undefined> {\n return undefined;\n }\n async setItem<T>(_key: string, _value: T): Promise<void> {\n // noop\n }\n async removeItem(_key: string): Promise<void> {\n // noop\n }\n}\n\nclass BrowserLocalStorageStore implements AsyncKVStore {\n private ls(): Storage | undefined {\n if (!isBrowser) return undefined;\n try {\n return window.localStorage;\n } catch {\n return undefined;\n }\n }\n\n async getItem<T>(key: string): Promise<T | undefined> {\n const ls = this.ls();\n if (!ls) return undefined;\n\n const raw = ls.getItem(key);\n if (raw === null) return undefined;\n\n try {\n return JSON.parse(raw) as T;\n } catch {\n // if something stored plain string by older versions\n return raw as unknown as T;\n }\n }\n\n async setItem<T>(key: string, value: T): Promise<void> {\n const ls = this.ls();\n if (!ls) return;\n\n try {\n ls.setItem(key, JSON.stringify(value));\n } catch {\n // last resort: try as string\n try {\n ls.setItem(key, String(value));\n } catch {\n // ignore (quota/private mode)\n }\n }\n }\n\n async removeItem(key: string): Promise<void> {\n const ls = this.ls();\n if (!ls) return;\n try {\n ls.removeItem(key);\n } catch {\n // ignore\n }\n }\n}\n\nclass BrowserIndexedDbStore implements AsyncKVStore {\n private dbPromise: Promise<IDBDatabase> | null = null;\n\n private openDb(): Promise<IDBDatabase> {\n if (!isBrowser || !(window as any).indexedDB) {\n return Promise.reject(new Error('IndexedDB not available'));\n }\n if (this.dbPromise) return this.dbPromise;\n\n const { dbName, storeName } = StorConfig.indexedDb;\n\n this.dbPromise = new Promise<IDBDatabase>((resolve, reject) => {\n const req = indexedDB.open(dbName, 1);\n\n req.onupgradeneeded = () => {\n const db = req.result;\n if (!db.objectStoreNames.contains(storeName)) {\n db.createObjectStore(storeName);\n }\n };\n\n req.onsuccess = () => resolve(req.result);\n req.onerror = () => reject(req.error);\n });\n\n return this.dbPromise;\n }\n\n private async withStore<T>(\n mode: IDBTransactionMode,\n fn: (store: IDBObjectStore) => IDBRequest<T>,\n ): Promise<T> {\n const db = await this.openDb();\n const { storeName } = StorConfig.indexedDb;\n\n return await new Promise<T>((resolve, reject) => {\n const tx = db.transaction(storeName, mode);\n const store = tx.objectStore(storeName);\n const req = fn(store);\n\n req.onsuccess = () => resolve(req.result);\n req.onerror = () => reject(req.error);\n\n tx.onabort = () => reject(tx.error);\n // tx.oncomplete => nothing\n });\n }\n\n async getItem<T>(key: string): Promise<T | undefined> {\n try {\n const result = await this.withStore('readonly', s => s.get(key));\n return (result as any) === undefined ? undefined : (result as any);\n } catch {\n return undefined;\n }\n }\n\n async setItem<T>(key: string, value: T): Promise<void> {\n try {\n await this.withStore('readwrite', s => s.put(value as any, key));\n } catch {\n // ignore\n }\n }\n\n async removeItem(key: string): Promise<void> {\n try {\n await this.withStore('readwrite', s => s.delete(key) as any);\n } catch {\n // ignore\n }\n }\n}\n\n/**\n * Node-side file storage (optional). No top-level node imports (Angular-safe).\n * Works only when executed in Node.\n */\nclass FileStor implements AsyncKVStore {\n constructor(\n private filePath: string,\n private useJSON = false,\n ) {}\n\n private isNodeRuntime() {\n return UtilsOs.isNode;\n // return (\n // typeof process !== 'undefined' &&\n // !!(process as any).versions?.node &&\n // typeof (globalThis as any).window === 'undefined'\n // );\n }\n\n async setItem<T>(_key: string, value: T): Promise<void> {\n if (!this.isNodeRuntime()) return;\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async getItem<T>(_key: string): Promise<T | undefined> {\n if (!this.isNodeRuntime()) return undefined;\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async removeItem(_key: string): Promise<void> {\n if (!this.isNodeRuntime()) return;\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}\n\n/* ---------------------------\n * Pending ops (so you can still await)\n * -------------------------- */\n\nclass StorPending {\n static pending: PendingOperation[] = [];\n static id = 0;\n static AWAITING_INTERVAL_TIME = 200;\n\n static async awaitPendingOperations(id = StorPending.id++): Promise<void> {\n if (id > Number.MAX_SAFE_INTEGER - 2) {\n StorPending.id = 0;\n id = StorPending.id++;\n }\n\n const pending = StorPending.pending;\n\n for (const op of pending) {\n if (!op.isDone) {\n await new Promise<void>(resolve => {\n setTimeout(async () => {\n await StorPending.awaitPendingOperations(id);\n resolve();\n }, StorPending.AWAITING_INTERVAL_TIME);\n });\n return;\n }\n }\n\n // cleanup\n StorPending.pending = pending.filter(p => !p.isDone);\n }\n\n static start(engine: StorageEngine, id: string): PendingOperation {\n const op: PendingOperation = { engine, id, isDone: false };\n StorPending.pending.push(op);\n return op;\n }\n\n static done(op: PendingOperation) {\n op.isDone = true;\n }\n}\n\n/* ---------------------------\n * Decorator builder\n * -------------------------- */\n\nclass StorPropertyBuilder {\n private scopeClass?: ClassLike;\n private engine: StorageEngine;\n private store: AsyncKVStore;\n private filePath?: string;\n private useJsonFile = false;\n\n constructor(engine: StorageEngine, store: AsyncKVStore) {\n this.engine = engine;\n this.store = store;\n }\n\n for(scopeClass?: ClassLike) {\n this.scopeClass = scopeClass;\n return this;\n }\n\n withDefaultValue<T = any>(defaultValue: T) {\n return this.withOptions<T>({ defaultValue });\n }\n\n withOptions<T = any>(options: StorOptions<T>) {\n const scopeClass = this.scopeClass;\n\n // per-instance state (fixes prototype-closure sharing)\n const values = new WeakMap<object, T>();\n const initStarted = new WeakMap<object, Promise<void>>();\n\n const ensureInit = (instance: object) => {\n if (initStarted.has(instance)) return;\n\n const op = StorPending.start(this.engine, 'init');\n const p = (async () => {\n const memberName = (ensureInit as any).__memberName as string;\n\n const kVal = keyValue(scopeClass, memberName);\n const kDef = keyDefaultValueAlreadySet(scopeClass, memberName);\n\n const defProvided = options.defaultValue !== undefined;\n\n if (\n !isBrowser &&\n (this.engine === 'localstorage' || this.engine === 'indexeddb')\n ) {\n // SSR: just set defaults, no storage\n if (defProvided) values.set(instance, options.defaultValue as T);\n return;\n }\n\n // Browser (or node file/json)\n if (defProvided) {\n const already = await this.store.getItem<boolean>(kDef);\n if (already) {\n const stored = await this.store.getItem<any>(kVal);\n const v = options.transformFrom\n ? options.transformFrom(stored)\n : stored;\n if (v !== undefined) values.set(instance, v as T);\n else values.set(instance, options.defaultValue as T);\n } else {\n await this.store.setItem(kDef, true);\n const toDb = options.transformTo\n ? options.transformTo(options.defaultValue as T)\n : (options.defaultValue as any);\n await this.store.setItem(kVal, toDb);\n values.set(instance, options.defaultValue as T);\n }\n } else {\n const stored = await this.store.getItem<any>(kVal);\n const v = options.transformFrom\n ? options.transformFrom(stored)\n : stored;\n if (v !== undefined) values.set(instance, v as T);\n }\n })()\n .catch(() => {\n // swallow, keep app alive\n })\n .finally(() => StorPending.done(op));\n\n initStarted.set(instance, p);\n };\n\n return (target: any, memberName: string) => {\n (ensureInit as any).__memberName = memberName;\n\n Object.defineProperty(target, memberName, {\n configurable: true,\n enumerable: true,\n get: function () {\n ensureInit(this);\n\n if (values.has(this)) return values.get(this);\n if (options.defaultValue !== undefined) return options.defaultValue;\n return undefined;\n },\n set: function (newValue: T) {\n values.set(this, newValue);\n\n // if this is the first interaction, init will happen anyway\n ensureInit(this);\n\n const op = StorPending.start(\n (target as any)?.engine ?? 'localstorage',\n 'set',\n );\n\n const scope = scopeClass;\n const kVal = keyValue(scope, memberName);\n\n const toDb = options.transformTo\n ? options.transformTo(newValue)\n : (newValue as any);\n\n Promise.resolve()\n .then(() => target as any)\n .then(() => this as any)\n .then(() => this as any)\n .then(async () => {\n // If we are SSR + browser engine => no-op\n if (!isBrowser && (options as any)) return;\n await (options as any); // no-op line to keep TS happy about chaining in some builds\n })\n .catch(() => {\n // ignore\n });\n\n // do real store write (async)\n Promise.resolve()\n .then(async () => {\n // SSR guard for browser engines\n if (!isBrowser && (StorPropertyInLocalStorage as any)) {\n return;\n }\n await thisStoreForEngineWrite(this, kVal, toDb);\n })\n .catch(() => {\n // ignore\n })\n .finally(() => StorPending.done(op));\n },\n });\n\n // small helper to keep closure clean\n const builderStore = this.store;\n const builderEngine = this.engine;\n\n async function thisStoreForEngineWrite(\n _instance: any,\n key: string,\n value: any,\n ) {\n // If browser engines but not browser, skip.\n if (\n !isBrowser &&\n (builderEngine === 'localstorage' || builderEngine === 'indexeddb')\n )\n return;\n await builderStore.setItem(key, value);\n }\n };\n }\n\n /* optional node-only engines (same builder) */\n file(filePath: string) {\n this.engine = 'file';\n this.filePath = filePath;\n this.useJsonFile = false;\n this.store = new FileStor(filePath, false);\n return this;\n }\n\n jsonFile(filePath: string) {\n this.engine = 'json';\n this.filePath = filePath;\n this.useJsonFile = true;\n this.store = new FileStor(filePath, true);\n return this;\n }\n}\n\n/* ---------------------------\n * Public: clean API exports\n * -------------------------- */\n\nconst localStorageStore: AsyncKVStore = isBrowser\n ? new BrowserLocalStorageStore()\n : new NoopStore();\nconst indexedDbStore: AsyncKVStore = isBrowser\n ? new BrowserIndexedDbStore()\n : new NoopStore();\n\nexport class StorPropertyInLocalStorage {\n static for(scopeClass?: ClassLike) {\n return new StorPropertyBuilder('localstorage', localStorageStore).for(\n scopeClass,\n );\n }\n}\n\nexport class StorPropertyInIndexedDb {\n static for(scopeClass?: ClassLike) {\n return new StorPropertyBuilder('indexeddb', indexedDbStore).for(scopeClass);\n }\n}\n\n/**\n * Helpers\n */\nexport async function uncache<CLASS_FUNCTION = any>(\n onlyInThisComponentClass: CLASS_FUNCTION,\n propertyValueToDeleteFromCache: keyof CLASS_FUNCTION,\n) {\n const scope =\n onlyInThisComponentClass || ({ name: '__GLOBAL_NAMESPACE__' } as any);\n const prop = String(propertyValueToDeleteFromCache);\n\n await Promise.all([\n localStorageStore.removeItem(keyValue(scope as any, prop)),\n localStorageStore.removeItem(keyDefaultValueAlreadySet(scope as any, prop)),\n indexedDbStore.removeItem(keyValue(scope as any, prop)),\n indexedDbStore.removeItem(keyDefaultValueAlreadySet(scope as any, prop)),\n ]);\n}\n\n/**\n * Backwards-compatible facade:\n * Stor.property.in.localstorage.for(...).withDefaultValue(...)\n */\nclass TaonStorageFacade {\n static async awaitPendingOperatios() {\n await StorPending.awaitPendingOperations();\n }\n\n static get property() {\n return {\n in: {\n get localstorage() {\n return new StorPropertyBuilder('localstorage', localStorageStore);\n },\n get indexedb() {\n return new StorPropertyBuilder('indexeddb', indexedDbStore);\n },\n // node-only (safe: dynamic import inside FileStor)\n file(filePath: string) {\n return new StorPropertyBuilder('file', new FileStor(filePath, false));\n },\n jsonFile(filePath: string) {\n return new StorPropertyBuilder('json', new FileStor(filePath, true));\n },\n },\n };\n }\n}\n\nexport const Stor = TaonStorageFacade;","//#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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"}
|
|
1
|
+
{"version":3,"file":"taon-storage-websql.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/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-websql.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>","/* taon-storage (native, SSR-safe) */\nimport { UtilsOs, _ } from 'tnp-core/websql';\nexport type StorageEngine = 'localstorage' | 'indexeddb' | 'file' | 'json';\n\nexport interface StorOptions<T = any> {\n defaultValue?: T;\n transformFrom?: (valueFromDb: any) => T;\n transformTo?: (valueToDb: T) => any;\n}\n\nexport interface PendingOperation {\n engine: StorageEngine;\n id: string;\n isDone: boolean;\n}\n\ntype ClassLike = Function | { name: string } | undefined;\n\nconst isBrowser =\n typeof window !== 'undefined' &&\n typeof document !== 'undefined' &&\n typeof navigator !== 'undefined';\n\nfunction safeLocationPort(): string {\n try {\n return (globalThis as any)?.location?.port || 'no-port';\n } catch {\n return 'no-port';\n }\n}\n\n/**\n * Keeps the spirit of your old `storeName = taon-storage_<port>`\n * plus project name namespacing (but without localForage).\n */\nexport const storeName = `taon-storage_${safeLocationPort()}`;\n\nfunction defaultNamespace(): string {\n const project = _.kebabCase(globalThis['CURRENT_PROJECT_GENERIC_NAME'] ?? '');\n return project ? `${storeName}_${project}` : storeName;\n}\n\n/**\n * Central config (optional).\n * You can set it once at app bootstrap if you want a stable namespace.\n */\nexport const StorConfig = {\n namespace: defaultNamespace(),\n indexedDb: {\n dbName: `${defaultNamespace()}_INDEXEDDB`,\n storeName: 'keyvaluepairs',\n },\n};\n\nfunction normalizeScopeClass(cls: ClassLike): { name: string } {\n if (!cls) return { name: '__GLOBAL_NAMESPACE__' };\n // if it's a function/class\n if (typeof cls === 'function')\n return { name: (cls as any).name || '__ANON__' };\n // if it's already object with name\n return { name: (cls as any).name || '__ANON__' };\n}\n\nexport function keyValue(scopeClass: ClassLike, memberName: string) {\n const c = normalizeScopeClass(scopeClass);\n return `${StorConfig.namespace}::taon.storage.class.${c.name}.prop.${memberName}`;\n}\n\nexport function keyDefaultValueAlreadySet(\n scopeClass: ClassLike,\n memberName: string,\n) {\n return `${keyValue(scopeClass, memberName)}::defaultvalueisset`;\n}\n\n/** Back-compat alias (your old typo) */\nexport const keyDefaultValueAreadySet = keyDefaultValueAlreadySet;\n\n/* ---------------------------\n * Stores\n * -------------------------- */\n\ninterface AsyncKVStore {\n getItem<T = any>(key: string): Promise<T | undefined>;\n setItem<T = any>(key: string, value: T): Promise<void>;\n removeItem(key: string): Promise<void>;\n}\n\nclass NoopStore implements AsyncKVStore {\n async getItem<T>(_key: string): Promise<T | undefined> {\n return undefined;\n }\n async setItem<T>(_key: string, _value: T): Promise<void> {\n // noop\n }\n async removeItem(_key: string): Promise<void> {\n // noop\n }\n}\n\nclass BrowserLocalStorageStore implements AsyncKVStore {\n private ls(): Storage | undefined {\n if (!isBrowser) return undefined;\n try {\n return window.localStorage;\n } catch {\n return undefined;\n }\n }\n\n async getItem<T>(key: string): Promise<T | undefined> {\n const ls = this.ls();\n if (!ls) return undefined;\n\n const raw = ls.getItem(key);\n if (raw === null) return undefined;\n\n try {\n return JSON.parse(raw) as T;\n } catch {\n // if something stored plain string by older versions\n return raw as unknown as T;\n }\n }\n\n async setItem<T>(key: string, value: T): Promise<void> {\n const ls = this.ls();\n if (!ls) return;\n\n try {\n ls.setItem(key, JSON.stringify(value));\n } catch {\n // last resort: try as string\n try {\n ls.setItem(key, String(value));\n } catch {\n // ignore (quota/private mode)\n }\n }\n }\n\n async removeItem(key: string): Promise<void> {\n const ls = this.ls();\n if (!ls) return;\n try {\n ls.removeItem(key);\n } catch {\n // ignore\n }\n }\n}\n\nclass BrowserIndexedDbStore implements AsyncKVStore {\n private dbPromise: Promise<IDBDatabase> | null = null;\n\n private openDb(): Promise<IDBDatabase> {\n if (!isBrowser || !(window as any).indexedDB) {\n return Promise.reject(new Error('IndexedDB not available'));\n }\n if (this.dbPromise) return this.dbPromise;\n\n const { dbName, storeName } = StorConfig.indexedDb;\n\n this.dbPromise = new Promise<IDBDatabase>((resolve, reject) => {\n const req = indexedDB.open(dbName, 1);\n\n req.onupgradeneeded = () => {\n const db = req.result;\n if (!db.objectStoreNames.contains(storeName)) {\n db.createObjectStore(storeName);\n }\n };\n\n req.onsuccess = () => resolve(req.result);\n req.onerror = () => reject(req.error);\n });\n\n return this.dbPromise;\n }\n\n private async withStore<T>(\n mode: IDBTransactionMode,\n fn: (store: IDBObjectStore) => IDBRequest<T>,\n ): Promise<T> {\n const db = await this.openDb();\n const { storeName } = StorConfig.indexedDb;\n\n return await new Promise<T>((resolve, reject) => {\n const tx = db.transaction(storeName, mode);\n const store = tx.objectStore(storeName);\n const req = fn(store);\n\n req.onsuccess = () => resolve(req.result);\n req.onerror = () => reject(req.error);\n\n tx.onabort = () => reject(tx.error);\n // tx.oncomplete => nothing\n });\n }\n\n async getItem<T>(key: string): Promise<T | undefined> {\n try {\n const result = await this.withStore('readonly', s => s.get(key));\n return (result as any) === undefined ? undefined : (result as any);\n } catch {\n return undefined;\n }\n }\n\n async setItem<T>(key: string, value: T): Promise<void> {\n try {\n await this.withStore('readwrite', s => s.put(value as any, key));\n } catch {\n // ignore\n }\n }\n\n async removeItem(key: string): Promise<void> {\n try {\n await this.withStore('readwrite', s => s.delete(key) as any);\n } catch {\n // ignore\n }\n }\n}\n\n/**\n * Node-side file storage (optional). No top-level node imports (Angular-safe).\n * Works only when executed in Node.\n */\nclass FileStor implements AsyncKVStore {\n constructor(\n private filePath: string,\n private useJSON = false,\n ) {}\n\n private isNodeRuntime() {\n return UtilsOs.isNode;\n // return (\n // typeof process !== 'undefined' &&\n // !!(process as any).versions?.node &&\n // typeof (globalThis as any).window === 'undefined'\n // );\n }\n\n async setItem<T>(_key: string, value: T): Promise<void> {\n if (!this.isNodeRuntime()) return;\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async getItem<T>(_key: string): Promise<T | undefined> {\n if (!this.isNodeRuntime()) return undefined;\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n async removeItem(_key: string): Promise<void> {\n if (!this.isNodeRuntime()) return;\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n}\n\n/* ---------------------------\n * Pending ops (so you can still await)\n * -------------------------- */\n\nclass StorPending {\n static pending: PendingOperation[] = [];\n static id = 0;\n static AWAITING_INTERVAL_TIME = 200;\n\n static async awaitPendingOperations(id = StorPending.id++): Promise<void> {\n if (id > Number.MAX_SAFE_INTEGER - 2) {\n StorPending.id = 0;\n id = StorPending.id++;\n }\n\n const pending = StorPending.pending;\n\n for (const op of pending) {\n if (!op.isDone) {\n await new Promise<void>(resolve => {\n setTimeout(async () => {\n await StorPending.awaitPendingOperations(id);\n resolve();\n }, StorPending.AWAITING_INTERVAL_TIME);\n });\n return;\n }\n }\n\n // cleanup\n StorPending.pending = pending.filter(p => !p.isDone);\n }\n\n static start(engine: StorageEngine, id: string): PendingOperation {\n const op: PendingOperation = { engine, id, isDone: false };\n StorPending.pending.push(op);\n return op;\n }\n\n static done(op: PendingOperation) {\n op.isDone = true;\n }\n}\n\n/* ---------------------------\n * Decorator builder\n * -------------------------- */\n\nclass StorPropertyBuilder {\n private scopeClass?: ClassLike;\n private engine: StorageEngine;\n private store: AsyncKVStore;\n private filePath?: string;\n private useJsonFile = false;\n\n constructor(engine: StorageEngine, store: AsyncKVStore) {\n this.engine = engine;\n this.store = store;\n }\n\n for(scopeClass?: ClassLike) {\n this.scopeClass = scopeClass;\n return this;\n }\n\n withDefaultValue<T = any>(defaultValue: T) {\n return this.withOptions<T>({ defaultValue });\n }\n\n withOptions<T = any>(options: StorOptions<T>) {\n const scopeClass = this.scopeClass;\n\n // per-instance state (fixes prototype-closure sharing)\n const values = new WeakMap<object, T>();\n const initStarted = new WeakMap<object, Promise<void>>();\n\n const ensureInit = (instance: object) => {\n if (initStarted.has(instance)) return;\n\n const op = StorPending.start(this.engine, 'init');\n const p = (async () => {\n const memberName = (ensureInit as any).__memberName as string;\n\n const kVal = keyValue(scopeClass, memberName);\n const kDef = keyDefaultValueAlreadySet(scopeClass, memberName);\n\n const defProvided = options.defaultValue !== undefined;\n\n if (\n !isBrowser &&\n (this.engine === 'localstorage' || this.engine === 'indexeddb')\n ) {\n // SSR: just set defaults, no storage\n if (defProvided) values.set(instance, options.defaultValue as T);\n return;\n }\n\n // Browser (or node file/json)\n if (defProvided) {\n const already = await this.store.getItem<boolean>(kDef);\n if (already) {\n const stored = await this.store.getItem<any>(kVal);\n const v = options.transformFrom\n ? options.transformFrom(stored)\n : stored;\n if (v !== undefined) values.set(instance, v as T);\n else values.set(instance, options.defaultValue as T);\n } else {\n await this.store.setItem(kDef, true);\n const toDb = options.transformTo\n ? options.transformTo(options.defaultValue as T)\n : (options.defaultValue as any);\n await this.store.setItem(kVal, toDb);\n values.set(instance, options.defaultValue as T);\n }\n } else {\n const stored = await this.store.getItem<any>(kVal);\n const v = options.transformFrom\n ? options.transformFrom(stored)\n : stored;\n if (v !== undefined) values.set(instance, v as T);\n }\n })()\n .catch(() => {\n // swallow, keep app alive\n })\n .finally(() => StorPending.done(op));\n\n initStarted.set(instance, p);\n };\n\n return (target: any, memberName: string) => {\n (ensureInit as any).__memberName = memberName;\n\n Object.defineProperty(target, memberName, {\n configurable: true,\n enumerable: true,\n get: function () {\n ensureInit(this);\n\n if (values.has(this)) return values.get(this);\n if (options.defaultValue !== undefined) return options.defaultValue;\n return undefined;\n },\n set: function (newValue: T) {\n values.set(this, newValue);\n\n // if this is the first interaction, init will happen anyway\n ensureInit(this);\n\n const op = StorPending.start(\n (target as any)?.engine ?? 'localstorage',\n 'set',\n );\n\n const scope = scopeClass;\n const kVal = keyValue(scope, memberName);\n\n const toDb = options.transformTo\n ? options.transformTo(newValue)\n : (newValue as any);\n\n Promise.resolve()\n .then(() => target as any)\n .then(() => this as any)\n .then(() => this as any)\n .then(async () => {\n // If we are SSR + browser engine => no-op\n if (!isBrowser && (options as any)) return;\n await (options as any); // no-op line to keep TS happy about chaining in some builds\n })\n .catch(() => {\n // ignore\n });\n\n // do real store write (async)\n Promise.resolve()\n .then(async () => {\n // SSR guard for browser engines\n if (!isBrowser && (StorPropertyInLocalStorage as any)) {\n return;\n }\n await thisStoreForEngineWrite(this, kVal, toDb);\n })\n .catch(() => {\n // ignore\n })\n .finally(() => StorPending.done(op));\n },\n });\n\n // small helper to keep closure clean\n const builderStore = this.store;\n const builderEngine = this.engine;\n\n async function thisStoreForEngineWrite(\n _instance: any,\n key: string,\n value: any,\n ) {\n // If browser engines but not browser, skip.\n if (\n !isBrowser &&\n (builderEngine === 'localstorage' || builderEngine === 'indexeddb')\n )\n return;\n await builderStore.setItem(key, value);\n }\n };\n }\n\n /* optional node-only engines (same builder) */\n file(filePath: string) {\n this.engine = 'file';\n this.filePath = filePath;\n this.useJsonFile = false;\n this.store = new FileStor(filePath, false);\n return this;\n }\n\n jsonFile(filePath: string) {\n this.engine = 'json';\n this.filePath = filePath;\n this.useJsonFile = true;\n this.store = new FileStor(filePath, true);\n return this;\n }\n}\n\n/* ---------------------------\n * Public: clean API exports\n * -------------------------- */\n\nconst localStorageStore: AsyncKVStore = isBrowser\n ? new BrowserLocalStorageStore()\n : new NoopStore();\nconst indexedDbStore: AsyncKVStore = isBrowser\n ? new BrowserIndexedDbStore()\n : new NoopStore();\n\nexport class StorPropertyInLocalStorage {\n static for(scopeClass?: ClassLike) {\n return new StorPropertyBuilder('localstorage', localStorageStore).for(\n scopeClass,\n );\n }\n}\n\nexport class StorPropertyInIndexedDb {\n static for(scopeClass?: ClassLike) {\n return new StorPropertyBuilder('indexeddb', indexedDbStore).for(scopeClass);\n }\n}\n\n/**\n * Helpers\n */\nexport async function uncache<CLASS_FUNCTION = any>(\n onlyInThisComponentClass: CLASS_FUNCTION,\n propertyValueToDeleteFromCache: keyof CLASS_FUNCTION,\n) {\n const scope =\n onlyInThisComponentClass || ({ name: '__GLOBAL_NAMESPACE__' } as any);\n const prop = String(propertyValueToDeleteFromCache);\n\n await Promise.all([\n localStorageStore.removeItem(keyValue(scope as any, prop)),\n localStorageStore.removeItem(keyDefaultValueAlreadySet(scope as any, prop)),\n indexedDbStore.removeItem(keyValue(scope as any, prop)),\n indexedDbStore.removeItem(keyDefaultValueAlreadySet(scope as any, prop)),\n ]);\n}\n\n/**\n * Backwards-compatible facade:\n * Stor.property.in.localstorage.for(...).withDefaultValue(...)\n */\nclass TaonStorageFacade {\n static async awaitPendingOperatios() {\n await StorPending.awaitPendingOperations();\n }\n\n static get property() {\n return {\n in: {\n get localstorage() {\n return new StorPropertyBuilder('localstorage', localStorageStore);\n },\n get indexedb() {\n return new StorPropertyBuilder('indexeddb', indexedDbStore);\n },\n // node-only (safe: dynamic import inside FileStor)\n file(filePath: string) {\n return new StorPropertyBuilder('file', new FileStor(filePath, false));\n },\n jsonFile(filePath: string) {\n return new StorPropertyBuilder('json', new FileStor(filePath, true));\n },\n },\n };\n }\n}\n\nexport const Stor = TaonStorageFacade;","//#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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"}
|