taon-storage 21.0.35 → 21.0.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/VERIFIED-BUILD-DATA.jsonc +3 -3
  2. package/browser/package.json +1 -1
  3. package/browser-prod/fesm2022/taon-storage-browser-prod.mjs.map +1 -1
  4. package/browser-prod/package.json +1 -1
  5. package/lib/build-info._auto-generated_.d.ts +1 -1
  6. package/lib/build-info._auto-generated_.js +1 -1
  7. package/lib/package.json +1 -1
  8. package/lib-esm/app.d.ts +2 -0
  9. package/lib-esm/app.electron.d.ts +2 -0
  10. package/lib-esm/app.electron.js +83 -0
  11. package/lib-esm/app.electron.js.map +1 -0
  12. package/lib-esm/app.hosts.d.ts +95 -0
  13. package/lib-esm/app.hosts.js +157 -0
  14. package/lib-esm/app.hosts.js.map +1 -0
  15. package/lib-esm/app.js +121 -0
  16. package/lib-esm/app.js.map +1 -0
  17. package/lib-esm/app.vscode.d.ts +9 -0
  18. package/lib-esm/app.vscode.js +31 -0
  19. package/lib-esm/app.vscode.js.map +1 -0
  20. package/lib-esm/index.d.ts +1 -0
  21. package/lib-esm/index.js +2 -0
  22. package/lib-esm/index.js.map +1 -0
  23. package/lib-esm/lib/build-info._auto-generated_.d.ts +24 -0
  24. package/lib-esm/lib/build-info._auto-generated_.js +27 -0
  25. package/lib-esm/lib/build-info._auto-generated_.js.map +1 -0
  26. package/lib-esm/lib/env/env.angular-node-app.d.ts +66 -0
  27. package/lib-esm/lib/env/env.angular-node-app.js +135 -0
  28. package/lib-esm/lib/env/env.angular-node-app.js.map +1 -0
  29. package/lib-esm/lib/env/env.docs-webapp.d.ts +66 -0
  30. package/lib-esm/lib/env/env.docs-webapp.js +135 -0
  31. package/lib-esm/lib/env/env.docs-webapp.js.map +1 -0
  32. package/lib-esm/lib/env/env.electron-app.d.ts +66 -0
  33. package/lib-esm/lib/env/env.electron-app.js +135 -0
  34. package/lib-esm/lib/env/env.electron-app.js.map +1 -0
  35. package/lib-esm/lib/env/env.mobile-app.d.ts +66 -0
  36. package/lib-esm/lib/env/env.mobile-app.js +135 -0
  37. package/lib-esm/lib/env/env.mobile-app.js.map +1 -0
  38. package/lib-esm/lib/env/env.npm-lib-and-cli-tool.d.ts +66 -0
  39. package/lib-esm/lib/env/env.npm-lib-and-cli-tool.js +135 -0
  40. package/lib-esm/lib/env/env.npm-lib-and-cli-tool.js.map +1 -0
  41. package/lib-esm/lib/env/env.vscode-plugin.d.ts +66 -0
  42. package/lib-esm/lib/env/env.vscode-plugin.js +135 -0
  43. package/lib-esm/lib/env/env.vscode-plugin.js.map +1 -0
  44. package/lib-esm/lib/env/index.d.ts +6 -0
  45. package/lib-esm/lib/env/index.js +7 -0
  46. package/lib-esm/lib/env/index.js.map +1 -0
  47. package/lib-esm/lib/index._auto-generated_.d.ts +0 -0
  48. package/lib-esm/lib/index._auto-generated_.js +6 -0
  49. package/lib-esm/lib/index._auto-generated_.js.map +1 -0
  50. package/lib-esm/lib/index.d.ts +1 -0
  51. package/lib-esm/lib/index.js +4 -0
  52. package/lib-esm/lib/index.js.map +1 -0
  53. package/lib-esm/lib/migrations/index.d.ts +1 -0
  54. package/lib-esm/lib/migrations/index.js +3 -0
  55. package/lib-esm/lib/migrations/index.js.map +1 -0
  56. package/lib-esm/lib/migrations/migrations_index._auto-generated_.d.ts +0 -0
  57. package/lib-esm/lib/migrations/migrations_index._auto-generated_.js +4 -0
  58. package/lib-esm/lib/migrations/migrations_index._auto-generated_.js.map +1 -0
  59. package/lib-esm/lib/taon-stor.d.ts +51 -0
  60. package/lib-esm/lib/taon-stor.js +313 -0
  61. package/lib-esm/lib/taon-stor.js.map +1 -0
  62. package/lib-esm/lib/taon-stor.test.d.ts +1 -0
  63. package/lib-esm/lib/taon-stor.test.js +43 -0
  64. package/lib-esm/lib/taon-stor.test.js.map +1 -0
  65. package/lib-prod/build-info._auto-generated_.d.ts +1 -1
  66. package/lib-prod/build-info._auto-generated_.js +1 -1
  67. package/lib-prod/package.json +1 -1
  68. package/lib-prod/taon-stor.js.map +1 -1
  69. package/lib-prod/taon-stor.test.js.map +1 -1
  70. package/package.json +1 -1
  71. package/src.js +4 -20
  72. package/websql/package.json +1 -1
  73. package/websql-prod/fesm2022/taon-storage-websql-prod.mjs.map +1 -1
  74. package/websql-prod/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  {
2
- "commitHash": "27abd22a33bb23ec1527aad0cad2204ea1260139",
3
- "commitName": "release: v21.0.34",
4
- "commitDate": "06-04-2026 02:07:22"
2
+ "commitHash": "d01076f58ec87ec7949e21dadfb92dde22e98770",
3
+ "commitName": "release: v21.0.36",
4
+ "commitDate": "12-04-2026 12:40:45"
5
5
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "taon-storage/browser",
3
- "version": "21.0.35",
3
+ "version": "21.0.37",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^21.0.0",
6
6
  "@angular/core": "^21.0.0"
@@ -1 +1 @@
1
- {"version":3,"file":"taon-storage-browser-prod.mjs","sources":["../../../tmp-libs-for-dist-prod/taon-storage/projects/taon-storage/src/lib/taon-stor.ts","../../../tmp-libs-for-dist-prod/taon-storage/projects/taon-storage/src/lib/index.ts","../../../tmp-libs-for-dist-prod/taon-storage/projects/taon-storage/src/taon-storage-browser-prod.ts"],"sourcesContent":["import { signal, WritableSignal } from '@angular/core';\nimport { ___NS__add, ___NS__after, ___NS__ary, ___NS__assign, ___NS__assignIn, ___NS__assignInWith, ___NS__assignWith, ___NS__at, ___NS__attempt, ___NS__before, ___NS__bind, ___NS__bindAll, ___NS__bindKey, ___NS__camelCase, ___NS__capitalize, ___NS__castArray, ___NS__ceil, ___NS__chain, ___NS__chunk, ___NS__clamp, ___NS__clone, ___NS__cloneDeep, ___NS__cloneDeepWith, ___NS__cloneWith, ___NS__compact, ___NS__concat, ___NS__cond, ___NS__conforms, ___NS__conformsTo, ___NS__constant, ___NS__countBy, ___NS__create, ___NS__curry, ___NS__curryRight, ___NS__debounce, ___NS__deburr, ___NS__defaults, ___NS__defaultsDeep, ___NS__defaultTo, ___NS__defer, ___NS__delay, ___NS__difference, ___NS__differenceBy, ___NS__differenceWith, ___NS__divide, ___NS__drop, ___NS__dropRight, ___NS__dropRightWhile, ___NS__dropWhile, ___NS__each, ___NS__eachRight, ___NS__endsWith, ___NS__entries, ___NS__entriesIn, ___NS__eq, ___NS__escape, ___NS__escapeRegExp, ___NS__every, ___NS__extend, ___NS__extendWith, ___NS__fill, ___NS__filter, ___NS__find, ___NS__findIndex, ___NS__findKey, ___NS__findLast, ___NS__findLastIndex, ___NS__findLastKey, ___NS__first, ___NS__flatMap, ___NS__flatMapDeep, ___NS__flatMapDepth, ___NS__flatten, ___NS__flattenDeep, ___NS__flattenDepth, ___NS__flip, ___NS__floor, ___NS__flow, ___NS__flowRight, ___NS__forEach, ___NS__forEachRight, ___NS__forIn, ___NS__forInRight, ___NS__forOwn, ___NS__forOwnRight, ___NS__fromPairs, ___NS__functions, ___NS__functionsIn, ___NS__get, ___NS__groupBy, ___NS__gt, ___NS__gte, ___NS__has, ___NS__hasIn, ___NS__head, ___NS__identity, ___NS__includes, ___NS__indexOf, ___NS__initial, ___NS__inRange, ___NS__intersection, ___NS__intersectionBy, ___NS__intersectionWith, ___NS__invert, ___NS__invertBy, ___NS__invoke, ___NS__invokeMap, ___NS__isArguments, ___NS__isArray, ___NS__isArrayBuffer, ___NS__isArrayLike, ___NS__isArrayLikeObject, ___NS__isBoolean, ___NS__isBuffer, ___NS__isDate, ___NS__isElement, ___NS__isEmpty, ___NS__isEqual, ___NS__isEqualWith, ___NS__isError, ___NS__isFinite, ___NS__isFunction, ___NS__isInteger, ___NS__isLength, ___NS__isMap, ___NS__isMatch, ___NS__isMatchWith, ___NS__isNaN, ___NS__isNative, ___NS__isNil, ___NS__isNull, ___NS__isNumber, ___NS__isObject, ___NS__isObjectLike, ___NS__isPlainObject, ___NS__isRegExp, ___NS__isSafeInteger, ___NS__isSet, ___NS__isString, ___NS__isSymbol, ___NS__isTypedArray, ___NS__isUndefined, ___NS__isWeakMap, ___NS__isWeakSet, ___NS__iteratee, ___NS__join, ___NS__kebabCase, ___NS__keyBy, ___NS__keys, ___NS__keysIn, ___NS__last, ___NS__lastIndexOf, ___NS__lowerCase, ___NS__lowerFirst, ___NS__lt, ___NS__lte, ___NS__map, ___NS__mapKeys, ___NS__mapValues, ___NS__matches, ___NS__matchesProperty, ___NS__max, ___NS__maxBy, ___NS__mean, ___NS__meanBy, ___NS__memoize, ___NS__merge, ___NS__mergeWith, ___NS__method, ___NS__methodOf, ___NS__min, ___NS__minBy, ___NS__mixin, ___NS__multiply, ___NS__negate, ___NS__noop, ___NS__now, ___NS__nth, ___NS__nthArg, ___NS__omit, ___NS__omitBy, ___NS__once, ___NS__orderBy, ___NS__over, ___NS__overArgs, ___NS__overEvery, ___NS__overSome, ___NS__pad, ___NS__padEnd, ___NS__padStart, ___NS__parseInt, ___NS__partial, ___NS__partialRight, ___NS__partition, ___NS__pick, ___NS__pickBy, ___NS__property, ___NS__propertyOf, ___NS__pull, ___NS__pullAll, ___NS__pullAllBy, ___NS__pullAllWith, ___NS__pullAt, ___NS__random, ___NS__range, ___NS__rangeRight, ___NS__rearg, ___NS__reduce, ___NS__reduceRight, ___NS__reject, ___NS__remove, ___NS__repeat, ___NS__replace, ___NS__rest, ___NS__result, ___NS__reverse, ___NS__round, ___NS__sample, ___NS__sampleSize, ___NS__set, ___NS__setWith, ___NS__shuffle, ___NS__size, ___NS__slice, ___NS__snakeCase, ___NS__some, ___NS__sortBy, ___NS__sortedIndex, ___NS__sortedIndexBy, ___NS__sortedIndexOf, ___NS__sortedLastIndex, ___NS__sortedLastIndexBy, ___NS__sortedLastIndexOf, ___NS__sortedUniq, ___NS__sortedUniqBy, ___NS__split, ___NS__spread, ___NS__startCase, ___NS__startsWith, ___NS__stubArray, ___NS__stubFalse, ___NS__stubObject, ___NS__stubString, ___NS__stubTrue, ___NS__subtract, ___NS__sum, ___NS__sumBy, ___NS__tail, ___NS__take, ___NS__takeRight, ___NS__takeRightWhile, ___NS__takeWhile, ___NS__tap, ___NS__template, ___NS__templateSettings, ___NS__throttle, ___NS__thru, ___NS__times, ___NS__toArray, ___NS__toFinite, ___NS__toInteger, ___NS__toLength, ___NS__toLower, ___NS__toNumber, ___NS__toPairs, ___NS__toPairsIn, ___NS__toPath, ___NS__toPlainObject, ___NS__toSafeInteger, ___NS__toString, ___NS__toUpper, ___NS__transform, ___NS__trim, ___NS__trimEnd, ___NS__trimStart, ___NS__truncate, ___NS__unary, ___NS__unescape, ___NS__union, ___NS__unionBy, ___NS__unionWith, ___NS__uniq, ___NS__uniqBy, ___NS__uniqueId, ___NS__uniqWith, ___NS__unset, ___NS__unzip, ___NS__unzipWith, ___NS__update, ___NS__updateWith, ___NS__upperCase, ___NS__upperFirst, ___NS__values, ___NS__valuesIn, ___NS__without, ___NS__words, ___NS__wrap, ___NS__xor, ___NS__xorBy, ___NS__xorWith, ___NS__zip, ___NS__zipObject, ___NS__zipObjectDeep, ___NS__zipWith, UtilsOs__NS__commandExistsAsync, UtilsOs__NS__commandExistsSync, UtilsOs__NS__detectEditor, UtilsOs__NS__drawLine, UtilsOs__NS__Editor, UtilsOs__NS__EDITOR_PROCESSES, UtilsOs__NS__EditorArr, UtilsOs__NS__EditorProcess, UtilsOs__NS__getEditorSettingsJsonPath, UtilsOs__NS__getInotifyWatchCount, UtilsOs__NS__getRealHomeDir, UtilsOs__NS__isBrowser, UtilsOs__NS__isDockerAvailable, UtilsOs__NS__isElectron, UtilsOs__NS__isNode, UtilsOs__NS__isNodeVersionOk, UtilsOs__NS__isPortInUse, UtilsOs__NS__isRunningInBrowser, UtilsOs__NS__isRunningInCliMode, UtilsOs__NS__isRunningInDocker, UtilsOs__NS__isRunningInElectron, UtilsOs__NS__isRunningInLinuxGraphicsCapableEnvironment, UtilsOs__NS__isRunningInMochaTest, UtilsOs__NS__isRunningInNode, UtilsOs__NS__isRunningInOsWithGraphicsCapableEnvironment, UtilsOs__NS__isRunningInSSRMode, UtilsOs__NS__isRunningInVscodeExtension, UtilsOs__NS__isRunningInWebSQL, UtilsOs__NS__isRunningInWindows, UtilsOs__NS__isRunningInWindowsCmd, UtilsOs__NS__isRunningInWindowsPowerShell, UtilsOs__NS__isRunningInWsl, UtilsOs__NS__isRunningNodeDebugger, UtilsOs__NS__isSSRMode, UtilsOs__NS__isVscodeExtension, UtilsOs__NS__isWebSQL, UtilsOs__NS__killAllEditor, UtilsOs__NS__openFolderInFileExplorer, UtilsOs__NS__pipxNestedPackageExists, UtilsOs__NS__pipxPackageExists, UtilsOs__NS__pythonModuleExists, UtilsOs__NS__sendNotification } from 'tnp-core/browser-prod';\n\n//#region use all of this in new implementation\n\ninterface StorOptions<T = any> {\n defaultValue?: T;\n transformFrom?: (valueFromDb: any) => T;\n transformTo?: (valueToDb: T) => any;\n\n /**\n * property key in class\n * OR path to file/json\n */\n keyOrPath?: string;\n}\n\nconst isBrowser = UtilsOs__NS__isBrowser;\nconst isNode = UtilsOs__NS__isNode;\n\nconst safeLocationPort = (): string => {\n try {\n return (globalThis as any)?.location?.port || 'no-port';\n } catch {\n return 'no-port';\n }\n};\n\nconst storeName = `taon-storage_${safeLocationPort()}`;\n\nconst defaultNamespace = (): string => {\n const project = ___NS__kebabCase(globalThis['CURRENT_PROJECT_GENERIC_NAME'] ?? '');\n return project ? `${storeName}_${project}` : storeName;\n};\n\nconst StorConfig = {\n namespace: defaultNamespace(),\n indexedDb: {\n dbName: `${defaultNamespace()}_INDEXEDDB`,\n storeName: 'keyvaluepairs',\n },\n};\n\ntype ClassLike = Function | { name: string } | undefined;\n\nconst 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\nconst keyValue = (scopeClass: ClassLike, memberName: string) => {\n const c = normalizeScopeClass(scopeClass);\n return `${StorConfig.namespace}::taon.storage.class.${c.name}.prop.${memberName}`;\n};\n\nconst keyDefaultValueAlreadySet = (\n scopeClass: ClassLike,\n memberName: string,\n): string => {\n return `${keyValue(scopeClass, memberName)}::defaultvalueisset`;\n};\n//#endregion\n\n//#region core\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\n//#region local storage\nclass LocalStorageStore implements AsyncKVStore {\n async getItem<T>(key: string): Promise<T | undefined> {\n if (!isBrowser) return undefined;\n const raw = localStorage.getItem(key);\n if (raw == null) return undefined;\n try {\n return JSON.parse(raw);\n } catch {\n return raw as any;\n }\n }\n\n async setItem<T>(key: string, value: T): Promise<void> {\n if (!isBrowser) return;\n localStorage.setItem(key, JSON.stringify(value));\n }\n\n async removeItem(key: string): Promise<void> {\n if (!isBrowser) return;\n localStorage.removeItem(key);\n }\n}\n//#endregion\n\n//#region session storage\nclass SessionStorageStore extends LocalStorageStore {\n override async getItem<T>(key: string): Promise<T | undefined> {\n if (!isBrowser) return undefined;\n const raw = sessionStorage.getItem(key);\n if (raw == null) return undefined;\n try {\n return JSON.parse(raw);\n } catch {\n return raw as any;\n }\n }\n\n override async setItem<T>(key: string, value: T): Promise<void> {\n if (!isBrowser) return;\n sessionStorage.setItem(key, JSON.stringify(value));\n }\n\n override async removeItem(key: string): Promise<void> {\n if (!isBrowser) return;\n sessionStorage.removeItem(key);\n }\n}\n//#endregion\n\n//#region indexed db store\nclass IndexedDbStore 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//#endregion\n\n//#region file stor\nclass FileStor implements AsyncKVStore {\n constructor(\n private filePath: string,\n private useJSON = false,\n ) {}\n\n private isNodeRuntime(): boolean {\n return UtilsOs__NS__isNode;\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//#endregion\n\n// --- global registry\nconst ALL_READY: Promise<void>[] = [];\n\n//#endregion\n\n//#region signal wrapper\nexport interface StorSignal<T> {\n (): T;\n set(v: T): Promise<void>;\n ready(): Promise<void>;\n signal: WritableSignal<T>;\n}\n\nfunction createStorSignal<T>(\n key: string,\n store: AsyncKVStore,\n options: StorOptions<T>,\n): StorSignal<T> {\n const hasDefault = options.defaultValue !== undefined;\n\n const s = signal<T>(options.defaultValue as T);\n\n const readyPromise = (async () => {\n // SSR: just use default\n if (!isBrowser && !isNode) {\n return;\n }\n\n const stored = await store.getItem<any>(key);\n\n if (stored !== undefined) {\n const v = options.transformFrom ? options.transformFrom(stored) : stored;\n\n s.set(v);\n } else if (hasDefault) {\n const toDb = options.transformTo\n ? options.transformTo(options.defaultValue as T)\n : options.defaultValue;\n\n await store.setItem(key, toDb as any);\n s.set(options.defaultValue as T);\n }\n })();\n\n ALL_READY.push(readyPromise);\n\n const fn = (() => s()) as StorSignal<T>;\n\n fn.signal = s;\n\n fn.set = async (v: T) => {\n s.set(v);\n\n const toDb = options.transformTo ? options.transformTo(v) : (v as any);\n\n await store.setItem(key, toDb);\n };\n\n fn.ready = () => readyPromise;\n\n return fn;\n}\n//#endregion\n\nconst create = <T>(\n engine: AsyncKVStore,\n scopeClass: ClassLike | undefined,\n memberName: string,\n options: StorOptions<T>,\n): StorSignal<T> => {\n const key = keyValue(scopeClass, memberName);\n return createStorSignal<T>(key, engine, options);\n};\n\nconst local = new LocalStorageStore();\nconst session = new SessionStorageStore();\nconst indexedDBInstace = new IndexedDbStore();\n\n//#region API\n//namespace TaonStor\n\n export function TaonStor__NS__inLocalstorage<T>(\n options: StorOptions<T>,\n scopeClass?: ClassLike,\n ): StorSignal<T> {\n return create(\n local,\n scopeClass,\n options.keyOrPath ?? '__global__',\n options,\n );\n }\n\n export function TaonStor__NS__inSessionStorage<T>(\n options: StorOptions<T>,\n scopeClass?: ClassLike,\n ): StorSignal<T> {\n return create(\n session,\n scopeClass,\n options.keyOrPath ?? '__global__',\n options,\n );\n }\n\n export function TaonStor__NS__inIndexedDbStorage<T>(\n options: StorOptions<T>,\n scopeClass?: ClassLike,\n ): StorSignal<T> {\n return create(\n indexedDBInstace,\n scopeClass,\n options.keyOrPath ?? '__global__',\n options,\n );\n }\n\n export function TaonStor__NS__inFile<T>(\n options: StorOptions<T>,\n scopeClass?: ClassLike,\n ): StorSignal<T> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n export function TaonStor__NS__inJson<T>(\n options: StorOptions<T>,\n scopeClass?: ClassLike,\n ): StorSignal<T> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n export async function TaonStor__NS__awaitAll(): Promise<void> {\n await Promise.all(ALL_READY);\n }\n\n//end of namespace TaonStor\n\n//#endregion\n\n/**\n * exampel useage\n *\n * class SomeAngularComponentOrWhatever {\n *\n * positionX = TaonStor__NS__inLocalstorage({\n * defaultValue: 0\n * });\n *\n * async ngOnInit() {\n * console.log(this.positionX()) // I wonder if this can be angular signal\n *\n * this.positionX.set(12)\n *\n * await this.positionX.ready(); // but with addional this\n * }\n *\n * }\n *\n\n *\n */","// export * from './storage';\nexport * from './taon-stor';\n// export * 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-prod.mjs","sources":["../../../tmp-libs-for-dist-prod/taon-storage/projects/taon-storage/src/lib/taon-stor.ts","../../../tmp-libs-for-dist-prod/taon-storage/projects/taon-storage/src/lib/index.ts","../../../tmp-libs-for-dist-prod/taon-storage/projects/taon-storage/src/taon-storage-browser-prod.ts"],"sourcesContent":["import { signal, WritableSignal } from '@angular/core';\nimport { ___NS__add, ___NS__after, ___NS__ary, ___NS__assign, ___NS__assignIn, ___NS__assignInWith, ___NS__assignWith, ___NS__at, ___NS__attempt, ___NS__before, ___NS__bind, ___NS__bindAll, ___NS__bindKey, ___NS__camelCase, ___NS__capitalize, ___NS__castArray, ___NS__ceil, ___NS__chain, ___NS__chunk, ___NS__clamp, ___NS__clone, ___NS__cloneDeep, ___NS__cloneDeepWith, ___NS__cloneWith, ___NS__compact, ___NS__concat, ___NS__cond, ___NS__conforms, ___NS__conformsTo, ___NS__constant, ___NS__countBy, ___NS__create, ___NS__curry, ___NS__curryRight, ___NS__debounce, ___NS__deburr, ___NS__defaults, ___NS__defaultsDeep, ___NS__defaultTo, ___NS__defer, ___NS__delay, ___NS__difference, ___NS__differenceBy, ___NS__differenceWith, ___NS__divide, ___NS__drop, ___NS__dropRight, ___NS__dropRightWhile, ___NS__dropWhile, ___NS__each, ___NS__eachRight, ___NS__endsWith, ___NS__entries, ___NS__entriesIn, ___NS__eq, ___NS__escape, ___NS__escapeRegExp, ___NS__every, ___NS__extend, ___NS__extendWith, ___NS__fill, ___NS__filter, ___NS__find, ___NS__findIndex, ___NS__findKey, ___NS__findLast, ___NS__findLastIndex, ___NS__findLastKey, ___NS__first, ___NS__flatMap, ___NS__flatMapDeep, ___NS__flatMapDepth, ___NS__flatten, ___NS__flattenDeep, ___NS__flattenDepth, ___NS__flip, ___NS__floor, ___NS__flow, ___NS__flowRight, ___NS__forEach, ___NS__forEachRight, ___NS__forIn, ___NS__forInRight, ___NS__forOwn, ___NS__forOwnRight, ___NS__fromPairs, ___NS__functions, ___NS__functionsIn, ___NS__get, ___NS__groupBy, ___NS__gt, ___NS__gte, ___NS__has, ___NS__hasIn, ___NS__head, ___NS__identity, ___NS__includes, ___NS__indexOf, ___NS__initial, ___NS__inRange, ___NS__intersection, ___NS__intersectionBy, ___NS__intersectionWith, ___NS__invert, ___NS__invertBy, ___NS__invoke, ___NS__invokeMap, ___NS__isArguments, ___NS__isArray, ___NS__isArrayBuffer, ___NS__isArrayLike, ___NS__isArrayLikeObject, ___NS__isBoolean, ___NS__isBuffer, ___NS__isDate, ___NS__isElement, ___NS__isEmpty, ___NS__isEqual, ___NS__isEqualWith, ___NS__isError, ___NS__isFinite, ___NS__isFunction, ___NS__isInteger, ___NS__isLength, ___NS__isMap, ___NS__isMatch, ___NS__isMatchWith, ___NS__isNaN, ___NS__isNative, ___NS__isNil, ___NS__isNull, ___NS__isNumber, ___NS__isObject, ___NS__isObjectLike, ___NS__isPlainObject, ___NS__isRegExp, ___NS__isSafeInteger, ___NS__isSet, ___NS__isString, ___NS__isSymbol, ___NS__isTypedArray, ___NS__isUndefined, ___NS__isWeakMap, ___NS__isWeakSet, ___NS__iteratee, ___NS__join, ___NS__kebabCase, ___NS__keyBy, ___NS__keys, ___NS__keysIn, ___NS__last, ___NS__lastIndexOf, ___NS__lowerCase, ___NS__lowerFirst, ___NS__lt, ___NS__lte, ___NS__map, ___NS__mapKeys, ___NS__mapValues, ___NS__matches, ___NS__matchesProperty, ___NS__max, ___NS__maxBy, ___NS__mean, ___NS__meanBy, ___NS__memoize, ___NS__merge, ___NS__mergeWith, ___NS__method, ___NS__methodOf, ___NS__min, ___NS__minBy, ___NS__mixin, ___NS__multiply, ___NS__negate, ___NS__noop, ___NS__now, ___NS__nth, ___NS__nthArg, ___NS__omit, ___NS__omitBy, ___NS__once, ___NS__orderBy, ___NS__over, ___NS__overArgs, ___NS__overEvery, ___NS__overSome, ___NS__pad, ___NS__padEnd, ___NS__padStart, ___NS__parseInt, ___NS__partial, ___NS__partialRight, ___NS__partition, ___NS__pick, ___NS__pickBy, ___NS__property, ___NS__propertyOf, ___NS__pull, ___NS__pullAll, ___NS__pullAllBy, ___NS__pullAllWith, ___NS__pullAt, ___NS__random, ___NS__range, ___NS__rangeRight, ___NS__rearg, ___NS__reduce, ___NS__reduceRight, ___NS__reject, ___NS__remove, ___NS__repeat, ___NS__replace, ___NS__rest, ___NS__result, ___NS__reverse, ___NS__round, ___NS__sample, ___NS__sampleSize, ___NS__set, ___NS__setWith, ___NS__shuffle, ___NS__size, ___NS__slice, ___NS__snakeCase, ___NS__some, ___NS__sortBy, ___NS__sortedIndex, ___NS__sortedIndexBy, ___NS__sortedIndexOf, ___NS__sortedLastIndex, ___NS__sortedLastIndexBy, ___NS__sortedLastIndexOf, ___NS__sortedUniq, ___NS__sortedUniqBy, ___NS__split, ___NS__spread, ___NS__startCase, ___NS__startsWith, ___NS__stubArray, ___NS__stubFalse, ___NS__stubObject, ___NS__stubString, ___NS__stubTrue, ___NS__subtract, ___NS__sum, ___NS__sumBy, ___NS__tail, ___NS__take, ___NS__takeRight, ___NS__takeRightWhile, ___NS__takeWhile, ___NS__tap, ___NS__template, ___NS__templateSettings, ___NS__throttle, ___NS__thru, ___NS__times, ___NS__toArray, ___NS__toFinite, ___NS__toInteger, ___NS__toLength, ___NS__toLower, ___NS__toNumber, ___NS__toPairs, ___NS__toPairsIn, ___NS__toPath, ___NS__toPlainObject, ___NS__toSafeInteger, ___NS__toString, ___NS__toUpper, ___NS__transform, ___NS__trim, ___NS__trimEnd, ___NS__trimStart, ___NS__truncate, ___NS__unary, ___NS__unescape, ___NS__union, ___NS__unionBy, ___NS__unionWith, ___NS__uniq, ___NS__uniqBy, ___NS__uniqueId, ___NS__uniqWith, ___NS__unset, ___NS__unzip, ___NS__unzipWith, ___NS__update, ___NS__updateWith, ___NS__upperCase, ___NS__upperFirst, ___NS__values, ___NS__valuesIn, ___NS__without, ___NS__words, ___NS__wrap, ___NS__xor, ___NS__xorBy, ___NS__xorWith, ___NS__zip, ___NS__zipObject, ___NS__zipObjectDeep, ___NS__zipWith, UtilsOs__NS__commandExistsAsync, UtilsOs__NS__commandExistsSync, UtilsOs__NS__detectEditor, UtilsOs__NS__drawHorizontalLine, UtilsOs__NS__drawVerticalLine, UtilsOs__NS__Editor, UtilsOs__NS__EDITOR_PROCESSES, UtilsOs__NS__EditorArr, UtilsOs__NS__EditorProcess, UtilsOs__NS__getEditorSettingsJsonPath, UtilsOs__NS__getInotifyWatchCount, UtilsOs__NS__getRealHomeDir, UtilsOs__NS__isBrowser, UtilsOs__NS__isDockerAvailable, UtilsOs__NS__isElectron, UtilsOs__NS__isNode, UtilsOs__NS__isNodeVersionOk, UtilsOs__NS__isPortInUse, UtilsOs__NS__isRunningInBrowser, UtilsOs__NS__isRunningInCliMode, UtilsOs__NS__isRunningInDocker, UtilsOs__NS__isRunningInElectron, UtilsOs__NS__isRunningInLinuxGraphicsCapableEnvironment, UtilsOs__NS__isRunningInMochaTest, UtilsOs__NS__isRunningInNode, UtilsOs__NS__isRunningInOsWithGraphicsCapableEnvironment, UtilsOs__NS__isRunningInSSRMode, UtilsOs__NS__isRunningInVscodeExtension, UtilsOs__NS__isRunningInWebSQL, UtilsOs__NS__isRunningInWindows, UtilsOs__NS__isRunningInWindowsCmd, UtilsOs__NS__isRunningInWindowsPowerShell, UtilsOs__NS__isRunningInWsl, UtilsOs__NS__isRunningNodeDebugger, UtilsOs__NS__isSSRMode, UtilsOs__NS__isVscodeExtension, UtilsOs__NS__isWebSQL, UtilsOs__NS__killAllEditor, UtilsOs__NS__openFolderInFileExplorer, UtilsOs__NS__pipxNestedPackageExists, UtilsOs__NS__pipxPackageExists, UtilsOs__NS__pythonModuleExists, UtilsOs__NS__safeExitProgramCleanUp, UtilsOs__NS__sendNotification } from 'tnp-core/browser-prod';\n\n//#region use all of this in new implementation\n\ninterface StorOptions<T = any> {\n defaultValue?: T;\n transformFrom?: (valueFromDb: any) => T;\n transformTo?: (valueToDb: T) => any;\n\n /**\n * property key in class\n * OR path to file/json\n */\n keyOrPath?: string;\n}\n\nconst isBrowser = UtilsOs__NS__isBrowser;\nconst isNode = UtilsOs__NS__isNode;\n\nconst safeLocationPort = (): string => {\n try {\n return (globalThis as any)?.location?.port || 'no-port';\n } catch {\n return 'no-port';\n }\n};\n\nconst storeName = `taon-storage_${safeLocationPort()}`;\n\nconst defaultNamespace = (): string => {\n const project = ___NS__kebabCase(globalThis['CURRENT_PROJECT_GENERIC_NAME'] ?? '');\n return project ? `${storeName}_${project}` : storeName;\n};\n\nconst StorConfig = {\n namespace: defaultNamespace(),\n indexedDb: {\n dbName: `${defaultNamespace()}_INDEXEDDB`,\n storeName: 'keyvaluepairs',\n },\n};\n\ntype ClassLike = Function | { name: string } | undefined;\n\nconst 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\nconst keyValue = (scopeClass: ClassLike, memberName: string) => {\n const c = normalizeScopeClass(scopeClass);\n return `${StorConfig.namespace}::taon.storage.class.${c.name}.prop.${memberName}`;\n};\n\nconst keyDefaultValueAlreadySet = (\n scopeClass: ClassLike,\n memberName: string,\n): string => {\n return `${keyValue(scopeClass, memberName)}::defaultvalueisset`;\n};\n//#endregion\n\n//#region core\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\n//#region local storage\nclass LocalStorageStore implements AsyncKVStore {\n async getItem<T>(key: string): Promise<T | undefined> {\n if (!isBrowser) return undefined;\n const raw = localStorage.getItem(key);\n if (raw == null) return undefined;\n try {\n return JSON.parse(raw);\n } catch {\n return raw as any;\n }\n }\n\n async setItem<T>(key: string, value: T): Promise<void> {\n if (!isBrowser) return;\n localStorage.setItem(key, JSON.stringify(value));\n }\n\n async removeItem(key: string): Promise<void> {\n if (!isBrowser) return;\n localStorage.removeItem(key);\n }\n}\n//#endregion\n\n//#region session storage\nclass SessionStorageStore extends LocalStorageStore {\n override async getItem<T>(key: string): Promise<T | undefined> {\n if (!isBrowser) return undefined;\n const raw = sessionStorage.getItem(key);\n if (raw == null) return undefined;\n try {\n return JSON.parse(raw);\n } catch {\n return raw as any;\n }\n }\n\n override async setItem<T>(key: string, value: T): Promise<void> {\n if (!isBrowser) return;\n sessionStorage.setItem(key, JSON.stringify(value));\n }\n\n override async removeItem(key: string): Promise<void> {\n if (!isBrowser) return;\n sessionStorage.removeItem(key);\n }\n}\n//#endregion\n\n//#region indexed db store\nclass IndexedDbStore 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//#endregion\n\n//#region file stor\nclass FileStor implements AsyncKVStore {\n constructor(\n private filePath: string,\n private useJSON = false,\n ) {}\n\n private isNodeRuntime(): boolean {\n return UtilsOs__NS__isNode;\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//#endregion\n\n// --- global registry\nconst ALL_READY: Promise<void>[] = [];\n\n//#endregion\n\n//#region signal wrapper\nexport interface StorSignal<T> {\n (): T;\n set(v: T): Promise<void>;\n ready(): Promise<void>;\n signal: WritableSignal<T>;\n}\n\nfunction createStorSignal<T>(\n key: string,\n store: AsyncKVStore,\n options: StorOptions<T>,\n): StorSignal<T> {\n const hasDefault = options.defaultValue !== undefined;\n\n const s = signal<T>(options.defaultValue as T);\n\n const readyPromise = (async () => {\n // SSR: just use default\n if (!isBrowser && !isNode) {\n return;\n }\n\n const stored = await store.getItem<any>(key);\n\n if (stored !== undefined) {\n const v = options.transformFrom ? options.transformFrom(stored) : stored;\n\n s.set(v);\n } else if (hasDefault) {\n const toDb = options.transformTo\n ? options.transformTo(options.defaultValue as T)\n : options.defaultValue;\n\n await store.setItem(key, toDb as any);\n s.set(options.defaultValue as T);\n }\n })();\n\n ALL_READY.push(readyPromise);\n\n const fn = (() => s()) as StorSignal<T>;\n\n fn.signal = s;\n\n fn.set = async (v: T) => {\n s.set(v);\n\n const toDb = options.transformTo ? options.transformTo(v) : (v as any);\n\n await store.setItem(key, toDb);\n };\n\n fn.ready = () => readyPromise;\n\n return fn;\n}\n//#endregion\n\nconst create = <T>(\n engine: AsyncKVStore,\n scopeClass: ClassLike | undefined,\n memberName: string,\n options: StorOptions<T>,\n): StorSignal<T> => {\n const key = keyValue(scopeClass, memberName);\n return createStorSignal<T>(key, engine, options);\n};\n\nconst local = new LocalStorageStore();\nconst session = new SessionStorageStore();\nconst indexedDBInstace = new IndexedDbStore();\n\n//#region API\n//namespace TaonStor\n\n export function TaonStor__NS__inLocalstorage<T>(\n options: StorOptions<T>,\n scopeClass?: ClassLike,\n ): StorSignal<T> {\n return create(\n local,\n scopeClass,\n options.keyOrPath ?? '__global__',\n options,\n );\n }\n\n export function TaonStor__NS__inSessionStorage<T>(\n options: StorOptions<T>,\n scopeClass?: ClassLike,\n ): StorSignal<T> {\n return create(\n session,\n scopeClass,\n options.keyOrPath ?? '__global__',\n options,\n );\n }\n\n export function TaonStor__NS__inIndexedDbStorage<T>(\n options: StorOptions<T>,\n scopeClass?: ClassLike,\n ): StorSignal<T> {\n return create(\n indexedDBInstace,\n scopeClass,\n options.keyOrPath ?? '__global__',\n options,\n );\n }\n\n export function TaonStor__NS__inFile<T>(\n options: StorOptions<T>,\n scopeClass?: ClassLike,\n ): StorSignal<T> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n export function TaonStor__NS__inJson<T>(\n options: StorOptions<T>,\n scopeClass?: ClassLike,\n ): StorSignal<T> {\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n/* */\n return (void 0);\n }\n\n export async function TaonStor__NS__awaitAll(): Promise<void> {\n await Promise.all(ALL_READY);\n }\n\n//end of namespace TaonStor\n\n//#endregion\n\n/**\n * exampel useage\n *\n * class SomeAngularComponentOrWhatever {\n *\n * positionX = TaonStor__NS__inLocalstorage({\n * defaultValue: 0\n * });\n *\n * async ngOnInit() {\n * console.log(this.positionX()) // I wonder if this can be angular signal\n *\n * this.positionX.set(12)\n *\n * await this.positionX.ready(); // but with addional this\n * }\n *\n * }\n *\n\n *\n */","// export * from './storage';\nexport * from './taon-stor';\n// export * from './storage';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;AAiBA,MAAM,SAAS,GAAG,sBAAsB;AACxC,MAAM,MAAM,GAAG,mBAAmB;AAElC,MAAM,gBAAgB,GAAG,MAAa;AACpC,IAAA,IAAI;AACF,QAAA,OAAQ,UAAkB,EAAE,QAAQ,EAAE,IAAI,IAAI,SAAS;IACzD;AAAE,IAAA,MAAM;AACN,QAAA,OAAO,SAAS;IAClB;AACF,CAAC;AAED,MAAM,SAAS,GAAG,CAAA,aAAA,EAAgB,gBAAgB,EAAE,EAAE;AAEtD,MAAM,gBAAgB,GAAG,MAAa;IACpC,MAAM,OAAO,GAAG,gBAAgB,CAAC,UAAU,CAAC,8BAA8B,CAAC,IAAI,EAAE,CAAC;AAClF,IAAA,OAAO,OAAO,GAAG,CAAA,EAAG,SAAS,CAAA,CAAA,EAAI,OAAO,CAAA,CAAE,GAAG,SAAS;AACxD,CAAC;AAED,MAAM,UAAU,GAAG;IACjB,SAAS,EAAE,gBAAgB,EAAE;AAC7B,IAAA,SAAS,EAAE;AACT,QAAA,MAAM,EAAE,CAAA,EAAG,gBAAgB,EAAE,CAAA,UAAA,CAAY;AACzC,QAAA,SAAS,EAAE,eAAe;AAC3B,KAAA;CACF;AAID,MAAM,mBAAmB,GAAG,CAAC,GAAc,KAAsB;AAC/D,IAAA,IAAI,CAAC,GAAG;AAAE,QAAA,OAAO,EAAE,IAAI,EAAE,sBAAsB,EAAE;;IAEjD,IAAI,OAAO,GAAG,KAAK,UAAU;QAC3B,OAAO,EAAE,IAAI,EAAG,GAAW,CAAC,IAAI,IAAI,UAAU,EAAE;;IAElD,OAAO,EAAE,IAAI,EAAG,GAAW,CAAC,IAAI,IAAI,UAAU,EAAE;AAClD,CAAC;AAED,MAAM,QAAQ,GAAG,CAAC,UAAqB,EAAE,UAAkB,KAAI;AAC7D,IAAA,MAAM,CAAC,GAAG,mBAAmB,CAAC,UAAU,CAAC;IACzC,OAAO,CAAA,EAAG,UAAU,CAAC,SAAS,CAAA,qBAAA,EAAwB,CAAC,CAAC,IAAI,CAAA,MAAA,EAAS,UAAU,CAAA,CAAE;AACnF,CAAC;AAED,MAAM,yBAAyB,GAAG,CAChC,UAAqB,EACrB,UAAkB,KACR;IACV,OAAO,CAAA,EAAG,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,qBAAqB;AACjE,CAAC;AAWD;AACA,MAAM,iBAAiB,CAAA;IACrB,MAAM,OAAO,CAAI,GAAW,EAAA;AAC1B,QAAA,IAAI,CAAC,SAAS;AAAE,YAAA,OAAO,SAAS;QAChC,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;QACrC,IAAI,GAAG,IAAI,IAAI;AAAE,YAAA,OAAO,SAAS;AACjC,QAAA,IAAI;AACF,YAAA,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;QACxB;AAAE,QAAA,MAAM;AACN,YAAA,OAAO,GAAU;QACnB;IACF;AAEA,IAAA,MAAM,OAAO,CAAI,GAAW,EAAE,KAAQ,EAAA;AACpC,QAAA,IAAI,CAAC,SAAS;YAAE;AAChB,QAAA,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAClD;IAEA,MAAM,UAAU,CAAC,GAAW,EAAA;AAC1B,QAAA,IAAI,CAAC,SAAS;YAAE;AAChB,QAAA,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC;IAC9B;AACD;AACD;AAEA;AACA,MAAM,mBAAoB,SAAQ,iBAAiB,CAAA;IACxC,MAAM,OAAO,CAAI,GAAW,EAAA;AACnC,QAAA,IAAI,CAAC,SAAS;AAAE,YAAA,OAAO,SAAS;QAChC,MAAM,GAAG,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI;AAAE,YAAA,OAAO,SAAS;AACjC,QAAA,IAAI;AACF,YAAA,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;QACxB;AAAE,QAAA,MAAM;AACN,YAAA,OAAO,GAAU;QACnB;IACF;AAES,IAAA,MAAM,OAAO,CAAI,GAAW,EAAE,KAAQ,EAAA;AAC7C,QAAA,IAAI,CAAC,SAAS;YAAE;AAChB,QAAA,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACpD;IAES,MAAM,UAAU,CAAC,GAAW,EAAA;AACnC,QAAA,IAAI,CAAC,SAAS;YAAE;AAChB,QAAA,cAAc,CAAC,UAAU,CAAC,GAAG,CAAC;IAChC;AACD;AACD;AAEA;AACA,MAAM,cAAc,CAAA;AAApB,IAAA,WAAA,GAAA;QACU,IAAA,CAAA,SAAS,GAAgC,IAAI;IAuEvD;IArEU,MAAM,GAAA;QACZ,IAAI,CAAC,SAAS,IAAI,CAAE,MAAc,CAAC,SAAS,EAAE;YAC5C,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7D;QACA,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC,SAAS;QAEzC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC,SAAS;QAElD,IAAI,CAAC,SAAS,GAAG,IAAI,OAAO,CAAc,CAAC,OAAO,EAAE,MAAM,KAAI;YAC5D,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AAErC,YAAA,GAAG,CAAC,eAAe,GAAG,MAAK;AACzB,gBAAA,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM;gBACrB,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;AAC5C,oBAAA,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;gBACjC;AACF,YAAA,CAAC;AAED,YAAA,GAAG,CAAC,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;AACzC,YAAA,GAAG,CAAC,OAAO,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;AACvC,QAAA,CAAC,CAAC;QAEF,OAAO,IAAI,CAAC,SAAS;IACvB;AAEQ,IAAA,MAAM,SAAS,CACrB,IAAwB,EACxB,EAA4C,EAAA;AAE5C,QAAA,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE;AAC9B,QAAA,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC,SAAS;QAE1C,OAAO,MAAM,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,KAAI;YAC9C,MAAM,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC;YAC1C,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC;AACvC,YAAA,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC;AAErB,YAAA,GAAG,CAAC,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;AACzC,YAAA,GAAG,CAAC,OAAO,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;AAErC,YAAA,EAAE,CAAC,OAAO,GAAG,MAAM,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC;;AAErC,QAAA,CAAC,CAAC;IACJ;IAEA,MAAM,OAAO,CAAI,GAAW,EAAA;AAC1B,QAAA,IAAI;YACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAChE,OAAQ,MAAc,KAAK,SAAS,GAAG,SAAS,GAAI,MAAc;QACpE;AAAE,QAAA,MAAM;AACN,YAAA,OAAO,SAAS;QAClB;IACF;AAEA,IAAA,MAAM,OAAO,CAAI,GAAW,EAAE,KAAQ,EAAA;AACpC,QAAA,IAAI;AACF,YAAA,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,KAAY,EAAE,GAAG,CAAC,CAAC;QAClE;AAAE,QAAA,MAAM;;QAER;IACF;IAEA,MAAM,UAAU,CAAC,GAAW,EAAA;AAC1B,QAAA,IAAI;AACF,YAAA,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAQ,CAAC;QAC9D;AAAE,QAAA,MAAM;;QAER;IACF;AACD;AACD;AAEA;AACA,MAAM,QAAQ,CAAA;IACZ,WAAA,CACU,QAAgB,EAChB,OAAA,GAAU,KAAK,EAAA;QADf,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,OAAO,GAAP,OAAO;IACd;IAEK,aAAa,GAAA;AACnB,QAAA,OAAO,mBAAmB;IAC5B;AAEA,IAAA,MAAM,OAAO,CAAI,IAAY,EAAE,KAAQ,EAAA;AACrC,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YAAE;;;;;;;;;;AAUzB,QAAA,QAAQ,KAAK,CAAC;IAClB;IAEA,MAAM,OAAO,CAAI,IAAY,EAAA;AAC3B,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;AAAE,YAAA,OAAO,SAAS;;;;;;;;;;;AAWzC,QAAA,QAAQ,KAAK,CAAC;IAClB;IAEA,MAAM,UAAU,CAAC,IAAY,EAAA;AAC3B,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;YAAE;;;;;;;;AAQzB,QAAA,QAAQ,KAAK,CAAC;IAClB;AACD;AACD;AAEA;AACA,MAAM,SAAS,GAAoB,EAAE;AAYrC,SAAS,gBAAgB,CACvB,GAAW,EACX,KAAmB,EACnB,OAAuB,EAAA;AAEvB,IAAA,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,KAAK,SAAS;IAErD,MAAM,CAAC,GAAG,MAAM,CAAI,OAAO,CAAC,YAAiB,6CAAC;AAE9C,IAAA,MAAM,YAAY,GAAG,CAAC,YAAW;;AAE/B,QAAA,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,EAAE;YACzB;QACF;QAEA,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAM,GAAG,CAAC;AAE5C,QAAA,IAAI,MAAM,KAAK,SAAS,EAAE;AACxB,YAAA,MAAM,CAAC,GAAG,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,MAAM;AAExE,YAAA,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACV;aAAO,IAAI,UAAU,EAAE;AACrB,YAAA,MAAM,IAAI,GAAG,OAAO,CAAC;kBACjB,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,YAAiB;AAC/C,kBAAE,OAAO,CAAC,YAAY;YAExB,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,IAAW,CAAC;AACrC,YAAA,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,YAAiB,CAAC;QAClC;IACF,CAAC,GAAG;AAEJ,IAAA,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC;IAE5B,MAAM,EAAE,IAAI,MAAM,CAAC,EAAE,CAAkB;AAEvC,IAAA,EAAE,CAAC,MAAM,GAAG,CAAC;AAEb,IAAA,EAAE,CAAC,GAAG,GAAG,OAAO,CAAI,KAAI;AACtB,QAAA,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAER,QAAA,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,GAAI,CAAS;QAEtE,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC;AAChC,IAAA,CAAC;AAED,IAAA,EAAE,CAAC,KAAK,GAAG,MAAM,YAAY;AAE7B,IAAA,OAAO,EAAE;AACX;AACA;AAEA,MAAM,MAAM,GAAG,CACb,MAAoB,EACpB,UAAiC,EACjC,UAAkB,EAClB,OAAuB,KACN;IACjB,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAC5C,OAAO,gBAAgB,CAAI,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC;AAClD,CAAC;AAED,MAAM,KAAK,GAAG,IAAI,iBAAiB,EAAE;AACrC,MAAM,OAAO,GAAG,IAAI,mBAAmB,EAAE;AACzC,MAAM,gBAAgB,GAAG,IAAI,cAAc,EAAE;AAE7C;AACA;AAEQ,SAAU,4BAA4B,CAC1C,OAAuB,EACvB,UAAsB,EAAA;AAEtB,IAAA,OAAO,MAAM,CACX,KAAK,EACL,UAAU,EACV,OAAO,CAAC,SAAS,IAAI,YAAY,EACjC,OAAO,CACR;AACH;AAEM,SAAU,8BAA8B,CAC5C,OAAuB,EACvB,UAAsB,EAAA;AAEtB,IAAA,OAAO,MAAM,CACX,OAAO,EACP,UAAU,EACV,OAAO,CAAC,SAAS,IAAI,YAAY,EACjC,OAAO,CACR;AACH;AAEM,SAAU,gCAAgC,CAC9C,OAAuB,EACvB,UAAsB,EAAA;AAEtB,IAAA,OAAO,MAAM,CACX,gBAAgB,EAChB,UAAU,EACV,OAAO,CAAC,SAAS,IAAI,YAAY,EACjC,OAAO,CACR;AACH;AAEM,SAAU,oBAAoB,CAClC,OAAuB,EACvB,UAAsB,EAAA;;;;;;;;;AAUtB,IAAA,QAAQ,KAAK,CAAC;AAChB;AAEM,SAAU,oBAAoB,CAClC,OAAuB,EACvB,UAAsB,EAAA;;;;;;;;;AAUtB,IAAA,QAAQ,KAAK,CAAC;AAChB;AAEO,eAAe,sBAAsB,GAAA;AAC1C,IAAA,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;AAC9B;AAEF;AAEA;AAEA;;;;;;;;;;;;;;;;;;;;;AAqBG;;AC/aH;AAEA;;ACFA;;AAEG;;;;"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "taon-storage/browser-prod",
3
- "version": "21.0.35",
3
+ "version": "21.0.37",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^21.0.0",
6
6
  "@angular/core": "^21.0.0"
@@ -21,4 +21,4 @@ export declare const CURRENT_PACKAGE_TAON_VERSION = "v21";
21
21
  /**
22
22
  * Autogenerated by current cli tool. Use *tnp release* to bump version.
23
23
  */
24
- export declare const CURRENT_PACKAGE_VERSION = "21.0.35";
24
+ export declare const CURRENT_PACKAGE_VERSION = "21.0.37";
@@ -25,6 +25,6 @@ exports.CURRENT_PACKAGE_TAON_VERSION = 'v21';
25
25
  /**
26
26
  * Autogenerated by current cli tool. Use *tnp release* to bump version.
27
27
  */
28
- exports.CURRENT_PACKAGE_VERSION = '21.0.35';
28
+ exports.CURRENT_PACKAGE_VERSION = '21.0.37';
29
29
  // THIS FILE IS GENERATED - DO NOT MODIFY
30
30
  //# sourceMappingURL=build-info._auto-generated_.js.map
package/lib/package.json CHANGED
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "name": "taon-storage/lib",
3
- "version": "21.0.35"
3
+ "version": "21.0.37"
4
4
  }
@@ -0,0 +1,2 @@
1
+ declare function start(): Promise<void>;
2
+ export default start;
@@ -0,0 +1,2 @@
1
+ declare function startElectron(): Promise<void>;
2
+ export default startElectron;
@@ -0,0 +1,83 @@
1
+ import { CLIENT_DEV_NORMAL_APP_PORT, CLIENT_DEV_WEBSQL_APP_PORT } from './app.hosts';
2
+ import { path,
3
+ //#region @backend
4
+ fse
5
+ //#endregion
6
+ } from 'tnp-core/lib';
7
+ //#region @backend
8
+ import { app, BrowserWindow, screen } from 'electron';
9
+ let win = null;
10
+ const args = process.argv.slice(1);
11
+ const serve = args.some(val => val === '--serve');
12
+ const websql = args.some(val => val === '--websql');
13
+ function createWindow() {
14
+ const size = screen.getPrimaryDisplay().workAreaSize;
15
+ // Create the browser window.
16
+ win = new BrowserWindow({
17
+ x: 0,
18
+ y: 0,
19
+ autoHideMenuBar: true,
20
+ width: size.width / 2,
21
+ height: size.height / 2,
22
+ webPreferences: {
23
+ nodeIntegration: true,
24
+ allowRunningInsecureContent: (serve),
25
+ contextIsolation: false,
26
+ },
27
+ });
28
+ if (serve) {
29
+ const debug = require('electron-debug');
30
+ debug();
31
+ require('electron-reloader')(module);
32
+ win.loadURL('http://localhost:' + (websql ? CLIENT_DEV_WEBSQL_APP_PORT : CLIENT_DEV_NORMAL_APP_PORT));
33
+ }
34
+ else {
35
+ // Path when running electron executable
36
+ let pathIndex = './index.html';
37
+ if (fse.existsSync(path.join(__dirname, '../dist/index.html'))) {
38
+ // Path when running electron in local folder
39
+ pathIndex = '../dist/index.html';
40
+ }
41
+ const url = new URL(path.join('file:', __dirname, pathIndex));
42
+ win.loadURL(url.href);
43
+ }
44
+ // Emitted when the window is closed.
45
+ win.on('closed', () => {
46
+ // Dereference the window object, usually you would store window
47
+ // in an array if your app supports multi windows, this is the time
48
+ // when you should delete the corresponding element.
49
+ win = null;
50
+ });
51
+ return win;
52
+ }
53
+ async function startElectron() {
54
+ try {
55
+ // This method will be called when Electron has finished
56
+ // initialization and is ready to create browser windows.
57
+ // Some APIs can only be used after this event occurs.
58
+ // Added 400 ms to fix the black background issue while using transparent window. More detais at https://github.com/electron/electron/issues/15947
59
+ app.on('ready', () => setTimeout(createWindow, 400));
60
+ // Quit when all windows are closed.
61
+ app.on('window-all-closed', () => {
62
+ // On OS X it is common for applications and their menu bar
63
+ // to stay active until the user quits explicitly with Cmd + Q
64
+ if (process.platform !== 'darwin') {
65
+ app.quit();
66
+ }
67
+ });
68
+ app.on('activate', () => {
69
+ // On OS X it's common to re-create a window in the app when the
70
+ // dock icon is clicked and there are no other windows open.
71
+ if (win === null) {
72
+ createWindow();
73
+ }
74
+ });
75
+ }
76
+ catch (e) {
77
+ // Catch Error
78
+ // throw e;
79
+ }
80
+ }
81
+ export default startElectron;
82
+ //#endregion
83
+ //# sourceMappingURL=app.electron.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.electron.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Your context backend port
3
+ *
4
+ */
5
+ export declare const HOST_BACKEND_PORT_1: any;
6
+ /**
7
+ * Angular website url with normal/nodejs backend
8
+ *
9
+ */
10
+ export declare const FRONTEND_NORMAL_APP_PORT_1: any;
11
+ /**
12
+ * @deprecated use FRONTEND_NORMAL_APP_PORT instead
13
+ */
14
+ export declare const CLIENT_DEV_NORMAL_APP_PORT_1: any;
15
+ /**
16
+ * Angular website url with websql backend
17
+ *
18
+ */
19
+ export declare const FRONTEND_WEBSQL_APP_PORT_1: any;
20
+ /**
21
+ * @deprecated use FRONTEND_WEBSQL_APP_PORT instead
22
+ */
23
+ export declare const CLIENT_DEV_WEBSQL_APP_PORT_1: any;
24
+ /**
25
+ * Electron/angular website url for electron app purpose (ipc backend)
26
+ */
27
+ export declare const FRONTEND_NORMAL_ELECTRON_PORT_1 = 4287;
28
+ /**
29
+ * Backend url - use as "host" inside your context
30
+ *
31
+ */
32
+ export declare const HOST_URL_1: string;
33
+ /**
34
+ * Frontend host url - use as "frontendHost" inside your context
35
+ *
36
+ */
37
+ export declare const FRONTEND_HOST_URL_1: string;
38
+ /**
39
+ * Frontend electron host url - use in app.electron.ts with win.loadURL(FRONTEND_HOST_URL_ELECTRON);
40
+ */
41
+ export declare const FRONTEND_HOST_URL_ELECTRON_1: string;
42
+ /**
43
+ * Your context backend port
44
+ * @deprecated use HOST_BACKEND_PORT_n instead
45
+ */
46
+ export declare const HOST_BACKEND_PORT: any;
47
+ /**
48
+ * Angular website url with normal/nodejs backend
49
+ * @deprecated use FRONTEND_NORMAL_APP_PORT_n instead
50
+ */
51
+ export declare const FRONTEND_NORMAL_APP_PORT: any;
52
+ /**
53
+ * @deprecated use FRONTEND_NORMAL_APP_PORT instead
54
+ */
55
+ export declare const CLIENT_DEV_NORMAL_APP_PORT: any;
56
+ /**
57
+ * Angular website url with websql backend
58
+ * @deprecated use FRONTEND_WEBSQL_APP_PORT_n instead
59
+ */
60
+ export declare const FRONTEND_WEBSQL_APP_PORT: any;
61
+ /**
62
+ * @deprecated use FRONTEND_WEBSQL_APP_PORT instead
63
+ */
64
+ export declare const CLIENT_DEV_WEBSQL_APP_PORT: any;
65
+ /**
66
+ * Electron/angular website url for electron app purpose (ipc backend)
67
+ */
68
+ export declare const FRONTEND_NORMAL_ELECTRON_PORT = 4287;
69
+ /**
70
+ * Backend url - use as "host" inside your context
71
+ * @deprecated use HOST_URL_n instead
72
+ */
73
+ export declare const HOST_URL: string;
74
+ /**
75
+ * Frontend host url - use as "frontendHost" inside your context
76
+ * @deprecated use FRONTEND_HOST_URL_n instead
77
+ */
78
+ export declare const FRONTEND_HOST_URL: string;
79
+ /**
80
+ * Frontend electron host url - use in app.electron.ts with win.loadURL(FRONTEND_HOST_URL_ELECTRON);
81
+ */
82
+ export declare const FRONTEND_HOST_URL_ELECTRON: string;
83
+ export declare const HOST_CONFIG: {
84
+ /** Relative file path for context */
85
+ /** Name of context (var, let, const variable) inside *.ts file. */
86
+ MainContext: {
87
+ activeContext: string;
88
+ contextName: string;
89
+ hostPortNumber: number;
90
+ host: string;
91
+ frontendHostPortNumber: number;
92
+ frontendHost: string;
93
+ appId: string;
94
+ };
95
+ };
@@ -0,0 +1,157 @@
1
+ // THIS FILE IS GENERATED - DO NOT MODIFY
2
+ import { APP_ID, BUILD_BASE_HREF } from './lib/build-info._auto-generated_';
3
+ let isWebSQLMode = false;
4
+ //#region @backend
5
+ isWebSQLMode = false;
6
+ //#endregion
7
+ /* */
8
+ /* */
9
+ const nodeENV = (() => {
10
+ let env;
11
+ //#region @backend
12
+ env = process.env || {};
13
+ //#endregion
14
+ return env || {};
15
+ })();
16
+ const windowENV = (() => {
17
+ let env;
18
+ /* */
19
+ /* */
20
+ return env || {};
21
+ })();
22
+ const argsENV = (() => {
23
+ let env;
24
+ //#region @backend
25
+ env = require('minimist')(process.argv);
26
+ //#endregion
27
+ return env || {};
28
+ })();
29
+ const transformURL = (url) => {
30
+ if (!url) {
31
+ return url;
32
+ }
33
+ //#region @backend
34
+ if (url.startsWith('http://') || url.startsWith('https://')) {
35
+ return url;
36
+ }
37
+ return 'http://' + url; // by default backend is http
38
+ //#endregion
39
+ /* */
40
+ /* */
41
+ /* */
42
+ /* */
43
+ /* */
44
+ };
45
+ const ACTIVE_CONTEXT = nodeENV['ACTIVE_CONTEXT'] || argsENV['ACTIVE_CONTEXT'] || windowENV['ACTIVE_CONTEXT'] || null;
46
+ /**
47
+ * Your context backend port
48
+ *
49
+ */
50
+ export const HOST_BACKEND_PORT_1 = (nodeENV['HOST_BACKEND_PORT_1']) || (windowENV['HOST_BACKEND_PORT_1']) || (argsENV['HOST_BACKEND_PORT_1']) || 4127;
51
+ /**
52
+ * Angular website url with normal/nodejs backend
53
+ *
54
+ */
55
+ export const FRONTEND_NORMAL_APP_PORT_1 = (nodeENV['FRONTEND_NORMAL_APP_PORT_1']) || (windowENV['FRONTEND_NORMAL_APP_PORT_1']) || (argsENV['FRONTEND_NORMAL_APP_PORT_1']) || 4285;
56
+ /**
57
+ * @deprecated use FRONTEND_NORMAL_APP_PORT instead
58
+ */
59
+ export const CLIENT_DEV_NORMAL_APP_PORT_1 = FRONTEND_NORMAL_APP_PORT_1;
60
+ /**
61
+ * Angular website url with websql backend
62
+ *
63
+ */
64
+ export const FRONTEND_WEBSQL_APP_PORT_1 = (nodeENV['FRONTEND_WEBSQL_APP_PORT_1']) || (windowENV['FRONTEND_WEBSQL_APP_PORT_1']) || (argsENV['FRONTEND_WEBSQL_APP_PORT_1']) || 4284;
65
+ /**
66
+ * @deprecated use FRONTEND_WEBSQL_APP_PORT instead
67
+ */
68
+ export const CLIENT_DEV_WEBSQL_APP_PORT_1 = FRONTEND_WEBSQL_APP_PORT_1;
69
+ /**
70
+ * Electron/angular website url for electron app purpose (ipc backend)
71
+ */
72
+ export const FRONTEND_NORMAL_ELECTRON_PORT_1 = 4287;
73
+ // electron websql not supported yet
74
+ // export const FRONTEND_WEBSQL_ELECTRON_PORT_1 = undefined;
75
+ /**
76
+ * Backend url - use as "host" inside your context
77
+ *
78
+ */
79
+ export const HOST_URL_1 = transformURL(nodeENV['HOST_URL_1']) || transformURL(windowENV['HOST_URL_1']) || transformURL(argsENV['HOST_URL_1']) || ('http://localhost:' + HOST_BACKEND_PORT_1);
80
+ /**
81
+ * Frontend host url - use as "frontendHost" inside your context
82
+ *
83
+ */
84
+ export const FRONTEND_HOST_URL_1 = transformURL(nodeENV['FRONTEND_HOST_URL_1']) || transformURL(windowENV['FRONTEND_HOST_URL_1']) || transformURL(argsENV['FRONTEND_HOST_URL_1']) || ('http://localhost:' +
85
+ (isWebSQLMode ? FRONTEND_WEBSQL_APP_PORT_1 : FRONTEND_NORMAL_APP_PORT_1));
86
+ /**
87
+ * Frontend electron host url - use in app.electron.ts with win.loadURL(FRONTEND_HOST_URL_ELECTRON);
88
+ */
89
+ export const FRONTEND_HOST_URL_ELECTRON_1 = 'http://localhost:' + FRONTEND_NORMAL_ELECTRON_PORT_1;
90
+ // electron websql not supported yet
91
+ // export const FRONTEND_HOST_URL_ELECTRON_1 =
92
+ // 'http://localhost:' +
93
+ // (isWebSQLMode ? FRONTEND_WEBSQL_ELECTRON_PORT_1 : FRONTEND_NORMAL_ELECTRON_PORT_1);
94
+ /**
95
+ * Your context backend port
96
+ * @deprecated use HOST_BACKEND_PORT_n instead
97
+ */
98
+ export const HOST_BACKEND_PORT = (nodeENV['HOST_BACKEND_PORT']) || (windowENV['HOST_BACKEND_PORT']) || (argsENV['HOST_BACKEND_PORT']) || HOST_BACKEND_PORT_1;
99
+ /**
100
+ * Angular website url with normal/nodejs backend
101
+ * @deprecated use FRONTEND_NORMAL_APP_PORT_n instead
102
+ */
103
+ export const FRONTEND_NORMAL_APP_PORT = (nodeENV['FRONTEND_NORMAL_APP_PORT']) || (windowENV['FRONTEND_NORMAL_APP_PORT']) || (argsENV['FRONTEND_NORMAL_APP_PORT']) || FRONTEND_NORMAL_APP_PORT_1;
104
+ /**
105
+ * @deprecated use FRONTEND_NORMAL_APP_PORT instead
106
+ */
107
+ export const CLIENT_DEV_NORMAL_APP_PORT = FRONTEND_NORMAL_APP_PORT;
108
+ /**
109
+ * Angular website url with websql backend
110
+ * @deprecated use FRONTEND_WEBSQL_APP_PORT_n instead
111
+ */
112
+ export const FRONTEND_WEBSQL_APP_PORT = (nodeENV['FRONTEND_WEBSQL_APP_PORT']) || (windowENV['FRONTEND_WEBSQL_APP_PORT']) || (argsENV['FRONTEND_WEBSQL_APP_PORT']) || FRONTEND_WEBSQL_APP_PORT_1;
113
+ /**
114
+ * @deprecated use FRONTEND_WEBSQL_APP_PORT instead
115
+ */
116
+ export const CLIENT_DEV_WEBSQL_APP_PORT = FRONTEND_WEBSQL_APP_PORT;
117
+ /**
118
+ * Electron/angular website url for electron app purpose (ipc backend)
119
+ */
120
+ export const FRONTEND_NORMAL_ELECTRON_PORT = FRONTEND_NORMAL_ELECTRON_PORT_1;
121
+ // electron websql not supported yet
122
+ // export const FRONTEND_WEBSQL_ELECTRON_PORT = FRONTEND_WEBSQL_ELECTRON_PORT_1;
123
+ /**
124
+ * Backend url - use as "host" inside your context
125
+ * @deprecated use HOST_URL_n instead
126
+ */
127
+ export const HOST_URL = transformURL(nodeENV['HOST_URL']) || transformURL(windowENV['HOST_URL']) || transformURL(argsENV['HOST_URL']) || ('http://localhost:' + HOST_BACKEND_PORT);
128
+ /**
129
+ * Frontend host url - use as "frontendHost" inside your context
130
+ * @deprecated use FRONTEND_HOST_URL_n instead
131
+ */
132
+ export const FRONTEND_HOST_URL = transformURL(nodeENV['FRONTEND_HOST_URL']) || transformURL(windowENV['FRONTEND_HOST_URL']) || transformURL(argsENV['FRONTEND_HOST_URL']) || ('http://localhost:' +
133
+ (isWebSQLMode ? FRONTEND_WEBSQL_APP_PORT : FRONTEND_NORMAL_APP_PORT));
134
+ /**
135
+ * Frontend electron host url - use in app.electron.ts with win.loadURL(FRONTEND_HOST_URL_ELECTRON);
136
+ */
137
+ export const FRONTEND_HOST_URL_ELECTRON = 'http://localhost:' + FRONTEND_NORMAL_ELECTRON_PORT;
138
+ // electron websql not supported yet
139
+ // export const FRONTEND_HOST_URL_ELECTRON =
140
+ // 'http://localhost:' +
141
+ // (isWebSQLMode ? FRONTEND_WEBSQL_ELECTRON_PORT : FRONTEND_NORMAL_ELECTRON_PORT);
142
+ export const HOST_CONFIG = {
143
+ /** Relative file path for context */
144
+ //'app.ts'
145
+ /** Name of context (var, let, const variable) inside *.ts file. */
146
+ 'MainContext': {
147
+ activeContext: ACTIVE_CONTEXT,
148
+ contextName: 'MainContext',
149
+ hostPortNumber: Number(HOST_BACKEND_PORT_1),
150
+ host: HOST_URL_1 + BUILD_BASE_HREF,
151
+ frontendHostPortNumber: Number(FRONTEND_NORMAL_APP_PORT_1),
152
+ frontendHost: FRONTEND_HOST_URL_1 + BUILD_BASE_HREF,
153
+ appId: APP_ID,
154
+ }
155
+ };
156
+ // THIS FILE IS GENERATED - DO NOT MODIFY
157
+ //# sourceMappingURL=app.hosts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.hosts.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
package/lib-esm/app.js ADDED
@@ -0,0 +1,121 @@
1
+ // @ts-nocheck
2
+ //#region imports
3
+ import { Taon, TaonBaseContext } from 'taon/lib';
4
+ import { HOST_BACKEND_PORT } from './app.hosts';
5
+ /* */
6
+ /* */
7
+ /* */
8
+ /* */
9
+ /* */
10
+ /* */
11
+ //#endregion
12
+ console.log('hello world');
13
+ console.log('Your server will start on port ' + HOST_BACKEND_PORT);
14
+ const host = 'http://localhost:' + HOST_BACKEND_PORT;
15
+ //#region taon-storage component
16
+ /* */
17
+ /* */
18
+ /* */
19
+ /* */
20
+ /* */
21
+ /* */
22
+ /* */
23
+ /* */
24
+ /* */
25
+ /* */
26
+ /* */
27
+ /* */
28
+ /* */
29
+ /* */
30
+ /* */
31
+ /* */
32
+ /* */
33
+ /* */
34
+ /* */
35
+ /* */
36
+ /* */
37
+ /* */
38
+ /* */
39
+ /* */
40
+ //#endregion
41
+ //#region taon-storage api service
42
+ /* */
43
+ /* */
44
+ /* */
45
+ /* */
46
+ /* */
47
+ /* */
48
+ /* */
49
+ /* */
50
+ /* */
51
+ /* */
52
+ /* */
53
+ /* */
54
+ //#endregion
55
+ //#region taon-storage module
56
+ /* */
57
+ /* */
58
+ /* */
59
+ /* */
60
+ /* */
61
+ /* */
62
+ /* */
63
+ //#endregion
64
+ //#region taon-storage entity
65
+ let User = class User extends Taon.Base.AbstractEntity {
66
+ //#region @websql
67
+ //#endregion
68
+ name;
69
+ };
70
+ __decorate([
71
+ Taon.Orm.Column.String()
72
+ //#endregion
73
+ ,
74
+ __metadata("design:type", String)
75
+ ], User.prototype, "name", void 0);
76
+ User = __decorate([
77
+ Taon.Entity({ className: 'User' })
78
+ ], User);
79
+ //#endregion
80
+ //#region taon-storage controller
81
+ let UserController = class UserController extends Taon.Base.CrudController {
82
+ entityClassResolveFn = () => User;
83
+ //#region @websql
84
+ async initExampleDbData() {
85
+ const superAdmin = new User();
86
+ superAdmin.name = 'super-admin';
87
+ await this.db.save(superAdmin);
88
+ }
89
+ };
90
+ UserController = __decorate([
91
+ Taon.Controller({ className: 'UserController' })
92
+ ], UserController);
93
+ //#endregion
94
+ //#region taon-storage context
95
+ var MainContext = Taon.createContext(() => ({
96
+ host,
97
+ contextName: 'MainContext',
98
+ contexts: { TaonBaseContext },
99
+ controllers: {
100
+ UserController,
101
+ // PUT FIREDEV CONTORLLERS HERE
102
+ },
103
+ entities: {
104
+ User,
105
+ // PUT FIREDEV ENTITIES HERE
106
+ },
107
+ database: true,
108
+ // disabledRealtime: true,
109
+ }));
110
+ //#endregion
111
+ async function start() {
112
+ await MainContext.initialize();
113
+ if (Taon.isBrowser) {
114
+ const users = (await MainContext.getClassInstance(UserController).getAll().received).body?.json;
115
+ console.log({
116
+ 'users from backend': users,
117
+ });
118
+ }
119
+ }
120
+ export default start;
121
+ //# sourceMappingURL=app.js.map