taon 21.0.17 → 21.0.28

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 (426) hide show
  1. package/README.md +11 -2
  2. package/browser/fesm2022/taon-browser.mjs +1191 -1026
  3. package/browser/fesm2022/taon-browser.mjs.map +1 -1
  4. package/browser/package.json +1 -1
  5. package/browser/types/taon-browser.d.ts +14 -9
  6. package/browser-prod/README.md +24 -0
  7. package/browser-prod/fesm2022/taon-browser.mjs +8367 -0
  8. package/browser-prod/fesm2022/taon-browser.mjs.map +1 -0
  9. package/browser-prod/types/taon-browser.d.ts +2178 -0
  10. package/icon-menu-taon.svg +15 -15
  11. package/lib/base-classes/base-context.js +4 -0
  12. package/lib/base-classes/base-context.js.map +1 -1
  13. package/lib/base-classes/base-repository.d.ts +1 -0
  14. package/lib/base-classes/base-repository.js +27 -8
  15. package/lib/base-classes/base-repository.js.map +1 -1
  16. package/lib/build-info._auto-generated_.d.ts +5 -1
  17. package/lib/build-info._auto-generated_.js +6 -2
  18. package/lib/build-info._auto-generated_.js.map +1 -1
  19. package/lib/decorators/classes/middleware-decorator.d.ts +1 -0
  20. package/lib/decorators/classes/middleware-decorator.js +1 -0
  21. package/lib/decorators/classes/middleware-decorator.js.map +1 -1
  22. package/lib/decorators/classes/subscriber-decorator.d.ts +1 -1
  23. package/lib/decorators/classes/subscriber-decorator.js.map +1 -1
  24. package/lib/endpoint-context.d.ts +0 -4
  25. package/lib/endpoint-context.js +0 -18
  26. package/lib/endpoint-context.js.map +1 -1
  27. package/lib/env/env.angular-node-app.d.ts +30 -30
  28. package/lib/env/env.angular-node-app.js +32 -32
  29. package/lib/env/env.angular-node-app.js.map +1 -1
  30. package/lib/env/env.docs-webapp.d.ts +30 -30
  31. package/lib/env/env.docs-webapp.js +32 -32
  32. package/lib/env/env.docs-webapp.js.map +1 -1
  33. package/lib/env/env.electron-app.d.ts +30 -30
  34. package/lib/env/env.electron-app.js +32 -32
  35. package/lib/env/env.electron-app.js.map +1 -1
  36. package/lib/env/env.mobile-app.d.ts +30 -30
  37. package/lib/env/env.mobile-app.js +32 -32
  38. package/lib/env/env.mobile-app.js.map +1 -1
  39. package/lib/env/env.npm-lib-and-cli-tool.d.ts +30 -30
  40. package/lib/env/env.npm-lib-and-cli-tool.js +32 -32
  41. package/lib/env/env.npm-lib-and-cli-tool.js.map +1 -1
  42. package/lib/env/env.vscode-plugin.d.ts +30 -30
  43. package/lib/env/env.vscode-plugin.js +32 -32
  44. package/lib/env/env.vscode-plugin.js.map +1 -1
  45. package/lib/formly/type-from-entity.js +9 -9
  46. package/lib/formly/type-from-entity.js.map +1 -1
  47. package/lib/global-state/taon-global-state/index.d.ts +6 -0
  48. package/lib/global-state/taon-global-state/index.js +23 -0
  49. package/lib/global-state/taon-global-state/index.js.map +1 -0
  50. package/lib/global-state/taon-global-state/taon-global-state-api.service.d.ts +7 -0
  51. package/lib/global-state/taon-global-state/taon-global-state.abstract.context.d.ts +19 -0
  52. package/lib/global-state/taon-global-state/taon-global-state.abstract.context.js +23 -0
  53. package/lib/global-state/taon-global-state/taon-global-state.abstract.context.js.map +1 -0
  54. package/lib/global-state/taon-global-state/taon-global-state.constants.d.ts +2 -0
  55. package/lib/global-state/taon-global-state/taon-global-state.constants.js +11 -0
  56. package/lib/global-state/taon-global-state/taon-global-state.constants.js.map +1 -0
  57. package/lib/global-state/taon-global-state/taon-global-state.controller.d.ts +11 -0
  58. package/lib/global-state/taon-global-state/taon-global-state.controller.js +62 -0
  59. package/lib/global-state/taon-global-state/taon-global-state.controller.js.map +1 -0
  60. package/lib/global-state/taon-global-state/taon-global-state.entity.d.ts +7 -0
  61. package/lib/global-state/taon-global-state/taon-global-state.entity.js +64 -0
  62. package/lib/global-state/taon-global-state/taon-global-state.entity.js.map +1 -0
  63. package/lib/global-state/taon-global-state/taon-global-state.middleware.d.ts +3 -0
  64. package/lib/global-state/taon-global-state/taon-global-state.middleware.js +22 -0
  65. package/lib/global-state/taon-global-state/taon-global-state.middleware.js.map +1 -0
  66. package/lib/global-state/taon-global-state/taon-global-state.models.d.ts +28 -0
  67. package/lib/global-state/taon-global-state/taon-global-state.models.js +48 -0
  68. package/lib/global-state/taon-global-state/taon-global-state.models.js.map +1 -0
  69. package/lib/global-state/taon-global-state/taon-global-state.provider.d.ts +3 -0
  70. package/lib/global-state/taon-global-state/taon-global-state.provider.js +22 -0
  71. package/lib/global-state/taon-global-state/taon-global-state.provider.js.map +1 -0
  72. package/lib/global-state/taon-global-state/taon-global-state.repository.d.ts +9 -0
  73. package/lib/global-state/taon-global-state/taon-global-state.repository.js +53 -0
  74. package/lib/global-state/taon-global-state/taon-global-state.repository.js.map +1 -0
  75. package/lib/global-state/taon-global-state/taon-global-state.subscriber.d.ts +7 -0
  76. package/lib/global-state/taon-global-state/taon-global-state.subscriber.js +29 -0
  77. package/lib/global-state/taon-global-state/taon-global-state.subscriber.js.map +1 -0
  78. package/lib/global-state/taon-global-state/taon-global-state.utils.d.ts +4 -0
  79. package/lib/global-state/taon-global-state/taon-global-state.utils.js +16 -0
  80. package/lib/global-state/taon-global-state/taon-global-state.utils.js.map +1 -0
  81. package/lib/global-state/taon-transaction-registry/index.d.ts +11 -0
  82. package/lib/global-state/taon-transaction-registry/index.js +28 -0
  83. package/lib/global-state/taon-transaction-registry/index.js.map +1 -0
  84. package/lib/global-state/taon-transaction-registry/taon-transaction-registry-api.service.d.ts +7 -0
  85. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.abstract.context.d.ts +19 -0
  86. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.abstract.context.js +25 -0
  87. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.abstract.context.js.map +1 -0
  88. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.constants.d.ts +2 -0
  89. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.constants.js +9 -0
  90. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.constants.js.map +1 -0
  91. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.controller.d.ts +9 -0
  92. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.controller.js +52 -0
  93. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.controller.js.map +1 -0
  94. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.entity.d.ts +12 -0
  95. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.entity.js +77 -0
  96. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.entity.js.map +1 -0
  97. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.middleware.d.ts +3 -0
  98. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.middleware.js +22 -0
  99. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.middleware.js.map +1 -0
  100. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.models.d.ts +6 -0
  101. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.models.js +11 -0
  102. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.models.js.map +1 -0
  103. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.provider.d.ts +3 -0
  104. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.provider.js +22 -0
  105. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.provider.js.map +1 -0
  106. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.repository.d.ts +9 -0
  107. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.repository.js +38 -0
  108. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.repository.js.map +1 -0
  109. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.subscriber.d.ts +7 -0
  110. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.subscriber.js +29 -0
  111. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.subscriber.js.map +1 -0
  112. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.utils.d.ts +4 -0
  113. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.utils.js +11 -0
  114. package/lib/global-state/taon-transaction-registry/taon-transaction-registry.utils.js.map +1 -0
  115. package/lib/index._auto-generated_.js +1 -1
  116. package/lib/index._auto-generated_.js.map +1 -1
  117. package/lib/index.d.ts +4 -2
  118. package/lib/index.js +18 -5
  119. package/lib/index.js.map +1 -1
  120. package/lib/orm/columns.d.ts +5 -1
  121. package/lib/orm/columns.js +12 -2
  122. package/lib/orm/columns.js.map +1 -1
  123. package/lib/realtime/realtime-subs-manager.js +1 -10
  124. package/lib/realtime/realtime-subs-manager.js.map +1 -1
  125. package/lib/ui/index.js +2 -2
  126. package/lib/ui/taon-admin-mode-configuration/index.js +2 -2
  127. package/lib-prod/base-classes/base-abstract-entity.d.ts +7 -0
  128. package/lib-prod/base-classes/base-abstract-entity.js +42 -0
  129. package/lib-prod/base-classes/base-abstract-entity.js.map +1 -0
  130. package/lib-prod/base-classes/base-angular-service.d.ts +27 -0
  131. package/lib-prod/base-classes/base-angular-service.js +89 -0
  132. package/lib-prod/base-classes/base-angular-service.js.map +1 -0
  133. package/lib-prod/base-classes/base-class.d.ts +15 -0
  134. package/lib-prod/base-classes/base-class.js +40 -0
  135. package/lib-prod/base-classes/base-class.js.map +1 -0
  136. package/lib-prod/base-classes/base-context.d.ts +20 -0
  137. package/lib-prod/base-classes/base-context.js +23 -0
  138. package/lib-prod/base-classes/base-context.js.map +1 -0
  139. package/lib-prod/base-classes/base-controller.d.ts +83 -0
  140. package/lib-prod/base-classes/base-controller.js +173 -0
  141. package/lib-prod/base-classes/base-controller.js.map +1 -0
  142. package/lib-prod/base-classes/base-crud-controller.d.ts +28 -0
  143. package/lib-prod/base-classes/base-crud-controller.js +319 -0
  144. package/lib-prod/base-classes/base-crud-controller.js.map +1 -0
  145. package/lib-prod/base-classes/base-custom-repository.d.ts +3 -0
  146. package/lib-prod/base-classes/base-custom-repository.js +19 -0
  147. package/lib-prod/base-classes/base-custom-repository.js.map +1 -0
  148. package/lib-prod/base-classes/base-electron-service.d.ts +0 -0
  149. package/lib-prod/base-classes/base-electron-service.js +50 -0
  150. package/lib-prod/base-classes/base-electron-service.js.map +1 -0
  151. package/lib-prod/base-classes/base-entity.d.ts +16 -0
  152. package/lib-prod/base-classes/base-entity.js +32 -0
  153. package/lib-prod/base-classes/base-entity.js.map +1 -0
  154. package/lib-prod/base-classes/base-file-upload.middleware.d.ts +14 -0
  155. package/lib-prod/base-classes/base-file-upload.middleware.js +85 -0
  156. package/lib-prod/base-classes/base-file-upload.middleware.js.map +1 -0
  157. package/lib-prod/base-classes/base-injector.d.ts +67 -0
  158. package/lib-prod/base-classes/base-injector.js +198 -0
  159. package/lib-prod/base-classes/base-injector.js.map +1 -0
  160. package/lib-prod/base-classes/base-middleware.d.ts +38 -0
  161. package/lib-prod/base-classes/base-middleware.js +14 -0
  162. package/lib-prod/base-classes/base-middleware.js.map +1 -0
  163. package/lib-prod/base-classes/base-migration.d.ts +11 -0
  164. package/lib-prod/base-classes/base-migration.js +25 -0
  165. package/lib-prod/base-classes/base-migration.js.map +1 -0
  166. package/lib-prod/base-classes/base-provider.d.ts +8 -0
  167. package/lib-prod/base-classes/base-provider.js +13 -0
  168. package/lib-prod/base-classes/base-provider.js.map +1 -0
  169. package/lib-prod/base-classes/base-repository.d.ts +272 -0
  170. package/lib-prod/base-classes/base-repository.js +634 -0
  171. package/lib-prod/base-classes/base-repository.js.map +1 -0
  172. package/lib-prod/base-classes/base-subscriber-for-entity.d.ts +81 -0
  173. package/lib-prod/base-classes/base-subscriber-for-entity.js +155 -0
  174. package/lib-prod/base-classes/base-subscriber-for-entity.js.map +1 -0
  175. package/lib-prod/base-classes/base.d.ts +1 -0
  176. package/lib-prod/base-classes/base.js +20 -0
  177. package/lib-prod/base-classes/base.js.map +1 -0
  178. package/lib-prod/build-info._auto-generated_.d.ts +24 -0
  179. package/lib-prod/build-info._auto-generated_.js +30 -0
  180. package/lib-prod/build-info._auto-generated_.js.map +1 -0
  181. package/lib-prod/config/controller-config.d.ts +21 -0
  182. package/lib-prod/config/controller-config.js +34 -0
  183. package/lib-prod/config/controller-config.js.map +1 -0
  184. package/lib-prod/config/controller-options.d.ts +16 -0
  185. package/lib-prod/config/controller-options.js +8 -0
  186. package/lib-prod/config/controller-options.js.map +1 -0
  187. package/lib-prod/config/method-config.d.ts +39 -0
  188. package/lib-prod/config/method-config.js +12 -0
  189. package/lib-prod/config/method-config.js.map +1 -0
  190. package/lib-prod/config/param-config.d.ts +8 -0
  191. package/lib-prod/config/param-config.js +8 -0
  192. package/lib-prod/config/param-config.js.map +1 -0
  193. package/lib-prod/constants.d.ts +9 -0
  194. package/lib-prod/constants.js +32 -0
  195. package/lib-prod/constants.js.map +1 -0
  196. package/lib-prod/context-db-migrations.d.ts +17 -0
  197. package/lib-prod/context-db-migrations.js +349 -0
  198. package/lib-prod/context-db-migrations.js.map +1 -0
  199. package/lib-prod/create-context.d.ts +78 -0
  200. package/lib-prod/create-context.js +223 -0
  201. package/lib-prod/create-context.js.map +1 -0
  202. package/lib-prod/decorators/classes/controller-decorator.d.ts +5 -0
  203. package/lib-prod/decorators/classes/controller-decorator.js +21 -0
  204. package/lib-prod/decorators/classes/controller-decorator.js.map +1 -0
  205. package/lib-prod/decorators/classes/entity-decorator.d.ts +19 -0
  206. package/lib-prod/decorators/classes/entity-decorator.js +43 -0
  207. package/lib-prod/decorators/classes/entity-decorator.js.map +1 -0
  208. package/lib-prod/decorators/classes/middleware-decorator.d.ts +8 -0
  209. package/lib-prod/decorators/classes/middleware-decorator.js +22 -0
  210. package/lib-prod/decorators/classes/middleware-decorator.js.map +1 -0
  211. package/lib-prod/decorators/classes/migration-decorator.d.ts +7 -0
  212. package/lib-prod/decorators/classes/migration-decorator.js +21 -0
  213. package/lib-prod/decorators/classes/migration-decorator.js.map +1 -0
  214. package/lib-prod/decorators/classes/provider-decorator.d.ts +7 -0
  215. package/lib-prod/decorators/classes/provider-decorator.js +21 -0
  216. package/lib-prod/decorators/classes/provider-decorator.js.map +1 -0
  217. package/lib-prod/decorators/classes/repository-decorator.d.ts +7 -0
  218. package/lib-prod/decorators/classes/repository-decorator.js +21 -0
  219. package/lib-prod/decorators/classes/repository-decorator.js.map +1 -0
  220. package/lib-prod/decorators/classes/subscriber-decorator.d.ts +8 -0
  221. package/lib-prod/decorators/classes/subscriber-decorator.js +22 -0
  222. package/lib-prod/decorators/classes/subscriber-decorator.js.map +1 -0
  223. package/lib-prod/decorators/decorator-abstract-opt.d.ts +3 -0
  224. package/lib-prod/decorators/decorator-abstract-opt.js +7 -0
  225. package/lib-prod/decorators/decorator-abstract-opt.js.map +1 -0
  226. package/lib-prod/decorators/http/http-decorators.d.ts +2 -0
  227. package/lib-prod/decorators/http/http-decorators.js +24 -0
  228. package/lib-prod/decorators/http/http-decorators.js.map +1 -0
  229. package/lib-prod/decorators/http/http-methods-decorators.d.ts +70 -0
  230. package/lib-prod/decorators/http/http-methods-decorators.js +112 -0
  231. package/lib-prod/decorators/http/http-methods-decorators.js.map +1 -0
  232. package/lib-prod/decorators/http/http-params-decorators.d.ts +8 -0
  233. package/lib-prod/decorators/http/http-params-decorators.js +50 -0
  234. package/lib-prod/decorators/http/http-params-decorators.js.map +1 -0
  235. package/lib-prod/dependency-injection/di-container.d.ts +5 -0
  236. package/lib-prod/dependency-injection/di-container.js +35 -0
  237. package/lib-prod/dependency-injection/di-container.js.map +1 -0
  238. package/lib-prod/endpoint-context-storage.d.ts +11 -0
  239. package/lib-prod/endpoint-context-storage.js +38 -0
  240. package/lib-prod/endpoint-context-storage.js.map +1 -0
  241. package/lib-prod/endpoint-context.d.ts +196 -0
  242. package/lib-prod/endpoint-context.js +2416 -0
  243. package/lib-prod/endpoint-context.js.map +1 -0
  244. package/lib-prod/entity-process.d.ts +39 -0
  245. package/lib-prod/entity-process.js +242 -0
  246. package/lib-prod/entity-process.js.map +1 -0
  247. package/lib-prod/env/env.angular-node-app.d.ts +64 -0
  248. package/lib-prod/env/env.angular-node-app.js +71 -0
  249. package/lib-prod/env/env.angular-node-app.js.map +1 -0
  250. package/lib-prod/env/env.docs-webapp.d.ts +64 -0
  251. package/lib-prod/env/env.docs-webapp.js +71 -0
  252. package/lib-prod/env/env.docs-webapp.js.map +1 -0
  253. package/lib-prod/env/env.electron-app.d.ts +64 -0
  254. package/lib-prod/env/env.electron-app.js +71 -0
  255. package/lib-prod/env/env.electron-app.js.map +1 -0
  256. package/lib-prod/env/env.mobile-app.d.ts +64 -0
  257. package/lib-prod/env/env.mobile-app.js +71 -0
  258. package/lib-prod/env/env.mobile-app.js.map +1 -0
  259. package/lib-prod/env/env.npm-lib-and-cli-tool.d.ts +64 -0
  260. package/lib-prod/env/env.npm-lib-and-cli-tool.js +71 -0
  261. package/lib-prod/env/env.npm-lib-and-cli-tool.js.map +1 -0
  262. package/lib-prod/env/env.vscode-plugin.d.ts +64 -0
  263. package/lib-prod/env/env.vscode-plugin.js +71 -0
  264. package/lib-prod/env/env.vscode-plugin.js.map +1 -0
  265. package/lib-prod/env/index.d.ts +6 -0
  266. package/lib-prod/env/index.js +23 -0
  267. package/lib-prod/env/index.js.map +1 -0
  268. package/lib-prod/express-types.d.ts +1 -0
  269. package/lib-prod/express-types.js +3 -0
  270. package/lib-prod/express-types.js.map +1 -0
  271. package/lib-prod/formly/formly.models.d.ts +1 -0
  272. package/lib-prod/formly/formly.models.js +3 -0
  273. package/lib-prod/formly/formly.models.js.map +1 -0
  274. package/lib-prod/formly/fromly.d.ts +16 -0
  275. package/lib-prod/formly/fromly.js +209 -0
  276. package/lib-prod/formly/fromly.js.map +1 -0
  277. package/lib-prod/formly/type-from-entity.d.ts +20 -0
  278. package/lib-prod/formly/type-from-entity.js +60 -0
  279. package/lib-prod/formly/type-from-entity.js.map +1 -0
  280. package/lib-prod/get-response-value.d.ts +6 -0
  281. package/lib-prod/get-response-value.js +27 -0
  282. package/lib-prod/get-response-value.js.map +1 -0
  283. package/lib-prod/global-state/taon-global-state/index.d.ts +5 -0
  284. package/lib-prod/global-state/taon-global-state/index.js +23 -0
  285. package/lib-prod/global-state/taon-global-state/index.js.map +1 -0
  286. package/lib-prod/global-state/taon-global-state/taon-global-state.abstract.context.d.ts +19 -0
  287. package/lib-prod/global-state/taon-global-state/taon-global-state.abstract.context.js +23 -0
  288. package/lib-prod/global-state/taon-global-state/taon-global-state.abstract.context.js.map +1 -0
  289. package/lib-prod/global-state/taon-global-state/taon-global-state.constants.d.ts +2 -0
  290. package/lib-prod/global-state/taon-global-state/taon-global-state.constants.js +11 -0
  291. package/lib-prod/global-state/taon-global-state/taon-global-state.constants.js.map +1 -0
  292. package/lib-prod/global-state/taon-global-state/taon-global-state.controller.d.ts +11 -0
  293. package/lib-prod/global-state/taon-global-state/taon-global-state.controller.js +62 -0
  294. package/lib-prod/global-state/taon-global-state/taon-global-state.controller.js.map +1 -0
  295. package/lib-prod/global-state/taon-global-state/taon-global-state.entity.d.ts +7 -0
  296. package/lib-prod/global-state/taon-global-state/taon-global-state.entity.js +64 -0
  297. package/lib-prod/global-state/taon-global-state/taon-global-state.entity.js.map +1 -0
  298. package/lib-prod/global-state/taon-global-state/taon-global-state.middleware.d.ts +3 -0
  299. package/lib-prod/global-state/taon-global-state/taon-global-state.middleware.js +22 -0
  300. package/lib-prod/global-state/taon-global-state/taon-global-state.middleware.js.map +1 -0
  301. package/lib-prod/global-state/taon-global-state/taon-global-state.models.d.ts +28 -0
  302. package/lib-prod/global-state/taon-global-state/taon-global-state.models.js +48 -0
  303. package/lib-prod/global-state/taon-global-state/taon-global-state.models.js.map +1 -0
  304. package/lib-prod/global-state/taon-global-state/taon-global-state.provider.d.ts +3 -0
  305. package/lib-prod/global-state/taon-global-state/taon-global-state.provider.js +22 -0
  306. package/lib-prod/global-state/taon-global-state/taon-global-state.provider.js.map +1 -0
  307. package/lib-prod/global-state/taon-global-state/taon-global-state.repository.d.ts +9 -0
  308. package/lib-prod/global-state/taon-global-state/taon-global-state.repository.js +53 -0
  309. package/lib-prod/global-state/taon-global-state/taon-global-state.repository.js.map +1 -0
  310. package/lib-prod/global-state/taon-global-state/taon-global-state.subscriber.d.ts +7 -0
  311. package/lib-prod/global-state/taon-global-state/taon-global-state.subscriber.js +29 -0
  312. package/lib-prod/global-state/taon-global-state/taon-global-state.subscriber.js.map +1 -0
  313. package/lib-prod/global-state/taon-global-state/taon-global-state.utils.d.ts +4 -0
  314. package/lib-prod/global-state/taon-global-state/taon-global-state.utils.js +16 -0
  315. package/lib-prod/global-state/taon-global-state/taon-global-state.utils.js.map +1 -0
  316. package/lib-prod/global-state/taon-transaction-registry/index.d.ts +10 -0
  317. package/lib-prod/global-state/taon-transaction-registry/index.js +28 -0
  318. package/lib-prod/global-state/taon-transaction-registry/index.js.map +1 -0
  319. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.abstract.context.d.ts +19 -0
  320. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.abstract.context.js +25 -0
  321. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.abstract.context.js.map +1 -0
  322. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.constants.d.ts +2 -0
  323. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.constants.js +9 -0
  324. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.constants.js.map +1 -0
  325. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.controller.d.ts +9 -0
  326. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.controller.js +52 -0
  327. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.controller.js.map +1 -0
  328. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.entity.d.ts +12 -0
  329. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.entity.js +77 -0
  330. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.entity.js.map +1 -0
  331. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.middleware.d.ts +3 -0
  332. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.middleware.js +22 -0
  333. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.middleware.js.map +1 -0
  334. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.models.d.ts +6 -0
  335. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.models.js +11 -0
  336. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.models.js.map +1 -0
  337. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.provider.d.ts +3 -0
  338. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.provider.js +22 -0
  339. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.provider.js.map +1 -0
  340. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.repository.d.ts +9 -0
  341. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.repository.js +38 -0
  342. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.repository.js.map +1 -0
  343. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.subscriber.d.ts +7 -0
  344. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.subscriber.js +29 -0
  345. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.subscriber.js.map +1 -0
  346. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.utils.d.ts +4 -0
  347. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.utils.js +11 -0
  348. package/lib-prod/global-state/taon-transaction-registry/taon-transaction-registry.utils.js.map +1 -0
  349. package/lib-prod/helpers/class-helpers.d.ts +24 -0
  350. package/lib-prod/helpers/class-helpers.js +233 -0
  351. package/lib-prod/helpers/class-helpers.js.map +1 -0
  352. package/lib-prod/helpers/clone-obj.d.ts +1 -0
  353. package/lib-prod/helpers/clone-obj.js +22 -0
  354. package/lib-prod/helpers/clone-obj.js.map +1 -0
  355. package/lib-prod/helpers/taon-helpers.d.ts +18 -0
  356. package/lib-prod/helpers/taon-helpers.js +152 -0
  357. package/lib-prod/helpers/taon-helpers.js.map +1 -0
  358. package/lib-prod/index._auto-generated_.d.ts +0 -0
  359. package/lib-prod/index._auto-generated_.js +6 -0
  360. package/lib-prod/index._auto-generated_.js.map +1 -0
  361. package/lib-prod/index.d.ts +234 -0
  362. package/lib-prod/index.js +272 -0
  363. package/lib-prod/index.js.map +1 -0
  364. package/lib-prod/inject.d.ts +4 -0
  365. package/lib-prod/inject.js +94 -0
  366. package/lib-prod/inject.js.map +1 -0
  367. package/lib-prod/models.d.ts +260 -0
  368. package/lib-prod/models.js +125 -0
  369. package/lib-prod/models.js.map +1 -0
  370. package/lib-prod/orm/columns.d.ts +32 -0
  371. package/lib-prod/orm/columns.js +112 -0
  372. package/lib-prod/orm/columns.js.map +1 -0
  373. package/lib-prod/orm/index.d.ts +1 -0
  374. package/lib-prod/orm/index.js +73 -0
  375. package/lib-prod/orm/index.js.map +1 -0
  376. package/lib-prod/realtime/realtime-client.d.ts +41 -0
  377. package/lib-prod/realtime/realtime-client.js +204 -0
  378. package/lib-prod/realtime/realtime-client.js.map +1 -0
  379. package/lib-prod/realtime/realtime-core.d.ts +40 -0
  380. package/lib-prod/realtime/realtime-core.js +106 -0
  381. package/lib-prod/realtime/realtime-core.js.map +1 -0
  382. package/lib-prod/realtime/realtime-server.d.ts +43 -0
  383. package/lib-prod/realtime/realtime-server.js +243 -0
  384. package/lib-prod/realtime/realtime-server.js.map +1 -0
  385. package/lib-prod/realtime/realtime-strategy/index.d.ts +4 -0
  386. package/lib-prod/realtime/realtime-strategy/index.js +21 -0
  387. package/lib-prod/realtime/realtime-strategy/index.js.map +1 -0
  388. package/lib-prod/realtime/realtime-strategy/realtime-strategy-ipc.d.ts +80 -0
  389. package/lib-prod/realtime/realtime-strategy/realtime-strategy-ipc.js +297 -0
  390. package/lib-prod/realtime/realtime-strategy/realtime-strategy-ipc.js.map +1 -0
  391. package/lib-prod/realtime/realtime-strategy/realtime-strategy-mock.d.ts +14 -0
  392. package/lib-prod/realtime/realtime-strategy/realtime-strategy-mock.js +303 -0
  393. package/lib-prod/realtime/realtime-strategy/realtime-strategy-mock.js.map +1 -0
  394. package/lib-prod/realtime/realtime-strategy/realtime-strategy-socket-io.d.ts +16 -0
  395. package/lib-prod/realtime/realtime-strategy/realtime-strategy-socket-io.js +33 -0
  396. package/lib-prod/realtime/realtime-strategy/realtime-strategy-socket-io.js.map +1 -0
  397. package/lib-prod/realtime/realtime-strategy/realtime-strategy.d.ts +11 -0
  398. package/lib-prod/realtime/realtime-strategy/realtime-strategy.js +17 -0
  399. package/lib-prod/realtime/realtime-strategy/realtime-strategy.js.map +1 -0
  400. package/lib-prod/realtime/realtime-subs-manager.d.ts +14 -0
  401. package/lib-prod/realtime/realtime-subs-manager.js +94 -0
  402. package/lib-prod/realtime/realtime-subs-manager.js.map +1 -0
  403. package/lib-prod/realtime/realtime.models.d.ts +27 -0
  404. package/lib-prod/realtime/realtime.models.js +3 -0
  405. package/lib-prod/realtime/realtime.models.js.map +1 -0
  406. package/lib-prod/symbols.d.ts +65 -0
  407. package/lib-prod/symbols.js +110 -0
  408. package/lib-prod/symbols.js.map +1 -0
  409. package/lib-prod/ui/index.d.ts +1 -0
  410. package/lib-prod/ui/index.js +5 -0
  411. package/lib-prod/ui/index.js.map +1 -0
  412. package/lib-prod/ui/taon-admin-mode-configuration/index.d.ts +1 -0
  413. package/lib-prod/ui/taon-admin-mode-configuration/index.js +5 -0
  414. package/lib-prod/ui/taon-admin-mode-configuration/index.js.map +1 -0
  415. package/lib-prod/validators.d.ts +7 -0
  416. package/lib-prod/validators.js +85 -0
  417. package/lib-prod/validators.js.map +1 -0
  418. package/package.json +22 -6
  419. package/websql/fesm2022/taon-websql.mjs +1405 -1152
  420. package/websql/fesm2022/taon-websql.mjs.map +1 -1
  421. package/websql/package.json +1 -1
  422. package/websql/types/taon-websql.d.ts +14 -9
  423. package/websql-prod/README.md +24 -0
  424. package/websql-prod/fesm2022/taon-websql.mjs +8198 -0
  425. package/websql-prod/fesm2022/taon-websql.mjs.map +1 -0
  426. package/websql-prod/types/taon-websql.d.ts +2187 -0
