taon 21.0.102 → 21.0.104

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 (455) hide show
  1. package/VERIFIED-BUILD-DATA.jsonc +3 -3
  2. package/bin/start.js +2 -0
  3. package/bin/taon +5 -5
  4. package/bin/taon-debug +5 -5
  5. package/bin/taon-debug-brk +4 -4
  6. package/browser/fesm2022/taon-browser.mjs +428 -336
  7. package/browser/fesm2022/taon-browser.mjs.map +1 -1
  8. package/browser/package.json +1 -1
  9. package/browser/types/taon-browser.d.ts +959 -932
  10. package/browser-prod/fesm2022/taon-browser-prod.mjs +427 -336
  11. package/browser-prod/fesm2022/taon-browser-prod.mjs.map +1 -1
  12. package/browser-prod/package.json +1 -1
  13. package/browser-prod/types/taon-browser-prod.d.ts +994 -967
  14. package/browser-prod.split-namespaces.json +5 -3
  15. package/icon-menu-taon.svg +15 -15
  16. package/lib/base-classes/base-angular-service.d.ts +2 -6
  17. package/lib/base-classes/base-angular-service.js +8 -23
  18. package/lib/base-classes/base-angular-service.js.map +1 -1
  19. package/lib/base-classes/base-crud-controller.js.map +1 -1
  20. package/lib/base-classes/base-injector.d.ts +21 -11
  21. package/lib/base-classes/base-injector.js +65 -85
  22. package/lib/base-classes/base-injector.js.map +1 -1
  23. package/lib/base-classes/base-kv-repository.d.ts +10 -2
  24. package/lib/base-classes/base-kv-repository.js +92 -27
  25. package/lib/base-classes/base-kv-repository.js.map +1 -1
  26. package/lib/base-classes/base-repository.js +2 -1
  27. package/lib/base-classes/base-repository.js.map +1 -1
  28. package/lib/build-info._auto-generated_.d.ts +3 -3
  29. package/lib/build-info._auto-generated_.js +3 -3
  30. package/lib/build-info._auto-generated_.js.map +1 -1
  31. package/lib/constants.d.ts +1 -0
  32. package/lib/constants.js +2 -1
  33. package/lib/constants.js.map +1 -1
  34. package/lib/endpoint-context.d.ts +13 -12
  35. package/lib/endpoint-context.js +179 -67
  36. package/lib/endpoint-context.js.map +1 -1
  37. package/lib/helpers/clone-obj.js +3 -2
  38. package/lib/helpers/clone-obj.js.map +1 -1
  39. package/lib/index.d.ts +0 -2
  40. package/lib/index.js +0 -3
  41. package/lib/index.js.map +1 -1
  42. package/lib/models.d.ts +16 -0
  43. package/lib/models.js +6 -0
  44. package/lib/models.js.map +1 -1
  45. package/lib/package.json +1 -1
  46. package/lib/symbols.d.ts +1 -0
  47. package/lib/symbols.js +1 -0
  48. package/lib/symbols.js.map +1 -1
  49. package/lib/ui/index.js +2 -2
  50. package/lib/ui/taon-admin-mode-configuration/index.js +2 -2
  51. package/lib-esm/app.d.ts +0 -0
  52. package/lib-esm/app.electron.d.ts +1 -0
  53. package/lib-esm/app.electron.js +2 -0
  54. package/lib-esm/app.electron.js.map +1 -0
  55. package/lib-esm/app.hosts.d.ts +3 -0
  56. package/lib-esm/app.hosts.js +48 -0
  57. package/lib-esm/app.hosts.js.map +1 -0
  58. package/lib-esm/app.js +216 -0
  59. package/lib-esm/app.js.map +1 -0
  60. package/lib-esm/app.vscode.d.ts +1 -0
  61. package/lib-esm/app.vscode.js +2 -0
  62. package/lib-esm/app.vscode.js.map +1 -0
  63. package/lib-esm/cli.d.ts +2 -0
  64. package/lib-esm/cli.js +16 -0
  65. package/lib-esm/cli.js.map +1 -0
  66. package/lib-esm/index.d.ts +1 -0
  67. package/lib-esm/index.js +2 -0
  68. package/lib-esm/index.js.map +1 -0
  69. package/lib-esm/lib/base-classes/base-abstract-entity.d.ts +7 -0
  70. package/lib-esm/lib/base-classes/base-abstract-entity.js +30 -0
  71. package/lib-esm/lib/base-classes/base-abstract-entity.js.map +1 -0
  72. package/lib-esm/lib/base-classes/base-angular-service.d.ts +22 -0
  73. package/lib-esm/lib/base-classes/base-angular-service.js +74 -0
  74. package/lib-esm/lib/base-classes/base-angular-service.js.map +1 -0
  75. package/lib-esm/lib/base-classes/base-class.d.ts +15 -0
  76. package/lib-esm/lib/base-classes/base-class.js +36 -0
  77. package/lib-esm/lib/base-classes/base-class.js.map +1 -0
  78. package/lib-esm/lib/base-classes/base-context.d.ts +20 -0
  79. package/lib-esm/lib/base-classes/base-context.js +19 -0
  80. package/lib-esm/lib/base-classes/base-context.js.map +1 -0
  81. package/lib-esm/lib/base-classes/base-controller.d.ts +83 -0
  82. package/lib-esm/lib/base-classes/base-controller.js +158 -0
  83. package/lib-esm/lib/base-classes/base-controller.js.map +1 -0
  84. package/lib-esm/lib/base-classes/base-crud-controller.d.ts +28 -0
  85. package/lib-esm/lib/base-classes/base-crud-controller.js +304 -0
  86. package/lib-esm/lib/base-classes/base-crud-controller.js.map +1 -0
  87. package/lib-esm/lib/base-classes/base-custom-repository.d.ts +3 -0
  88. package/lib-esm/lib/base-classes/base-custom-repository.js +10 -0
  89. package/lib-esm/lib/base-classes/base-custom-repository.js.map +1 -0
  90. package/lib-esm/lib/base-classes/base-electron-service.d.ts +0 -0
  91. package/lib-esm/lib/base-classes/base-electron-service.js +50 -0
  92. package/lib-esm/lib/base-classes/base-electron-service.js.map +1 -0
  93. package/lib-esm/lib/base-classes/base-entity.d.ts +16 -0
  94. package/lib-esm/lib/base-classes/base-entity.js +23 -0
  95. package/lib-esm/lib/base-classes/base-entity.js.map +1 -0
  96. package/lib-esm/lib/base-classes/base-file-upload.middleware.d.ts +14 -0
  97. package/lib-esm/lib/base-classes/base-file-upload.middleware.js +76 -0
  98. package/lib-esm/lib/base-classes/base-file-upload.middleware.js.map +1 -0
  99. package/lib-esm/lib/base-classes/base-injector.d.ts +76 -0
  100. package/lib-esm/lib/base-classes/base-injector.js +182 -0
  101. package/lib-esm/lib/base-classes/base-injector.js.map +1 -0
  102. package/lib-esm/lib/base-classes/base-kv-repository.d.ts +35 -0
  103. package/lib-esm/lib/base-classes/base-kv-repository.js +212 -0
  104. package/lib-esm/lib/base-classes/base-kv-repository.js.map +1 -0
  105. package/lib-esm/lib/base-classes/base-middleware.d.ts +38 -0
  106. package/lib-esm/lib/base-classes/base-middleware.js +10 -0
  107. package/lib-esm/lib/base-classes/base-middleware.js.map +1 -0
  108. package/lib-esm/lib/base-classes/base-migration.d.ts +11 -0
  109. package/lib-esm/lib/base-classes/base-migration.js +21 -0
  110. package/lib-esm/lib/base-classes/base-migration.js.map +1 -0
  111. package/lib-esm/lib/base-classes/base-provider.d.ts +8 -0
  112. package/lib-esm/lib/base-classes/base-provider.js +9 -0
  113. package/lib-esm/lib/base-classes/base-provider.js.map +1 -0
  114. package/lib-esm/lib/base-classes/base-repository.d.ts +272 -0
  115. package/lib-esm/lib/base-classes/base-repository.js +623 -0
  116. package/lib-esm/lib/base-classes/base-repository.js.map +1 -0
  117. package/lib-esm/lib/base-classes/base-subscriber-for-entity.d.ts +81 -0
  118. package/lib-esm/lib/base-classes/base-subscriber-for-entity.js +146 -0
  119. package/lib-esm/lib/base-classes/base-subscriber-for-entity.js.map +1 -0
  120. package/lib-esm/lib/base-classes/base.d.ts +1 -0
  121. package/lib-esm/lib/base-classes/base.js +19 -0
  122. package/lib-esm/lib/base-classes/base.js.map +1 -0
  123. package/lib-esm/lib/build-info._auto-generated_.d.ts +24 -0
  124. package/lib-esm/lib/build-info._auto-generated_.js +27 -0
  125. package/lib-esm/lib/build-info._auto-generated_.js.map +1 -0
  126. package/lib-esm/lib/config/controller-config.d.ts +21 -0
  127. package/lib-esm/lib/config/controller-config.js +29 -0
  128. package/lib-esm/lib/config/controller-config.js.map +1 -0
  129. package/lib-esm/lib/config/controller-options.d.ts +16 -0
  130. package/lib-esm/lib/config/controller-options.js +4 -0
  131. package/lib-esm/lib/config/controller-options.js.map +1 -0
  132. package/lib-esm/lib/config/method-config.d.ts +39 -0
  133. package/lib-esm/lib/config/method-config.js +8 -0
  134. package/lib-esm/lib/config/method-config.js.map +1 -0
  135. package/lib-esm/lib/config/param-config.d.ts +8 -0
  136. package/lib-esm/lib/config/param-config.js +4 -0
  137. package/lib-esm/lib/config/param-config.js.map +1 -0
  138. package/lib-esm/lib/constants.d.ts +10 -0
  139. package/lib-esm/lib/constants.js +33 -0
  140. package/lib-esm/lib/constants.js.map +1 -0
  141. package/lib-esm/lib/context-db-migrations.d.ts +17 -0
  142. package/lib-esm/lib/context-db-migrations.js +345 -0
  143. package/lib-esm/lib/context-db-migrations.js.map +1 -0
  144. package/lib-esm/lib/create-context.d.ts +78 -0
  145. package/lib-esm/lib/create-context.js +227 -0
  146. package/lib-esm/lib/create-context.js.map +1 -0
  147. package/lib-esm/lib/decorators/classes/controller-decorator.d.ts +5 -0
  148. package/lib-esm/lib/decorators/classes/controller-decorator.js +18 -0
  149. package/lib-esm/lib/decorators/classes/controller-decorator.js.map +1 -0
  150. package/lib-esm/lib/decorators/classes/entity-decorator.d.ts +16 -0
  151. package/lib-esm/lib/decorators/classes/entity-decorator.js +47 -0
  152. package/lib-esm/lib/decorators/classes/entity-decorator.js.map +1 -0
  153. package/lib-esm/lib/decorators/classes/middleware-decorator.d.ts +8 -0
  154. package/lib-esm/lib/decorators/classes/middleware-decorator.js +17 -0
  155. package/lib-esm/lib/decorators/classes/middleware-decorator.js.map +1 -0
  156. package/lib-esm/lib/decorators/classes/migration-decorator.d.ts +7 -0
  157. package/lib-esm/lib/decorators/classes/migration-decorator.js +16 -0
  158. package/lib-esm/lib/decorators/classes/migration-decorator.js.map +1 -0
  159. package/lib-esm/lib/decorators/classes/provider-decorator.d.ts +7 -0
  160. package/lib-esm/lib/decorators/classes/provider-decorator.js +16 -0
  161. package/lib-esm/lib/decorators/classes/provider-decorator.js.map +1 -0
  162. package/lib-esm/lib/decorators/classes/repository-decorator.d.ts +7 -0
  163. package/lib-esm/lib/decorators/classes/repository-decorator.js +16 -0
  164. package/lib-esm/lib/decorators/classes/repository-decorator.js.map +1 -0
  165. package/lib-esm/lib/decorators/classes/subscriber-decorator.d.ts +8 -0
  166. package/lib-esm/lib/decorators/classes/subscriber-decorator.js +17 -0
  167. package/lib-esm/lib/decorators/classes/subscriber-decorator.js.map +1 -0
  168. package/lib-esm/lib/decorators/decorator-abstract-opt.d.ts +3 -0
  169. package/lib-esm/lib/decorators/decorator-abstract-opt.js +3 -0
  170. package/lib-esm/lib/decorators/decorator-abstract-opt.js.map +1 -0
  171. package/lib-esm/lib/decorators/http/http-decorators.d.ts +1 -0
  172. package/lib-esm/lib/decorators/http/http-decorators.js +22 -0
  173. package/lib-esm/lib/decorators/http/http-decorators.js.map +1 -0
  174. package/lib-esm/lib/decorators/http/http-methods-decorators.d.ts +70 -0
  175. package/lib-esm/lib/decorators/http/http-methods-decorators.js +103 -0
  176. package/lib-esm/lib/decorators/http/http-methods-decorators.js.map +1 -0
  177. package/lib-esm/lib/decorators/http/http-params-decorators.d.ts +8 -0
  178. package/lib-esm/lib/decorators/http/http-params-decorators.js +43 -0
  179. package/lib-esm/lib/decorators/http/http-params-decorators.js.map +1 -0
  180. package/lib-esm/lib/dependency-injection/di-container.d.ts +5 -0
  181. package/lib-esm/lib/dependency-injection/di-container.js +31 -0
  182. package/lib-esm/lib/dependency-injection/di-container.js.map +1 -0
  183. package/lib-esm/lib/endpoint-context-storage.d.ts +11 -0
  184. package/lib-esm/lib/endpoint-context-storage.js +34 -0
  185. package/lib-esm/lib/endpoint-context-storage.js.map +1 -0
  186. package/lib-esm/lib/endpoint-context.d.ts +206 -0
  187. package/lib-esm/lib/endpoint-context.js +2675 -0
  188. package/lib-esm/lib/endpoint-context.js.map +1 -0
  189. package/lib-esm/lib/entity-process.d.ts +38 -0
  190. package/lib-esm/lib/entity-process.js +233 -0
  191. package/lib-esm/lib/entity-process.js.map +1 -0
  192. package/lib-esm/lib/env/env.angular-node-app.d.ts +66 -0
  193. package/lib-esm/lib/env/env.angular-node-app.js +135 -0
  194. package/lib-esm/lib/env/env.angular-node-app.js.map +1 -0
  195. package/lib-esm/lib/env/env.docs-webapp.d.ts +66 -0
  196. package/lib-esm/lib/env/env.docs-webapp.js +135 -0
  197. package/lib-esm/lib/env/env.docs-webapp.js.map +1 -0
  198. package/lib-esm/lib/env/env.electron-app.d.ts +66 -0
  199. package/lib-esm/lib/env/env.electron-app.js +135 -0
  200. package/lib-esm/lib/env/env.electron-app.js.map +1 -0
  201. package/lib-esm/lib/env/env.mobile-app.d.ts +66 -0
  202. package/lib-esm/lib/env/env.mobile-app.js +135 -0
  203. package/lib-esm/lib/env/env.mobile-app.js.map +1 -0
  204. package/lib-esm/lib/env/env.npm-lib-and-cli-tool.d.ts +66 -0
  205. package/lib-esm/lib/env/env.npm-lib-and-cli-tool.js +135 -0
  206. package/lib-esm/lib/env/env.npm-lib-and-cli-tool.js.map +1 -0
  207. package/lib-esm/lib/env/env.vscode-plugin.d.ts +66 -0
  208. package/lib-esm/lib/env/env.vscode-plugin.js +135 -0
  209. package/lib-esm/lib/env/env.vscode-plugin.js.map +1 -0
  210. package/lib-esm/lib/env/index.d.ts +6 -0
  211. package/lib-esm/lib/env/index.js +7 -0
  212. package/lib-esm/lib/env/index.js.map +1 -0
  213. package/lib-esm/lib/express-types.d.ts +1 -0
  214. package/lib-esm/lib/express-types.js +2 -0
  215. package/lib-esm/lib/express-types.js.map +1 -0
  216. package/lib-esm/lib/formly/formly.models.d.ts +1 -0
  217. package/lib-esm/lib/formly/formly.models.js +2 -0
  218. package/lib-esm/lib/formly/formly.models.js.map +1 -0
  219. package/lib-esm/lib/formly/fromly.d.ts +16 -0
  220. package/lib-esm/lib/formly/fromly.js +206 -0
  221. package/lib-esm/lib/formly/fromly.js.map +1 -0
  222. package/lib-esm/lib/formly/type-from-entity.d.ts +20 -0
  223. package/lib-esm/lib/formly/type-from-entity.js +52 -0
  224. package/lib-esm/lib/formly/type-from-entity.js.map +1 -0
  225. package/lib-esm/lib/get-response-value.d.ts +6 -0
  226. package/lib-esm/lib/get-response-value.js +23 -0
  227. package/lib-esm/lib/get-response-value.js.map +1 -0
  228. package/lib-esm/lib/global-state/taon-global-state/index.d.ts +5 -0
  229. package/lib-esm/lib/global-state/taon-global-state/index.js +7 -0
  230. package/lib-esm/lib/global-state/taon-global-state/index.js.map +1 -0
  231. package/lib-esm/lib/global-state/taon-global-state/taon-global-state.abstract.context.d.ts +19 -0
  232. package/lib-esm/lib/global-state/taon-global-state/taon-global-state.abstract.context.js +20 -0
  233. package/lib-esm/lib/global-state/taon-global-state/taon-global-state.abstract.context.js.map +1 -0
  234. package/lib-esm/lib/global-state/taon-global-state/taon-global-state.constants.d.ts +2 -0
  235. package/lib-esm/lib/global-state/taon-global-state/taon-global-state.constants.js +8 -0
  236. package/lib-esm/lib/global-state/taon-global-state/taon-global-state.constants.js.map +1 -0
  237. package/lib-esm/lib/global-state/taon-global-state/taon-global-state.controller.d.ts +11 -0
  238. package/lib-esm/lib/global-state/taon-global-state/taon-global-state.controller.js +47 -0
  239. package/lib-esm/lib/global-state/taon-global-state/taon-global-state.controller.js.map +1 -0
  240. package/lib-esm/lib/global-state/taon-global-state/taon-global-state.entity.d.ts +7 -0
  241. package/lib-esm/lib/global-state/taon-global-state/taon-global-state.entity.js +52 -0
  242. package/lib-esm/lib/global-state/taon-global-state/taon-global-state.entity.js.map +1 -0
  243. package/lib-esm/lib/global-state/taon-global-state/taon-global-state.middleware.d.ts +3 -0
  244. package/lib-esm/lib/global-state/taon-global-state/taon-global-state.middleware.js +13 -0
  245. package/lib-esm/lib/global-state/taon-global-state/taon-global-state.middleware.js.map +1 -0
  246. package/lib-esm/lib/global-state/taon-global-state/taon-global-state.models.d.ts +28 -0
  247. package/lib-esm/lib/global-state/taon-global-state/taon-global-state.models.js +45 -0
  248. package/lib-esm/lib/global-state/taon-global-state/taon-global-state.models.js.map +1 -0
  249. package/lib-esm/lib/global-state/taon-global-state/taon-global-state.provider.d.ts +3 -0
  250. package/lib-esm/lib/global-state/taon-global-state/taon-global-state.provider.js +13 -0
  251. package/lib-esm/lib/global-state/taon-global-state/taon-global-state.provider.js.map +1 -0
  252. package/lib-esm/lib/global-state/taon-global-state/taon-global-state.repository.d.ts +9 -0
  253. package/lib-esm/lib/global-state/taon-global-state/taon-global-state.repository.js +44 -0
  254. package/lib-esm/lib/global-state/taon-global-state/taon-global-state.repository.js.map +1 -0
  255. package/lib-esm/lib/global-state/taon-global-state/taon-global-state.subscriber.d.ts +7 -0
  256. package/lib-esm/lib/global-state/taon-global-state/taon-global-state.subscriber.js +20 -0
  257. package/lib-esm/lib/global-state/taon-global-state/taon-global-state.subscriber.js.map +1 -0
  258. package/lib-esm/lib/global-state/taon-global-state/taon-global-state.utils.d.ts +4 -0
  259. package/lib-esm/lib/global-state/taon-global-state/taon-global-state.utils.js +13 -0
  260. package/lib-esm/lib/global-state/taon-global-state/taon-global-state.utils.js.map +1 -0
  261. package/lib-esm/lib/global-state/taon-transaction-registry/index.d.ts +10 -0
  262. package/lib-esm/lib/global-state/taon-transaction-registry/index.js +12 -0
  263. package/lib-esm/lib/global-state/taon-transaction-registry/index.js.map +1 -0
  264. package/lib-esm/lib/global-state/taon-transaction-registry/taon-transaction-registry.abstract.context.d.ts +19 -0
  265. package/lib-esm/lib/global-state/taon-transaction-registry/taon-transaction-registry.abstract.context.js +22 -0
  266. package/lib-esm/lib/global-state/taon-transaction-registry/taon-transaction-registry.abstract.context.js.map +1 -0
  267. package/lib-esm/lib/global-state/taon-transaction-registry/taon-transaction-registry.constants.d.ts +2 -0
  268. package/lib-esm/lib/global-state/taon-transaction-registry/taon-transaction-registry.constants.js +6 -0
  269. package/lib-esm/lib/global-state/taon-transaction-registry/taon-transaction-registry.constants.js.map +1 -0
  270. package/lib-esm/lib/global-state/taon-transaction-registry/taon-transaction-registry.controller.d.ts +9 -0
  271. package/lib-esm/lib/global-state/taon-transaction-registry/taon-transaction-registry.controller.js +37 -0
  272. package/lib-esm/lib/global-state/taon-transaction-registry/taon-transaction-registry.controller.js.map +1 -0
  273. package/lib-esm/lib/global-state/taon-transaction-registry/taon-transaction-registry.entity.d.ts +12 -0
  274. package/lib-esm/lib/global-state/taon-transaction-registry/taon-transaction-registry.entity.js +65 -0
  275. package/lib-esm/lib/global-state/taon-transaction-registry/taon-transaction-registry.entity.js.map +1 -0
  276. package/lib-esm/lib/global-state/taon-transaction-registry/taon-transaction-registry.middleware.d.ts +3 -0
  277. package/lib-esm/lib/global-state/taon-transaction-registry/taon-transaction-registry.middleware.js +13 -0
  278. package/lib-esm/lib/global-state/taon-transaction-registry/taon-transaction-registry.middleware.js.map +1 -0
  279. package/lib-esm/lib/global-state/taon-transaction-registry/taon-transaction-registry.models.d.ts +6 -0
  280. package/lib-esm/lib/global-state/taon-transaction-registry/taon-transaction-registry.models.js +8 -0
  281. package/lib-esm/lib/global-state/taon-transaction-registry/taon-transaction-registry.models.js.map +1 -0
  282. package/lib-esm/lib/global-state/taon-transaction-registry/taon-transaction-registry.provider.d.ts +3 -0
  283. package/lib-esm/lib/global-state/taon-transaction-registry/taon-transaction-registry.provider.js +13 -0
  284. package/lib-esm/lib/global-state/taon-transaction-registry/taon-transaction-registry.provider.js.map +1 -0
  285. package/lib-esm/lib/global-state/taon-transaction-registry/taon-transaction-registry.repository.d.ts +9 -0
  286. package/lib-esm/lib/global-state/taon-transaction-registry/taon-transaction-registry.repository.js +29 -0
  287. package/lib-esm/lib/global-state/taon-transaction-registry/taon-transaction-registry.repository.js.map +1 -0
  288. package/lib-esm/lib/global-state/taon-transaction-registry/taon-transaction-registry.subscriber.d.ts +7 -0
  289. package/lib-esm/lib/global-state/taon-transaction-registry/taon-transaction-registry.subscriber.js +20 -0
  290. package/lib-esm/lib/global-state/taon-transaction-registry/taon-transaction-registry.subscriber.js.map +1 -0
  291. package/lib-esm/lib/global-state/taon-transaction-registry/taon-transaction-registry.utils.d.ts +4 -0
  292. package/lib-esm/lib/global-state/taon-transaction-registry/taon-transaction-registry.utils.js +8 -0
  293. package/lib-esm/lib/global-state/taon-transaction-registry/taon-transaction-registry.utils.js.map +1 -0
  294. package/lib-esm/lib/helpers/class-helpers.d.ts +24 -0
  295. package/lib-esm/lib/helpers/class-helpers.js +233 -0
  296. package/lib-esm/lib/helpers/class-helpers.js.map +1 -0
  297. package/lib-esm/lib/helpers/clone-obj.d.ts +1 -0
  298. package/lib-esm/lib/helpers/clone-obj.js +20 -0
  299. package/lib-esm/lib/helpers/clone-obj.js.map +1 -0
  300. package/lib-esm/lib/helpers/taon-helpers.d.ts +18 -0
  301. package/lib-esm/lib/helpers/taon-helpers.js +149 -0
  302. package/lib-esm/lib/helpers/taon-helpers.js.map +1 -0
  303. package/lib-esm/lib/index._auto-generated_.d.ts +0 -0
  304. package/lib-esm/lib/index._auto-generated_.js +6 -0
  305. package/lib-esm/lib/index._auto-generated_.js.map +1 -0
  306. package/lib-esm/lib/index.d.ts +231 -0
  307. package/lib-esm/lib/index.js +252 -0
  308. package/lib-esm/lib/index.js.map +1 -0
  309. package/lib-esm/lib/migrations/index.d.ts +1 -0
  310. package/lib-esm/lib/migrations/index.js +3 -0
  311. package/lib-esm/lib/migrations/index.js.map +1 -0
  312. package/lib-esm/lib/migrations/migrations_index._auto-generated_.d.ts +0 -0
  313. package/lib-esm/lib/migrations/migrations_index._auto-generated_.js +4 -0
  314. package/lib-esm/lib/migrations/migrations_index._auto-generated_.js.map +1 -0
  315. package/lib-esm/lib/models.d.ts +269 -0
  316. package/lib-esm/lib/models.js +120 -0
  317. package/lib-esm/lib/models.js.map +1 -0
  318. package/lib-esm/lib/orm/columns.d.ts +36 -0
  319. package/lib-esm/lib/orm/columns.js +74 -0
  320. package/lib-esm/lib/orm/columns.js.map +1 -0
  321. package/lib-esm/lib/orm/index.d.ts +1 -0
  322. package/lib-esm/lib/orm/index.js +57 -0
  323. package/lib-esm/lib/orm/index.js.map +1 -0
  324. package/lib-esm/lib/realtime/realtime-client.d.ts +41 -0
  325. package/lib-esm/lib/realtime/realtime-client.js +211 -0
  326. package/lib-esm/lib/realtime/realtime-client.js.map +1 -0
  327. package/lib-esm/lib/realtime/realtime-core.d.ts +40 -0
  328. package/lib-esm/lib/realtime/realtime-core.js +107 -0
  329. package/lib-esm/lib/realtime/realtime-core.js.map +1 -0
  330. package/lib-esm/lib/realtime/realtime-server.d.ts +43 -0
  331. package/lib-esm/lib/realtime/realtime-server.js +245 -0
  332. package/lib-esm/lib/realtime/realtime-server.js.map +1 -0
  333. package/lib-esm/lib/realtime/realtime-strategy/index.d.ts +4 -0
  334. package/lib-esm/lib/realtime/realtime-strategy/index.js +5 -0
  335. package/lib-esm/lib/realtime/realtime-strategy/index.js.map +1 -0
  336. package/lib-esm/lib/realtime/realtime-strategy/realtime-strategy-ipc.d.ts +80 -0
  337. package/lib-esm/lib/realtime/realtime-strategy/realtime-strategy-ipc.js +290 -0
  338. package/lib-esm/lib/realtime/realtime-strategy/realtime-strategy-ipc.js.map +1 -0
  339. package/lib-esm/lib/realtime/realtime-strategy/realtime-strategy-mock.d.ts +14 -0
  340. package/lib-esm/lib/realtime/realtime-strategy/realtime-strategy-mock.js +299 -0
  341. package/lib-esm/lib/realtime/realtime-strategy/realtime-strategy-mock.js.map +1 -0
  342. package/lib-esm/lib/realtime/realtime-strategy/realtime-strategy-socket-io.d.ts +16 -0
  343. package/lib-esm/lib/realtime/realtime-strategy/realtime-strategy-socket-io.js +29 -0
  344. package/lib-esm/lib/realtime/realtime-strategy/realtime-strategy-socket-io.js.map +1 -0
  345. package/lib-esm/lib/realtime/realtime-strategy/realtime-strategy.d.ts +11 -0
  346. package/lib-esm/lib/realtime/realtime-strategy/realtime-strategy.js +13 -0
  347. package/lib-esm/lib/realtime/realtime-strategy/realtime-strategy.js.map +1 -0
  348. package/lib-esm/lib/realtime/realtime-subs-manager.d.ts +14 -0
  349. package/lib-esm/lib/realtime/realtime-subs-manager.js +90 -0
  350. package/lib-esm/lib/realtime/realtime-subs-manager.js.map +1 -0
  351. package/lib-esm/lib/realtime/realtime.models.d.ts +27 -0
  352. package/lib-esm/lib/realtime/realtime.models.js +2 -0
  353. package/lib-esm/lib/realtime/realtime.models.js.map +1 -0
  354. package/lib-esm/lib/start-cli.d.ts +7 -0
  355. package/lib-esm/lib/start-cli.js +43 -0
  356. package/lib-esm/lib/start-cli.js.map +1 -0
  357. package/lib-esm/lib/symbols.d.ts +64 -0
  358. package/lib-esm/lib/symbols.js +104 -0
  359. package/lib-esm/lib/symbols.js.map +1 -0
  360. package/lib-esm/lib/ui/index.d.ts +1 -0
  361. package/lib-esm/lib/ui/index.js +2 -0
  362. package/lib-esm/lib/ui/index.js.map +1 -0
  363. package/lib-esm/lib/ui/taon-admin-mode-configuration/index.d.ts +1 -0
  364. package/lib-esm/lib/ui/taon-admin-mode-configuration/index.js +2 -0
  365. package/lib-esm/lib/ui/taon-admin-mode-configuration/index.js.map +1 -0
  366. package/lib-esm/lib/validators.d.ts +7 -0
  367. package/lib-esm/lib/validators.js +82 -0
  368. package/lib-esm/lib/validators.js.map +1 -0
  369. package/lib-esm/migrations/index.d.ts +1 -0
  370. package/lib-esm/migrations/index.js +3 -0
  371. package/lib-esm/migrations/index.js.map +1 -0
  372. package/lib-esm/migrations/migrations_index._auto-generated_.d.ts +0 -0
  373. package/lib-esm/migrations/migrations_index._auto-generated_.js +4 -0
  374. package/lib-esm/migrations/migrations_index._auto-generated_.js.map +1 -0
  375. package/lib-esm/old-app .d.ts +0 -0
  376. package/lib-esm/old-app .js +116 -0
  377. package/lib-esm/old-app .js.map +1 -0
  378. package/lib-esm/playground.d.ts +0 -0
  379. package/lib-esm/playground.js +172 -0
  380. package/lib-esm/playground.js.map +1 -0
  381. package/lib-prod/base-classes/base-angular-service.d.ts +2 -7
  382. package/lib-prod/base-classes/base-angular-service.js +8 -23
  383. package/lib-prod/base-classes/base-angular-service.js.map +1 -1
  384. package/lib-prod/base-classes/base-controller.js.map +1 -1
  385. package/lib-prod/base-classes/base-crud-controller.js.map +1 -1
  386. package/lib-prod/base-classes/base-injector.d.ts +18 -10
  387. package/lib-prod/base-classes/base-injector.js +65 -85
  388. package/lib-prod/base-classes/base-injector.js.map +1 -1
  389. package/lib-prod/base-classes/base-kv-repository.d.ts +10 -2
  390. package/lib-prod/base-classes/base-kv-repository.js +92 -27
  391. package/lib-prod/base-classes/base-kv-repository.js.map +1 -1
  392. package/lib-prod/base-classes/base-repository.js +2 -1
  393. package/lib-prod/base-classes/base-repository.js.map +1 -1
  394. package/lib-prod/build-info._auto-generated_.d.ts +3 -3
  395. package/lib-prod/build-info._auto-generated_.js +3 -3
  396. package/lib-prod/build-info._auto-generated_.js.map +1 -1
  397. package/lib-prod/constants.d.ts +1 -0
  398. package/lib-prod/constants.js +1 -2
  399. package/lib-prod/constants.js.map +1 -1
  400. package/lib-prod/context-db-migrations.js.map +1 -1
  401. package/lib-prod/create-context.js.map +1 -1
  402. package/lib-prod/decorators/classes/controller-decorator.js.map +1 -1
  403. package/lib-prod/decorators/classes/entity-decorator.js.map +1 -1
  404. package/lib-prod/decorators/classes/middleware-decorator.js.map +1 -1
  405. package/lib-prod/decorators/classes/migration-decorator.js.map +1 -1
  406. package/lib-prod/decorators/classes/provider-decorator.js.map +1 -1
  407. package/lib-prod/decorators/classes/repository-decorator.js.map +1 -1
  408. package/lib-prod/decorators/classes/subscriber-decorator.js.map +1 -1
  409. package/lib-prod/decorators/http/http-methods-decorators.js.map +1 -1
  410. package/lib-prod/endpoint-context-storage.js.map +1 -1
  411. package/lib-prod/endpoint-context.d.ts +14 -13
  412. package/lib-prod/endpoint-context.js +183 -71
  413. package/lib-prod/endpoint-context.js.map +1 -1
  414. package/lib-prod/entity-process.js.map +1 -1
  415. package/lib-prod/helpers/class-helpers.js.map +1 -1
  416. package/lib-prod/helpers/clone-obj.js +4 -3
  417. package/lib-prod/helpers/clone-obj.js.map +1 -1
  418. package/lib-prod/index.d.ts +0 -2
  419. package/lib-prod/index.js +0 -3
  420. package/lib-prod/index.js.map +1 -1
  421. package/lib-prod/models.d.ts +16 -0
  422. package/lib-prod/models.js +5 -0
  423. package/lib-prod/models.js.map +1 -1
  424. package/lib-prod/package.json +1 -1
  425. package/lib-prod/realtime/realtime-client.js.map +1 -1
  426. package/lib-prod/realtime/realtime-core.js.map +1 -1
  427. package/lib-prod/realtime/realtime-server.js.map +1 -1
  428. package/lib-prod/realtime/realtime-strategy/realtime-strategy-ipc.js.map +1 -1
  429. package/lib-prod/realtime/realtime-strategy/realtime-strategy-mock.js.map +1 -1
  430. package/lib-prod/realtime/realtime-subs-manager.js.map +1 -1
  431. package/lib-prod/symbols.d.ts +1 -0
  432. package/lib-prod/symbols.js +1 -0
  433. package/lib-prod/symbols.js.map +1 -1
  434. package/lib-prod/ui/index.d.ts +1 -1
  435. package/lib-prod/ui/index.js +1 -1
  436. package/lib-prod/ui/taon-admin-mode-configuration/index.d.ts +1 -1
  437. package/lib-prod/ui/taon-admin-mode-configuration/index.js +1 -1
  438. package/lib-prod.split-namespaces.json +5 -3
  439. package/package.json +1 -1
  440. package/src.js +4 -20
  441. package/websql/fesm2022/taon-websql.mjs +428 -343
  442. package/websql/fesm2022/taon-websql.mjs.map +1 -1
  443. package/websql/package.json +1 -1
  444. package/websql/types/taon-websql.d.ts +965 -938
  445. package/websql-prod/fesm2022/taon-websql-prod.mjs +427 -343
  446. package/websql-prod/fesm2022/taon-websql-prod.mjs.map +1 -1
  447. package/websql-prod/package.json +1 -1
  448. package/websql-prod/types/taon-websql-prod.d.ts +1009 -982
  449. package/websql-prod.split-namespaces.json +5 -3
  450. package/lib/inject.d.ts +0 -4
  451. package/lib/inject.js +0 -94
  452. package/lib/inject.js.map +0 -1
  453. package/lib-prod/inject.d.ts +0 -4
  454. package/lib-prod/inject.js +0 -90
  455. package/lib-prod/inject.js.map +0 -1
