taon 21.0.127 → 21.0.133

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 (118) hide show
  1. package/VERIFIED-BUILD-DATA.jsonc +2 -2
  2. package/bin/start.js +1 -1
  3. package/browser/fesm2022/taon-browser.mjs +205 -8
  4. package/browser/fesm2022/taon-browser.mjs.map +1 -1
  5. package/browser/package.json +1 -1
  6. package/browser/types/taon-browser.d.ts +34 -5
  7. package/browser-prod/fesm2022/taon-browser-prod.mjs +206 -9
  8. package/browser-prod/fesm2022/taon-browser-prod.mjs.map +1 -1
  9. package/browser-prod/package.json +1 -1
  10. package/browser-prod/types/taon-browser-prod.d.ts +34 -5
  11. package/icon-menu-taon.svg +15 -15
  12. package/lib/base-classes/base-kv-repository.d.ts +0 -3
  13. package/lib/base-classes/base-kv-repository.js +51 -58
  14. package/lib/base-classes/base-kv-repository.js.map +1 -1
  15. package/lib/base-classes/base-kv-repository.test.d.ts +1 -0
  16. package/lib/base-classes/base-kv-repository.test.js +291 -0
  17. package/lib/base-classes/base-kv-repository.test.js.map +1 -0
  18. package/lib/base-classes/base-kv-sync-repository.d.ts +30 -0
  19. package/lib/base-classes/base-kv-sync-repository.js +151 -0
  20. package/lib/base-classes/base-kv-sync-repository.js.map +1 -0
  21. package/lib/base-classes/base-kv-sync-repository.test.d.ts +1 -0
  22. package/lib/base-classes/base-kv-sync-repository.test.js +281 -0
  23. package/lib/base-classes/base-kv-sync-repository.test.js.map +1 -0
  24. package/lib/build-info._auto-generated_.d.ts +1 -1
  25. package/lib/build-info._auto-generated_.js +1 -1
  26. package/lib/endpoint-context.js.map +1 -1
  27. package/lib/entity-process.js +3 -2
  28. package/lib/entity-process.js.map +1 -1
  29. package/lib/helpers/clone-obj.d.ts +3 -1
  30. package/lib/helpers/clone-obj.js +17 -2
  31. package/lib/helpers/clone-obj.js.map +1 -1
  32. package/lib/helpers/clone-obj.test.d.ts +1 -0
  33. package/lib/helpers/clone-obj.test.js +48 -0
  34. package/lib/helpers/clone-obj.test.js.map +1 -0
  35. package/lib/index.d.ts +1 -0
  36. package/lib/index.js +1 -0
  37. package/lib/index.js.map +1 -1
  38. package/lib/package.json +1 -1
  39. package/lib/ui/index.js +2 -2
  40. package/lib/ui/taon-admin-mode-configuration/index.js +2 -2
  41. package/lib-esm/app.electron.d.ts +1 -1
  42. package/lib-esm/app.electron.js +1 -1
  43. package/lib-esm/app.vscode.d.ts +1 -1
  44. package/lib-esm/app.vscode.js +1 -1
  45. package/lib-esm/lib/base-classes/base-kv-repository.d.ts +0 -3
  46. package/lib-esm/lib/base-classes/base-kv-repository.js +21 -28
  47. package/lib-esm/lib/base-classes/base-kv-repository.js.map +1 -1
  48. package/lib-esm/lib/base-classes/base-kv-repository.test.d.ts +1 -0
  49. package/lib-esm/lib/base-classes/base-kv-repository.test.js +289 -0
  50. package/lib-esm/lib/base-classes/base-kv-repository.test.js.map +1 -0
  51. package/lib-esm/lib/base-classes/base-kv-sync-repository.d.ts +30 -0
  52. package/lib-esm/lib/base-classes/base-kv-sync-repository.js +142 -0
  53. package/lib-esm/lib/base-classes/base-kv-sync-repository.js.map +1 -0
  54. package/lib-esm/lib/base-classes/base-kv-sync-repository.test.d.ts +1 -0
  55. package/lib-esm/lib/base-classes/base-kv-sync-repository.test.js +279 -0
  56. package/lib-esm/lib/base-classes/base-kv-sync-repository.test.js.map +1 -0
  57. package/lib-esm/lib/build-info._auto-generated_.d.ts +1 -1
  58. package/lib-esm/lib/build-info._auto-generated_.js +1 -1
  59. package/lib-esm/lib/endpoint-context.js.map +1 -1
  60. package/lib-esm/lib/entity-process.js +3 -2
  61. package/lib-esm/lib/entity-process.js.map +1 -1
  62. package/lib-esm/lib/helpers/clone-obj.d.ts +3 -1
  63. package/lib-esm/lib/helpers/clone-obj.js +17 -2
  64. package/lib-esm/lib/helpers/clone-obj.js.map +1 -1
  65. package/lib-esm/lib/helpers/clone-obj.test.d.ts +1 -0
  66. package/lib-esm/lib/helpers/clone-obj.test.js +46 -0
  67. package/lib-esm/lib/helpers/clone-obj.test.js.map +1 -0
  68. package/lib-esm/lib/index.d.ts +1 -0
  69. package/lib-esm/lib/index.js +1 -0
  70. package/lib-esm/lib/index.js.map +1 -1
  71. package/lib-esm/lib/ui/index.d.ts +1 -1
  72. package/lib-esm/lib/ui/index.js +1 -1
  73. package/lib-esm/lib/ui/taon-admin-mode-configuration/index.d.ts +1 -1
  74. package/lib-esm/lib/ui/taon-admin-mode-configuration/index.js +1 -1
  75. package/lib-prod/base-classes/base-kv-repository.d.ts +0 -3
  76. package/lib-prod/base-classes/base-kv-repository.js +21 -28
  77. package/lib-prod/base-classes/base-kv-repository.js.map +1 -1
  78. package/lib-prod/base-classes/base-kv-repository.test.d.ts +1 -0
  79. package/lib-prod/base-classes/base-kv-repository.test.js +289 -0
  80. package/lib-prod/base-classes/base-kv-repository.test.js.map +1 -0
  81. package/lib-prod/base-classes/base-kv-sync-repository.d.ts +30 -0
  82. package/lib-prod/base-classes/base-kv-sync-repository.js +142 -0
  83. package/lib-prod/base-classes/base-kv-sync-repository.js.map +1 -0
  84. package/lib-prod/base-classes/base-kv-sync-repository.test.d.ts +1 -0
  85. package/lib-prod/base-classes/base-kv-sync-repository.test.js +279 -0
  86. package/lib-prod/base-classes/base-kv-sync-repository.test.js.map +1 -0
  87. package/lib-prod/build-info._auto-generated_.d.ts +1 -1
  88. package/lib-prod/build-info._auto-generated_.js +1 -1
  89. package/lib-prod/create-context.js.map +1 -1
  90. package/lib-prod/endpoint-context.js.map +1 -1
  91. package/lib-prod/entity-process.js +3 -2
  92. package/lib-prod/entity-process.js.map +1 -1
  93. package/lib-prod/helpers/clone-obj.d.ts +3 -1
  94. package/lib-prod/helpers/clone-obj.js +17 -2
  95. package/lib-prod/helpers/clone-obj.js.map +1 -1
  96. package/lib-prod/helpers/clone-obj.test.d.ts +1 -0
  97. package/lib-prod/helpers/clone-obj.test.js +46 -0
  98. package/lib-prod/helpers/clone-obj.test.js.map +1 -0
  99. package/lib-prod/index.d.ts +1 -0
  100. package/lib-prod/index.js +1 -0
  101. package/lib-prod/index.js.map +1 -1
  102. package/lib-prod/package.json +1 -1
  103. package/lib-prod/realtime/realtime-client.js.map +1 -1
  104. package/lib-prod/realtime/realtime-core.js.map +1 -1
  105. package/lib-prod/realtime/realtime-server.js.map +1 -1
  106. package/lib-prod/ui/index.d.ts +1 -1
  107. package/lib-prod/ui/index.js +1 -1
  108. package/lib-prod/ui/taon-admin-mode-configuration/index.d.ts +1 -1
  109. package/lib-prod/ui/taon-admin-mode-configuration/index.js +1 -1
  110. package/package.json +5 -1
  111. package/websql/fesm2022/taon-websql.mjs +205 -8
  112. package/websql/fesm2022/taon-websql.mjs.map +1 -1
  113. package/websql/package.json +1 -1
  114. package/websql/types/taon-websql.d.ts +34 -5
  115. package/websql-prod/fesm2022/taon-websql-prod.mjs +206 -9
  116. package/websql-prod/fesm2022/taon-websql-prod.mjs.map +1 -1
  117. package/websql-prod/package.json +1 -1
  118. package/websql-prod/types/taon-websql-prod.d.ts +34 -5
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "taon/browser",
3
- "version": "21.0.127",
3
+ "version": "21.0.133",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^21.0.0",
6
6
  "@angular/core": "^21.0.0"
