taon 21.0.42 → 21.0.45

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 (405) hide show
  1. package/bin/start.js +8 -211
  2. package/bin/taon +1 -2
  3. package/bin/taon-debug +1 -1
  4. package/bin/taon-debug-brk +1 -2
  5. package/browser/package.json +1 -1
  6. package/browser/types/taon-browser.d.ts +3 -3
  7. package/browser-prod/package.json +1 -1
  8. package/browser-prod/types/taon-browser.d.ts +3 -3
  9. package/lib/build-info._auto-generated_.d.ts +1 -1
  10. package/lib/build-info._auto-generated_.js +1 -1
  11. package/lib/package.json +1 -1
  12. package/lib/ui/index.js +2 -2
  13. package/lib/ui/taon-admin-mode-configuration/index.js +2 -2
  14. package/lib-prod/base-classes/base-abstract-entity.ts +34 -0
  15. package/lib-prod/base-classes/base-angular-service.ts +107 -0
  16. package/lib-prod/base-classes/base-class.ts +46 -0
  17. package/lib-prod/base-classes/base-context.ts +21 -0
  18. package/lib-prod/base-classes/base-controller.ts +240 -0
  19. package/lib-prod/base-classes/base-crud-controller.ts +298 -0
  20. package/lib-prod/base-classes/base-custom-repository.ts +10 -0
  21. package/lib-prod/base-classes/{base-electron-service.js → base-electron-service.ts} +12 -2
  22. package/lib-prod/base-classes/base-entity.ts +28 -0
  23. package/lib-prod/base-classes/base-file-upload.middleware.ts +92 -0
  24. package/lib-prod/base-classes/base-injector.ts +278 -0
  25. package/lib-prod/base-classes/base-middleware.ts +71 -0
  26. package/lib-prod/base-classes/base-migration.ts +26 -0
  27. package/lib-prod/base-classes/{base-provider.d.ts → base-provider.ts} +2 -2
  28. package/lib-prod/base-classes/base-repository.ts +942 -0
  29. package/lib-prod/base-classes/base-subscriber-for-entity.ts +196 -0
  30. package/lib-prod/base-classes/{base.js → base.ts} +15 -4
  31. package/lib-prod/{build-info._auto-generated_.d.ts → build-info._auto-generated_.ts} +9 -6
  32. package/lib-prod/config/controller-config.ts +58 -0
  33. package/lib-prod/config/controller-options.ts +19 -0
  34. package/lib-prod/config/method-config.ts +55 -0
  35. package/lib-prod/config/param-config.ts +16 -0
  36. package/lib-prod/constants.ts +63 -0
  37. package/lib-prod/context-db-migrations.ts +488 -0
  38. package/lib-prod/create-context.ts +345 -0
  39. package/lib-prod/decorators/classes/controller-decorator.ts +25 -0
  40. package/lib-prod/decorators/classes/entity-decorator.ts +57 -0
  41. package/lib-prod/decorators/classes/middleware-decorator.ts +29 -0
  42. package/lib-prod/decorators/classes/migration-decorator.ts +27 -0
  43. package/lib-prod/decorators/classes/provider-decorator.ts +28 -0
  44. package/lib-prod/decorators/classes/repository-decorator.ts +26 -0
  45. package/lib-prod/decorators/classes/subscriber-decorator.ts +28 -0
  46. package/lib-prod/decorators/decorator-abstract-opt.ts +4 -0
  47. package/lib-prod/decorators/http/http-decorators.ts +26 -0
  48. package/lib-prod/decorators/http/http-methods-decorators.ts +275 -0
  49. package/lib-prod/decorators/http/http-params-decorators.ts +105 -0
  50. package/lib-prod/dependency-injection/di-container.ts +39 -0
  51. package/lib-prod/endpoint-context-storage.ts +47 -0
  52. package/lib-prod/endpoint-context.ts +3100 -0
  53. package/lib-prod/entity-process.ts +283 -0
  54. package/lib-prod/env/env.angular-node-app.ts +66 -0
  55. package/lib-prod/env/env.docs-webapp.ts +66 -0
  56. package/lib-prod/env/env.electron-app.ts +66 -0
  57. package/lib-prod/env/env.mobile-app.ts +66 -0
  58. package/lib-prod/env/env.npm-lib-and-cli-tool.ts +66 -0
  59. package/lib-prod/env/env.vscode-plugin.ts +66 -0
  60. package/lib-prod/express-types.ts +4 -0
  61. package/lib-prod/formly/formly.models.ts +7 -0
  62. package/lib-prod/formly/fromly.ts +261 -0
  63. package/lib-prod/formly/type-from-entity.ts +80 -0
  64. package/lib-prod/get-response-value.ts +30 -0
  65. package/lib-prod/global-state/taon-global-state/{index.d.ts → index.ts} +2 -1
  66. package/lib-prod/global-state/taon-global-state/taon-global-state.abstract.context.ts +21 -0
  67. package/lib-prod/global-state/taon-global-state/taon-global-state.constants.ts +9 -0
  68. package/lib-prod/global-state/taon-global-state/taon-global-state.controller.ts +44 -0
  69. package/lib-prod/global-state/taon-global-state/taon-global-state.entity.ts +40 -0
  70. package/lib-prod/global-state/taon-global-state/taon-global-state.middleware.ts +12 -0
  71. package/lib-prod/global-state/taon-global-state/taon-global-state.models.ts +48 -0
  72. package/lib-prod/global-state/taon-global-state/taon-global-state.provider.ts +16 -0
  73. package/lib-prod/global-state/taon-global-state/taon-global-state.repository.ts +47 -0
  74. package/lib-prod/global-state/taon-global-state/taon-global-state.subscriber.ts +18 -0
  75. package/lib-prod/global-state/taon-global-state/taon-global-state.utils.ts +21 -0
  76. package/lib-prod/global-state/taon-transaction-registry/{index.d.ts → index.ts} +2 -1
  77. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.abstract.context.ts +23 -0
  78. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.constants.ts +7 -0
  79. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.controller.ts +38 -0
  80. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.entity.ts +54 -0
  81. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.middleware.ts +12 -0
  82. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.models.ts +6 -0
  83. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.provider.ts +16 -0
  84. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.repository.ts +29 -0
  85. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.subscriber.ts +20 -0
  86. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.utils.ts +9 -0
  87. package/lib-prod/helpers/class-helpers.ts +315 -0
  88. package/lib-prod/helpers/clone-obj.ts +24 -0
  89. package/lib-prod/helpers/taon-helpers.ts +181 -0
  90. package/lib-prod/{index._auto-generated_.js → index._auto-generated_.ts} +0 -1
  91. package/lib-prod/index.ts +323 -0
  92. package/lib-prod/{inject.js → inject.ts} +57 -40
  93. package/lib-prod/lib-info.md +8 -0
  94. package/lib-prod/migrations/index.ts +2 -0
  95. package/lib-prod/migrations/migrations-info.md +6 -0
  96. package/lib-prod/migrations/{migrations_index._auto-generated_.js → migrations_index._auto-generated_.ts} +2 -1
  97. package/lib-prod/models.ts +427 -0
  98. package/lib-prod/orm/columns.ts +121 -0
  99. package/lib-prod/orm/index.ts +62 -0
  100. package/lib-prod/package.json +1 -1
  101. package/lib-prod/realtime/realtime-client.ts +288 -0
  102. package/lib-prod/realtime/realtime-core.ts +134 -0
  103. package/lib-prod/realtime/realtime-server.ts +398 -0
  104. package/lib-prod/realtime/realtime-strategy/{index.d.ts → index.ts} +1 -1
  105. package/lib-prod/realtime/realtime-strategy/realtime-strategy-ipc.ts +344 -0
  106. package/lib-prod/realtime/realtime-strategy/realtime-strategy-mock.ts +349 -0
  107. package/lib-prod/realtime/realtime-strategy/realtime-strategy-socket-io.ts +30 -0
  108. package/lib-prod/realtime/realtime-strategy/realtime-strategy.ts +21 -0
  109. package/lib-prod/realtime/realtime-subs-manager.ts +127 -0
  110. package/lib-prod/realtime/{realtime.models.d.ts → realtime.models.ts} +13 -5
  111. package/lib-prod/symbols.ts +136 -0
  112. package/lib-prod/ui/index.ts +1 -0
  113. package/lib-prod/ui/taon-admin-mode-configuration/index.ts +1 -0
  114. package/lib-prod/validators.ts +103 -0
  115. package/package.json +2 -1
  116. package/websql/package.json +1 -1
  117. package/websql/types/taon-websql.d.ts +3 -3
  118. package/websql-prod/package.json +1 -1
  119. package/websql-prod/types/taon-websql.d.ts +3 -3
  120. package/lib-prod/base-classes/base-abstract-entity.d.ts +0 -7
  121. package/lib-prod/base-classes/base-abstract-entity.js +0 -42
  122. package/lib-prod/base-classes/base-abstract-entity.js.map +0 -1
  123. package/lib-prod/base-classes/base-angular-service.d.ts +0 -27
  124. package/lib-prod/base-classes/base-angular-service.js +0 -89
  125. package/lib-prod/base-classes/base-angular-service.js.map +0 -1
  126. package/lib-prod/base-classes/base-class.d.ts +0 -15
  127. package/lib-prod/base-classes/base-class.js +0 -40
  128. package/lib-prod/base-classes/base-class.js.map +0 -1
  129. package/lib-prod/base-classes/base-context.d.ts +0 -20
  130. package/lib-prod/base-classes/base-context.js +0 -23
  131. package/lib-prod/base-classes/base-context.js.map +0 -1
  132. package/lib-prod/base-classes/base-controller.d.ts +0 -84
  133. package/lib-prod/base-classes/base-controller.js +0 -173
  134. package/lib-prod/base-classes/base-controller.js.map +0 -1
  135. package/lib-prod/base-classes/base-crud-controller.d.ts +0 -28
  136. package/lib-prod/base-classes/base-crud-controller.js +0 -318
  137. package/lib-prod/base-classes/base-crud-controller.js.map +0 -1
  138. package/lib-prod/base-classes/base-custom-repository.d.ts +0 -3
  139. package/lib-prod/base-classes/base-custom-repository.js +0 -19
  140. package/lib-prod/base-classes/base-custom-repository.js.map +0 -1
  141. package/lib-prod/base-classes/base-electron-service.d.ts +0 -0
  142. package/lib-prod/base-classes/base-electron-service.js.map +0 -1
  143. package/lib-prod/base-classes/base-entity.d.ts +0 -16
  144. package/lib-prod/base-classes/base-entity.js +0 -32
  145. package/lib-prod/base-classes/base-entity.js.map +0 -1
  146. package/lib-prod/base-classes/base-file-upload.middleware.d.ts +0 -14
  147. package/lib-prod/base-classes/base-file-upload.middleware.js +0 -85
  148. package/lib-prod/base-classes/base-file-upload.middleware.js.map +0 -1
  149. package/lib-prod/base-classes/base-injector.d.ts +0 -67
  150. package/lib-prod/base-classes/base-injector.js +0 -198
  151. package/lib-prod/base-classes/base-injector.js.map +0 -1
  152. package/lib-prod/base-classes/base-middleware.d.ts +0 -38
  153. package/lib-prod/base-classes/base-middleware.js +0 -14
  154. package/lib-prod/base-classes/base-middleware.js.map +0 -1
  155. package/lib-prod/base-classes/base-migration.d.ts +0 -11
  156. package/lib-prod/base-classes/base-migration.js +0 -25
  157. package/lib-prod/base-classes/base-migration.js.map +0 -1
  158. package/lib-prod/base-classes/base-provider.js +0 -13
  159. package/lib-prod/base-classes/base-provider.js.map +0 -1
  160. package/lib-prod/base-classes/base-repository.d.ts +0 -272
  161. package/lib-prod/base-classes/base-repository.js +0 -634
  162. package/lib-prod/base-classes/base-repository.js.map +0 -1
  163. package/lib-prod/base-classes/base-subscriber-for-entity.d.ts +0 -81
  164. package/lib-prod/base-classes/base-subscriber-for-entity.js +0 -155
  165. package/lib-prod/base-classes/base-subscriber-for-entity.js.map +0 -1
  166. package/lib-prod/base-classes/base.d.ts +0 -1
  167. package/lib-prod/base-classes/base.js.map +0 -1
  168. package/lib-prod/build-info._auto-generated_.js +0 -30
  169. package/lib-prod/build-info._auto-generated_.js.map +0 -1
  170. package/lib-prod/config/controller-config.d.ts +0 -21
  171. package/lib-prod/config/controller-config.js +0 -34
  172. package/lib-prod/config/controller-config.js.map +0 -1
  173. package/lib-prod/config/controller-options.d.ts +0 -16
  174. package/lib-prod/config/controller-options.js +0 -8
  175. package/lib-prod/config/controller-options.js.map +0 -1
  176. package/lib-prod/config/method-config.d.ts +0 -39
  177. package/lib-prod/config/method-config.js +0 -12
  178. package/lib-prod/config/method-config.js.map +0 -1
  179. package/lib-prod/config/param-config.d.ts +0 -8
  180. package/lib-prod/config/param-config.js +0 -8
  181. package/lib-prod/config/param-config.js.map +0 -1
  182. package/lib-prod/constants.d.ts +0 -9
  183. package/lib-prod/constants.js +0 -32
  184. package/lib-prod/constants.js.map +0 -1
  185. package/lib-prod/context-db-migrations.d.ts +0 -17
  186. package/lib-prod/context-db-migrations.js +0 -349
  187. package/lib-prod/context-db-migrations.js.map +0 -1
  188. package/lib-prod/create-context.d.ts +0 -78
  189. package/lib-prod/create-context.js +0 -223
  190. package/lib-prod/create-context.js.map +0 -1
  191. package/lib-prod/decorators/classes/controller-decorator.d.ts +0 -5
  192. package/lib-prod/decorators/classes/controller-decorator.js +0 -21
  193. package/lib-prod/decorators/classes/controller-decorator.js.map +0 -1
  194. package/lib-prod/decorators/classes/entity-decorator.d.ts +0 -19
  195. package/lib-prod/decorators/classes/entity-decorator.js +0 -43
  196. package/lib-prod/decorators/classes/entity-decorator.js.map +0 -1
  197. package/lib-prod/decorators/classes/middleware-decorator.d.ts +0 -8
  198. package/lib-prod/decorators/classes/middleware-decorator.js +0 -22
  199. package/lib-prod/decorators/classes/middleware-decorator.js.map +0 -1
  200. package/lib-prod/decorators/classes/migration-decorator.d.ts +0 -7
  201. package/lib-prod/decorators/classes/migration-decorator.js +0 -21
  202. package/lib-prod/decorators/classes/migration-decorator.js.map +0 -1
  203. package/lib-prod/decorators/classes/provider-decorator.d.ts +0 -7
  204. package/lib-prod/decorators/classes/provider-decorator.js +0 -21
  205. package/lib-prod/decorators/classes/provider-decorator.js.map +0 -1
  206. package/lib-prod/decorators/classes/repository-decorator.d.ts +0 -7
  207. package/lib-prod/decorators/classes/repository-decorator.js +0 -21
  208. package/lib-prod/decorators/classes/repository-decorator.js.map +0 -1
  209. package/lib-prod/decorators/classes/subscriber-decorator.d.ts +0 -8
  210. package/lib-prod/decorators/classes/subscriber-decorator.js +0 -22
  211. package/lib-prod/decorators/classes/subscriber-decorator.js.map +0 -1
  212. package/lib-prod/decorators/decorator-abstract-opt.d.ts +0 -3
  213. package/lib-prod/decorators/decorator-abstract-opt.js +0 -7
  214. package/lib-prod/decorators/decorator-abstract-opt.js.map +0 -1
  215. package/lib-prod/decorators/http/http-decorators.d.ts +0 -3
  216. package/lib-prod/decorators/http/http-decorators.js +0 -24
  217. package/lib-prod/decorators/http/http-decorators.js.map +0 -1
  218. package/lib-prod/decorators/http/http-methods-decorators.d.ts +0 -70
  219. package/lib-prod/decorators/http/http-methods-decorators.js +0 -112
  220. package/lib-prod/decorators/http/http-methods-decorators.js.map +0 -1
  221. package/lib-prod/decorators/http/http-params-decorators.d.ts +0 -8
  222. package/lib-prod/decorators/http/http-params-decorators.js +0 -50
  223. package/lib-prod/decorators/http/http-params-decorators.js.map +0 -1
  224. package/lib-prod/dependency-injection/di-container.d.ts +0 -5
  225. package/lib-prod/dependency-injection/di-container.js +0 -35
  226. package/lib-prod/dependency-injection/di-container.js.map +0 -1
  227. package/lib-prod/endpoint-context-storage.d.ts +0 -11
  228. package/lib-prod/endpoint-context-storage.js +0 -38
  229. package/lib-prod/endpoint-context-storage.js.map +0 -1
  230. package/lib-prod/endpoint-context.d.ts +0 -197
  231. package/lib-prod/endpoint-context.js +0 -2416
  232. package/lib-prod/endpoint-context.js.map +0 -1
  233. package/lib-prod/entity-process.d.ts +0 -39
  234. package/lib-prod/entity-process.js +0 -242
  235. package/lib-prod/entity-process.js.map +0 -1
  236. package/lib-prod/env/env.angular-node-app.d.ts +0 -64
  237. package/lib-prod/env/env.angular-node-app.js +0 -71
  238. package/lib-prod/env/env.angular-node-app.js.map +0 -1
  239. package/lib-prod/env/env.docs-webapp.d.ts +0 -64
  240. package/lib-prod/env/env.docs-webapp.js +0 -71
  241. package/lib-prod/env/env.docs-webapp.js.map +0 -1
  242. package/lib-prod/env/env.electron-app.d.ts +0 -64
  243. package/lib-prod/env/env.electron-app.js +0 -71
  244. package/lib-prod/env/env.electron-app.js.map +0 -1
  245. package/lib-prod/env/env.mobile-app.d.ts +0 -64
  246. package/lib-prod/env/env.mobile-app.js +0 -71
  247. package/lib-prod/env/env.mobile-app.js.map +0 -1
  248. package/lib-prod/env/env.npm-lib-and-cli-tool.d.ts +0 -64
  249. package/lib-prod/env/env.npm-lib-and-cli-tool.js +0 -71
  250. package/lib-prod/env/env.npm-lib-and-cli-tool.js.map +0 -1
  251. package/lib-prod/env/env.vscode-plugin.d.ts +0 -64
  252. package/lib-prod/env/env.vscode-plugin.js +0 -71
  253. package/lib-prod/env/env.vscode-plugin.js.map +0 -1
  254. package/lib-prod/env/index.js +0 -23
  255. package/lib-prod/env/index.js.map +0 -1
  256. package/lib-prod/express-types.d.ts +0 -1
  257. package/lib-prod/express-types.js +0 -3
  258. package/lib-prod/express-types.js.map +0 -1
  259. package/lib-prod/formly/formly.models.d.ts +0 -1
  260. package/lib-prod/formly/formly.models.js +0 -3
  261. package/lib-prod/formly/formly.models.js.map +0 -1
  262. package/lib-prod/formly/fromly.d.ts +0 -16
  263. package/lib-prod/formly/fromly.js +0 -209
  264. package/lib-prod/formly/fromly.js.map +0 -1
  265. package/lib-prod/formly/type-from-entity.d.ts +0 -20
  266. package/lib-prod/formly/type-from-entity.js +0 -60
  267. package/lib-prod/formly/type-from-entity.js.map +0 -1
  268. package/lib-prod/get-response-value.d.ts +0 -6
  269. package/lib-prod/get-response-value.js +0 -27
  270. package/lib-prod/get-response-value.js.map +0 -1
  271. package/lib-prod/global-state/taon-global-state/index.js +0 -23
  272. package/lib-prod/global-state/taon-global-state/index.js.map +0 -1
  273. package/lib-prod/global-state/taon-global-state/taon-global-state.abstract.context.d.ts +0 -19
  274. package/lib-prod/global-state/taon-global-state/taon-global-state.abstract.context.js +0 -23
  275. package/lib-prod/global-state/taon-global-state/taon-global-state.abstract.context.js.map +0 -1
  276. package/lib-prod/global-state/taon-global-state/taon-global-state.constants.d.ts +0 -2
  277. package/lib-prod/global-state/taon-global-state/taon-global-state.constants.js +0 -11
  278. package/lib-prod/global-state/taon-global-state/taon-global-state.constants.js.map +0 -1
  279. package/lib-prod/global-state/taon-global-state/taon-global-state.controller.d.ts +0 -11
  280. package/lib-prod/global-state/taon-global-state/taon-global-state.controller.js +0 -61
  281. package/lib-prod/global-state/taon-global-state/taon-global-state.controller.js.map +0 -1
  282. package/lib-prod/global-state/taon-global-state/taon-global-state.entity.d.ts +0 -7
  283. package/lib-prod/global-state/taon-global-state/taon-global-state.entity.js +0 -64
  284. package/lib-prod/global-state/taon-global-state/taon-global-state.entity.js.map +0 -1
  285. package/lib-prod/global-state/taon-global-state/taon-global-state.middleware.d.ts +0 -3
  286. package/lib-prod/global-state/taon-global-state/taon-global-state.middleware.js +0 -22
  287. package/lib-prod/global-state/taon-global-state/taon-global-state.middleware.js.map +0 -1
  288. package/lib-prod/global-state/taon-global-state/taon-global-state.models.d.ts +0 -28
  289. package/lib-prod/global-state/taon-global-state/taon-global-state.models.js +0 -48
  290. package/lib-prod/global-state/taon-global-state/taon-global-state.models.js.map +0 -1
  291. package/lib-prod/global-state/taon-global-state/taon-global-state.provider.d.ts +0 -3
  292. package/lib-prod/global-state/taon-global-state/taon-global-state.provider.js +0 -22
  293. package/lib-prod/global-state/taon-global-state/taon-global-state.provider.js.map +0 -1
  294. package/lib-prod/global-state/taon-global-state/taon-global-state.repository.d.ts +0 -9
  295. package/lib-prod/global-state/taon-global-state/taon-global-state.repository.js +0 -53
  296. package/lib-prod/global-state/taon-global-state/taon-global-state.repository.js.map +0 -1
  297. package/lib-prod/global-state/taon-global-state/taon-global-state.subscriber.d.ts +0 -7
  298. package/lib-prod/global-state/taon-global-state/taon-global-state.subscriber.js +0 -29
  299. package/lib-prod/global-state/taon-global-state/taon-global-state.subscriber.js.map +0 -1
  300. package/lib-prod/global-state/taon-global-state/taon-global-state.utils.d.ts +0 -2
  301. package/lib-prod/global-state/taon-global-state/taon-global-state.utils.js +0 -16
  302. package/lib-prod/global-state/taon-global-state/taon-global-state.utils.js.map +0 -1
  303. package/lib-prod/global-state/taon-transaction-registry/index.js +0 -28
  304. package/lib-prod/global-state/taon-transaction-registry/index.js.map +0 -1
  305. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.abstract.context.d.ts +0 -19
  306. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.abstract.context.js +0 -25
  307. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.abstract.context.js.map +0 -1
  308. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.constants.d.ts +0 -2
  309. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.constants.js +0 -9
  310. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.constants.js.map +0 -1
  311. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.controller.d.ts +0 -9
  312. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.controller.js +0 -51
  313. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.controller.js.map +0 -1
  314. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.entity.d.ts +0 -12
  315. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.entity.js +0 -77
  316. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.entity.js.map +0 -1
  317. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.middleware.d.ts +0 -3
  318. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.middleware.js +0 -22
  319. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.middleware.js.map +0 -1
  320. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.models.d.ts +0 -6
  321. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.models.js +0 -11
  322. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.models.js.map +0 -1
  323. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.provider.d.ts +0 -3
  324. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.provider.js +0 -22
  325. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.provider.js.map +0 -1
  326. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.repository.d.ts +0 -9
  327. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.repository.js +0 -38
  328. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.repository.js.map +0 -1
  329. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.subscriber.d.ts +0 -7
  330. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.subscriber.js +0 -29
  331. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.subscriber.js.map +0 -1
  332. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.utils.d.ts +0 -2
  333. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.utils.js +0 -9
  334. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.utils.js.map +0 -1
  335. package/lib-prod/helpers/class-helpers.d.ts +0 -22
  336. package/lib-prod/helpers/class-helpers.js +0 -246
  337. package/lib-prod/helpers/class-helpers.js.map +0 -1
  338. package/lib-prod/helpers/clone-obj.d.ts +0 -1
  339. package/lib-prod/helpers/clone-obj.js +0 -22
  340. package/lib-prod/helpers/clone-obj.js.map +0 -1
  341. package/lib-prod/helpers/taon-helpers.d.ts +0 -16
  342. package/lib-prod/helpers/taon-helpers.js +0 -162
  343. package/lib-prod/helpers/taon-helpers.js.map +0 -1
  344. package/lib-prod/index._auto-generated_.d.ts +0 -0
  345. package/lib-prod/index._auto-generated_.js.map +0 -1
  346. package/lib-prod/index.d.ts +0 -230
  347. package/lib-prod/index.js +0 -273
  348. package/lib-prod/index.js.map +0 -1
  349. package/lib-prod/inject.d.ts +0 -4
  350. package/lib-prod/inject.js.map +0 -1
  351. package/lib-prod/migrations/index.d.ts +0 -1
  352. package/lib-prod/migrations/index.js +0 -19
  353. package/lib-prod/migrations/index.js.map +0 -1
  354. package/lib-prod/migrations/migrations_index._auto-generated_.d.ts +0 -0
  355. package/lib-prod/migrations/migrations_index._auto-generated_.js.map +0 -1
  356. package/lib-prod/models.d.ts +0 -255
  357. package/lib-prod/models.js +0 -117
  358. package/lib-prod/models.js.map +0 -1
  359. package/lib-prod/orm/columns.d.ts +0 -32
  360. package/lib-prod/orm/columns.js +0 -112
  361. package/lib-prod/orm/columns.js.map +0 -1
  362. package/lib-prod/orm/index.d.ts +0 -1
  363. package/lib-prod/orm/index.js +0 -73
  364. package/lib-prod/orm/index.js.map +0 -1
  365. package/lib-prod/realtime/realtime-client.d.ts +0 -41
  366. package/lib-prod/realtime/realtime-client.js +0 -204
  367. package/lib-prod/realtime/realtime-client.js.map +0 -1
  368. package/lib-prod/realtime/realtime-core.d.ts +0 -40
  369. package/lib-prod/realtime/realtime-core.js +0 -106
  370. package/lib-prod/realtime/realtime-core.js.map +0 -1
  371. package/lib-prod/realtime/realtime-server.d.ts +0 -43
  372. package/lib-prod/realtime/realtime-server.js +0 -243
  373. package/lib-prod/realtime/realtime-server.js.map +0 -1
  374. package/lib-prod/realtime/realtime-strategy/index.js +0 -21
  375. package/lib-prod/realtime/realtime-strategy/index.js.map +0 -1
  376. package/lib-prod/realtime/realtime-strategy/realtime-strategy-ipc.d.ts +0 -80
  377. package/lib-prod/realtime/realtime-strategy/realtime-strategy-ipc.js +0 -297
  378. package/lib-prod/realtime/realtime-strategy/realtime-strategy-ipc.js.map +0 -1
  379. package/lib-prod/realtime/realtime-strategy/realtime-strategy-mock.d.ts +0 -14
  380. package/lib-prod/realtime/realtime-strategy/realtime-strategy-mock.js +0 -303
  381. package/lib-prod/realtime/realtime-strategy/realtime-strategy-mock.js.map +0 -1
  382. package/lib-prod/realtime/realtime-strategy/realtime-strategy-socket-io.d.ts +0 -16
  383. package/lib-prod/realtime/realtime-strategy/realtime-strategy-socket-io.js +0 -33
  384. package/lib-prod/realtime/realtime-strategy/realtime-strategy-socket-io.js.map +0 -1
  385. package/lib-prod/realtime/realtime-strategy/realtime-strategy.d.ts +0 -11
  386. package/lib-prod/realtime/realtime-strategy/realtime-strategy.js +0 -17
  387. package/lib-prod/realtime/realtime-strategy/realtime-strategy.js.map +0 -1
  388. package/lib-prod/realtime/realtime-subs-manager.d.ts +0 -14
  389. package/lib-prod/realtime/realtime-subs-manager.js +0 -94
  390. package/lib-prod/realtime/realtime-subs-manager.js.map +0 -1
  391. package/lib-prod/realtime/realtime.models.js +0 -4
  392. package/lib-prod/realtime/realtime.models.js.map +0 -1
  393. package/lib-prod/symbols.d.ts +0 -63
  394. package/lib-prod/symbols.js +0 -109
  395. package/lib-prod/symbols.js.map +0 -1
  396. package/lib-prod/ui/index.d.ts +0 -1
  397. package/lib-prod/ui/index.js +0 -5
  398. package/lib-prod/ui/index.js.map +0 -1
  399. package/lib-prod/ui/taon-admin-mode-configuration/index.d.ts +0 -1
  400. package/lib-prod/ui/taon-admin-mode-configuration/index.js +0 -5
  401. package/lib-prod/ui/taon-admin-mode-configuration/index.js.map +0 -1
  402. package/lib-prod/validators.d.ts +0 -5
  403. package/lib-prod/validators.js +0 -88
  404. package/lib-prod/validators.js.map +0 -1
  405. /package/lib-prod/env/{index.d.ts → index.ts} +0 -0