@@ -6,7 +6,7 @@ import { walk } from 'lodash-walk-object/browser';
6
6
  import { RestResponseWrapper, Resource, HttpResponse, RestHeaders, decodeMappingForHeaderJson, HttpResponseError, DefaultMapping, DefaultModel } from 'ng2-rest/browser';
7
7
  import { Observable, from, Subject } from 'rxjs';
8
8
  import * as i0 from '@angular/core';
9
- import { InjectionToken, Injectable, signal, inject as inject$1, PLATFORM_ID, ViewContainerRef, ViewChild, Component } from '@angular/core';
9
+ import { InjectionToken, Injectable, signal, inject, PLATFORM_ID, ViewContainerRef, ViewChild, Component } from '@angular/core';
10
10
  import { Table, Column } from 'taon-typeorm/browser';
11
11
  export { AfterInsert, AfterLoad, AfterRecover, AfterRemove, AfterSoftRemove, AfterUpdate, BeforeInsert, BeforeRecover, BeforeRemove, BeforeSoftRemove, BeforeUpdate, Column, Connection, CreateDateColumn, Column as CustomColumn, DeleteDateColumn, Generated, Generated as GeneratedColumn, Index, JoinColumn, JoinTable, ManyToMany, ManyToOne, OneToMany, OneToOne, PrimaryColumn, PrimaryGeneratedColumn, Repository, TreeChildren, TreeParent, UpdateDateColumn, VersionColumn, VirtualColumn } from 'taon-typeorm/browser';