@@ -1645,9 +1645,6 @@ declare abstract class TaonBaseCrudController<Entity, UPLOAD_FILE_QUERY_PARAMS =
1645
1645
  }
1646
1646
 
1647
1647
  declare const KVexpirationsDbMetaKey = "__kvMeta.expirations";
1648
- /**
1649
- * Please override property entityClassFn with entity class.
1650
- */
1651
1648
  declare abstract class TaonBaseKvRepository<KV extends Record<string, any> = Record<string, any>> extends TaonBaseCustomRepository {
1652
1649
  private normalizeKey;
1653
1650
  private expirationPath;
@@ -1667,6 +1664,36 @@ declare abstract class TaonBaseKvRepository<KV extends Record<string, any> = Rec
1667
1664
  getAllData(): Promise<Partial<KV>>;
1668
1665
  }
1669
1666
 
1667
+ declare abstract class TaonBaseKvSyncRepository<KV extends Record<string, any> = Record<string, any>> extends TaonBaseCustomRepository {
1668
+ /**
1669
+ * In-memory data owned by this repository instance.
1670
+ *
1671
+ * Nothing is persisted to disk.
1672
+ */
1673
+ private readonly data;
1674
+ /**
1675
+ * Expiration timestamp indexed by normalized KV key.
1676
+ */
1677
+ private readonly expirations;
1678
+ private normalizeKey;
1679
+ private getExpirationTimestamp;
1680
+ private cleanupIfExpired;
1681
+ /**
1682
+ * Similar to set(), but when both the existing and incoming values
1683
+ * are objects, only incoming leaf properties are overwritten.
1684
+ *
1685
+ * Arrays are treated as values and replaced entirely.
1686
+ */
1687
+ merge<K extends keyof KV>(key: K, currentValue: KV[K]): void;
1688
+ set<K extends keyof KV>(key: K, value: KV[K]): void;
1689
+ get<K extends keyof KV>(key: K): KV[K] | undefined;
1690
+ delete<K extends keyof KV>(key: K): void;
1691
+ has<K extends keyof KV>(key: K): boolean;
1692
+ expire<K extends keyof KV>(key: K, ttlSeconds: number): void;
1693
+ ttl<K extends keyof KV>(key: K): number | undefined;
1694
+ getAllData(): Partial<KV>;
1695
+ }
1696
+
1670
1697
  /**
1671
1698
  * Configurable file upload middleware (multer based)
1672
1699
  */