@@ -0,0 +1,288 @@
1
+ //#region imports
2
+ import { Observable } from 'rxjs';
3
+ import { ___NS__add, ___NS__after, ___NS__ary, ___NS__assign, ___NS__assignIn, ___NS__assignInWith, ___NS__assignWith, ___NS__at, ___NS__attempt, ___NS__before, ___NS__bind, ___NS__bindAll, ___NS__bindKey, ___NS__camelCase, ___NS__capitalize, ___NS__castArray, ___NS__ceil, ___NS__chain, ___NS__chunk, ___NS__clamp, ___NS__clone, ___NS__cloneDeep, ___NS__cloneDeepWith, ___NS__cloneWith, ___NS__compact, ___NS__concat, ___NS__cond, ___NS__conforms, ___NS__conformsTo, ___NS__constant, ___NS__countBy, ___NS__create, ___NS__curry, ___NS__curryRight, ___NS__debounce, ___NS__deburr, ___NS__defaults, ___NS__defaultsDeep, ___NS__defaultTo, ___NS__defer, ___NS__delay, ___NS__difference, ___NS__differenceBy, ___NS__differenceWith, ___NS__divide, ___NS__drop, ___NS__dropRight, ___NS__dropRightWhile, ___NS__dropWhile, ___NS__each, ___NS__eachRight, ___NS__endsWith, ___NS__entries, ___NS__entriesIn, ___NS__eq, ___NS__escape, ___NS__escapeRegExp, ___NS__every, ___NS__extend, ___NS__extendWith, ___NS__fill, ___NS__filter, ___NS__find, ___NS__findIndex, ___NS__findKey, ___NS__findLast, ___NS__findLastIndex, ___NS__findLastKey, ___NS__first, ___NS__flatMap, ___NS__flatMapDeep, ___NS__flatMapDepth, ___NS__flatten, ___NS__flattenDeep, ___NS__flattenDepth, ___NS__flip, ___NS__floor, ___NS__flow, ___NS__flowRight, ___NS__forEach, ___NS__forEachRight, ___NS__forIn, ___NS__forInRight, ___NS__forOwn, ___NS__forOwnRight, ___NS__fromPairs, ___NS__functions, ___NS__functionsIn, ___NS__get, ___NS__groupBy, ___NS__gt, ___NS__gte, ___NS__has, ___NS__hasIn, ___NS__head, ___NS__identity, ___NS__includes, ___NS__indexOf, ___NS__initial, ___NS__inRange, ___NS__intersection, ___NS__intersectionBy, ___NS__intersectionWith, ___NS__invert, ___NS__invertBy, ___NS__invoke, ___NS__invokeMap, ___NS__isArguments, ___NS__isArray, ___NS__isArrayBuffer, ___NS__isArrayLike, ___NS__isArrayLikeObject, ___NS__isBoolean, ___NS__isBuffer, ___NS__isDate, ___NS__isElement, ___NS__isEmpty, ___NS__isEqual, ___NS__isEqualWith, ___NS__isError, ___NS__isFinite, ___NS__isFunction, ___NS__isInteger, ___NS__isLength, ___NS__isMap, ___NS__isMatch, ___NS__isMatchWith, ___NS__isNaN, ___NS__isNative, ___NS__isNil, ___NS__isNull, ___NS__isNumber, ___NS__isObject, ___NS__isObjectLike, ___NS__isPlainObject, ___NS__isRegExp, ___NS__isSafeInteger, ___NS__isSet, ___NS__isString, ___NS__isSymbol, ___NS__isTypedArray, ___NS__isUndefined, ___NS__isWeakMap, ___NS__isWeakSet, ___NS__iteratee, ___NS__join, ___NS__kebabCase, ___NS__keyBy, ___NS__keys, ___NS__keysIn, ___NS__last, ___NS__lastIndexOf, ___NS__lowerCase, ___NS__lowerFirst, ___NS__lt, ___NS__lte, ___NS__map, ___NS__mapKeys, ___NS__mapValues, ___NS__matches, ___NS__matchesProperty, ___NS__max, ___NS__maxBy, ___NS__mean, ___NS__meanBy, ___NS__memoize, ___NS__merge, ___NS__mergeWith, ___NS__method, ___NS__methodOf, ___NS__min, ___NS__minBy, ___NS__mixin, ___NS__multiply, ___NS__negate, ___NS__noop, ___NS__now, ___NS__nth, ___NS__nthArg, ___NS__omit, ___NS__omitBy, ___NS__once, ___NS__orderBy, ___NS__over, ___NS__overArgs, ___NS__overEvery, ___NS__overSome, ___NS__pad, ___NS__padEnd, ___NS__padStart, ___NS__parseInt, ___NS__partial, ___NS__partialRight, ___NS__partition, ___NS__pick, ___NS__pickBy, ___NS__property, ___NS__propertyOf, ___NS__pull, ___NS__pullAll, ___NS__pullAllBy, ___NS__pullAllWith, ___NS__pullAt, ___NS__random, ___NS__range, ___NS__rangeRight, ___NS__rearg, ___NS__reduce, ___NS__reduceRight, ___NS__reject, ___NS__remove, ___NS__repeat, ___NS__replace, ___NS__rest, ___NS__result, ___NS__reverse, ___NS__round, ___NS__sample, ___NS__sampleSize, ___NS__set, ___NS__setWith, ___NS__shuffle, ___NS__size, ___NS__slice, ___NS__snakeCase, ___NS__some, ___NS__sortBy, ___NS__sortedIndex, ___NS__sortedIndexBy, ___NS__sortedIndexOf, ___NS__sortedLastIndex, ___NS__sortedLastIndexBy, ___NS__sortedLastIndexOf, ___NS__sortedUniq, ___NS__sortedUniqBy, ___NS__split, ___NS__spread, ___NS__startCase, ___NS__startsWith, ___NS__stubArray, ___NS__stubFalse, ___NS__stubObject, ___NS__stubString, ___NS__stubTrue, ___NS__subtract, ___NS__sum, ___NS__sumBy, ___NS__tail, ___NS__take, ___NS__takeRight, ___NS__takeRightWhile, ___NS__takeWhile, ___NS__tap, ___NS__template, ___NS__templateSettings, ___NS__throttle, ___NS__thru, ___NS__times, ___NS__toArray, ___NS__toFinite, ___NS__toInteger, ___NS__toLength, ___NS__toLower, ___NS__toNumber, ___NS__toPairs, ___NS__toPairsIn, ___NS__toPath, ___NS__toPlainObject, ___NS__toSafeInteger, ___NS__toString, ___NS__toUpper, ___NS__transform, ___NS__trim, ___NS__trimEnd, ___NS__trimStart, ___NS__truncate, ___NS__unary, ___NS__unescape, ___NS__union, ___NS__unionBy, ___NS__unionWith, ___NS__uniq, ___NS__uniqBy, ___NS__uniqueId, ___NS__uniqWith, ___NS__unset, ___NS__unzip, ___NS__unzipWith, ___NS__update, ___NS__updateWith, ___NS__upperCase, ___NS__upperFirst, ___NS__values, ___NS__valuesIn, ___NS__without, ___NS__words, ___NS__wrap, ___NS__xor, ___NS__xorBy, ___NS__xorWith, ___NS__zip, ___NS__zipObject, ___NS__zipObjectDeep, ___NS__zipWith, UtilsOs__NS__commandExistsAsync, UtilsOs__NS__commandExistsSync, UtilsOs__NS__detectEditor, UtilsOs__NS__Editor, UtilsOs__NS__EDITOR_PROCESSES, UtilsOs__NS__EditorArr, UtilsOs__NS__EditorProcess, UtilsOs__NS__getEditorSettingsJsonPath, UtilsOs__NS__getRealHomeDir, UtilsOs__NS__isBrowser, UtilsOs__NS__isDockerAvailable, UtilsOs__NS__isElectron, UtilsOs__NS__isNode, UtilsOs__NS__isNodeVersionOk, UtilsOs__NS__isPortInUse, UtilsOs__NS__isRunningInBrowser, UtilsOs__NS__isRunningInCliMode, UtilsOs__NS__isRunningInDocker, UtilsOs__NS__isRunningInElectron, UtilsOs__NS__isRunningInLinuxGraphicsCapableEnvironment, UtilsOs__NS__isRunningInMochaTest, UtilsOs__NS__isRunningInNode, UtilsOs__NS__isRunningInOsWithGraphicsCapableEnvironment, UtilsOs__NS__isRunningInSSRMode, UtilsOs__NS__isRunningInVscodeExtension, UtilsOs__NS__isRunningInWebSQL, UtilsOs__NS__isRunningInWindows, UtilsOs__NS__isRunningInWindowsCmd, UtilsOs__NS__isRunningInWindowsPowerShell, UtilsOs__NS__isRunningInWsl, UtilsOs__NS__isRunningNodeDebugger, UtilsOs__NS__isSSRMode, UtilsOs__NS__isVscodeExtension, UtilsOs__NS__isWebSQL, UtilsOs__NS__killAllEditor, UtilsOs__NS__openFolderInFileExplorer, UtilsOs__NS__openFolderInVSCode, UtilsOs__NS__pipxNestedPackageExists, UtilsOs__NS__pipxPackageExists, UtilsOs__NS__pythonModuleExists, UtilsOs__NS__UnknownEditor } from 'tnp-core/lib-prod';
4
+ import { Helpers__NS___fixCommand, Helpers__NS__bigMaxBuffer, Helpers__NS__checkProcess, Helpers__NS__cleanExit, Helpers__NS__clearConsole, Helpers__NS__command, Helpers__NS__commandOutputAsString, Helpers__NS__commandOutputAsStringAsync, Helpers__NS__compilationWrapper, Helpers__NS__contain, Helpers__NS__createFolder, Helpers__NS__createSymLink, Helpers__NS__error, Helpers__NS__execute, Helpers__NS__exists, Helpers__NS__filesFrom, Helpers__NS__foldersFrom, Helpers__NS__getFilesFrom, Helpers__NS__getFoldersFrom, Helpers__NS__getIsBrowser, Helpers__NS__getIsElectron, Helpers__NS__getIsNode, Helpers__NS__getIsRunningInGitBash, Helpers__NS__getIsSupportedTaonTerminal, Helpers__NS__getIsVerboseMode, Helpers__NS__getIsWebSQL, Helpers__NS__getIsWsl, Helpers__NS__getStdio, Helpers__NS__hideNodeWarnings, Helpers__NS__info, Helpers__NS__isBlob, Helpers__NS__isBuffer, Helpers__NS__isClass, Helpers__NS__isExistedSymlink, Helpers__NS__isFile, Helpers__NS__isFolder, Helpers__NS__isRunningInDocker, Helpers__NS__isRunningInLinuxGraphicsCapableEnvironment, Helpers__NS__isSymlinkFileExitedOrUnexisted, Helpers__NS__isSymlinkThatMatchesUrl, Helpers__NS__isUnexistedLink, Helpers__NS__killOnPort, Helpers__NS__killProcess, Helpers__NS__killProcessByPort, Helpers__NS__linksToFolderFrom, Helpers__NS__linksToFoldersFrom, Helpers__NS__log, Helpers__NS__logError, Helpers__NS__logInfo, Helpers__NS__logProc, Helpers__NS__logSuccess, Helpers__NS__logWarn, Helpers__NS__mediaTypeFromSrc, Helpers__NS__mkdirp, Helpers__NS__modifyLineByLine, Helpers__NS__msgCacheClear, Helpers__NS__openFolderInFileExplorer, Helpers__NS__parse, Helpers__NS__pathContainLink, Helpers__NS__questionYesNo, Helpers__NS__readFile, Helpers__NS__readJson, Helpers__NS__readJson5, Helpers__NS__readJsonC, Helpers__NS__relative, Helpers__NS__remove, Helpers__NS__removeEmptyLineFromString, Helpers__NS__removeFileIfExists, Helpers__NS__removeFolderIfExists, Helpers__NS__removeIfExists, Helpers__NS__removeSlashAtBegin, Helpers__NS__removeSlashAtEnd, Helpers__NS__removeSymlinks, Helpers__NS__renderError, Helpers__NS__replaceLinesInFile, Helpers__NS__run, Helpers__NS__runAsyncIn, Helpers__NS__runSyncIn, Helpers__NS__runSyncOrAsync, Helpers__NS__sleep, Helpers__NS__stopApplication, Helpers__NS__stringify, Helpers__NS__success, Helpers__NS__taskDone, Helpers__NS__taskStarted, Helpers__NS__throwError, Helpers__NS__timeout, Helpers__NS__tryCatchError, Helpers__NS__tryReadFile, Helpers__NS__tryRemoveDir, Helpers__NS__values, Helpers__NS__wait, Helpers__NS__warn, Helpers__NS__writeFile, Helpers__NS__writeJson, Helpers__NS__writeJson5, Helpers__NS__writeJsonC } from 'tnp-core/lib-prod';
5
+
6
+ import type { TaonBaseEntity } from '../base-classes/base-entity';
7
+ import { 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 } from '../helpers/class-helpers';
8
+ import { Symbols__NS__classMethodsNames, Symbols__NS__classNameStaticProperty, Symbols__NS__ctxInClassOrClassObj, Symbols__NS__fullClassNameStaticProperty, Symbols__NS__metadata, Symbols__NS__old, Symbols__NS__orignalClass, Symbols__NS__orignalClassClonesObj, Symbols__NS__REALTIME } from '../symbols';
9
+
10
+ import { RealtimeCore } from './realtime-core';
11
+ import { RealtimeSubsManager } from './realtime-subs-manager';
12
+ import { RealtimeModels__NS__ChangeOption, RealtimeModels__NS__EventHandler, RealtimeModels__NS__SubsManagerOpt } from './realtime.models';
13
+
14
+ //#endregion
15
+
16
+ /**
17
+ * Client for realtime communication
18
+ * you can listen to:
19
+ * - entity changes (any property in table changed)
20
+ * - entity custom property changes (specific property changed)
21
+ * - entity table changes (new instance added, instance removed)
22
+ * - custom events
23
+ */
24
+ export class RealtimeClient {
25
+ private subsManagers: { [path: string]: RealtimeSubsManager } = {};
26
+ constructor(private core: RealtimeCore) {
27
+ this.core = core;
28
+ if (!core.ctx.disabledRealtime) {
29
+ // this.core.ctx.logRealtime &&
30
+ // Helpers__NS__info(`
31
+
32
+ // [ctx=${this.core.ctx.contextName}] init RealtimeClient (type: ${this.core.ctx.contextType})
33
+
34
+ // `);
35
+ this.init();
36
+ }
37
+ }
38
+
39
+ //#region methods & getters / init
40
+ private init(): void {
41
+ //#region prepare naspaces pathes
42
+ const nspPath = {
43
+ global: this.core.pathFor(),
44
+ realtime: this.core.pathFor(
45
+ Symbols__NS__REALTIME.NAMESPACE(this.core.ctx.contextName),
46
+ ),
47
+ };
48
+ // console.log('[browser] nspPath', nspPath);
49
+
50
+ if (
51
+ this.core.ctx.config.frontendHost &&
52
+ this.core.ctx.config.frontendHost !== '' &&
53
+ this.core.ctx.isRunningInsideDocker
54
+ ) {
55
+ this.core.ctx.logRealtime &&
56
+ Helpers__NS__logInfo(
57
+ `[${this.core.ctx.contextName}] USING FRONTEND HOST` +
58
+ ` ${this.core.ctx.config.frontendHost} FOR REALTIME`,
59
+ );
60
+ nspPath.global = new URL(
61
+ `${this.core.ctx.frontendHostUri.origin}${nspPath.global.pathname}`,
62
+ );
63
+ nspPath.realtime = new URL(
64
+ `${this.core.ctx.frontendHostUri.origin}${nspPath.realtime.pathname}`,
65
+ );
66
+ } else {
67
+ this.core.ctx.logRealtime &&
68
+ Helpers__NS__logInfo(
69
+ `[${this.core.ctx.contextName}] Not using frontend host for realtime`,
70
+ );
71
+ }
72
+
73
+ this.core.ctx.logRealtime &&
74
+ console.info(
75
+ '[CLIENT] NAMESPACE GLOBAL ',
76
+ nspPath.global.href + ` host: ${this.core.ctx.host}`,
77
+ );
78
+
79
+ this.core.ctx.logRealtime &&
80
+ console.info(
81
+ '[CLIENT] NAMESPACE REALTIME',
82
+ nspPath.realtime.href + ` host: ${this.core.ctx.host}`,
83
+ );
84
+ //#endregion
85
+
86
+ //#region prepare globa FE socket
87
+ this.core.conectSocketFE = this.core.strategy.ioClient(
88
+ nspPath.global.origin,
89
+ {
90
+ path: nspPath.global.pathname,
91
+ },
92
+ );
93
+
94
+ if (this.core.conectSocketFE.on) {
95
+ this.core.conectSocketFE.on('connect', () => {
96
+ // console.info(
97
+ // `[CLIENT] connected to GLOBAL namespace ${global.nsp} of host: ${context.host}`,
98
+ // );
99
+ this.core.ctx.logRealtime &&
100
+ console.info(
101
+ `[CLIENT] connected to GLOBAL namespace ${nspPath.global.pathname}` +
102
+ ` of host: ${this.core.ctx.host}`,
103
+ );
104
+ });
105
+ }
106
+
107
+ //#endregion
108
+
109
+ //#region prepare realtime FE socket
110
+ this.core.socketFE = this.core.strategy.ioClient(nspPath.realtime.origin, {
111
+ path: nspPath.realtime.pathname,
112
+ });
113
+
114
+ if (this.core.socketFE.on) {
115
+ this.core.socketFE.on('connect', () => {
116
+ // console.info(
117
+ // `[CLIENT] connected to REALTIME namespace ${realtime.nsp} host: ${context.host}`,
118
+ // );
119
+ this.core.ctx.logRealtime &&
120
+ console.info(
121
+ `[CLIENT] connected to REALTIME namespace ${nspPath.realtime.pathname}` +
122
+ ` host: ${this.core.ctx.host}`,
123
+ );
124
+ });
125
+ }
126
+
127
+ //#endregion
128
+ }
129
+ //#endregion
130
+
131
+ //#region methods & getters / listen changes entity
132
+ /**
133
+ * Usage:
134
+ * myContext.realtimeClient.listenChangesEntity(myEntityInstance);
135
+ *
136
+ *
137
+ * Changes trigger on backend needs to be done manually.. example code:
138
+ *
139
+ * myContext.realtimeServer.triggerEntityChanges(myEntityInstance);
140
+ * ...
141
+ */
142
+ listenChangesEntity<RESULT = any>(
143
+ entityClassFnOrObj: Function | object,
144
+ options?: RealtimeModels__NS__ChangeOption,
145
+ ): Observable<RESULT> {
146
+ options = options || ({} as any);
147
+
148
+ if (___NS__isObject(entityClassFnOrObj)) {
149
+ const orgObj = entityClassFnOrObj as TaonBaseEntity;
150
+ entityClassFnOrObj =
151
+ ClassHelpers__NS__getClassFnFromObject(entityClassFnOrObj);
152
+
153
+ const uniqueKey = ClassHelpers__NS__getUniqueKey(entityClassFnOrObj);
154
+ if (uniqueKey) {
155
+ options.idOrUniqValue = orgObj[uniqueKey];
156
+ }
157
+ }
158
+
159
+ //#region parameters validation
160
+ const { property, customEvent } = options;
161
+ const className = !customEvent && ClassHelpers__NS__getName(entityClassFnOrObj);
162
+
163
+ if (___NS__isString(property)) {
164
+ if (property.trim() === '') {
165
+ throw new Error(
166
+ `[Taon][listenChangesEntity.. incorrect property '' for ${className}`,
167
+ );
168
+ }
169
+ }
170
+ //#endregion
171
+
172
+ return new Observable(observer => {
173
+ //#region prepare parameters for manager
174
+
175
+ if (this.core.ctx.disabledRealtime) {
176
+ console.error(`[Taon][realtime rxjs] remove taon config flag:
177
+
178
+ ...
179
+ disabledRealtime: true
180
+ ...
181
+
182
+ to use socket realtime connection;
183
+ `);
184
+ return () => {
185
+ // empty nothing to do
186
+ };
187
+ }
188
+
189
+ let roomName: string;
190
+
191
+ if (customEvent) {
192
+ roomName = Symbols__NS__REALTIME.ROOM_NAME_CUSTOM(
193
+ this.core.ctx.contextName,
194
+ customEvent,
195
+ );
196
+ } else {
197
+ roomName = ___NS__isString(property)
198
+ ? Symbols__NS__REALTIME.ROOM_NAME_UPDATE_ENTITY_PROPERTY(
199
+ this.core.ctx.contextName,
200
+ className,
201
+ property,
202
+ options.idOrUniqValue,
203
+ )
204
+ : Symbols__NS__REALTIME.ROOM_NAME_UPDATE_ENTITY(
205
+ this.core.ctx.contextName,
206
+ className,
207
+ options.idOrUniqValue,
208
+ );
209
+ }
210
+
211
+ const roomSubOptions: RealtimeModels__NS__SubsManagerOpt = {
212
+ core: this.core,
213
+ property,
214
+ roomName,
215
+ customEvent,
216
+ };
217
+ //#endregion
218
+
219
+ const subManagerId =
220
+ this.getUniqueIdentifierForConnection(roomSubOptions);
221
+ if (!this.subsManagers[subManagerId]) {
222
+ this.subsManagers[subManagerId] = new RealtimeSubsManager(
223
+ roomSubOptions,
224
+ );
225
+ }
226
+ const inst = this.subsManagers[subManagerId];
227
+ inst.add(observer);
228
+
229
+ inst.startListenIfNotStarted(this.core.socketFE);
230
+
231
+ return () => {
232
+ inst.remove(observer);
233
+ };
234
+ });
235
+ }
236
+
237
+ //#endregion
238
+
239
+ //#region listen changes entity table
240
+ /**
241
+ * Listen changes entity table
242
+ * Example: for pagination, lists update ...
243
+ */
244
+ listenChangesEntityTable<RESULT = any>(
245
+ entityClassFn: Function,
246
+ ): Observable<RESULT> {
247
+ const className = ClassHelpers__NS__getName(entityClassFn);
248
+ return this.listenChangesEntity<RESULT>(entityClassFn, {
249
+ customEvent: Symbols__NS__REALTIME.TABLE_CHANGE(
250
+ this.core.ctx.contextName,
251
+ className,
252
+ ),
253
+ });
254
+ }
255
+ //#endregion
256
+
257
+ //#region listen changes custom event
258
+ listenChangesCustomEvent<RESULT = any>(
259
+ customEvent: string,
260
+ ): Observable<RESULT> {
261
+ return this.listenChangesEntity<RESULT>(void 0, {
262
+ customEvent,
263
+ });
264
+ }
265
+ //#endregion
266
+
267
+ //#region methods & getters / trigger custom event\
268
+ /**
269
+ * Trigger custom event on backend
270
+ * @param customEvent global event name
271
+ * @param dataToPush
272
+ */
273
+ public triggerCustomEvent(customEvent: string, dataToPush?: any): void {
274
+ this.core.socketFE.emit(customEvent, dataToPush);
275
+ }
276
+ //#endregion
277
+
278
+ //#region methods & getters / get room id from
279
+ private getUniqueIdentifierForConnection(
280
+ options: RealtimeModels__NS__SubsManagerOpt,
281
+ ): string {
282
+ let url: URL = new URL(options.core.ctx.host);
283
+ let contextNameForCommunication =
284
+ options.core.ctx.contextNameForCommunication;
285
+ return `${contextNameForCommunication}:${url.origin}|${options.roomName}|${options.property}|${options.customEvent}`;
286
+ }
287
+ //#endregion
288
+ }
@@ -0,0 +1,134 @@
1
+ //#region imports
2
+ import { Server } from 'socket.io';
3
+ import { DefaultEventsMap } from 'socket.io';
4
+ import { Socket as SocketClient } from 'socket.io-client';
5
+ import { Helpers__NS___fixCommand, Helpers__NS__bigMaxBuffer, Helpers__NS__checkProcess, Helpers__NS__cleanExit, Helpers__NS__clearConsole, Helpers__NS__command, Helpers__NS__commandOutputAsString, Helpers__NS__commandOutputAsStringAsync, Helpers__NS__compilationWrapper, Helpers__NS__contain, Helpers__NS__createFolder, Helpers__NS__createSymLink, Helpers__NS__error, Helpers__NS__execute, Helpers__NS__exists, Helpers__NS__filesFrom, Helpers__NS__foldersFrom, Helpers__NS__getFilesFrom, Helpers__NS__getFoldersFrom, Helpers__NS__getIsBrowser, Helpers__NS__getIsElectron, Helpers__NS__getIsNode, Helpers__NS__getIsRunningInGitBash, Helpers__NS__getIsSupportedTaonTerminal, Helpers__NS__getIsVerboseMode, Helpers__NS__getIsWebSQL, Helpers__NS__getIsWsl, Helpers__NS__getStdio, Helpers__NS__hideNodeWarnings, Helpers__NS__info, Helpers__NS__isBlob, Helpers__NS__isBuffer, Helpers__NS__isClass, Helpers__NS__isExistedSymlink, Helpers__NS__isFile, Helpers__NS__isFolder, Helpers__NS__isRunningInDocker, Helpers__NS__isRunningInLinuxGraphicsCapableEnvironment, Helpers__NS__isSymlinkFileExitedOrUnexisted, Helpers__NS__isSymlinkThatMatchesUrl, Helpers__NS__isUnexistedLink, Helpers__NS__killOnPort, Helpers__NS__killProcess, Helpers__NS__killProcessByPort, Helpers__NS__linksToFolderFrom, Helpers__NS__linksToFoldersFrom, Helpers__NS__log, Helpers__NS__logError, Helpers__NS__logInfo, Helpers__NS__logProc, Helpers__NS__logSuccess, Helpers__NS__logWarn, Helpers__NS__mediaTypeFromSrc, Helpers__NS__mkdirp, Helpers__NS__modifyLineByLine, Helpers__NS__msgCacheClear, Helpers__NS__openFolderInFileExplorer, Helpers__NS__parse, Helpers__NS__pathContainLink, Helpers__NS__questionYesNo, Helpers__NS__readFile, Helpers__NS__readJson, Helpers__NS__readJson5, Helpers__NS__readJsonC, Helpers__NS__relative, Helpers__NS__remove, Helpers__NS__removeEmptyLineFromString, Helpers__NS__removeFileIfExists, Helpers__NS__removeFolderIfExists, Helpers__NS__removeIfExists, Helpers__NS__removeSlashAtBegin, Helpers__NS__removeSlashAtEnd, Helpers__NS__removeSymlinks, Helpers__NS__renderError, Helpers__NS__replaceLinesInFile, Helpers__NS__run, Helpers__NS__runAsyncIn, Helpers__NS__runSyncIn, Helpers__NS__runSyncOrAsync, Helpers__NS__sleep, Helpers__NS__stopApplication, Helpers__NS__stringify, Helpers__NS__success, Helpers__NS__taskDone, Helpers__NS__taskStarted, Helpers__NS__throwError, Helpers__NS__timeout, Helpers__NS__tryCatchError, Helpers__NS__tryReadFile, Helpers__NS__tryRemoveDir, Helpers__NS__values, Helpers__NS__wait, Helpers__NS__warn, Helpers__NS__writeFile, Helpers__NS__writeJson, Helpers__NS__writeJson5, Helpers__NS__writeJsonC, UtilsOs__NS__commandExistsAsync, UtilsOs__NS__commandExistsSync, UtilsOs__NS__detectEditor, UtilsOs__NS__Editor, UtilsOs__NS__EDITOR_PROCESSES, UtilsOs__NS__EditorArr, UtilsOs__NS__EditorProcess, UtilsOs__NS__getEditorSettingsJsonPath, UtilsOs__NS__getRealHomeDir, UtilsOs__NS__isBrowser, UtilsOs__NS__isDockerAvailable, UtilsOs__NS__isElectron, UtilsOs__NS__isNode, UtilsOs__NS__isNodeVersionOk, UtilsOs__NS__isPortInUse, UtilsOs__NS__isRunningInBrowser, UtilsOs__NS__isRunningInCliMode, UtilsOs__NS__isRunningInDocker, UtilsOs__NS__isRunningInElectron, UtilsOs__NS__isRunningInLinuxGraphicsCapableEnvironment, UtilsOs__NS__isRunningInMochaTest, UtilsOs__NS__isRunningInNode, UtilsOs__NS__isRunningInOsWithGraphicsCapableEnvironment, UtilsOs__NS__isRunningInSSRMode, UtilsOs__NS__isRunningInVscodeExtension, UtilsOs__NS__isRunningInWebSQL, UtilsOs__NS__isRunningInWindows, UtilsOs__NS__isRunningInWindowsCmd, UtilsOs__NS__isRunningInWindowsPowerShell, UtilsOs__NS__isRunningInWsl, UtilsOs__NS__isRunningNodeDebugger, UtilsOs__NS__isSSRMode, UtilsOs__NS__isVscodeExtension, UtilsOs__NS__isWebSQL, UtilsOs__NS__killAllEditor, UtilsOs__NS__openFolderInFileExplorer, UtilsOs__NS__openFolderInVSCode, UtilsOs__NS__pipxNestedPackageExists, UtilsOs__NS__pipxPackageExists, UtilsOs__NS__pythonModuleExists, UtilsOs__NS__UnknownEditor } from 'tnp-core/lib-prod';
6
+
7
+ import { apiPrefix } from '../constants';
8
+ import type { EndpointContext } from '../endpoint-context';
9
+
10
+ import { RealtimeClient } from './realtime-client';
11
+ import { RealtimeServer } from './realtime-server';
12
+ import type { RealtimeStrategy } from './realtime-strategy';
13
+ import {
14
+ RealtimeStrategyIpc,
15
+ RealtimeStrategyMock,
16
+ RealtimeStrategySocketIO,
17
+ } from './realtime-strategy';
18
+
19
+ //#endregion
20
+
21
+ /**
22
+ * Realtime class
23
+ * - mock (when browser-browser)
24
+ * - sockets (from socket io when backend-browser)
25
+ * - ipc (when electron is used or between processes)
26
+ * - webworker (when webworker is used in browser or nodejs)
27
+ */
28
+ export class RealtimeCore {
29
+ //#region fields
30
+ readonly allHttpMethods = [
31
+ 'GET',
32
+ 'POST',
33
+ 'PUT',
34
+ 'DELETE',
35
+ 'PATCH',
36
+ 'OPTIONS',
37
+ 'HEAD',
38
+ ];
39
+ public readonly client: RealtimeClient;
40
+ public readonly server: RealtimeServer;
41
+ public readonly strategy: RealtimeStrategy;
42
+
43
+ /**
44
+ * global FE socket - only for established connection
45
+ */
46
+ public conectSocketFE: SocketClient<DefaultEventsMap, DefaultEventsMap>;
47
+ /**
48
+ * socket for namespaces and rooms
49
+ */
50
+ public socketFE: SocketClient<DefaultEventsMap, DefaultEventsMap>;
51
+ /**
52
+ * global BE socket - only for established connection
53
+ */
54
+ public connectSocketBE: Server<
55
+ DefaultEventsMap,
56
+ DefaultEventsMap,
57
+ DefaultEventsMap,
58
+ any
59
+ >;
60
+ /**
61
+ * socket for namespaces and rooms
62
+ */
63
+ public socketBE: Server<
64
+ DefaultEventsMap,
65
+ DefaultEventsMap,
66
+ DefaultEventsMap,
67
+ any
68
+ >;
69
+ //#endregion
70
+
71
+ //#region constructor
72
+ constructor(public ctx: EndpointContext) {
73
+ this.ctx = ctx;
74
+ this.strategy = this.resolveStrategy();
75
+
76
+ // this.ctx.logRealtime &&
77
+ // console.log(`
78
+
79
+ // [ctx=${this.ctx.contextName}] realtime strategy: ${this.strategy}, context type: ${this.ctx.contextType}
80
+
81
+ // `);
82
+ if (UtilsOs__NS__isWebSQL) {
83
+ this.server = new RealtimeServer(this as any);
84
+ // console.log('DONE INITING SERVER');
85
+ this.client = new RealtimeClient(this as any);
86
+ // console.log('DONE INITING CLIENT');
87
+ } else {
88
+ this.client = new RealtimeClient(this as any);
89
+ this.server = new RealtimeServer(this as any);
90
+ }
91
+ }
92
+ //#endregion
93
+
94
+ //#region methods & getters / resovle staraegy
95
+ private resolveStrategy(): RealtimeStrategy {
96
+ // console.log(`[taon] resolveStrategy for this.ctx.mode ${this.ctx.mode}`);
97
+ if (
98
+ this.ctx.mode === 'backend-frontend(websql)' ||
99
+ this.ctx.mode === 'backend-frontend(websql-electron)'
100
+ ) {
101
+ // debugger
102
+ return new RealtimeStrategyMock(this.ctx);
103
+ }
104
+ if (this.ctx.mode === 'backend-frontend(ipc-electron)') {
105
+ return new RealtimeStrategyIpc(this.ctx);
106
+ }
107
+ // if (this.ctx.mode === 'backend-frontend(tcp+udp)') {
108
+ // return new RealtimeStrategySocketIO(this.ctx);
109
+ // }
110
+ // if (this.ctx.mode === 'remote-backend(tcp+udp)') {
111
+ // return new RealtimeStrategySocketIO(this.ctx);
112
+ // }
113
+ return new RealtimeStrategySocketIO(this.ctx);
114
+ }
115
+ //#endregion
116
+
117
+ //#region path for
118
+ public pathFor(namespace?: string) {
119
+ let nsp = namespace ? namespace : '';
120
+ nsp = nsp === '/' ? '' : nsp;
121
+ const contextNameForCommunication = this.ctx.contextNameForCommunication;
122
+
123
+ let prefix = `${apiPrefix}/${contextNameForCommunication}/udp`;
124
+ if (UtilsOs__NS__isElectron) {
125
+ prefix = ``;
126
+ }
127
+ const href =
128
+ `${this.ctx.uriOrigin}${this.ctx.uriPathnameOrNothingIfRoot}` +
129
+ `/${prefix}${prefix && nsp ? '-' + nsp : nsp}`;
130
+ // console.log(`HREF: ${href}, nsp: ${nsp}`)
131
+ return new URL(href) as URL;
132
+ }
133
+ //#endregion
134
+ }