taon 21.0.44 → 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 +1 -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,398 @@
1
+ //#region imports
2
+ import { URL } from 'url'; // @backend
3
+
4
+ import { Observable, Subject } from 'rxjs';
5
+ 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, 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 type { TaonBaseEntity } from '../base-classes/base-entity';
8
+ 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';
9
+ 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';
10
+
11
+ import { RealtimeCore } from './realtime-core';
12
+
13
+ //#endregion
14
+
15
+ /**
16
+ * Server for realtime communication
17
+ * you can trigger:
18
+ * - entity changes (any property in table changed)
19
+ * - entity custom property changes (specific property changed)
20
+ * - entity table changes (new instance added, instance removed)
21
+ * - custom events
22
+ *
23
+ * and also listen to:
24
+ * - custom events from yourself
25
+ */
26
+ export class RealtimeServer {
27
+ // private jobs = {};
28
+ constructor(private core: RealtimeCore) {
29
+ this.core = core;
30
+ if (core.ctx.disabledRealtime || this.core.ctx.isRemoteHost) {
31
+ return;
32
+ }
33
+ //#region @websql
34
+ this.init();
35
+ //#endregion
36
+ }
37
+
38
+ //#region methods & getters / init
39
+ private init() {
40
+ /* */
41
+ /* */
42
+ /* */
43
+ /* */
44
+ /* */
45
+ /* */
46
+ /* */
47
+ /* */
48
+ /* */
49
+ /* */
50
+ /* */
51
+
52
+
53
+ //#region @websql
54
+
55
+ //#region prepare namespaces pathes
56
+ const nspPathGlobal = this.core.pathFor();
57
+ const nspPathRealtime = this.core.pathFor(
58
+ Symbols__NS__REALTIME.NAMESPACE(this.core.ctx.contextName),
59
+ );
60
+
61
+ //#endregion
62
+
63
+ // console.log('[backend] nspPath', nspPath);
64
+
65
+ const cors = {
66
+ origin: this.core.ctx.frontendHostUri.origin, // only origin needs to be set - pathname not needed
67
+ methods: this.core.allHttpMethods,
68
+ };
69
+
70
+ // console.log('frontendHost', this.core.ctx.config.frontendHost);
71
+ // console.log('cors', cors);
72
+
73
+ //#region prepare global BE socket
74
+ this.core.connectSocketBE = this.core.strategy.ioServer(
75
+ UtilsOs__NS__isWebSQL ? this.core.ctx.uriOrigin : this.core.ctx.serverTcpUdp,
76
+ {
77
+ path: nspPathGlobal.pathname,
78
+ cors,
79
+ }, // @ts-ignore
80
+ this.core.ctx,
81
+ );
82
+
83
+ this.core.ctx.logRealtime &&
84
+ console.info(
85
+ `[backend] CREATE GLOBAL NAMESPACE: '${this.core.connectSocketBE.path()}'` +
86
+ ` , path: '${nspPathGlobal.pathname}'`,
87
+ );
88
+
89
+ this.core.connectSocketBE.on('connection', clientSocket => {
90
+ this.core.ctx.logRealtime &&
91
+ console.info(
92
+ `[backend] client connected to namespace "${nspPathGlobal.pathname}", ` +
93
+ ` host: ${this.core.ctx.host}`,
94
+ );
95
+ });
96
+
97
+ //#endregion
98
+
99
+ //#region prepare realtime BE socket
100
+ this.core.socketBE = this.core.strategy.ioServer(
101
+ UtilsOs__NS__isWebSQL || UtilsOs__NS__isElectron
102
+ ? this.core.ctx.uriOrigin
103
+ : this.core.ctx.serverTcpUdp,
104
+ {
105
+ path: nspPathRealtime.pathname,
106
+ cors,
107
+ }, // @ts-ignore
108
+ this.core.ctx,
109
+ );
110
+
111
+ this.core.ctx.logRealtime &&
112
+ console.info(
113
+ `[backend] CREATE REALTIME NAMESPACE: '${this.core.socketBE.path()}'` +
114
+ ` , path: '${nspPathRealtime.pathname}' `,
115
+ );
116
+
117
+ this.core.socketBE.on('connection', backendSocketForClient => {
118
+ this.core.ctx.logRealtime &&
119
+ console.info(
120
+ `[backend] client connected to namespace "${nspPathRealtime.pathname}", ` +
121
+ ` host: ${this.core.ctx.host}`,
122
+ );
123
+
124
+ backendSocketForClient.on(
125
+ Symbols__NS__REALTIME.ROOM_SUBSCRIBE_CUSTOM(this.core.ctx.contextName),
126
+ roomName => {
127
+ this.core.ctx.logRealtime &&
128
+ console.info(
129
+ `Joining room ${roomName} in namespace REALTIME` +
130
+ ` host: ${this.core.ctx.contextName}/${this.core.ctx.host}`,
131
+ );
132
+ backendSocketForClient.join(roomName);
133
+ },
134
+ );
135
+
136
+ backendSocketForClient.on(
137
+ Symbols__NS__REALTIME.ROOM_SUBSCRIBE_ENTITY_UPDATE_EVENTS(
138
+ this.core.ctx.contextName,
139
+ ),
140
+ roomName => {
141
+ this.core.ctx.logRealtime &&
142
+ console.info(
143
+ `[backend] Joining room ${roomName} in namespace REALTIME` +
144
+ ` host: ${this.core.ctx.contextName}/${this.core.ctx.host}`,
145
+ );
146
+ backendSocketForClient.join(roomName);
147
+ },
148
+ );
149
+
150
+ backendSocketForClient.on(
151
+ Symbols__NS__REALTIME.ROOM_SUBSCRIBE_ENTITY_PROPERTY_UPDATE_EVENTS(
152
+ this.core.ctx.contextName,
153
+ ),
154
+ roomName => {
155
+ this.core.ctx.logRealtime &&
156
+ console.info(
157
+ `[backend] Joining room ${roomName} in namespace REALTIME ` +
158
+ ` host: ${this.core.ctx.contextName}/${this.core.ctx.host}`,
159
+ );
160
+ backendSocketForClient.join(roomName);
161
+ },
162
+ );
163
+
164
+ backendSocketForClient.on(
165
+ Symbols__NS__REALTIME.ROOM_UNSUBSCRIBE_CUSTOM(this.core.ctx.contextName),
166
+ roomName => {
167
+ this.core.ctx.logRealtime &&
168
+ console.info(
169
+ `[backend] Leaving room ${roomName} in namespace REALTIME` +
170
+ ` host: ${this.core.ctx.contextName}/${this.core.ctx.host}`,
171
+ );
172
+ backendSocketForClient.leave(roomName);
173
+ },
174
+ );
175
+
176
+ backendSocketForClient.on(
177
+ Symbols__NS__REALTIME.ROOM_UNSUBSCRIBE_ENTITY_UPDATE_EVENTS(
178
+ this.core.ctx.contextName,
179
+ ),
180
+ roomName => {
181
+ this.core.ctx.logRealtime &&
182
+ console.info(
183
+ `[backend] Leaving room ${roomName} in namespace REALTIME ` +
184
+ ` host: ${this.core.ctx.contextName}/${this.core.ctx.host}`,
185
+ );
186
+ backendSocketForClient.leave(roomName);
187
+ },
188
+ );
189
+
190
+ backendSocketForClient.on(
191
+ Symbols__NS__REALTIME.ROOM_UNSUBSCRIBE_ENTITY_PROPERTY_UPDATE_EVENTS(
192
+ this.core.ctx.contextName,
193
+ ),
194
+ roomName => {
195
+ this.core.ctx.logRealtime &&
196
+ console.info(
197
+ `[backend] Leaving room ${roomName} in namespace REALTIME ` +
198
+ ` host: ${this.core.ctx.contextName}/${this.core.ctx.host}`,
199
+ );
200
+ backendSocketForClient.leave(roomName);
201
+ },
202
+ );
203
+ });
204
+
205
+ //#endregion
206
+
207
+ //#endregion
208
+ }
209
+ //#endregion
210
+
211
+ //#region methods & getters / trigger changes
212
+ // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
213
+ private triggerChanges(
214
+ entityObjOrClass: Function | object,
215
+ property?: string,
216
+ valueOfUniqueProperty?: number | string,
217
+ customEvent?: string,
218
+ customEventData?: any,
219
+ ) {
220
+ // console.log('customEventData', customEventData);
221
+ // console.info('__triger entity changes');
222
+ //#region @websql
223
+
224
+ let roomName: string;
225
+
226
+ if (this.core.ctx.disabledRealtime || this.core.ctx.isRemoteHost) {
227
+ return;
228
+ }
229
+
230
+ if (customEvent) {
231
+ roomName = Symbols__NS__REALTIME.ROOM_NAME_CUSTOM(
232
+ this.core.ctx.contextName,
233
+ customEvent,
234
+ );
235
+ } else {
236
+ let entityFn = entityObjOrClass as Function;
237
+ const entityIsObject =
238
+ !___NS__isFunction(entityObjOrClass) && ___NS__isObject(entityObjOrClass);
239
+
240
+ if (entityIsObject) {
241
+ entityFn = ClassHelpers__NS__getClassFnFromObject(entityObjOrClass);
242
+ }
243
+
244
+ const uniqueKey = ClassHelpers__NS__getUniqueKey(entityFn);
245
+
246
+ if (entityIsObject) {
247
+ valueOfUniqueProperty = entityObjOrClass[uniqueKey];
248
+ }
249
+
250
+ if (!valueOfUniqueProperty) {
251
+ Helpers__NS__error(
252
+ `[Taon][Realtime] Entity without iD ! ${ClassHelpers__NS__getName(
253
+ entityFn,
254
+ )} `,
255
+ true,
256
+ true,
257
+ );
258
+ return;
259
+ }
260
+
261
+ roomName = ___NS__isString(property)
262
+ ? Symbols__NS__REALTIME.ROOM_NAME_UPDATE_ENTITY_PROPERTY(
263
+ this.core.ctx.contextName,
264
+ ClassHelpers__NS__getName(entityFn),
265
+ property,
266
+ valueOfUniqueProperty,
267
+ )
268
+ : Symbols__NS__REALTIME.ROOM_NAME_UPDATE_ENTITY(
269
+ this.core.ctx.contextName,
270
+ ClassHelpers__NS__getName(entityFn),
271
+ valueOfUniqueProperty,
272
+ );
273
+ }
274
+
275
+ this.core.socketBE.in(roomName).emit(
276
+ roomName, // roomName == eventName in room na
277
+ customEvent ? customEventData : '',
278
+ );
279
+ //#endregion
280
+ }
281
+ //#endregion
282
+
283
+ //#region entity changes
284
+
285
+ //#region methods & getters / trigger entity changes
286
+ public triggerEntityChanges(
287
+ entityObjOrClass: Function | object,
288
+ /**
289
+ * value of unique key property of entity instance
290
+ * (this value is not needed if entityObjOrClass is instance of entity)
291
+ */
292
+ idToTrigger?: number | string,
293
+ ): void {
294
+ if (this.core.ctx.disabledRealtime) {
295
+ const className = ClassHelpers__NS__getName(entityObjOrClass);
296
+
297
+ console.warn(
298
+ `[Taon][TriggerEntityChanges] Entity "${className}' is not realtime`,
299
+ );
300
+ return;
301
+ }
302
+ this.triggerChanges(entityObjOrClass as any, void 0, idToTrigger);
303
+ }
304
+ //#endregion
305
+
306
+ //#region methods & getters / trigger entity property changes
307
+ public triggerEntityPropertyChanges(
308
+ entityObjOrClass: Function | object,
309
+ /**
310
+ * property name or array of property names that changed
311
+ * for entity instance
312
+ */
313
+ property: string | string[],
314
+ /**
315
+ * value of unique key property of entity instance
316
+ * (this value is not needed if entityObjOrClass is instance of entity)
317
+ */
318
+ idToTrigger?: number | string,
319
+ ): void {
320
+ if (this.core.ctx.disabledRealtime) {
321
+ const className = ClassHelpers__NS__getName(entityObjOrClass);
322
+
323
+ console.warn(
324
+ `[Taon][TriggerEntityPropertyChanges][property=${
325
+ property as string
326
+ }] Entity "${className}' is not realtime`,
327
+ );
328
+ return;
329
+ }
330
+
331
+ if (___NS__isArray(property)) {
332
+ property.forEach(propertyFromArr => {
333
+ this.triggerChanges(
334
+ entityObjOrClass,
335
+ propertyFromArr as any,
336
+ idToTrigger,
337
+ );
338
+ });
339
+ } else {
340
+ this.triggerChanges(entityObjOrClass, property as any, idToTrigger);
341
+ }
342
+ }
343
+ //#endregion
344
+
345
+ //#region methods & getters / trigger entity table changes
346
+ public triggerEntityTableChanges(
347
+ entityClassOrInstance: Function | object,
348
+ ): void {
349
+ const className = ClassHelpers__NS__getName(entityClassOrInstance);
350
+
351
+ if (this.core.ctx.disabledRealtime) {
352
+ console.warn(
353
+ `[Taon][TriggerEntityTableChanges] Entity "${className}' is not realtime`,
354
+ );
355
+ return;
356
+ }
357
+
358
+ this.triggerChanges(
359
+ entityClassOrInstance as any,
360
+ void 0,
361
+ void 0,
362
+ Symbols__NS__REALTIME.TABLE_CHANGE(this.core.ctx.contextName, className),
363
+ );
364
+ }
365
+ //#endregion
366
+
367
+ //#endregion
368
+
369
+ //#region custom changes
370
+
371
+ //#region methods & getters / trigger custom event
372
+ public triggerCustomEvent(customEvent: string, dataToPush: any): void {
373
+ this.triggerChanges(void 0, void 0, void 0, customEvent, dataToPush);
374
+ }
375
+ //#endregion
376
+
377
+ //#region methods & getters / listen custom events from users
378
+ /**
379
+ * Listen to custom events from users
380
+ * @param customEvent global event name
381
+ */
382
+ listenChangesCustomEvent(customEvent: string): Observable<any> {
383
+ //#region @websqlFunc
384
+ const sub = new Subject<any>();
385
+
386
+ this.core.socketBE.on('connection', backendSocketForClient => {
387
+ backendSocketForClient.on(customEvent, (data, ...args) => {
388
+ sub.next(data);
389
+ });
390
+ });
391
+
392
+ return sub.asObservable();
393
+ //#endregion
394
+ }
395
+ //#endregion
396
+
397
+ //#endregion
398
+ }
@@ -1,4 +1,4 @@
1
1
  export * from './realtime-strategy';
2
2
  export * from './realtime-strategy-ipc';
3
3
  export * from './realtime-strategy-mock';
4
- export * from './realtime-strategy-socket-io';
4
+ export * from './realtime-strategy-socket-io';