@@ -1894,7 +1921,9 @@ declare namespace ClassHelpers {
1894
1921
  const getClassConfig: (constructor: Function) => Partial<ControllerConfig> | undefined;
1895
1922
  }
1896
1923
 
1897
- declare const cloneObj: <CloneT>(override: Partial<CloneT>, classFn: Function) => CloneT;
1924
+ declare const cloneObj: <CloneT>(override: Partial<CloneT>, classFn: Function, options?: {
1925
+ throwWhenSetError?: boolean;
1926
+ }) => CloneT;
1898
1927
 
1899
1928
  declare namespace TaonHelpers {
1900
1929
  const fillUpTo: (s: string, nCharacters: number) => string;
@@ -2244,5 +2273,5 @@ declare const TAON_FLATTEN_MAPPING: {
2244
2273
  };
2245
2274
  };
2246
2275
 
2247
- export { BaseTaonClassesNames, Body, BooleanColumn, CURRENT_HOST_BACKEND_PORT, CURRENT_HOST_URL, ClassHelpers, ContextDbMigrations, ContextsEndpointStorage, ControllerConfig, Cookie, DELETE, DITaonContainer, DateTimeColumn, DecimalNumberColumn, DecoratorAbstractOpt, EndpointContext, EntityProcess, FormlyHorizontalWrapper, GET, HEAD, HTML, Header, KVexpirationsDbMetaKey, MethodConfig, MockNamespaceIpc, MockServerIpc, MockSocketIpc, Models, NumberColumn, PATCH, POST, PUT, ParamConfig, Path, Query, RealtimeClient, RealtimeCore, RealtimeModels, RealtimeServer, RealtimeStrategy, RealtimeStrategyIpc, RealtimeStrategyMock, RealtimeStrategySocketIO, RealtimeSubsManager, RegisterComponentType, RegisterComponentTypeForEntity, RepeatTypeComponent, SimpleJsonColumn, String100Column, String200Column, String20Column, String45Column, String500Column, String50Column, StringColumn, Symbols, TAON_CONTEXT, TAON_FLATTEN_MAPPING, Taon, TaonAdmin, TaonAdminPanelMode, TaonAdminService, TaonBaseAbstractEntity, TaonBaseAngularService, TaonBaseClass, TaonBaseContext, TaonBaseController, TaonBaseCrudController, TaonBaseCustomRepository, TaonBaseEntity, TaonBaseFileUploadMiddleware, TaonBaseInjector, TaonBaseKvRepository, TaonBaseMiddleware, TaonBaseMigration, TaonBaseProvider, TaonBaseRepository, TaonBaseRepositoryClassName, TaonBaseSubscriberForEntity, TaonController, TaonControllerOptions, TaonEntity, TaonEntityKeysToOmitArr, TaonEntityOptions, TaonHelpers, TaonMiddleware, TaonMiddlewareOptions, TaonMigration, TaonMigrationOptions, TaonProvider, TaonProviderOptions, TaonRepository, TaonRepositoryOptions, TaonRestResponseWrapper, TaonSubscriber, TaonSubscriberOptions, TaonTempDatabasesFolder, TaonTempRoutesFolder, Validators, apiPrefix, cloneObj, controllerConfigFrom, createContext, createContextTemplate, findTypeForEntity, getFromlyConfigFor, getRegisteredComponents, getResponseValue, getTransformFunction, singleTransform, typeFromEntity, typeFromName };
2276
+ export { BaseTaonClassesNames, Body, BooleanColumn, CURRENT_HOST_BACKEND_PORT, CURRENT_HOST_URL, ClassHelpers, ContextDbMigrations, ContextsEndpointStorage, ControllerConfig, Cookie, DELETE, DITaonContainer, DateTimeColumn, DecimalNumberColumn, DecoratorAbstractOpt, EndpointContext, EntityProcess, FormlyHorizontalWrapper, GET, HEAD, HTML, Header, KVexpirationsDbMetaKey, MethodConfig, MockNamespaceIpc, MockServerIpc, MockSocketIpc, Models, NumberColumn, PATCH, POST, PUT, ParamConfig, Path, Query, RealtimeClient, RealtimeCore, RealtimeModels, RealtimeServer, RealtimeStrategy, RealtimeStrategyIpc, RealtimeStrategyMock, RealtimeStrategySocketIO, RealtimeSubsManager, RegisterComponentType, RegisterComponentTypeForEntity, RepeatTypeComponent, SimpleJsonColumn, String100Column, String200Column, String20Column, String45Column, String500Column, String50Column, StringColumn, Symbols, TAON_CONTEXT, TAON_FLATTEN_MAPPING, Taon, TaonAdmin, TaonAdminPanelMode, TaonAdminService, TaonBaseAbstractEntity, TaonBaseAngularService, TaonBaseClass, TaonBaseContext, TaonBaseController, TaonBaseCrudController, TaonBaseCustomRepository, TaonBaseEntity, TaonBaseFileUploadMiddleware, TaonBaseInjector, TaonBaseKvRepository, TaonBaseKvSyncRepository, TaonBaseMiddleware, TaonBaseMigration, TaonBaseProvider, TaonBaseRepository, TaonBaseRepositoryClassName, TaonBaseSubscriberForEntity, TaonController, TaonControllerOptions, TaonEntity, TaonEntityKeysToOmitArr, TaonEntityOptions, TaonHelpers, TaonMiddleware, TaonMiddlewareOptions, TaonMigration, TaonMigrationOptions, TaonProvider, TaonProviderOptions, TaonRepository, TaonRepositoryOptions, TaonRestResponseWrapper, TaonSubscriber, TaonSubscriberOptions, TaonTempDatabasesFolder, TaonTempRoutesFolder, Validators, apiPrefix, cloneObj, controllerConfigFrom, createContext, createContextTemplate, findTypeForEntity, getFromlyConfigFor, getRegisteredComponents, getResponseValue, getTransformFunction, singleTransform, typeFromEntity, typeFromName };
2248
2277
  export type { AbstractEntityOmitKeys, FormlyArrayTransformFn, FormlyEntityType, FormlyInputType, MigrationStatus, MulterFileUploadResponse, TaonAdditionalMiddlewareMethodInfo, TaonAdminTab, TaonContext, TaonEntityKeysToOmit, TaonHttpDecoratorOptions, TaonMiddlewareFunction, TaonMiddlewareInheritanceObj };