@@ -0,0 +1,40 @@
1
+ import { Server } from 'socket.io';
2
+ import { DefaultEventsMap } from 'socket.io';
3
+ import { Socket as SocketClient } from 'socket.io-client';
4
+ import type { EndpointContext } from '../endpoint-context';
5
+ import { RealtimeClient } from './realtime-client';
6
+ import { RealtimeServer } from './realtime-server';
7
+ import type { RealtimeStrategy } from './realtime-strategy';
8
+ /**
9
+ * Realtime class
10
+ * - mock (when browser-browser)
11
+ * - sockets (from socket io when backend-browser)
12
+ * - ipc (when electron is used or between processes)
13
+ * - webworker (when webworker is used in browser or nodejs)
14
+ */
15
+ export declare class RealtimeCore {
16
+ ctx: EndpointContext;
17
+ readonly allHttpMethods: string[];
18
+ readonly client: RealtimeClient;
19
+ readonly server: RealtimeServer;
20
+ readonly strategy: RealtimeStrategy;
21
+ /**
22
+ * global FE socket - only for established connection
23
+ */
24
+ conectSocketFE: SocketClient<DefaultEventsMap, DefaultEventsMap>;
25
+ /**
26
+ * socket for namespaces and rooms
27
+ */
28
+ socketFE: SocketClient<DefaultEventsMap, DefaultEventsMap>;
29
+ /**
30
+ * global BE socket - only for established connection
31
+ */
32
+ connectSocketBE: Server<DefaultEventsMap, DefaultEventsMap, DefaultEventsMap, any>;
33
+ /**
34
+ * socket for namespaces and rooms
35
+ */
36
+ socketBE: Server<DefaultEventsMap, DefaultEventsMap, DefaultEventsMap, any>;
37
+ constructor(ctx: EndpointContext);
38
+ private resolveStrategy;
39
+ pathFor(namespace?: string): URL;
40
+ }
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RealtimeCore = void 0;
4
+ const lib_prod_1 = require("tnp-core/lib-prod");
5
+ const constants_1 = require("../constants");
6
+ const realtime_client_1 = require("./realtime-client");
7
+ const realtime_server_1 = require("./realtime-server");
8
+ const realtime_strategy_1 = require("./realtime-strategy");
9
+ //#endregion
10
+ /**
11
+ * Realtime class
12
+ * - mock (when browser-browser)
13
+ * - sockets (from socket io when backend-browser)
14
+ * - ipc (when electron is used or between processes)
15
+ * - webworker (when webworker is used in browser or nodejs)
16
+ */
17
+ class RealtimeCore {
18
+ ctx;
19
+ //#region fields
20
+ allHttpMethods = [
21
+ 'GET',
22
+ 'POST',
23
+ 'PUT',
24
+ 'DELETE',
25
+ 'PATCH',
26
+ 'OPTIONS',
27
+ 'HEAD',
28
+ ];
29
+ client;
30
+ server;
31
+ strategy;
32
+ /**
33
+ * global FE socket - only for established connection
34
+ */
35
+ conectSocketFE;
36
+ /**
37
+ * socket for namespaces and rooms
38
+ */
39
+ socketFE;
40
+ /**
41
+ * global BE socket - only for established connection
42
+ */
43
+ connectSocketBE;
44
+ /**
45
+ * socket for namespaces and rooms
46
+ */
47
+ socketBE;
48
+ //#endregion
49
+ //#region constructor
50
+ constructor(ctx) {
51
+ this.ctx = ctx;
52
+ this.ctx = ctx;
53
+ this.strategy = this.resolveStrategy();
54
+ // this.ctx.logRealtime &&
55
+ // console.log(`
56
+ // [ctx=${this.ctx.contextName}] realtime strategy: ${this.strategy}, context type: ${this.ctx.contextType}
57
+ // `);
58
+ if (lib_prod_1.Helpers.isWebSQL) {
59
+ this.server = new realtime_server_1.RealtimeServer(this);
60
+ // console.log('DONE INITING SERVER');
61
+ this.client = new realtime_client_1.RealtimeClient(this);
62
+ // console.log('DONE INITING CLIENT');
63
+ }
64
+ else {
65
+ this.client = new realtime_client_1.RealtimeClient(this);
66
+ this.server = new realtime_server_1.RealtimeServer(this);
67
+ }
68
+ }
69
+ //#endregion
70
+ //#region methods & getters / resovle staraegy
71
+ resolveStrategy() {
72
+ // console.log(`[taon] resolveStrategy for this.ctx.mode ${this.ctx.mode}`);
73
+ if (this.ctx.mode === 'backend-frontend(websql)' ||
74
+ this.ctx.mode === 'backend-frontend(websql-electron)') {
75
+ // debugger
76
+ return new realtime_strategy_1.RealtimeStrategyMock(this.ctx);
77
+ }
78
+ if (this.ctx.mode === 'backend-frontend(ipc-electron)') {
79
+ return new realtime_strategy_1.RealtimeStrategyIpc(this.ctx);
80
+ }
81
+ // if (this.ctx.mode === 'backend-frontend(tcp+udp)') {
82
+ // return new RealtimeStrategySocketIO(this.ctx);
83
+ // }
84
+ // if (this.ctx.mode === 'remote-backend(tcp+udp)') {
85
+ // return new RealtimeStrategySocketIO(this.ctx);
86
+ // }
87
+ return new realtime_strategy_1.RealtimeStrategySocketIO(this.ctx);
88
+ }
89
+ //#endregion
90
+ //#region path for
91
+ pathFor(namespace) {
92
+ let nsp = namespace ? namespace : '';
93
+ nsp = nsp === '/' ? '' : nsp;
94
+ const contextNameForCommunication = this.ctx.contextNameForCommunication;
95
+ let prefix = `${constants_1.apiPrefix}/${contextNameForCommunication}/udp`;
96
+ if (lib_prod_1.Helpers.isElectron) {
97
+ prefix = ``;
98
+ }
99
+ const href = `${this.ctx.uriOrigin}${this.ctx.uriPathnameOrNothingIfRoot}` +
100
+ `/${prefix}${prefix && nsp ? '-' + nsp : nsp}`;
101
+ // console.log(`HREF: ${href}, nsp: ${nsp}`)
102
+ return new URL(href);
103
+ }
104
+ }
105
+ exports.RealtimeCore = RealtimeCore;
106
+ //# sourceMappingURL=realtime-core.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"realtime-core.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import { Observable } from 'rxjs';
2
+ import { RealtimeCore } from './realtime-core';
3
+ /**
4
+ * Server for realtime communication
5
+ * you can trigger:
6
+ * - entity changes (any property in table changed)
7
+ * - entity custom property changes (specific property changed)
8
+ * - entity table changes (new instance added, instance removed)
9
+ * - custom events
10
+ *
11
+ * and also listen to:
12
+ * - custom events from yourself
13
+ */
14
+ export declare class RealtimeServer {
15
+ private core;
16
+ constructor(core: RealtimeCore);
17
+ private init;
18
+ private triggerChanges;
19
+ triggerEntityChanges(entityObjOrClass: Function | object,
20
+ /**
21
+ * value of unique key property of entity instance
22
+ * (this value is not needed if entityObjOrClass is instance of entity)
23
+ */
24
+ idToTrigger?: number | string): void;
25
+ triggerEntityPropertyChanges(entityObjOrClass: Function | object,
26
+ /**
27
+ * property name or array of property names that changed
28
+ * for entity instance
29
+ */
30
+ property: string | string[],
31
+ /**
32
+ * value of unique key property of entity instance
33
+ * (this value is not needed if entityObjOrClass is instance of entity)
34
+ */
35
+ idToTrigger?: number | string): void;
36
+ triggerEntityTableChanges(entityClassOrInstance: Function | object): void;
37
+ triggerCustomEvent(customEvent: string, dataToPush: any): void;
38
+ /**
39
+ * Listen to custom events from users
40
+ * @param customEvent global event name
41
+ */
42
+ listenChangesCustomEvent(customEvent: string): Observable<any>;
43
+ }
@@ -0,0 +1,243 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RealtimeServer = void 0;
4
+ const rxjs_1 = require("rxjs");
5
+ const lib_prod_1 = require("tnp-core/lib-prod");
6
+ const class_helpers_1 = require("../helpers/class-helpers");
7
+ const symbols_1 = require("../symbols");
8
+ //#endregion
9
+ /**
10
+ * Server for realtime communication
11
+ * you can trigger:
12
+ * - entity changes (any property in table changed)
13
+ * - entity custom property changes (specific property changed)
14
+ * - entity table changes (new instance added, instance removed)
15
+ * - custom events
16
+ *
17
+ * and also listen to:
18
+ * - custom events from yourself
19
+ */
20
+ class RealtimeServer {
21
+ core;
22
+ // private jobs = {};
23
+ constructor(core) {
24
+ this.core = core;
25
+ this.core = core;
26
+ if (core.ctx.disabledRealtime || this.core.ctx.isRemoteHost) {
27
+ return;
28
+ }
29
+ //#region @websql
30
+ this.init();
31
+ //#endregion
32
+ }
33
+ //#region methods & getters / init
34
+ init() {
35
+ /* */
36
+ /* */
37
+ /* */
38
+ /* */
39
+ /* */
40
+ /* */
41
+ /* */
42
+ /* */
43
+ /* */
44
+ /* */
45
+ /* */
46
+ //#region @websql
47
+ //#region prepare namespaces pathes
48
+ const nspPathGlobal = this.core.pathFor();
49
+ const nspPathRealtime = this.core.pathFor(symbols_1.Symbols.REALTIME.NAMESPACE(this.core.ctx.contextName));
50
+ //#endregion
51
+ // console.log('[backend] nspPath', nspPath);
52
+ const cors = {
53
+ origin: this.core.ctx.frontendHostUri.origin, // only origin needs to be set - pathname not needed
54
+ methods: this.core.allHttpMethods,
55
+ };
56
+ // console.log('frontendHost', this.core.ctx.config.frontendHost);
57
+ // console.log('cors', cors);
58
+ //#region prepare global BE socket
59
+ this.core.connectSocketBE = this.core.strategy.ioServer(lib_prod_1.Helpers.isWebSQL ? this.core.ctx.uriOrigin : this.core.ctx.serverTcpUdp, {
60
+ path: nspPathGlobal.pathname,
61
+ cors,
62
+ }, // @ts-ignore
63
+ this.core.ctx);
64
+ this.core.ctx.logRealtime &&
65
+ console.info(`[backend] CREATE GLOBAL NAMESPACE: '${this.core.connectSocketBE.path()}'` +
66
+ ` , path: '${nspPathGlobal.pathname}'`);
67
+ this.core.connectSocketBE.on('connection', clientSocket => {
68
+ this.core.ctx.logRealtime &&
69
+ console.info(`[backend] client connected to namespace "${nspPathGlobal.pathname}", ` +
70
+ ` host: ${this.core.ctx.host}`);
71
+ });
72
+ //#endregion
73
+ //#region prepare realtime BE socket
74
+ this.core.socketBE = this.core.strategy.ioServer(lib_prod_1.Helpers.isWebSQL || lib_prod_1.Helpers.isElectron
75
+ ? this.core.ctx.uriOrigin
76
+ : this.core.ctx.serverTcpUdp, {
77
+ path: nspPathRealtime.pathname,
78
+ cors,
79
+ }, // @ts-ignore
80
+ this.core.ctx);
81
+ this.core.ctx.logRealtime &&
82
+ console.info(`[backend] CREATE REALTIME NAMESPACE: '${this.core.socketBE.path()}'` +
83
+ ` , path: '${nspPathRealtime.pathname}' `);
84
+ this.core.socketBE.on('connection', backendSocketForClient => {
85
+ this.core.ctx.logRealtime &&
86
+ console.info(`[backend] client connected to namespace "${nspPathRealtime.pathname}", ` +
87
+ ` host: ${this.core.ctx.host}`);
88
+ backendSocketForClient.on(symbols_1.Symbols.REALTIME.ROOM_SUBSCRIBE_CUSTOM(this.core.ctx.contextName), roomName => {
89
+ this.core.ctx.logRealtime &&
90
+ console.info(`Joining room ${roomName} in namespace REALTIME` +
91
+ ` host: ${this.core.ctx.contextName}/${this.core.ctx.host}`);
92
+ backendSocketForClient.join(roomName);
93
+ });
94
+ backendSocketForClient.on(symbols_1.Symbols.REALTIME.ROOM_SUBSCRIBE_ENTITY_UPDATE_EVENTS(this.core.ctx.contextName), roomName => {
95
+ this.core.ctx.logRealtime &&
96
+ console.info(`[backend] Joining room ${roomName} in namespace REALTIME` +
97
+ ` host: ${this.core.ctx.contextName}/${this.core.ctx.host}`);
98
+ backendSocketForClient.join(roomName);
99
+ });
100
+ backendSocketForClient.on(symbols_1.Symbols.REALTIME.ROOM_SUBSCRIBE_ENTITY_PROPERTY_UPDATE_EVENTS(this.core.ctx.contextName), roomName => {
101
+ this.core.ctx.logRealtime &&
102
+ console.info(`[backend] Joining room ${roomName} in namespace REALTIME ` +
103
+ ` host: ${this.core.ctx.contextName}/${this.core.ctx.host}`);
104
+ backendSocketForClient.join(roomName);
105
+ });
106
+ backendSocketForClient.on(symbols_1.Symbols.REALTIME.ROOM_UNSUBSCRIBE_CUSTOM(this.core.ctx.contextName), roomName => {
107
+ this.core.ctx.logRealtime &&
108
+ console.info(`[backend] Leaving room ${roomName} in namespace REALTIME` +
109
+ ` host: ${this.core.ctx.contextName}/${this.core.ctx.host}`);
110
+ backendSocketForClient.leave(roomName);
111
+ });
112
+ backendSocketForClient.on(symbols_1.Symbols.REALTIME.ROOM_UNSUBSCRIBE_ENTITY_UPDATE_EVENTS(this.core.ctx.contextName), roomName => {
113
+ this.core.ctx.logRealtime &&
114
+ console.info(`[backend] Leaving room ${roomName} in namespace REALTIME ` +
115
+ ` host: ${this.core.ctx.contextName}/${this.core.ctx.host}`);
116
+ backendSocketForClient.leave(roomName);
117
+ });
118
+ backendSocketForClient.on(symbols_1.Symbols.REALTIME.ROOM_UNSUBSCRIBE_ENTITY_PROPERTY_UPDATE_EVENTS(this.core.ctx.contextName), roomName => {
119
+ this.core.ctx.logRealtime &&
120
+ console.info(`[backend] Leaving room ${roomName} in namespace REALTIME ` +
121
+ ` host: ${this.core.ctx.contextName}/${this.core.ctx.host}`);
122
+ backendSocketForClient.leave(roomName);
123
+ });
124
+ });
125
+ //#endregion
126
+ //#endregion
127
+ }
128
+ //#endregion
129
+ //#region methods & getters / trigger changes
130
+ // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
131
+ triggerChanges(entityObjOrClass, property, valueOfUniqueProperty, customEvent, customEventData) {
132
+ // console.log('customEventData', customEventData);
133
+ // console.info('__triger entity changes');
134
+ //#region @websql
135
+ let roomName;
136
+ if (this.core.ctx.disabledRealtime || this.core.ctx.isRemoteHost) {
137
+ return;
138
+ }
139
+ if (customEvent) {
140
+ roomName = symbols_1.Symbols.REALTIME.ROOM_NAME_CUSTOM(this.core.ctx.contextName, customEvent);
141
+ }
142
+ else {
143
+ let entityFn = entityObjOrClass;
144
+ const entityIsObject = !lib_prod_1._.isFunction(entityObjOrClass) && lib_prod_1._.isObject(entityObjOrClass);
145
+ if (entityIsObject) {
146
+ entityFn = class_helpers_1.ClassHelpers.getClassFnFromObject(entityObjOrClass);
147
+ }
148
+ const uniqueKey = class_helpers_1.ClassHelpers.getUniqueKey(entityFn);
149
+ if (entityIsObject) {
150
+ valueOfUniqueProperty = entityObjOrClass[uniqueKey];
151
+ }
152
+ if (!valueOfUniqueProperty) {
153
+ lib_prod_1.Helpers.error(`[Taon][Realtime] Entity without iD ! ${class_helpers_1.ClassHelpers.getName(entityFn)} `, true, true);
154
+ return;
155
+ }
156
+ roomName = lib_prod_1._.isString(property)
157
+ ? symbols_1.Symbols.REALTIME.ROOM_NAME_UPDATE_ENTITY_PROPERTY(this.core.ctx.contextName, class_helpers_1.ClassHelpers.getName(entityFn), property, valueOfUniqueProperty)
158
+ : symbols_1.Symbols.REALTIME.ROOM_NAME_UPDATE_ENTITY(this.core.ctx.contextName, class_helpers_1.ClassHelpers.getName(entityFn), valueOfUniqueProperty);
159
+ }
160
+ this.core.socketBE.in(roomName).emit(roomName, // roomName == eventName in room na
161
+ customEvent ? customEventData : '');
162
+ //#endregion
163
+ }
164
+ //#endregion
165
+ //#region entity changes
166
+ //#region methods & getters / trigger entity changes
167
+ triggerEntityChanges(entityObjOrClass,
168
+ /**
169
+ * value of unique key property of entity instance
170
+ * (this value is not needed if entityObjOrClass is instance of entity)
171
+ */
172
+ idToTrigger) {
173
+ if (this.core.ctx.disabledRealtime) {
174
+ const className = class_helpers_1.ClassHelpers.getName(entityObjOrClass);
175
+ console.warn(`[Taon][TriggerEntityChanges] Entity "${className}' is not realtime`);
176
+ return;
177
+ }
178
+ this.triggerChanges(entityObjOrClass, void 0, idToTrigger);
179
+ }
180
+ //#endregion
181
+ //#region methods & getters / trigger entity property changes
182
+ triggerEntityPropertyChanges(entityObjOrClass,
183
+ /**
184
+ * property name or array of property names that changed
185
+ * for entity instance
186
+ */
187
+ property,
188
+ /**
189
+ * value of unique key property of entity instance
190
+ * (this value is not needed if entityObjOrClass is instance of entity)
191
+ */
192
+ idToTrigger) {
193
+ if (this.core.ctx.disabledRealtime) {
194
+ const className = class_helpers_1.ClassHelpers.getName(entityObjOrClass);
195
+ console.warn(`[Taon][TriggerEntityPropertyChanges][property=${property}] Entity "${className}' is not realtime`);
196
+ return;
197
+ }
198
+ if (lib_prod_1._.isArray(property)) {
199
+ property.forEach(propertyFromArr => {
200
+ this.triggerChanges(entityObjOrClass, propertyFromArr, idToTrigger);
201
+ });
202
+ }
203
+ else {
204
+ this.triggerChanges(entityObjOrClass, property, idToTrigger);
205
+ }
206
+ }
207
+ //#endregion
208
+ //#region methods & getters / trigger entity table changes
209
+ triggerEntityTableChanges(entityClassOrInstance) {
210
+ const className = class_helpers_1.ClassHelpers.getName(entityClassOrInstance);
211
+ if (this.core.ctx.disabledRealtime) {
212
+ console.warn(`[Taon][TriggerEntityTableChanges] Entity "${className}' is not realtime`);
213
+ return;
214
+ }
215
+ this.triggerChanges(entityClassOrInstance, void 0, void 0, symbols_1.Symbols.REALTIME.TABLE_CHANGE(this.core.ctx.contextName, className));
216
+ }
217
+ //#endregion
218
+ //#endregion
219
+ //#region custom changes
220
+ //#region methods & getters / trigger custom event
221
+ triggerCustomEvent(customEvent, dataToPush) {
222
+ this.triggerChanges(void 0, void 0, void 0, customEvent, dataToPush);
223
+ }
224
+ //#endregion
225
+ //#region methods & getters / listen custom events from users
226
+ /**
227
+ * Listen to custom events from users
228
+ * @param customEvent global event name
229
+ */
230
+ listenChangesCustomEvent(customEvent) {
231
+ //#region @websqlFunc
232
+ const sub = new rxjs_1.Subject();
233
+ this.core.socketBE.on('connection', backendSocketForClient => {
234
+ backendSocketForClient.on(customEvent, (data, ...args) => {
235
+ sub.next(data);
236
+ });
237
+ });
238
+ return sub.asObservable();
239
+ //#endregion
240
+ }
241
+ }
242
+ exports.RealtimeServer = RealtimeServer;
243
+ //# sourceMappingURL=realtime-server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"realtime-server.js","sourceRoot":"","sources":[""],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from './realtime-strategy';
2
+ export * from './realtime-strategy-ipc';
3
+ export * from './realtime-strategy-mock';
4
+ export * from './realtime-strategy-socket-io';
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./realtime-strategy"), exports);
18
+ __exportStar(require("./realtime-strategy-ipc"), exports);
19
+ __exportStar(require("./realtime-strategy-mock"), exports);
20
+ __exportStar(require("./realtime-strategy-socket-io"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":[""],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,0DAAwC;AACxC,2DAAyC;AACzC,gEAA8C"}
@@ -0,0 +1,80 @@
1
+ import type * as Electron from 'electron';
2
+ import { ServerOptions } from 'socket.io';
3
+ import { EndpointContext } from '../../endpoint-context';
4
+ import { RealtimeModels } from '../realtime.models';
5
+ import { RealtimeStrategy } from './realtime-strategy';
6
+ export declare class MockServerIpc {
7
+ contextName: string;
8
+ static serverByContextName: Map<string, MockServerIpc>;
9
+ static from(contextName: string): MockServerIpc;
10
+ namespacesByName: Map<string, MockNamespaceIpc>;
11
+ constructor(contextName: string);
12
+ of(namespace: string): MockNamespaceIpc;
13
+ }
14
+ export declare class MockNamespaceIpc {
15
+ /**
16
+ * Namespace name
17
+ */
18
+ name: string;
19
+ server: MockServerIpc;
20
+ electronClients: Set<globalThis.Electron.WebContents>;
21
+ roomsByRoomName: {
22
+ [roomName: string]: Set<Electron.WebContents>;
23
+ };
24
+ private namespaceEventHandlers;
25
+ constructor(
26
+ /**
27
+ * Namespace name
28
+ */
29
+ name: string, server: MockServerIpc);
30
+ on(eventName: string, callback: RealtimeModels.EventHandler): void;
31
+ off(event: string, callback?: RealtimeModels.EventHandler): void;
32
+ emit(eventName: string, ...args: any[]): void;
33
+ to(roomName: string): RoomEmitterIpc;
34
+ in(roomName: string): RoomEmitterIpc;
35
+ join(webContents: Electron.WebContents, roomName: string): void;
36
+ leave(webContents: Electron.WebContents, roomName: string): void;
37
+ path(): string;
38
+ get nsp(): {
39
+ readonly name: string;
40
+ };
41
+ }
42
+ declare class RoomEmitterIpc {
43
+ private electronClients;
44
+ /**
45
+ * namespace name
46
+ */
47
+ private name;
48
+ private includeSender;
49
+ private sender;
50
+ constructor(electronClients: Set<Electron.WebContents>,
51
+ /**
52
+ * namespace name
53
+ */
54
+ name: string, includeSender?: boolean, sender?: MockSocketIpc);
55
+ emit(eventName: string, ...args: any[]): void;
56
+ }
57
+ export declare class MockSocketIpc {
58
+ namespaceName: string;
59
+ private socketEventHandlers;
60
+ get name(): string;
61
+ /**
62
+ * @param namespaceName instead url for ipc
63
+ */
64
+ constructor(namespaceName: string);
65
+ on(eventName: string, callback: (event: any, ...args: any[]) => void): void;
66
+ off(event: string, callback?: (event: any, ...args: any[]) => void): void;
67
+ emit(event: string, ...args: any[]): void;
68
+ }
69
+ /**
70
+ * Purpose:
71
+ * - backend-browser communication between 2 processes in electron mode
72
+ */
73
+ export declare class RealtimeStrategyIpc extends RealtimeStrategy {
74
+ protected ctx: EndpointContext;
75
+ toString(): string;
76
+ constructor(ctx: EndpointContext);
77
+ ioServer(__: string, opt: ServerOptions): any;
78
+ get ioClient(): any;
79
+ }
80
+ export {};