12
12
  import { CLASS } from 'typescript-class-helpers/browser';
@@ -48,6 +48,7 @@ CURRENT_HOST_BACKEND_PORT = new InjectionToken('CURRENT_HOST_BACKEND_PORT');
48
48
  let CURRENT_HOST_URL;
49
49
  //#region @browser
50
50
  CURRENT_HOST_URL = new InjectionToken('CURRENT_HOST_URL');
51
+ const TaonBaseRepositoryClassName = 'TaonBaseRepository';
51
52
  const apiPrefix = 'api';
52
53
 
53
54
  class ContextDbMigrations {
@@ -650,6 +651,7 @@ class Realtime {
650
651
  var Symbols;
651
652
  (function (Symbols) {
652
653
  Symbols.ctxInClassOrClassObj = Symbol();
654
+ Symbols.taonInstanceId = `$$taoninstanceid$$`;
653
655
  Symbols.fullClassNameStaticProperty = `$$fullclassName$$`;
654
656
  Symbols.orignalClassClonesObj = `$$originalClassClonesObj$$`;
655
657
  Symbols.classMethodsNames = `$$classMethodsNames$$`;
@@ -1199,6 +1201,12 @@ var Models;
1199
1201
  Models.DatabaseConfigTypeOrm = DatabaseConfigTypeOrm;
1200
1202
  //#endregion
1201
1203
  //#region models / database config
1204
+ class KVDatabaseConfig {
1205
+ static from(databasePartialConfig) {
1206
+ return _.merge(new KVDatabaseConfig(), databasePartialConfig);
1207
+ }
1208
+ }
1209
+ Models.KVDatabaseConfig = KVDatabaseConfig;
1202
1210
  class DatabaseConfig extends DatabaseConfigTypeOrm {
1203
1211
  static from(databasePartialConfig) {
1204
1212
  return _.merge(new DatabaseConfig(), databasePartialConfig);
@@ -2550,7 +2558,6 @@ class RealtimeCore {
2550
2558
  }
2551
2559
  }
2552
2560
 
2553
- /* */
2554
2561
  /* */
2555
2562
  //#endregion
2556
2563
  let bodyParser;
@@ -2567,6 +2574,7 @@ let expressSession;
2567
2574
  /* */
2568
2575
  /* */
2569
2576
  class EndpointContext {
2577
+ static { this.instanceID = 0; }
2570
2578
  //#endregion
2571
2579
  //#region fields / typeorm repositories
2572
2580
  /* */
@@ -2576,6 +2584,31 @@ class EndpointContext {
2576
2584
  get sourceContext() {
2577
2585
  return this.cloneOptions?.sourceContext;
2578
2586
  }
2587
+ trackServer(server) {
2588
+ /* */
2589
+ /* */
2590
+ /* */
2591
+ /* */
2592
+ /* */
2593
+ /* */
2594
+ /* */
2595
+ /* */
2596
+ /* */
2597
+ /* */
2598
+ /* */
2599
+ /* */
2600
+ /* */
2601
+ /* */
2602
+ /* */
2603
+ /* */
2604
+ /* */
2605
+ /* */
2606
+ /* */
2607
+ /* */
2608
+ /* */
2609
+ /* */
2610
+ return (void 0);
2611
+ }
2579
2612
  get isRunOrRevertOnlyMigrationAppStart() {
2580
2613
  return !!(this.onlyMigrationRun || this.onlyMigrationRevertToTimestamp);
2581
2614
  }
@@ -2607,6 +2640,13 @@ class EndpointContext {
2607
2640
  }
2608
2641
  return this.config?.logs === true;
2609
2642
  }
2643
+ get logSocketConnections() {
2644
+ if (_.isObject(this.config?.logs)) {
2645
+ return !!this.config.logs
2646
+ .socketConnections;
2647
+ }
2648
+ return this.config?.logs === true;
2649
+ }
2610
2650
  get logRealtime() {
2611
2651
  if (_.isObject(this.config?.logs)) {
2612
2652
  return !!this.config.logs.realtime;
@@ -2706,6 +2746,7 @@ class EndpointContext {
2706
2746
  //#endregion
2707
2747
  //#region fields / express app
2708
2748
  this.expressApp = {};
2749
+ this.sockets = new Set();
2709
2750
  //#endregion
2710
2751
  //#region fields / only migration start
2711
2752
  this.onlyMigrationRun = false;
@@ -2827,6 +2868,9 @@ class EndpointContext {
2827
2868
  if (_.isObject(this.config.database)) {
2828
2869
  this.config.database = Models.DatabaseConfig.from(this.config.database).databaseConfigTypeORM;
2829
2870
  }
2871
+ if (_.isObject(this.config.kv_database)) {
2872
+ this.config.kv_database = Models.KVDatabaseConfig.from(this.config.kv_database);
2873
+ }
2830
2874
  this.config.host = this.host === null ? void 0 : this.host;
2831
2875
  if (this.cloneOptions.overrideHost &&
2832
2876
  !this.cloneOptions.useAsRemoteContext) {
@@ -2885,6 +2929,38 @@ class EndpointContext {
2885
2929
  /* */
2886
2930
  }
2887
2931
  //#endregion
2932
+ //#region resolve kv database config
2933
+ if (this.config.kv_database === true) {
2934
+ this.logFramework &&
2935
+ console.log(`
2936
+
2937
+ ASSIGNING AUTO GENERATED KV DATABASE CONFIG
2938
+
2939
+ `);
2940
+ this.kvDatabaseConfig = this.getAutoGeneratedKvDbConfig();
2941
+ }
2942
+ else if (_.isObject(this.config.database)) {
2943
+ this.logFramework &&
2944
+ console.log(`
2945
+
2946
+ OVERRIDE KV DATABASE CONFIG FROM CONFIGURATION
2947
+
2948
+ `);
2949
+ this.kvDatabaseConfig = this.getAutoGeneratedKvDbConfig();
2950
+ walk.Object(this.config.database, (value, lodashPath) => {
2951
+ if (_.isNil(value) || _.isFunction(value) || _.isObject(value)) {
2952
+ // skipping
2953
+ }
2954
+ else {
2955
+ this.logFramework &&
2956
+ console.info(`Overriding kv database config: ${lodashPath}=${value}`);
2957
+ _.set(this.databaseConfig, lodashPath, value);
2958
+ }
2959
+ }, {
2960
+ walkGetters: false,
2961
+ });
2962
+ }
2963
+ //#endregion
2888
2964
  //#region resolve database config
2889
2965
  if (this.config.database === true) {
2890
2966
  this.logFramework &&
@@ -2893,7 +2969,7 @@ class EndpointContext {
2893
2969
  ASSIGNING AUTO GENERATED DATABASE CONFIG
2894
2970
 
2895
2971
  `);
2896
- this.databaseConfig = this.getAutoGeneratedConfig();
2972
+ this.databaseConfig = this.getAutoGeneratedSqlDbConfig();
2897
2973
  }
2898
2974
  else if (_.isObject(this.config.database)) {
2899
2975
  this.logFramework &&
@@ -2902,7 +2978,7 @@ class EndpointContext {
2902
2978
  OVERRIDE DATABASE CONFIG FROM CONFIGURATION
2903
2979
 
2904
2980
  `);
2905
- this.databaseConfig = this.getAutoGeneratedConfig();
2981
+ this.databaseConfig = this.getAutoGeneratedSqlDbConfig();
2906
2982
  walk.Object(this.config.database, (value, lodashPath) => {
2907
2983
  if (_.isNil(value) || _.isFunction(value) || _.isObject(value)) {
2908
2984
  // skipping
@@ -3051,6 +3127,8 @@ class EndpointContext {
3051
3127
  /* */
3052
3128
  /* */
3053
3129
  /* */
3130
+ /* */
3131
+ /* */
3054
3132
  await this.initCustomClientMiddlewares();
3055
3133
  }
3056
3134
  //#endregion
@@ -3103,7 +3181,10 @@ class EndpointContext {
3103
3181
  }
3104
3182
  //#endregion
3105
3183
  //#region methods & getters / get auto generated config
3106
- getAutoGeneratedConfig() {
3184
+ getAutoGeneratedKvDbConfig() {
3185
+ return Models.KVDatabaseConfig.from({});
3186
+ }
3187
+ getAutoGeneratedSqlDbConfig() {
3107
3188
  this.logFramework &&
3108
3189
  console.log(`
3109
3190
 
@@ -3278,7 +3359,49 @@ class EndpointContext {
3278
3359
  /* */
3279
3360
  return (void 0);
3280
3361
  }
3281
- get kvDbJsonLocation() {
3362
+ get kvDbJsonLocationBase() {
3363
+ /* */
3364
+ /* */
3365
+ /* */
3366
+ /* */
3367
+ /* */
3368
+ /* */
3369
+ /* */
3370
+ /* */
3371
+ /* */
3372
+ /* */
3373
+ /* */
3374
+ /* */
3375
+ /* */
3376
+ /* */
3377
+ /* */
3378
+ /* */
3379
+ /* */
3380
+ /* */
3381
+ return (void 0);
3382
+ }
3383
+ get kvDbJsonLocationBaseFolderLocation() {
3384
+ /* */
3385
+ /* */
3386
+ /* */
3387
+ /* */
3388
+ /* */
3389
+ /* */
3390
+ /* */
3391
+ /* */
3392
+ /* */
3393
+ /* */
3394
+ /* */
3395
+ /* */
3396
+ /* */
3397
+ /* */
3398
+ /* */
3399
+ /* */
3400
+ return (void 0);
3401
+ }
3402
+ kvDbJsonLocationForClass(className) {
3403
+ /* */
3404
+ /* */
3282
3405
  /* */
3283
3406
  /* */
3284
3407
  /* */
@@ -3423,32 +3546,45 @@ class EndpointContext {
3423
3546
  }
3424
3547
  //#endregion
3425
3548
  //#region methods & getters / inject
3426
- inject(ctor, options) {
3549
+ getInstanceBy(ctor, options) {
3550
+ options = options || {};
3551
+ // const rawConfigs = ClassHelpers.getControllerConfigs(ctor);
3552
+ let entityResolveFn = void 0;
3553
+ if (options.resolveClassFromContext === TaonBaseRepositoryClassName) {
3554
+ const entity = ctor;
3555
+ entityResolveFn = () => entity;
3556
+ ctor = this.getClassFunByClassName(TaonBaseRepositoryClassName);
3557
+ }
3558
+ // TODO make it faster
3559
+ const isTypeormCustomRepository = ClassHelpers.hasParentClassWithName(ctor, TaonBaseRepositoryClassName);
3427
3560
  const className = ClassHelpers.getName(ctor);
3428
- const locaInstanceConstructorArgs = options.locaInstanceConstructorArgs || [];
3429
- if (this.isCLassType(Models.ClassType.REPOSITORY, ctor)) {
3430
- options.localInstance = true;
3561
+ // console.log(`${className} isRepo ${isTypeormCustomRepository}`);
3562
+ ctor = this.getClassFunByClassName(className);
3563
+ if (!ctor) {
3564
+ throw new Error(`Not able to inject "${className}" inside context "${this.contextName}"
3565
+
3566
+ Make sure they share the same context or import context where "${className}" is defined.
3567
+
3568
+ `);
3431
3569
  }
3432
- if (options?.localInstance) {
3433
- const ctxClassFn = this.getClassFunByClassName(className);
3570
+ if (isTypeormCustomRepository) {
3434
3571
  let entityName = '';
3572
+ entityResolveFn = entityResolveFn
3573
+ ? entityResolveFn
3574
+ : () => {
3575
+ const classToProcess = this.allClassesInstances[ClassHelpers.getName(ctor)];
3576
+ return classToProcess.entityClassResolveFn();
3577
+ };
3435
3578
  // entity thing is only for repositories local repositories
3436
- // if (className === 'TaonBaseRepository') {
3437
- const entityFn = _.first(locaInstanceConstructorArgs);
3438
- const entity = entityFn && entityFn();
3579
+ const entity = entityResolveFn && entityResolveFn();
3439
3580
  entityName = (entity && ClassHelpers.getName(entity)) || '';
3440
3581
  // console.log(`entityName `, entityName);
3441
3582
  // }
3442
- /* */
3443
- /* */
3444
- /* */
3445
- /* */
3446
- /* */
3447
- if (!options.contextClassInstance[this.localInstaceObjSymbol]) {
3448
- options.contextClassInstance[this.localInstaceObjSymbol] = {};
3583
+ if (!this[this.localInstaceObjSymbol]) {
3584
+ this[this.localInstaceObjSymbol] = {};
3449
3585
  }
3450
3586
  const instanceKey = className + (entityName ? `.${entityName}` : '');
3451
- const existed = options.contextClassInstance[this.localInstaceObjSymbol][instanceKey];
3587
+ const existed = this[this.localInstaceObjSymbol][instanceKey];
3452
3588
  if (existed) {
3453
3589
  // console.log(
3454
3590
  // `EXISTED ${ClassHelpers.getName(options.parentInstanceThatWillGetInjectedStuff)} Inject ${className} instanceKey "${instanceKey}"`,
@@ -3458,16 +3594,9 @@ class EndpointContext {
3458
3594
  // console.log(
3459
3595
  // `NEW ${ClassHelpers.getName(options.parentInstanceThatWillGetInjectedStuff)} Inject ${className} instanceKey "${instanceKey}"`,
3460
3596
  // );
3461
- if (!ctxClassFn) {
3462
- throw new Error(`Not able to inject "${className}" inside context "${this.contextName}"
3463
-
3464
- Make sure they share the same context or import context where "${className}" is defined.
3465
-
3466
- `);
3467
- }
3468
- const injectedInstance = new ctxClassFn(...locaInstanceConstructorArgs);
3469
- options.contextClassInstance[this.localInstaceObjSymbol][instanceKey] =
3470
- injectedInstance;
3597
+ // @ts-expect-error
3598
+ const injectedInstance = new ctor(entityResolveFn);
3599
+ this[this.localInstaceObjSymbol][instanceKey] = injectedInstance;
3471
3600
  // console.log(`injectedInstance `, existed)
3472
3601
  return injectedInstance;
3473
3602
  }
@@ -3477,28 +3606,6 @@ class EndpointContext {
3477
3606
  // }
3478
3607
  return contextScopeInstance;
3479
3608
  }
3480
- /**
3481
- * alias for inject
3482
- */
3483
- getInstanceBy(ctor) {
3484
- // if (!!this.__contextForControllerInstanceAccess) {
3485
- // const className = ClassHelpers.getName(ctor);
3486
- // const allControllers = this.getClassFunByArr(Models.ClassType.CONTROLLER);
3487
- // // TODO QUICK_FIX cache controllers
3488
- // for (const ctrl of allControllers) {
3489
- // if (ClassHelpers.getName(ctrl) === className) {
3490
- // // console.log('injecting from contextForControllerInstanceAcesss', className);
3491
- // return this.__contextForControllerInstanceAccess.inject(ctor, {
3492
- // localInstance: false,
3493
- // });
3494
- // }
3495
- // }
3496
- // }
3497
- return this.inject(ctor, {
3498
- localInstance: false,
3499
- parentInstanceThatWillGetInjectedStuff: this,
3500
- });
3501
- }
3502
3609
  //#endregion
3503
3610
  //#region methods & getters / check if context initialized
3504
3611
  checkIfContextInitialized() {
@@ -3575,6 +3682,7 @@ class EndpointContext {
3575
3682
  // update config
3576
3683
  this.config[Models.ClassTypeKey[classType]][className] = classFn;
3577
3684
  this.objWithClassesInstancesArr[classType].push(instance);
3685
+ instance[Symbols.taonInstanceId] = EndpointContext.instanceID++;
3578
3686
  this.allClassesInstances[className] = instance;
3579
3687
  }
3580
3688
  }
@@ -3867,6 +3975,29 @@ class EndpointContext {
3867
3975
  //#endregion
3868
3976
  //#region methods & getters / destroy
3869
3977
  async destroy() {
3978
+ /* */
3979
+ /* */
3980
+ /* */
3981
+ /* */
3982
+ /* */
3983
+ /* */
3984
+ /* */
3985
+ /* */
3986
+ /* */
3987
+ /* */
3988
+ /* */
3989
+ /* */
3990
+ /* */
3991
+ /* */
3992
+ /* */
3993
+ /* */
3994
+ /* */
3995
+ /* */
3996
+ /* */
3997
+ /* */
3998
+ /* */
3999
+ /* */
4000
+ /* */
3870
4001
  /* */
3871
4002
  /* */
3872
4003
  /* */
@@ -4012,6 +4143,10 @@ class EndpointContext {
4012
4143
  /* */
4013
4144
  /* */
4014
4145
  /* */
4146
+ /* */
4147
+ /* */
4148
+ /* */
4149
+ /* */
4015
4150
  return (void 0);
4016
4151
  }
4017
4152
  //#endregion
@@ -4428,6 +4563,7 @@ class EndpointContext {
4428
4563
  /* */
4429
4564
  /* */
4430
4565
  /* */
4566
+ /* */
4431
4567
  }
4432
4568
  //#endregion
4433
4569
  //#region methods & getters / init methods node
@@ -5358,7 +5494,7 @@ class TaonAdminService {
5358
5494
  constructor() {
5359
5495
  //#region singleton + constructor
5360
5496
  this.isIframe = window.location !== window.parent.location;
5361
- this.breakpointsService = inject$1(BreakpointsService);
5497
+ this.breakpointsService = inject(BreakpointsService);
5362
5498
  //#endregion
5363
5499
  this.isDesktop = signal(true, ...(ngDevMode ? [{ debugName: "isDesktop" }] : []));
5364
5500
  this.devTapCount = 0;
@@ -5630,95 +5766,6 @@ const createContext = (configFn) => {
5630
5766
  // const AA = createContext(() => ({ contextName: 'aa' }));
5631
5767
  // const BB = AA.cloneAsRemoteContext();
5632
5768
 
5633
- const inject = (entity) => {
5634
- return new Proxy({}, {
5635
- get: (_, propName) => {
5636
- if (propName === 'hasOwnProperty') {
5637
- return () => false;
5638
- }
5639
- const ctor = entity();
5640
- const contextFromClass = ctor[Symbols.ctxInClassOrClassObj];
5641
- const resultContext = contextFromClass;
5642
- if (resultContext) {
5643
- let instance = resultContext.inject(ctor, {
5644
- parentInstanceThatWillGetInjectedStuff: this,
5645
- });
5646
- // console.log('instance', instance);
5647
- if (propName === 'getOriginalPrototype') {
5648
- return () => Object.getPrototypeOf(instance);
5649
- }
5650
- if (propName === 'getOriginalConstructor') {
5651
- return () => instance.constructor;
5652
- }
5653
- const methods = ctor[Symbols.classMethodsNames] || [];
5654
- const isMethods = methods.includes(propName);
5655
- const methodOrProperty = isMethods
5656
- ? instance[propName].bind(instance)
5657
- : instance[propName];
5658
- // console.log(
5659
- // `methodOrProperty from proxy ${propName?.toString()} = isMethods:${isMethods}`,
5660
- // methods,
5661
- // );
5662
- return methodOrProperty;
5663
- }
5664
- },
5665
- });
5666
- };
5667
- // export const injectController = inject;
5668
- // export type SubscriptionEvent<T> = {
5669
- // name: keyof T;
5670
- // data: any;
5671
- // };
5672
- /**
5673
- * TODO
5674
- */
5675
- // export const injectEntityEvents = <T>(
5676
- // subscriberClassResolveFn: () => new (...args: any[]) => T,
5677
- // eventName?: keyof Omit<EntitySubscriberInterface,'listenTo'> ,
5678
- // ): Observable<SubscriptionEvent<T>> => {
5679
- // const eventsSrc = new Subject<SubscriptionEvent<T>>();
5680
- // const obs = eventsSrc.asObservable();
5681
- // let isFirstSubscription = true;
5682
- // const proxyObservable = new Proxy(obs, {
5683
- // get(target, prop, receiver) {
5684
- // if (prop === 'subscribe') {
5685
- // return (...args: any[]) => {
5686
- // if (isFirstSubscription) {
5687
- // isFirstSubscription = false;
5688
- // const subscriberClassFN: typeof TaonBaseClass =
5689
- // subscriberClassResolveFn() as any;
5690
- // const ctx = subscriberClassFN[
5691
- // Symbols.ctxInClassOrClassObj
5692
- // ] as EndpointContext;
5693
- // if (!ctx) {
5694
- // throw new Error(
5695
- // `You are trying to inject class without context. Use context like this:
5696
- // class MyClassSubscriber extends BaseSubscriber {
5697
- // ${eventName as any}() {
5698
- // \/\/ your code here
5699
- // }
5700
- // }
5701
- // Taon.injectSubscriberEvents( MyContext.getInstance(()=> MyClassSubscriber), '${eventName as any}' )
5702
- // `,
5703
- // );
5704
- // }
5705
- // const subscriberInstance = ctx.getInstanceBy(subscriberClassFN);
5706
- // // subscriberInstance TODO @LAST subscriber event from instance
5707
- // // const entity = subscriberClassFN.prototype.listenTo();
5708
- // console.log('First subscription, you can access arguments here:', {
5709
- // subscriberClassFN,
5710
- // eventName,
5711
- // });
5712
- // }
5713
- // return target.subscribe(...args);
5714
- // };
5715
- // }
5716
- // return Reflect.get(target, prop, receiver);
5717
- // },
5718
- // });
5719
- // return proxyObservable as Observable<SubscriptionEvent<T>>;
5720
- // };
5721
-
5722
5769
  //#endregion
5723
5770
  //#region get transform function
5724
5771
  /**
@@ -5939,10 +5986,11 @@ class EntityProcess {
5939
5986
  }
5940
5987
 
5941
5988
  const cloneObj = (override, classFn) => {
5942
- const result = _.merge(new classFn(), _.cloneDeep(this));
5989
+ const result = new classFn();
5943
5990
  walk.Object(override || {}, (value, lodashPath) => {
5944
5991
  const valueIsEmptyArray = Array.isArray(value) && value.length === 0;
5945
- if (!valueIsEmptyArray && (_.isNil(value) || _.isFunction(value) || _.isObject(value))) {
5992
+ if (!valueIsEmptyArray &&
5993
+ (_.isNil(value) || _.isFunction(value) || _.isObject(value))) {
5946
5994
  // skipping
5947
5995
  }
5948
5996
  else {
@@ -6011,101 +6059,6 @@ class TaonBaseEntity extends TaonBaseClass {
6011
6059
  class TaonBaseAbstractEntity extends TaonBaseEntity {
6012
6060
  }
6013
6061
 
6014
- /**
6015
- * TODO prevent calling methods when not initialized
6016
- * with init(ctx)
6017
- */
6018
- //#region @browser
6019
- //#endregion
6020
- class TaonBaseAngularService {
6021
- //#endregion
6022
- constructor() {
6023
- //#region @browser
6024
- this.platformId = inject$1(PLATFORM_ID);
6025
- this.currentContext = inject$1(TAON_CONTEXT);
6026
- //#region @browser
6027
- this.CURRENT_HOST_BACKEND_PORT = inject$1(CURRENT_HOST_BACKEND_PORT, {
6028
- optional: true,
6029
- });
6030
- this.CURRENT_HOST_URL = inject$1(CURRENT_HOST_URL, {
6031
- optional: true,
6032
- });
6033
- // #endregion
6034
- }
6035
- /**
6036
- * Returns true if the application is running in SSR (server-side rendering) mode only.
6037
- */
6038
- get isSsrPlatform() {
6039
- //#region @browser
6040
- return isPlatformServer(this.platformId);
6041
- //#endregion
6042
- return false;
6043
- }
6044
- /**
6045
- * Returns true if the application is running in browser-only mode.
6046
- */
6047
- get isBrowserPlatform() {
6048
- //#region @browser
6049
- return isPlatformBrowser(this.platformId);
6050
- //#endregion
6051
- return false;
6052
- }
6053
- /**
6054
- * @deprecated
6055
- * Returns the host URL for the backend service
6056
- * that is running on localhost (normal NodeJS/ExpressJS mode).
6057
- */
6058
- get host() {
6059
- //#region @browser
6060
- if (this.CURRENT_HOST_URL) {
6061
- return this.CURRENT_HOST_URL;
6062
- }
6063
- return `http://localhost:${this.CURRENT_HOST_BACKEND_PORT}`;
6064
- //#endregion
6065
- return void 0;
6066
- }
6067
- injectController(ctor,
6068
- /**
6069
- * optional override context
6070
- */
6071
- overrideCurrentContext) {
6072
- return inject(() => {
6073
- let currentContext;
6074
- //#region @browser
6075
- currentContext = overrideCurrentContext
6076
- ? overrideCurrentContext
6077
- : this.currentContext;
6078
- //#endregion
6079
- if (!currentContext || !currentContext.__refSync.inited) {
6080
- throw new Error(`
6081
- Context not available. Make sure to .initialize()
6082
- the context before injecting controllers.
6083
-
6084
- `);
6085
- }
6086
- return currentContext ? currentContext.getClass(ctor) : void 0;
6087
- });
6088
- }
6089
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonBaseAngularService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
6090
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonBaseAngularService }); }
6091
- }
6092
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonBaseAngularService, decorators: [{
6093
- type: Injectable
6094
- }], ctorParameters: () => [] });
6095
-
6096
- /**
6097
- * Provider decorator
6098
- */
6099
- function TaonMiddleware(options) {
6100
- return function (constructor) {
6101
- Reflect.defineMetadata(Symbols.metadata.options.provider, options, constructor);
6102
- Reflect.defineMetadata(Symbols.metadata.className, options?.className || constructor.name, constructor);
6103
- ClassHelpers.setName(constructor, options?.className || constructor.name);
6104
- };
6105
- }
6106
- class TaonMiddlewareOptions extends DecoratorAbstractOpt {
6107
- }
6108
-
6109
6062
  //#endregion
6110
6063
  class TaonBaseInjector {
6111
6064
  //#endregion
@@ -6116,12 +6069,16 @@ class TaonBaseInjector {
6116
6069
  */
6117
6070
  async _() { }
6118
6071
  //#endregion
6119
- //#region context
6120
6072
  /**
6121
6073
  * @deprecated use ctx instead
6122
6074
  * Current endpoint context
6123
6075
  */
6124
6076
  get __endpoint_context__() {
6077
+ //#region @browser
6078
+ if (this.currentContext?.__refSync) {
6079
+ return this.currentContext?.__refSync;
6080
+ }
6081
+ //#endregion
6125
6082
  return this[Symbols.ctxInClassOrClassObj];
6126
6083
  }
6127
6084
  /**
@@ -6131,39 +6088,26 @@ class TaonBaseInjector {
6131
6088
  return this.__endpoint_context__;
6132
6089
  }
6133
6090
  //#endregion
6134
- //#region inject
6135
6091
  //#region inject / repo for entity
6136
6092
  /**
6137
6093
  * inject crud repo for entity
6138
6094
  */
6139
6095
  injectRepo(entityForCrud) {
6140
- const repoProxy = this.__inject(void 0, {
6141
- localInstance: true,
6142
- resolveClassFromContext: 'TaonBaseRepository',
6143
- locaInstanceConstructorArgs: [() => entityForCrud],
6096
+ const repoProxy = this.__createProxy(entityForCrud, {
6097
+ resolveClassFromContext: TaonBaseRepositoryClassName,
6144
6098
  });
6145
6099
  return repoProxy;
6146
6100
  }
6147
6101
  //#endregion
6148
6102
  //#region inject / custom repository
6149
6103
  injectCustomRepository(cutomRepositoryClass) {
6150
- const repoProxy = this.__inject(cutomRepositoryClass, {
6151
- localInstance: true,
6152
- locaInstanceConstructorArgs: [
6153
- () => {
6154
- const classToProcess = this.ctx.allClassesInstances[ClassHelpers.getName(cutomRepositoryClass)];
6155
- return classToProcess.entityClassResolveFn();
6156
- },
6157
- ],
6158
- });
6104
+ const repoProxy = this.__createProxy(cutomRepositoryClass, {});
6159
6105
  return repoProxy;
6160
6106
  }
6161
6107
  //#endregion
6162
- //#region inject / custom repository
6108
+ //#region inject / kv repository
6163
6109
  injectKvRepository(cutomRepositoryClass) {
6164
- const repoProxy = this.__inject(cutomRepositoryClass, {
6165
- localInstance: false,
6166
- });
6110
+ const repoProxy = this.__createProxy(cutomRepositoryClass, {});
6167
6111
  return repoProxy;
6168
6112
  }
6169
6113
  //#endregion
@@ -6184,10 +6128,10 @@ class TaonBaseInjector {
6184
6128
  * ...
6185
6129
  */
6186
6130
  injectController(ctor) {
6187
- return this.__inject(ctor, { localInstance: false });
6131
+ return this.__createProxy(ctor, {});
6188
6132
  }
6189
6133
  //#endregion
6190
- //#region inject / ctrl
6134
+ //#region inject / subscriber
6191
6135
  /**
6192
6136
  * example usage:
6193
6137
  * ...
@@ -6195,7 +6139,7 @@ class TaonBaseInjector {
6195
6139
  * ...
6196
6140
  */
6197
6141
  injectSubscriber(ctor) {
6198
- return this.__inject(ctor, { localInstance: false });
6142
+ return this.__createProxy(ctor, {});
6199
6143
  }
6200
6144
  //#endregion
6201
6145
  //#region inject / ctrl
@@ -6206,20 +6150,49 @@ class TaonBaseInjector {
6206
6150
  return this.injectController(ctor);
6207
6151
  }
6208
6152
  //#endregion
6209
- //#region inject / global provider
6153
+ //#region inject / middleware
6210
6154
  /**
6211
6155
  * inject middleware for context
6212
6156
  */
6213
6157
  injectMiddleware(ctor) {
6214
- return this.__inject(ctor, { localInstance: false });
6158
+ return this.__createProxy(ctor, {});
6215
6159
  }
6216
6160
  //#endregion
6217
- //#region inject / context provider
6161
+ //#region inject / provider
6218
6162
  /**
6219
6163
  * inject provider for context
6220
6164
  */
6221
6165
  injectProvider(ctor) {
6222
- return this.__inject(ctor, { localInstance: false });
6166
+ return this.__createProxy(ctor, {});
6167
+ }
6168
+ //#endregion
6169
+ //#region get context for ctor
6170
+ __getContextFor(ctor) {
6171
+ const contextFromClass = ctor && ctor[Symbols.ctxInClassOrClassObj];
6172
+ const resultContext = contextFromClass
6173
+ ? contextFromClass
6174
+ : this.__endpoint_context__;
6175
+ if (!resultContext) {
6176
+ throw new Error(`
6177
+ Context not available. Make sure to .initialize()
6178
+ the context before injecting Taon building blocks
6179
+ (controllers, providers, repositories etc.)
6180
+
6181
+ `);
6182
+ }
6183
+ return resultContext;
6184
+ }
6185
+ //#endregion
6186
+ //#region not instance error
6187
+ __noInstanceError({ instance, ctor, propName, }) {
6188
+ if (!instance) {
6189
+ throw new Error(`Not able to inject "${ClassHelpers.getName(ctor) || ctor.name}" inside ` +
6190
+ `property "${propName?.toString()}" on class "${ClassHelpers.getName(this)}".
6191
+
6192
+ Please add "${ClassHelpers.getName(ctor) || ctor.name}" to (entites or contorllers or providers or repositories or middlewares)
6193
+
6194
+ `);
6195
+ }
6223
6196
  }
6224
6197
  //#endregion
6225
6198
  //#region inject / __ inject
@@ -6227,77 +6200,112 @@ class TaonBaseInjector {
6227
6200
  * Inject: Controllers, Providers, Repositories, Services, etc.
6228
6201
  * TODO addd nest js injecting
6229
6202
  */
6230
- __inject(ctor, options) {
6231
- if (!options) {
6232
- options = {};
6233
- }
6234
- const contextClassInstance = this;
6203
+ __createProxy(ctor, options) {
6204
+ options = options || {};
6235
6205
  return new Proxy({}, {
6236
6206
  get: (__, propName) => {
6237
- const contextFromClass = ctor && ctor[Symbols.ctxInClassOrClassObj];
6238
- const resultContext = contextFromClass
6239
- ? contextFromClass
6240
- : this.__endpoint_context__;
6241
- if (options.resolveClassFromContext) {
6242
- const resolvedClass = resultContext.getClassFunByClassName(options.resolveClassFromContext);
6243
- ctor = resolvedClass;
6244
- }
6245
- if (resultContext) {
6246
- var instance = resultContext.inject(ctor, {
6247
- ...options,
6248
- contextClassInstance,
6249
- parentInstanceThatWillGetInjectedStuff: this,
6250
- });
6251
- if (!instance) {
6252
- throw new Error(`Not able to inject "${ClassHelpers.getName(ctor) || ctor.name}" inside ` +
6253
- `property "${propName?.toString()}" on class "${ClassHelpers.getName(this)}".
6254
-
6255
- Please add "${ClassHelpers.getName(ctor) || ctor.name}" to (entites or contorllers or providers or repositories or middlewares)
6256
-
6257
- `);
6258
- }
6259
- const result = typeof instance[propName] === 'function'
6260
- ? instance[propName].bind(instance)
6261
- : instance[propName];
6262
- // console.log(`Accessing injected "${propName?.toString()}" from "${ClassHelpers.getName(ctor) || ctor.name}"`,result)
6263
- return result;
6264
- }
6265
- //#region @browser
6266
- // return inject(ctor)[propName];
6267
- //#endregion
6207
+ const ctx = this.__getContextFor(ctor);
6208
+ const instance = ctx.getInstanceBy(ctor, {
6209
+ resolveClassFromContext: options.resolveClassFromContext,
6210
+ });
6211
+ this.__noInstanceError({ instance, ctor, propName });
6212
+ const result = typeof instance[propName] === 'function'
6213
+ ? instance[propName].bind(instance)
6214
+ : instance[propName];
6215
+ return result;
6268
6216
  },
6269
6217
  set: (__, propName, value) => {
6270
- const contextFromClass = ctor && ctor[Symbols.ctxInClassOrClassObj];
6271
- const resultContext = contextFromClass
6272
- ? contextFromClass
6273
- : this.__endpoint_context__;
6274
- if (options.resolveClassFromContext) {
6275
- const resolvedClass = resultContext.getClassFunByClassName(options.resolveClassFromContext);
6276
- ctor = resolvedClass;
6277
- }
6278
- if (resultContext) {
6279
- var instance = resultContext.inject(ctor, {
6280
- ...options,
6281
- contextClassInstance,
6282
- parentInstanceThatWillGetInjectedStuff: this,
6283
- });
6284
- if (!instance) {
6285
- const classNameNotResolved = ClassHelpers.getName(ctor) || ctor.name;
6286
- throw new Error(`Not able to inject "${classNameNotResolved}" inside ` +
6287
- `property "${propName?.toString()}" on class "${ClassHelpers.getName(this)}".
6288
-
6289
- Please add "${ClassHelpers.getName(ctor) || ctor.name}" to (entites or contorllers or providers or repositories or middlewares)
6290
-
6291
- `);
6292
- }
6293
- instance[propName] = value;
6294
- }
6218
+ const ctx = this.__getContextFor(ctor);
6219
+ const instance = ctx.getInstanceBy(ctor, {
6220
+ resolveClassFromContext: options.resolveClassFromContext,
6221
+ });
6222
+ this.__noInstanceError({ instance, ctor, propName });
6223
+ instance[propName] = value;
6295
6224
  return true;
6296
6225
  },
6297
6226
  });
6298
6227
  }
6299
6228
  }
6300
6229
 
6230
+ /**
6231
+ * TODO prevent calling methods when not initialized
6232
+ * with init(ctx)
6233
+ */
6234
+ //#region @browser
6235
+ //#endregion
6236
+ class TaonBaseAngularService extends TaonBaseInjector {
6237
+ //#endregion
6238
+ constructor() {
6239
+ super();
6240
+ //#region @browser
6241
+ this.platformId = inject(PLATFORM_ID);
6242
+ this.currentContext = inject(TAON_CONTEXT);
6243
+ //#region @browser
6244
+ this.CURRENT_HOST_BACKEND_PORT = inject(CURRENT_HOST_BACKEND_PORT, {
6245
+ optional: true,
6246
+ });
6247
+ this.CURRENT_HOST_URL = inject(CURRENT_HOST_URL, {
6248
+ optional: true,
6249
+ });
6250
+ // #endregion
6251
+ }
6252
+ //#region is ssr platform
6253
+ /**
6254
+ * Returns true if the application is running in SSR (server-side rendering) mode only.
6255
+ */
6256
+ get isSsrPlatform() {
6257
+ //#region @browser
6258
+ return isPlatformServer(this.platformId);
6259
+ //#endregion
6260
+ return false;
6261
+ }
6262
+ //#endregion
6263
+ //#region is browser platform
6264
+ /**
6265
+ * Returns true if the application is running in browser-only mode.
6266
+ */
6267
+ get isBrowserPlatform() {
6268
+ //#region @browser
6269
+ return isPlatformBrowser(this.platformId);
6270
+ //#endregion
6271
+ return false;
6272
+ }
6273
+ //#endregion
6274
+ //#region host
6275
+ /**
6276
+ * @deprecated
6277
+ * Returns the host URL for the backend service
6278
+ * that is running on localhost (normal NodeJS/ExpressJS mode).
6279
+ */
6280
+ get host() {
6281
+ //#region @browser
6282
+ if (this.CURRENT_HOST_URL) {
6283
+ return this.CURRENT_HOST_URL;
6284
+ }
6285
+ return `http://localhost:${this.CURRENT_HOST_BACKEND_PORT}`;
6286
+ //#endregion
6287
+ return void 0;
6288
+ }
6289
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonBaseAngularService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
6290
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonBaseAngularService }); }
6291
+ }
6292
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.9", ngImport: i0, type: TaonBaseAngularService, decorators: [{
6293
+ type: Injectable
6294
+ }], ctorParameters: () => [] });
6295
+
6296
+ /**
6297
+ * Provider decorator
6298
+ */
6299
+ function TaonMiddleware(options) {
6300
+ return function (constructor) {
6301
+ Reflect.defineMetadata(Symbols.metadata.options.provider, options, constructor);
6302
+ Reflect.defineMetadata(Symbols.metadata.className, options?.className || constructor.name, constructor);
6303
+ ClassHelpers.setName(constructor, options?.className || constructor.name);
6304
+ };
6305
+ }
6306
+ class TaonMiddlewareOptions extends DecoratorAbstractOpt {
6307
+ }
6308
+
6301
6309
  //#endregion
6302
6310
  /**
6303
6311
  * TODO
@@ -7035,7 +7043,7 @@ let TaonBaseRepository = class TaonBaseRepository extends TaonBaseCustomReposito
7035
7043
  }
7036
7044
  };
7037
7045
  TaonBaseRepository = __decorate([
7038
- TaonRepository({ className: 'TaonBaseRepository' }),
7046
+ TaonRepository({ className: TaonBaseRepositoryClassName }),
7039
7047
  __metadata("design:paramtypes", [Function])
7040
7048
  ], TaonBaseRepository);
7041
7049
 
@@ -7670,6 +7678,7 @@ TaonBaseCrudController = __decorate([
7670
7678
  TaonController({ className: 'TaonBaseCrudController' })
7671
7679
  ], TaonBaseCrudController);
7672
7680
 
7681
+ const KVexpirationsDbMetaKey = '__kvMeta.expirations';
7673
7682
  /**
7674
7683
  * Please override property entityClassFn with entity class.
7675
7684
  */
@@ -7714,13 +7723,47 @@ let TaonBaseKvRepository = class TaonBaseKvRepository extends TaonBaseCustomRepo
7714
7723
  /* */
7715
7724
  /* */
7716
7725
  /* */
7726
+ /* */
7727
+ /* */
7728
+ /* */
7729
+ /* */
7730
+ /* */
7731
+ /* */
7732
+ /* */
7733
+ /* */
7734
+ /* */
7735
+ /* */
7736
+ /* */
7737
+ /* */
7738
+ /* */
7739
+ /* */
7740
+ /* */
7741
+ /* */
7742
+ /* */
7743
+ /* */
7744
+ /* */
7745
+ /* */
7746
+ /* */
7747
+ /* */
7748
+ /* */
7749
+ /* */
7750
+ /* */
7751
+ /* */
7752
+ /* */
7753
+ /* */
7754
+ /* */
7755
+ /* */
7756
+ /* */
7757
+ /* */
7758
+ /* */
7759
+ /* */
7717
7760
  //#endregion
7718
7761
  //#region private helpers
7719
7762
  normalizeKey(key) {
7720
7763
  return `${String(key)}`;
7721
7764
  }
7722
7765
  expirationPath(key) {
7723
- return `__kvMeta.expirations.${this.normalizeKey(key)}`;
7766
+ return `${KVexpirationsDbMetaKey}.${this.normalizeKey(key)}`;
7724
7767
  }
7725
7768
  async getExpirationTimestamp(key) {
7726
7769
  /* */
@@ -7729,7 +7772,12 @@ let TaonBaseKvRepository = class TaonBaseKvRepository extends TaonBaseCustomRepo
7729
7772
  /* */
7730
7773
  return (void 0);
7731
7774
  }
7732
- async isExpired(key) {
7775
+ async cleanupIfExpired(key) {
7776
+ /* */
7777
+ /* */
7778
+ /* */
7779
+ /* */
7780
+ /* */
7733
7781
  /* */
7734
7782
  /* */
7735
7783
  /* */
@@ -7740,7 +7788,22 @@ let TaonBaseKvRepository = class TaonBaseKvRepository extends TaonBaseCustomRepo
7740
7788
  /* */
7741
7789
  return (void 0);
7742
7790
  }
7743
- async cleanupIfExpired(key) {
7791
+ //#endregion
7792
+ /**
7793
+ * similar to set BUT it will override
7794
+ * only new properies
7795
+ */
7796
+ async merge(key, currentValue) {
7797
+ /* */
7798
+ /* */
7799
+ /* */
7800
+ /* */
7801
+ /* */
7802
+ /* */
7803
+ /* */
7804
+ /* */
7805
+ /* */
7806
+ /* */
7744
7807
  /* */
7745
7808
  /* */
7746
7809
  /* */
@@ -7756,7 +7819,6 @@ let TaonBaseKvRepository = class TaonBaseKvRepository extends TaonBaseCustomRepo
7756
7819
  /* */
7757
7820
  return (void 0);
7758
7821
  }
7759
- //#endregion
7760
7822
  async set(key, value) {
7761
7823
  /* */
7762
7824
  /* */
@@ -7841,6 +7903,37 @@ let TaonBaseKvRepository = class TaonBaseKvRepository extends TaonBaseCustomRepo
7841
7903
  /* */
7842
7904
  return (void 0);
7843
7905
  }
7906
+ async getAllData() {
7907
+ /* */
7908
+ /* */
7909
+ /* */
7910
+ /* */
7911
+ /* */
7912
+ /* */
7913
+ /* */
7914
+ /* */
7915
+ /* */
7916
+ /* */
7917
+ /* */
7918
+ /* */
7919
+ /* */
7920
+ /* */
7921
+ /* */
7922
+ /* */
7923
+ /* */
7924
+ /* */
7925
+ /* */
7926
+ /* */
7927
+ /* */
7928
+ /* */
7929
+ /* */
7930
+ /* */
7931
+ /* */
7932
+ /* */
7933
+ /* */
7934
+ /* */
7935
+ return (void 0);
7936
+ }
7844
7937
  };
7845
7938
  TaonBaseKvRepository = __decorate([
7846
7939
  TaonRepository({ className: 'TaonBaseKvRepository' })
@@ -8600,7 +8693,6 @@ var Taon;
8600
8693
  //#endregion
8601
8694
  Taon.createContext = createContext;
8602
8695
  Taon.createContextTemplate = createContextTemplate;
8603
- Taon.inject = inject;
8604
8696
  /**
8605
8697
  * @deprecated
8606
8698
  * use createContext instead
@@ -8742,5 +8834,5 @@ const TAON_FLATTEN_MAPPING = {
8742
8834
  * Generated bundle index. Do not edit.
8743
8835
  */
8744
8836
 
8745
- 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, MethodConfig, MockNamespaceIpc, MockServerIpc, MockSocketIpc, Models, 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, TAON_CONTEXT, TAON_FLATTEN_MAPPING, Taon, TaonAdmin, TaonAdminPanelMode, TaonAdminService, TaonBaseAbstractEntity, TaonBaseAngularService, TaonBaseClass, TaonBaseContext, TaonBaseController, TaonBaseCrudController, TaonBaseCustomRepository, TaonBaseEntity, TaonBaseFileUploadMiddleware, TaonBaseInjector, TaonBaseKvRepository, TaonBaseMiddleware, TaonBaseMigration, TaonBaseProvider, TaonBaseRepository, 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, inject, singleTransform, typeFromEntity, typeFromName };
8837
+ 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, 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 };
8746
8838
  //# sourceMappingURL=taon-browser.mjs.map