@@ -1,5 +1,5 @@
1
1
  import 'reflect-metadata';
2
- import { ___NS__camelCase, ___NS__isUndefined, ___NS__isArray, ___NS__isFunction, ___NS__isNull, CoreModels__NS__ClassNameStaticProperty, CoreModels__NS__OrignalClassKey, ___NS__isObject, ___NS__isRegExp, ___NS__isBuffer, ___NS__isArrayBuffer, ___NS__isDate, ___NS__isString, Utils__NS__uniqArray, ___NS__uniq, ___NS__times, ___NS__first, ___NS__cloneDeep, ___NS__merge, Helpers__NS__logInfo, UtilsOs__NS__isWebSQL, UtilsOs__NS__isElectron, Helpers__NS__error, UtilsOs__NS__isRunningInDocker, Helpers__NS__throwError, ___NS__isBoolean, ___NS__isNil, ___NS__set, Helpers__NS__info, ___NS__slice, ___NS__last, UtilsOs__NS__isNode, UtilsOs__NS__isBrowser, Helpers__NS__isBlob, config, CoreModels__NS__SPECIAL_APP_READY_MESSAGE, UtilsOs__NS__isRunningInCliMode, Helpers__NS__log, ___NS__isNumber, crossPlatformPath, UtilsTerminal__NS__waitMilliseconds, CoreModels__NS__TaonHttpErrorCustomProp, Helpers__NS__warn, ___NS__startCase } from 'tnp-core/browser-prod';
2
+ import { ___NS__camelCase, ___NS__isUndefined, ___NS__isArray, ___NS__isFunction, ___NS__isNull, CoreModels__NS__ClassNameStaticProperty, CoreModels__NS__OrignalClassKey, ___NS__isObject, ___NS__isRegExp, ___NS__isBuffer, ___NS__isArrayBuffer, ___NS__isDate, ___NS__isString, Utils__NS__uniqArray, ___NS__uniq, ___NS__times, ___NS__first, ___NS__cloneDeep, ___NS__merge, Helpers__NS__logInfo, UtilsOs__NS__isWebSQL, UtilsOs__NS__isElectron, Helpers__NS__error, UtilsOs__NS__isRunningInDocker, Helpers__NS__throwError, ___NS__isBoolean, ___NS__isNil, ___NS__set, Helpers__NS__info, ___NS__slice, ___NS__last, UtilsOs__NS__isNode, UtilsOs__NS__isBrowser, Helpers__NS__isBlob, config, CoreModels__NS__SPECIAL_APP_READY_MESSAGE, UtilsOs__NS__isRunningInCliMode, Helpers__NS__log, ___NS__isNumber, crossPlatformPath, UtilsTerminal__NS__waitMilliseconds, CoreModels__NS__TaonHttpErrorCustomProp, Helpers__NS__warn, ___NS__unset, ___NS__startCase } from 'tnp-core/browser-prod';
3
3
  import axios from 'axios';
4
4
  import { JSON10 } from 'json10/browser-prod';
5
5
  import { walk } from 'lodash-walk-object/browser-prod';
@@ -5867,10 +5867,11 @@ class EntityProcess {
5867
5867
  changeValue(singleTransform(value));
5868
5868
  }
5869
5869
  }
5870
- }, { checkCircural: true, breadthWalk: true, include });
5870
+ }, { checkCircural: true, breadthWalk: true, include, walkGetters: false });
5871
5871
  const { circs } = walk.Object(this.data, void 0, {
5872
5872
  checkCircural: true,
5873
5873
  breadthWalk: true,
5874
+ walkGetters: false,
5874
5875
  include,
5875
5876
  });
5876
5877
  this.circural = circs;
@@ -5927,7 +5928,7 @@ class EntityProcess {
5927
5928
  ___NS__set(toSend, lodashPath, value);
5928
5929
  }
5929
5930
  }
5930
- }, { checkCircural: true, breadthWalk: true, include });
5931
+ }, { checkCircural: true, breadthWalk: true, include, walkGetters: false });
5931
5932
  if (!___NS__isArray(this.data)) {
5932
5933
  let funParent = getTransformFunction(ClassHelpers__NS__getClassFnFromObject(this.data));
5933
5934
  // if (this.mdc && this.mdc.exclude && this.mdc.exclude.length > 0) {
@@ -5979,16 +5980,31 @@ class EntityProcess {
5979
5980
  }
5980
5981
  }
5981
5982
 
5982
- const cloneObj = (override, classFn) => {
5983
+ const cloneObj = (override, classFn, options) => {
5984
+ options = options || {};
5983
5985
  const result = new classFn();
5984
5986
  walk.Object(override || {}, (value, lodashPath) => {
5987
+ // console.log({ lodashPath });
5985
5988
  const valueIsEmptyArray = Array.isArray(value) && value.length === 0;
5986
5989
  if (!valueIsEmptyArray &&
5987
5990
  (___NS__isNil(value) || ___NS__isFunction(value) || ___NS__isObject(value))) {
5988
5991
  // skipping
5992
+ // console.log('skipping', lodashPath);
5989
5993
  }
5990
5994
  else {
5991
- ___NS__set(result, lodashPath, value);
5995
+ // console.log('setting', lodashPath);
5996
+ if (options.throwWhenSetError) {
5997
+ // TODO QUICK_FIX when I trying to override getters
5998
+ ___NS__set(result, lodashPath, value);
5999
+ }
6000
+ else {
6001
+ try {
6002
+ ___NS__set(result, lodashPath, value);
6003
+ }
6004
+ catch (error) {
6005
+ console.warn(error);
6006
+ }
6007
+ }
5992
6008
  }
5993
6009
  }, {
5994
6010
  walkGetters: false,
@@ -7668,9 +7684,6 @@ TaonBaseCrudController = __decorate([
7668
7684
  ], TaonBaseCrudController);
7669
7685
 
7670
7686
  const KVexpirationsDbMetaKey = '__kvMeta.expirations';
7671
- /**
7672
- * Please override property entityClassFn with entity class.
7673
- */
7674
7687
  let TaonBaseKvRepository = class TaonBaseKvRepository extends TaonBaseCustomRepository {
7675
7688
  //#region lowdb for development
7676
7689
  /* */
@@ -7816,6 +7829,8 @@ let TaonBaseKvRepository = class TaonBaseKvRepository extends TaonBaseCustomRepo
7816
7829
  /* */
7817
7830
  /* */
7818
7831
  /* */
7832
+ /* */
7833
+ /* */
7819
7834
  return (void 0);
7820
7835
  }
7821
7836
  async set(key, value) {
@@ -7938,6 +7953,188 @@ TaonBaseKvRepository = __decorate([
7938
7953
  TaonRepository({ className: 'TaonBaseKvRepository' })
7939
7954
  ], TaonBaseKvRepository);
7940
7955
 
7956
+ //#endregion
7957
+ let TaonBaseKvSyncRepository = class TaonBaseKvSyncRepository extends TaonBaseCustomRepository {
7958
+ constructor() {
7959
+ //#region fields
7960
+ super(...arguments);
7961
+ /**
7962
+ * In-memory data owned by this repository instance.
7963
+ *
7964
+ * Nothing is persisted to disk.
7965
+ */
7966
+ this.data = {};
7967
+ /**
7968
+ * Expiration timestamp indexed by normalized KV key.
7969
+ */
7970
+ this.expirations = new Map();
7971
+ }
7972
+ //#endregion
7973
+ //#region private helpers
7974
+ normalizeKey(key) {
7975
+ return String(key);
7976
+ }
7977
+ getExpirationTimestamp(key) {
7978
+ return this.expirations.get(this.normalizeKey(key));
7979
+ }
7980
+ cleanupIfExpired(key) {
7981
+ const normalizedKey = this.normalizeKey(key);
7982
+ const expiresAt = this.expirations.get(normalizedKey);
7983
+ if (!___NS__isNumber(expiresAt) || Date.now() < expiresAt) {
7984
+ return false;
7985
+ }
7986
+ ___NS__unset(this.data, normalizedKey);
7987
+ this.expirations.delete(normalizedKey);
7988
+ return true;
7989
+ }
7990
+ //#endregion
7991
+ /**
7992
+ * Similar to set(), but when both the existing and incoming values
7993
+ * are objects, only incoming leaf properties are overwritten.
7994
+ *
7995
+ * Arrays are treated as values and replaced entirely.
7996
+ */
7997
+ merge(key, currentValue) {
7998
+ /* */
7999
+ /* */
8000
+ /* */
8001
+ /* */
8002
+ /* */
8003
+ /* */
8004
+ /* */
8005
+ /* */
8006
+ /* */
8007
+ /* */
8008
+ /* */
8009
+ /* */
8010
+ /* */
8011
+ /* */
8012
+ /* */
8013
+ /* */
8014
+ /* */
8015
+ /* */
8016
+ /* */
8017
+ /* */
8018
+ /* */
8019
+ /* */
8020
+ /* */
8021
+ /* */
8022
+ /* */
8023
+ /* */
8024
+ /* */
8025
+ /* */
8026
+ /* */
8027
+ /* */
8028
+ /* */
8029
+ /* */
8030
+ /* */
8031
+ /* */
8032
+ /* */
8033
+ return (void 0);
8034
+ }
8035
+ set(key, value) {
8036
+ /* */
8037
+ /* */
8038
+ /* */
8039
+ /* */
8040
+ /* */
8041
+ /* */
8042
+ /* */
8043
+ /* */
8044
+ /* */
8045
+ return (void 0);
8046
+ }
8047
+ get(key) {
8048
+ /* */
8049
+ /* */
8050
+ /* */
8051
+ /* */
8052
+ /* */
8053
+ /* */
8054
+ /* */
8055
+ /* */
8056
+ return (void 0);
8057
+ }
8058
+ delete(key) {
8059
+ /* */
8060
+ /* */
8061
+ /* */
8062
+ /* */
8063
+ /* */
8064
+ /* */
8065
+ /* */
8066
+ return (void 0);
8067
+ }
8068
+ has(key) {
8069
+ /* */
8070
+ /* */
8071
+ /* */
8072
+ /* */
8073
+ /* */
8074
+ /* */
8075
+ /* */
8076
+ /* */
8077
+ return (void 0);
8078
+ }
8079
+ expire(key, ttlSeconds) {
8080
+ /* */
8081
+ /* */
8082
+ /* */
8083
+ /* */
8084
+ /* */
8085
+ /* */
8086
+ /* */
8087
+ /* */
8088
+ /* */
8089
+ /* */
8090
+ /* */
8091
+ /* */
8092
+ return (void 0);
8093
+ }
8094
+ ttl(key) {
8095
+ /* */
8096
+ /* */
8097
+ /* */
8098
+ /* */
8099
+ /* */
8100
+ /* */
8101
+ /* */
8102
+ /* */
8103
+ /* */
8104
+ /* */
8105
+ /* */
8106
+ /* */
8107
+ /* */
8108
+ /* */
8109
+ /* */
8110
+ /* */
8111
+ /* */
8112
+ /* */
8113
+ /* */
8114
+ /* */
8115
+ /* */
8116
+ /* */
8117
+ /* */
8118
+ /* */
8119
+ /* */
8120
+ return (void 0);
8121
+ }
8122
+ getAllData() {
8123
+ /* */
8124
+ /* */
8125
+ /* */
8126
+ /* */
8127
+ /* */
8128
+ /* */
8129
+ /* */
8130
+ /* */
8131
+ return (void 0);
8132
+ }
8133
+ };
8134
+ TaonBaseKvSyncRepository = __decorate([
8135
+ TaonRepository({ className: 'TaonBaseKvSyncRepository' })
8136
+ ], TaonBaseKvSyncRepository);
8137
+
7941
8138
  class TaonBaseMigration extends TaonBaseInjector {
7942
8139
  /**
7943
8140
  * by default is READY to run
@@ -8865,5 +9062,5 @@ const TAON_FLATTEN_MAPPING = {
8865
9062
  * Generated bundle index. Do not edit.
8866
9063
  */
8867
9064
 
8868
- export { BaseTaonClassesNames, Body, BooleanColumn, CURRENT_HOST_BACKEND_PORT, CURRENT_HOST_URL, ClassHelpers__NS__asyncHandler, ClassHelpers__NS__ensureClassConfig, ClassHelpers__NS__ensureMethodConfig, ClassHelpers__NS__getClassConfig, ClassHelpers__NS__getClassFnFromObject, ClassHelpers__NS__getControllerConfigs, ClassHelpers__NS__getFullInternalName, ClassHelpers__NS__getMethodsNames, ClassHelpers__NS__getName, ClassHelpers__NS__getOrginalClass, ClassHelpers__NS__getUniqueKey, ClassHelpers__NS__hasParentClassWithName, ClassHelpers__NS__isContextClassObject, ClassHelpers__NS__setName, ContextDbMigrations, ContextsEndpointStorage, ControllerConfig, Cookie, DELETE, DITaonContainer, DateTimeColumn, DecimalNumberColumn, DecoratorAbstractOpt, EndpointContext, EntityProcess, FormlyHorizontalWrapper, GET, HEAD, HTML, Header, KVexpirationsDbMetaKey, MethodConfig, MockNamespaceIpc, MockServerIpc, MockSocketIpc, Models__NS__ClassType, Models__NS__ClassTypeKey, Models__NS__DatabaseConfig, Models__NS__DatabaseConfigTypeOrm, Models__NS__DatabasesFolder, Models__NS__KVDatabaseConfig, NumberColumn, PATCH, POST, PUT, ParamConfig, Path, Query, RealtimeClient, RealtimeCore, RealtimeServer, RealtimeStrategy, RealtimeStrategyIpc, RealtimeStrategyMock, RealtimeStrategySocketIO, RealtimeSubsManager, RegisterComponentType, RegisterComponentTypeForEntity, RepeatTypeComponent, SimpleJsonColumn, String100Column, String200Column, String20Column, String45Column, String500Column, String50Column, StringColumn, Symbols__NS__REALTIME, Symbols__NS__classMethodsNames, Symbols__NS__ctxInClassOrClassObj, Symbols__NS__fullClassNameStaticProperty, Symbols__NS__metadata, Symbols__NS__old, Symbols__NS__orignalClassClonesObj, Symbols__NS__taonInstanceId, TAON_CONTEXT, TAON_FLATTEN_MAPPING, TaonAdmin, TaonAdminPanelMode, TaonAdminService, TaonBaseAbstractEntity, TaonBaseAngularService, TaonBaseClass, TaonBaseContext, TaonBaseController, TaonBaseCrudController, TaonBaseCustomRepository, TaonBaseEntity, TaonBaseFileUploadMiddleware, TaonBaseInjector, TaonBaseKvRepository, TaonBaseMiddleware, TaonBaseMigration, TaonBaseProvider, TaonBaseRepository, TaonBaseRepositoryClassName, TaonBaseSubscriberForEntity, TaonController, TaonControllerOptions, TaonEntity, TaonEntityKeysToOmitArr, TaonEntityOptions, TaonHelpers__NS__defaultType, TaonHelpers__NS__fillUpTo, TaonHelpers__NS__firstStringOrElemFromArray, TaonHelpers__NS__getExpressPath, TaonHelpers__NS__ipcKeyNameRequest, TaonHelpers__NS__ipcKeyNameResponse, TaonHelpers__NS__isGoodPath, TaonHelpers__NS__isPlainFileOrFolder, TaonHelpers__NS__parseJSONwithStringJSONs, TaonHelpers__NS__tryTransformParam, TaonHelpers__NS__websqlMocks, TaonMiddleware, TaonMiddlewareOptions, TaonMigration, TaonMigrationOptions, TaonProvider, TaonProviderOptions, TaonRepository, TaonRepositoryOptions, TaonRestResponseWrapper, TaonSubscriber, TaonSubscriberOptions, TaonTempDatabasesFolder, TaonTempRoutesFolder, Taon__NS__LANG_IMPORT_MAP, Taon__NS____FILE_RELATIVE_PATH, Taon__NS__asset, Taon__NS__assetsFrom, Taon__NS__assetsListFrom, Taon__NS__createContext, Taon__NS__createContextTemplate, Taon__NS__error, Taon__NS__getResponseValue, Taon__NS__isBrowser, Taon__NS__isElectron, Taon__NS__isNode, Taon__NS__isWebSQL, Taon__NS__removeLoader, Validators__NS__checkIfMethodsWithReponseTYpeAlowed, Validators__NS__classNameVlidation, Validators__NS__preventUndefinedModel, Validators__NS__validateClassFunctions, apiPrefix, cloneObj, controllerConfigFrom, createContext, createContextTemplate, findTypeForEntity, getFromlyConfigFor, getRegisteredComponents, getResponseValue, getTransformFunction, singleTransform, typeFromEntity, typeFromName };
9065
+ export { BaseTaonClassesNames, Body, BooleanColumn, CURRENT_HOST_BACKEND_PORT, CURRENT_HOST_URL, ClassHelpers__NS__asyncHandler, ClassHelpers__NS__ensureClassConfig, ClassHelpers__NS__ensureMethodConfig, ClassHelpers__NS__getClassConfig, ClassHelpers__NS__getClassFnFromObject, ClassHelpers__NS__getControllerConfigs, ClassHelpers__NS__getFullInternalName, ClassHelpers__NS__getMethodsNames, ClassHelpers__NS__getName, ClassHelpers__NS__getOrginalClass, ClassHelpers__NS__getUniqueKey, ClassHelpers__NS__hasParentClassWithName, ClassHelpers__NS__isContextClassObject, ClassHelpers__NS__setName, ContextDbMigrations, ContextsEndpointStorage, ControllerConfig, Cookie, DELETE, DITaonContainer, DateTimeColumn, DecimalNumberColumn, DecoratorAbstractOpt, EndpointContext, EntityProcess, FormlyHorizontalWrapper, GET, HEAD, HTML, Header, KVexpirationsDbMetaKey, MethodConfig, MockNamespaceIpc, MockServerIpc, MockSocketIpc, Models__NS__ClassType, Models__NS__ClassTypeKey, Models__NS__DatabaseConfig, Models__NS__DatabaseConfigTypeOrm, Models__NS__DatabasesFolder, Models__NS__KVDatabaseConfig, NumberColumn, PATCH, POST, PUT, ParamConfig, Path, Query, RealtimeClient, RealtimeCore, RealtimeServer, RealtimeStrategy, RealtimeStrategyIpc, RealtimeStrategyMock, RealtimeStrategySocketIO, RealtimeSubsManager, RegisterComponentType, RegisterComponentTypeForEntity, RepeatTypeComponent, SimpleJsonColumn, String100Column, String200Column, String20Column, String45Column, String500Column, String50Column, StringColumn, Symbols__NS__REALTIME, Symbols__NS__classMethodsNames, Symbols__NS__ctxInClassOrClassObj, Symbols__NS__fullClassNameStaticProperty, Symbols__NS__metadata, Symbols__NS__old, Symbols__NS__orignalClassClonesObj, Symbols__NS__taonInstanceId, TAON_CONTEXT, TAON_FLATTEN_MAPPING, TaonAdmin, TaonAdminPanelMode, TaonAdminService, TaonBaseAbstractEntity, TaonBaseAngularService, TaonBaseClass, TaonBaseContext, TaonBaseController, TaonBaseCrudController, TaonBaseCustomRepository, TaonBaseEntity, TaonBaseFileUploadMiddleware, TaonBaseInjector, TaonBaseKvRepository, TaonBaseKvSyncRepository, TaonBaseMiddleware, TaonBaseMigration, TaonBaseProvider, TaonBaseRepository, TaonBaseRepositoryClassName, TaonBaseSubscriberForEntity, TaonController, TaonControllerOptions, TaonEntity, TaonEntityKeysToOmitArr, TaonEntityOptions, TaonHelpers__NS__defaultType, TaonHelpers__NS__fillUpTo, TaonHelpers__NS__firstStringOrElemFromArray, TaonHelpers__NS__getExpressPath, TaonHelpers__NS__ipcKeyNameRequest, TaonHelpers__NS__ipcKeyNameResponse, TaonHelpers__NS__isGoodPath, TaonHelpers__NS__isPlainFileOrFolder, TaonHelpers__NS__parseJSONwithStringJSONs, TaonHelpers__NS__tryTransformParam, TaonHelpers__NS__websqlMocks, TaonMiddleware, TaonMiddlewareOptions, TaonMigration, TaonMigrationOptions, TaonProvider, TaonProviderOptions, TaonRepository, TaonRepositoryOptions, TaonRestResponseWrapper, TaonSubscriber, TaonSubscriberOptions, TaonTempDatabasesFolder, TaonTempRoutesFolder, Taon__NS__LANG_IMPORT_MAP, Taon__NS____FILE_RELATIVE_PATH, Taon__NS__asset, Taon__NS__assetsFrom, Taon__NS__assetsListFrom, Taon__NS__createContext, Taon__NS__createContextTemplate, Taon__NS__error, Taon__NS__getResponseValue, Taon__NS__isBrowser, Taon__NS__isElectron, Taon__NS__isNode, Taon__NS__isWebSQL, Taon__NS__removeLoader, Validators__NS__checkIfMethodsWithReponseTYpeAlowed, Validators__NS__classNameVlidation, Validators__NS__preventUndefinedModel, Validators__NS__validateClassFunctions, apiPrefix, cloneObj, controllerConfigFrom, createContext, createContextTemplate, findTypeForEntity, getFromlyConfigFor, getRegisteredComponents, getResponseValue, getTransformFunction, singleTransform, typeFromEntity, typeFromName };
8869
9066
  //# sourceMappingURL=taon-browser-prod.mjs.map