taon 18.0.34 → 19.0.0

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 (413) hide show
  1. package/README.md +175 -175
  2. package/assets/shared/shared_folder_info.txt +1 -1
  3. package/bin/start.js +279 -279
  4. package/bin/taon +6 -6
  5. package/bin/taon-debug +5 -5
  6. package/bin/taon-debug-brk +5 -5
  7. package/browser/README.md +24 -24
  8. package/browser/fesm2022/taon.mjs +68 -85
  9. package/browser/fesm2022/taon.mjs.map +1 -1
  10. package/browser/lib/base-classes/base-context.d.ts +6 -6
  11. package/browser/lib/base-classes/base.d.ts +6 -6
  12. package/browser/lib/index.d.ts +6 -32
  13. package/browser/lib/ui/taon-progress-bar/taon-progress-bar.component.d.ts +1 -3
  14. package/browser/lib/ui/taon-progress-bar/taon-progress-bar.module.d.ts +1 -2
  15. package/cli.js.map +1 -1
  16. package/client/README.md +24 -24
  17. package/client/fesm2022/taon.mjs +68 -85
  18. package/client/fesm2022/taon.mjs.map +1 -1
  19. package/client/lib/base-classes/base-context.d.ts +6 -6
  20. package/client/lib/base-classes/base.d.ts +6 -6
  21. package/client/lib/index.d.ts +6 -32
  22. package/client/lib/ui/taon-progress-bar/taon-progress-bar.component.d.ts +1 -3
  23. package/client/lib/ui/taon-progress-bar/taon-progress-bar.module.d.ts +1 -2
  24. package/index.js.map +1 -1
  25. package/lib/base-classes/base-abstract-entity.js.map +1 -1
  26. package/lib/base-classes/base-class.js.map +1 -1
  27. package/lib/base-classes/base-context.d.ts +6 -6
  28. package/lib/base-classes/base-context.js.map +1 -1
  29. package/lib/base-classes/base-controller.js.map +1 -1
  30. package/lib/base-classes/base-crud-controller.js.map +1 -1
  31. package/lib/base-classes/base-entity.js.map +1 -1
  32. package/lib/base-classes/base-injector.js.map +1 -1
  33. package/lib/base-classes/base-migration.js.map +1 -1
  34. package/lib/base-classes/base-provider.js.map +1 -1
  35. package/lib/base-classes/base-repository.js.map +1 -1
  36. package/lib/base-classes/base-subscriber-for-entity.js.map +1 -1
  37. package/lib/base-classes/base-subscriber.d.ts +4 -0
  38. package/lib/base-classes/base-subscriber.js +25 -0
  39. package/lib/base-classes/base-subscriber.js.map +1 -0
  40. package/lib/base-classes/base.d.ts +6 -6
  41. package/lib/base-classes/base.js.map +1 -1
  42. package/lib/build-info._auto-generated_.js.map +1 -1
  43. package/lib/constants.js.map +1 -1
  44. package/lib/context-db-migrations.js.map +1 -1
  45. package/lib/create-context.js.map +1 -1
  46. package/lib/decorators/classes/controller-decorator.js.map +1 -1
  47. package/lib/decorators/classes/entity-decorator.js.map +1 -1
  48. package/lib/decorators/classes/migration-decorator.js.map +1 -1
  49. package/lib/decorators/classes/provider-decorator.js.map +1 -1
  50. package/lib/decorators/classes/repository-decorator.js.map +1 -1
  51. package/lib/decorators/classes/subscriber-decorator.js.map +1 -1
  52. package/lib/decorators/http/http-decorators.js.map +1 -1
  53. package/lib/decorators/http/http-methods-decorators.js.map +1 -1
  54. package/lib/decorators/http/http-params-decorators.js.map +1 -1
  55. package/lib/dependency-injection/di-container.js.map +1 -1
  56. package/lib/endpoint-context.js.map +1 -1
  57. package/lib/entity-process.js.map +1 -1
  58. package/lib/env.js.map +1 -1
  59. package/lib/formly/formly-group-wrapper-component.js +1 -0
  60. package/lib/formly/formly-group-wrapper-component.js.map +1 -1
  61. package/lib/formly/formly-repeat-component.js +1 -0
  62. package/lib/formly/formly-repeat-component.js.map +1 -1
  63. package/lib/formly/formly.models.js.map +1 -1
  64. package/lib/formly/fromly.js.map +1 -1
  65. package/lib/formly/type-from-entity.js.map +1 -1
  66. package/lib/get-response-value.js.map +1 -1
  67. package/lib/helpers/class-helpers.js +2 -2
  68. package/lib/helpers/class-helpers.js.map +1 -1
  69. package/lib/helpers/taon-helpers.js.map +1 -1
  70. package/lib/index._auto-generated_.js.map +1 -1
  71. package/lib/index.d.ts +6 -32
  72. package/lib/index.js.map +1 -1
  73. package/lib/inject.js.map +1 -1
  74. package/lib/models.js.map +1 -1
  75. package/lib/orm.js.map +1 -1
  76. package/lib/realtime/realtime-client.js.map +1 -1
  77. package/lib/realtime/realtime-core.js.map +1 -1
  78. package/lib/realtime/realtime-server.js.map +1 -1
  79. package/lib/realtime/realtime-strategy/index.js.map +1 -1
  80. package/lib/realtime/realtime-strategy/realtime-abstract-mock.d.ts +10 -0
  81. package/lib/realtime/realtime-strategy/realtime-abstract-mock.js +214 -0
  82. package/lib/realtime/realtime-strategy/realtime-abstract-mock.js.map +1 -0
  83. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/index.d.ts +0 -0
  84. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/index.js +5 -0
  85. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/index.js.map +1 -0
  86. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-namespace.d.ts +22 -0
  87. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-namespace.js +139 -0
  88. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-namespace.js.map +1 -0
  89. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-wrapper.d.ts +16 -0
  90. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-wrapper.js +68 -0
  91. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-wrapper.js.map +1 -0
  92. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-namespace.d.ts +10 -0
  93. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-namespace.js +56 -0
  94. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-namespace.js.map +1 -0
  95. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-wrapper.d.ts +10 -0
  96. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-wrapper.js +50 -0
  97. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-wrapper.js.map +1 -0
  98. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc.models.d.ts +13 -0
  99. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc.models.js +3 -0
  100. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc.models.js.map +1 -0
  101. package/lib/realtime/realtime-strategy/realtime-strategy-ipc.js.map +1 -1
  102. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/index.d.ts +2 -0
  103. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/index.js +6 -0
  104. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/index.js.map +1 -0
  105. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-client.d.ts +16 -0
  106. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-client.js +54 -0
  107. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-client.js.map +1 -0
  108. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-namespaces.d.ts +17 -0
  109. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-namespaces.js +52 -0
  110. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-namespaces.js.map +1 -0
  111. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-server.d.ts +11 -0
  112. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-server.js +39 -0
  113. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-server.js.map +1 -0
  114. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-socket.d.ts +13 -0
  115. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-socket.js +46 -0
  116. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-socket.js.map +1 -0
  117. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock.models.d.ts +11 -0
  118. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock.models.js +3 -0
  119. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock.models.js.map +1 -0
  120. package/lib/realtime/realtime-strategy/realtime-strategy-mock.js.map +1 -1
  121. package/lib/realtime/realtime-strategy/realtime-strategy-socket-io.js.map +1 -1
  122. package/lib/realtime/realtime-strategy/realtime-strategy.js.map +1 -1
  123. package/lib/realtime/realtime-subs-manager.js.map +1 -1
  124. package/lib/realtime/realtime.models.js.map +1 -1
  125. package/lib/storage.js.map +1 -1
  126. package/lib/symbols.js.map +1 -1
  127. package/lib/ui/directives/firedev-inject-html.directive.d.ts +6 -0
  128. package/lib/ui/directives/firedev-long-press.directive.d.ts +22 -0
  129. package/lib/ui/directives/index.js +2 -2
  130. package/lib/ui/directives/index.js.map +1 -1
  131. package/lib/ui/directives/view-mode.js.map +1 -1
  132. package/lib/ui/index.js +2 -2
  133. package/lib/ui/index.js.map +1 -1
  134. package/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.d.ts +2 -0
  135. package/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.js +5 -0
  136. package/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.js.map +1 -0
  137. package/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.d.ts +29 -0
  138. package/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.d.ts +2 -0
  139. package/lib/ui/taon-admin-mode-configuration/components/taon-db-admin/index.d.ts +1 -0
  140. package/lib/ui/taon-admin-mode-configuration/components/taon-db-admin/index.js +5 -0
  141. package/lib/ui/taon-admin-mode-configuration/components/taon-db-admin/index.js.map +1 -0
  142. package/lib/ui/taon-admin-mode-configuration/components/taon-db-admin/taon-db-admin.component.d.ts +8 -0
  143. package/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.d.ts +2 -0
  144. package/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.js +5 -0
  145. package/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.js.map +1 -0
  146. package/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.d.ts +13 -0
  147. package/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.d.ts +2 -0
  148. package/lib/ui/taon-admin-mode-configuration/index.js +2 -2
  149. package/lib/ui/taon-admin-mode-configuration/index.js.map +1 -1
  150. package/lib/ui/taon-admin-mode-configuration/models/taon-admin-mode-tabs.d.ts +5 -0
  151. package/lib/ui/taon-admin-mode-configuration/models/taon-admin-mode-tabs.js +3 -0
  152. package/lib/ui/taon-admin-mode-configuration/models/taon-admin-mode-tabs.js.map +1 -0
  153. package/lib/ui/taon-admin-mode-configuration/taon-admin-control.service.d.ts +14 -0
  154. package/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.d.ts +2 -0
  155. package/lib/ui/taon-admin-mode-configuration/taon-admin.models.js.map +1 -1
  156. package/lib/ui/taon-github-fork-me-corner/index.js +2 -2
  157. package/lib/ui/taon-github-fork-me-corner/index.js.map +1 -1
  158. package/lib/ui/taon-github-fork-me-ribbon/index.js +2 -2
  159. package/lib/ui/taon-github-fork-me-ribbon/index.js.map +1 -1
  160. package/lib/ui/taon-notifications/index.js.map +1 -1
  161. package/lib/ui/taon-notifications/taon-notifications.models.js +2 -2
  162. package/lib/ui/taon-notifications/taon-notifications.models.js.map +1 -1
  163. package/lib/ui/taon-progress-bar/index.js +2 -2
  164. package/lib/ui/taon-progress-bar/index.js.map +1 -1
  165. package/lib/ui/taon-progress-bar/taon-progress-bar.component.d.ts +1 -3
  166. package/lib/ui/taon-session-passcode/index.js +2 -2
  167. package/lib/ui/taon-session-passcode/index.js.map +1 -1
  168. package/lib/ui/taon-table/index.js +2 -2
  169. package/lib/ui/taon-table/index.js.map +1 -1
  170. package/lib/ui/taon.models.js.map +1 -1
  171. package/lib/ui/toan-full-material.module.d.ts +2 -0
  172. package/lib/validators.js.map +1 -1
  173. package/migrations/index.js.map +1 -1
  174. package/migrations/migrations_index._auto-generated_.js.map +1 -1
  175. package/old-app .js +1 -0
  176. package/old-app .js.map +1 -1
  177. package/package.json +3 -3
  178. package/playground.js.map +1 -1
  179. package/taon.jsonc +39 -39
  180. package/tmp-environment.json +3 -3
  181. package/websql/README.md +24 -24
  182. package/websql/fesm2022/taon.mjs +68 -85
  183. package/websql/fesm2022/taon.mjs.map +1 -1
  184. package/websql/lib/base-classes/base-context.d.ts +6 -6
  185. package/websql/lib/base-classes/base.d.ts +6 -6
  186. package/websql/lib/index.d.ts +6 -32
  187. package/websql/lib/ui/taon-progress-bar/taon-progress-bar.component.d.ts +1 -3
  188. package/websql/lib/ui/taon-progress-bar/taon-progress-bar.module.d.ts +1 -2
  189. package/browser/esm2022/lib/base-classes/base-abstract-entity.mjs +0 -18
  190. package/browser/esm2022/lib/base-classes/base-class.mjs +0 -17
  191. package/browser/esm2022/lib/base-classes/base-context.mjs +0 -14
  192. package/browser/esm2022/lib/base-classes/base-controller.mjs +0 -19
  193. package/browser/esm2022/lib/base-classes/base-crud-controller.mjs +0 -279
  194. package/browser/esm2022/lib/base-classes/base-entity.mjs +0 -18
  195. package/browser/esm2022/lib/base-classes/base-injector.mjs +0 -167
  196. package/browser/esm2022/lib/base-classes/base-migration.mjs +0 -23
  197. package/browser/esm2022/lib/base-classes/base-provider.mjs +0 -6
  198. package/browser/esm2022/lib/base-classes/base-repository.mjs +0 -514
  199. package/browser/esm2022/lib/base-classes/base-subscriber-for-entity.mjs +0 -156
  200. package/browser/esm2022/lib/base-classes/base.mjs +0 -26
  201. package/browser/esm2022/lib/constants.mjs +0 -4
  202. package/browser/esm2022/lib/context-db-migrations.mjs +0 -425
  203. package/browser/esm2022/lib/create-context.mjs +0 -127
  204. package/browser/esm2022/lib/decorators/classes/controller-decorator.mjs +0 -18
  205. package/browser/esm2022/lib/decorators/classes/entity-decorator.mjs +0 -30
  206. package/browser/esm2022/lib/decorators/classes/migration-decorator.mjs +0 -18
  207. package/browser/esm2022/lib/decorators/classes/provider-decorator.mjs +0 -18
  208. package/browser/esm2022/lib/decorators/classes/repository-decorator.mjs +0 -18
  209. package/browser/esm2022/lib/decorators/classes/subscriber-decorator.mjs +0 -18
  210. package/browser/esm2022/lib/decorators/http/http-decorators.mjs +0 -24
  211. package/browser/esm2022/lib/decorators/http/http-methods-decorators.mjs +0 -78
  212. package/browser/esm2022/lib/decorators/http/http-params-decorators.mjs +0 -47
  213. package/browser/esm2022/lib/dependency-injection/di-container.mjs +0 -32
  214. package/browser/esm2022/lib/endpoint-context.mjs +0 -1705
  215. package/browser/esm2022/lib/entity-process.mjs +0 -198
  216. package/browser/esm2022/lib/env.mjs +0 -6
  217. package/browser/esm2022/lib/get-response-value.mjs +0 -27
  218. package/browser/esm2022/lib/helpers/class-helpers.mjs +0 -183
  219. package/browser/esm2022/lib/helpers/taon-helpers.mjs +0 -120
  220. package/browser/esm2022/lib/index.mjs +0 -70
  221. package/browser/esm2022/lib/inject.mjs +0 -36
  222. package/browser/esm2022/lib/models.mjs +0 -106
  223. package/browser/esm2022/lib/orm.mjs +0 -6
  224. package/browser/esm2022/lib/realtime/realtime-client.mjs +0 -141
  225. package/browser/esm2022/lib/realtime/realtime-core.mjs +0 -62
  226. package/browser/esm2022/lib/realtime/realtime-server.mjs +0 -292
  227. package/browser/esm2022/lib/realtime/realtime-strategy/index.mjs +0 -7
  228. package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc.mjs +0 -218
  229. package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock.mjs +0 -224
  230. package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-socket-io.mjs +0 -29
  231. package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy.mjs +0 -14
  232. package/browser/esm2022/lib/realtime/realtime-subs-manager.mjs +0 -81
  233. package/browser/esm2022/lib/realtime/realtime.models.mjs +0 -4
  234. package/browser/esm2022/lib/storage.mjs +0 -5
  235. package/browser/esm2022/lib/symbols.mjs +0 -97
  236. package/browser/esm2022/lib/ui/directives/index.mjs +0 -6
  237. package/browser/esm2022/lib/ui/directives/safe.pipe.mjs +0 -43
  238. package/browser/esm2022/lib/ui/directives/taon-inject-html.directive.mjs +0 -24
  239. package/browser/esm2022/lib/ui/directives/taon-long-press.directive.mjs +0 -120
  240. package/browser/esm2022/lib/ui/index.mjs +0 -12
  241. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/index.mjs +0 -4
  242. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.mjs +0 -194
  243. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin.service.mjs +0 -55
  244. package/browser/esm2022/lib/ui/taon-full-material.module.mjs +0 -179
  245. package/browser/esm2022/lib/ui/taon-github-fork-me-corner/index.mjs +0 -5
  246. package/browser/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.mjs +0 -18
  247. package/browser/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.mjs +0 -21
  248. package/browser/esm2022/lib/ui/taon-notifications/index.mjs +0 -7
  249. package/browser/esm2022/lib/ui/taon-notifications/taon-notifications.component.mjs +0 -25
  250. package/browser/esm2022/lib/ui/taon-notifications/taon-notifications.models.mjs +0 -5
  251. package/browser/esm2022/lib/ui/taon-notifications/taon-notifications.module.mjs +0 -21
  252. package/browser/esm2022/lib/ui/taon-notifications/taon-notifications.service.mjs +0 -48
  253. package/browser/esm2022/lib/ui/taon-progress-bar/index.mjs +0 -5
  254. package/browser/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.component.mjs +0 -98
  255. package/browser/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.module.mjs +0 -22
  256. package/browser/esm2022/lib/ui/taon-session-passcode/index.mjs +0 -4
  257. package/browser/esm2022/lib/ui/taon-session-passcode/taon-session-passcode.component.mjs +0 -120
  258. package/browser/esm2022/lib/ui/taon-table/index.mjs +0 -5
  259. package/browser/esm2022/lib/ui/taon-table/taon-table.component.mjs +0 -160
  260. package/browser/esm2022/lib/ui/taon-table/taon-table.module.mjs +0 -57
  261. package/browser/esm2022/lib/validators.mjs +0 -76
  262. package/browser/esm2022/public-api.mjs +0 -2
  263. package/browser/esm2022/taon.mjs +0 -5
  264. package/client/esm2022/lib/base-classes/base-abstract-entity.mjs +0 -18
  265. package/client/esm2022/lib/base-classes/base-class.mjs +0 -17
  266. package/client/esm2022/lib/base-classes/base-context.mjs +0 -14
  267. package/client/esm2022/lib/base-classes/base-controller.mjs +0 -19
  268. package/client/esm2022/lib/base-classes/base-crud-controller.mjs +0 -279
  269. package/client/esm2022/lib/base-classes/base-entity.mjs +0 -18
  270. package/client/esm2022/lib/base-classes/base-injector.mjs +0 -167
  271. package/client/esm2022/lib/base-classes/base-migration.mjs +0 -23
  272. package/client/esm2022/lib/base-classes/base-provider.mjs +0 -6
  273. package/client/esm2022/lib/base-classes/base-repository.mjs +0 -514
  274. package/client/esm2022/lib/base-classes/base-subscriber-for-entity.mjs +0 -156
  275. package/client/esm2022/lib/base-classes/base.mjs +0 -26
  276. package/client/esm2022/lib/constants.mjs +0 -4
  277. package/client/esm2022/lib/context-db-migrations.mjs +0 -425
  278. package/client/esm2022/lib/create-context.mjs +0 -127
  279. package/client/esm2022/lib/decorators/classes/controller-decorator.mjs +0 -18
  280. package/client/esm2022/lib/decorators/classes/entity-decorator.mjs +0 -30
  281. package/client/esm2022/lib/decorators/classes/migration-decorator.mjs +0 -18
  282. package/client/esm2022/lib/decorators/classes/provider-decorator.mjs +0 -18
  283. package/client/esm2022/lib/decorators/classes/repository-decorator.mjs +0 -18
  284. package/client/esm2022/lib/decorators/classes/subscriber-decorator.mjs +0 -18
  285. package/client/esm2022/lib/decorators/http/http-decorators.mjs +0 -24
  286. package/client/esm2022/lib/decorators/http/http-methods-decorators.mjs +0 -78
  287. package/client/esm2022/lib/decorators/http/http-params-decorators.mjs +0 -47
  288. package/client/esm2022/lib/dependency-injection/di-container.mjs +0 -32
  289. package/client/esm2022/lib/endpoint-context.mjs +0 -1705
  290. package/client/esm2022/lib/entity-process.mjs +0 -198
  291. package/client/esm2022/lib/env.mjs +0 -6
  292. package/client/esm2022/lib/get-response-value.mjs +0 -27
  293. package/client/esm2022/lib/helpers/class-helpers.mjs +0 -183
  294. package/client/esm2022/lib/helpers/taon-helpers.mjs +0 -120
  295. package/client/esm2022/lib/index.mjs +0 -70
  296. package/client/esm2022/lib/inject.mjs +0 -36
  297. package/client/esm2022/lib/models.mjs +0 -106
  298. package/client/esm2022/lib/orm.mjs +0 -6
  299. package/client/esm2022/lib/realtime/realtime-client.mjs +0 -141
  300. package/client/esm2022/lib/realtime/realtime-core.mjs +0 -62
  301. package/client/esm2022/lib/realtime/realtime-server.mjs +0 -292
  302. package/client/esm2022/lib/realtime/realtime-strategy/index.mjs +0 -7
  303. package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc.mjs +0 -218
  304. package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock.mjs +0 -224
  305. package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-socket-io.mjs +0 -29
  306. package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy.mjs +0 -14
  307. package/client/esm2022/lib/realtime/realtime-subs-manager.mjs +0 -81
  308. package/client/esm2022/lib/realtime/realtime.models.mjs +0 -4
  309. package/client/esm2022/lib/storage.mjs +0 -5
  310. package/client/esm2022/lib/symbols.mjs +0 -97
  311. package/client/esm2022/lib/ui/directives/index.mjs +0 -6
  312. package/client/esm2022/lib/ui/directives/safe.pipe.mjs +0 -43
  313. package/client/esm2022/lib/ui/directives/taon-inject-html.directive.mjs +0 -24
  314. package/client/esm2022/lib/ui/directives/taon-long-press.directive.mjs +0 -120
  315. package/client/esm2022/lib/ui/index.mjs +0 -12
  316. package/client/esm2022/lib/ui/taon-admin-mode-configuration/index.mjs +0 -4
  317. package/client/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.mjs +0 -194
  318. package/client/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin.service.mjs +0 -55
  319. package/client/esm2022/lib/ui/taon-full-material.module.mjs +0 -179
  320. package/client/esm2022/lib/ui/taon-github-fork-me-corner/index.mjs +0 -5
  321. package/client/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.mjs +0 -18
  322. package/client/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.mjs +0 -21
  323. package/client/esm2022/lib/ui/taon-notifications/index.mjs +0 -7
  324. package/client/esm2022/lib/ui/taon-notifications/taon-notifications.component.mjs +0 -25
  325. package/client/esm2022/lib/ui/taon-notifications/taon-notifications.models.mjs +0 -5
  326. package/client/esm2022/lib/ui/taon-notifications/taon-notifications.module.mjs +0 -21
  327. package/client/esm2022/lib/ui/taon-notifications/taon-notifications.service.mjs +0 -48
  328. package/client/esm2022/lib/ui/taon-progress-bar/index.mjs +0 -5
  329. package/client/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.component.mjs +0 -98
  330. package/client/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.module.mjs +0 -22
  331. package/client/esm2022/lib/ui/taon-session-passcode/index.mjs +0 -4
  332. package/client/esm2022/lib/ui/taon-session-passcode/taon-session-passcode.component.mjs +0 -120
  333. package/client/esm2022/lib/ui/taon-table/index.mjs +0 -5
  334. package/client/esm2022/lib/ui/taon-table/taon-table.component.mjs +0 -160
  335. package/client/esm2022/lib/ui/taon-table/taon-table.module.mjs +0 -57
  336. package/client/esm2022/lib/validators.mjs +0 -76
  337. package/client/esm2022/public-api.mjs +0 -2
  338. package/client/esm2022/taon.mjs +0 -5
  339. package/websql/esm2022/lib/base-classes/base-abstract-entity.mjs +0 -25
  340. package/websql/esm2022/lib/base-classes/base-class.mjs +0 -17
  341. package/websql/esm2022/lib/base-classes/base-context.mjs +0 -14
  342. package/websql/esm2022/lib/base-classes/base-controller.mjs +0 -19
  343. package/websql/esm2022/lib/base-classes/base-crud-controller.mjs +0 -238
  344. package/websql/esm2022/lib/base-classes/base-entity.mjs +0 -16
  345. package/websql/esm2022/lib/base-classes/base-injector.mjs +0 -167
  346. package/websql/esm2022/lib/base-classes/base-migration.mjs +0 -23
  347. package/websql/esm2022/lib/base-classes/base-provider.mjs +0 -6
  348. package/websql/esm2022/lib/base-classes/base-repository.mjs +0 -431
  349. package/websql/esm2022/lib/base-classes/base-subscriber-for-entity.mjs +0 -156
  350. package/websql/esm2022/lib/base-classes/base.mjs +0 -26
  351. package/websql/esm2022/lib/constants.mjs +0 -4
  352. package/websql/esm2022/lib/context-db-migrations.mjs +0 -274
  353. package/websql/esm2022/lib/create-context.mjs +0 -126
  354. package/websql/esm2022/lib/decorators/classes/controller-decorator.mjs +0 -18
  355. package/websql/esm2022/lib/decorators/classes/entity-decorator.mjs +0 -28
  356. package/websql/esm2022/lib/decorators/classes/migration-decorator.mjs +0 -18
  357. package/websql/esm2022/lib/decorators/classes/provider-decorator.mjs +0 -18
  358. package/websql/esm2022/lib/decorators/classes/repository-decorator.mjs +0 -18
  359. package/websql/esm2022/lib/decorators/classes/subscriber-decorator.mjs +0 -18
  360. package/websql/esm2022/lib/decorators/http/http-decorators.mjs +0 -24
  361. package/websql/esm2022/lib/decorators/http/http-methods-decorators.mjs +0 -78
  362. package/websql/esm2022/lib/decorators/http/http-params-decorators.mjs +0 -47
  363. package/websql/esm2022/lib/dependency-injection/di-container.mjs +0 -32
  364. package/websql/esm2022/lib/endpoint-context.mjs +0 -1586
  365. package/websql/esm2022/lib/entity-process.mjs +0 -198
  366. package/websql/esm2022/lib/env.mjs +0 -6
  367. package/websql/esm2022/lib/get-response-value.mjs +0 -25
  368. package/websql/esm2022/lib/helpers/class-helpers.mjs +0 -183
  369. package/websql/esm2022/lib/helpers/taon-helpers.mjs +0 -120
  370. package/websql/esm2022/lib/index.mjs +0 -72
  371. package/websql/esm2022/lib/inject.mjs +0 -36
  372. package/websql/esm2022/lib/models.mjs +0 -97
  373. package/websql/esm2022/lib/orm.mjs +0 -65
  374. package/websql/esm2022/lib/realtime/realtime-client.mjs +0 -141
  375. package/websql/esm2022/lib/realtime/realtime-core.mjs +0 -62
  376. package/websql/esm2022/lib/realtime/realtime-server.mjs +0 -176
  377. package/websql/esm2022/lib/realtime/realtime-strategy/index.mjs +0 -7
  378. package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc.mjs +0 -218
  379. package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock.mjs +0 -224
  380. package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-socket-io.mjs +0 -29
  381. package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy.mjs +0 -14
  382. package/websql/esm2022/lib/realtime/realtime-subs-manager.mjs +0 -81
  383. package/websql/esm2022/lib/realtime/realtime.models.mjs +0 -4
  384. package/websql/esm2022/lib/storage.mjs +0 -5
  385. package/websql/esm2022/lib/symbols.mjs +0 -97
  386. package/websql/esm2022/lib/ui/directives/index.mjs +0 -6
  387. package/websql/esm2022/lib/ui/directives/safe.pipe.mjs +0 -43
  388. package/websql/esm2022/lib/ui/directives/taon-inject-html.directive.mjs +0 -24
  389. package/websql/esm2022/lib/ui/directives/taon-long-press.directive.mjs +0 -120
  390. package/websql/esm2022/lib/ui/index.mjs +0 -12
  391. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/index.mjs +0 -4
  392. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.mjs +0 -194
  393. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin.service.mjs +0 -55
  394. package/websql/esm2022/lib/ui/taon-full-material.module.mjs +0 -179
  395. package/websql/esm2022/lib/ui/taon-github-fork-me-corner/index.mjs +0 -5
  396. package/websql/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.mjs +0 -18
  397. package/websql/esm2022/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.mjs +0 -21
  398. package/websql/esm2022/lib/ui/taon-notifications/index.mjs +0 -7
  399. package/websql/esm2022/lib/ui/taon-notifications/taon-notifications.component.mjs +0 -25
  400. package/websql/esm2022/lib/ui/taon-notifications/taon-notifications.models.mjs +0 -5
  401. package/websql/esm2022/lib/ui/taon-notifications/taon-notifications.module.mjs +0 -21
  402. package/websql/esm2022/lib/ui/taon-notifications/taon-notifications.service.mjs +0 -48
  403. package/websql/esm2022/lib/ui/taon-progress-bar/index.mjs +0 -5
  404. package/websql/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.component.mjs +0 -50
  405. package/websql/esm2022/lib/ui/taon-progress-bar/taon-progress-bar.module.mjs +0 -22
  406. package/websql/esm2022/lib/ui/taon-session-passcode/index.mjs +0 -4
  407. package/websql/esm2022/lib/ui/taon-session-passcode/taon-session-passcode.component.mjs +0 -120
  408. package/websql/esm2022/lib/ui/taon-table/index.mjs +0 -5
  409. package/websql/esm2022/lib/ui/taon-table/taon-table.component.mjs +0 -160
  410. package/websql/esm2022/lib/ui/taon-table/taon-table.module.mjs +0 -57
  411. package/websql/esm2022/lib/validators.mjs +0 -76
  412. package/websql/esm2022/public-api.mjs +0 -2
  413. package/websql/esm2022/taon.mjs +0 -5
@@ -1,72 +0,0 @@
1
- import 'reflect-metadata'; // TODO this is needed for my decorators to work
2
- import * as http from './decorators/http/http-decorators';
3
- import * as base from './base-classes/base';
4
- import * as controllerDecorator from './decorators/classes/controller-decorator';
5
- import * as entityDecorator from './decorators/classes/entity-decorator';
6
- import * as providerDecorator from './decorators/classes/provider-decorator';
7
- import * as repositoryDecorator from './decorators/classes/repository-decorator';
8
- import * as subscriberDecorator from './decorators/classes/subscriber-decorator';
9
- import * as migrationDecorator from './decorators/classes/migration-decorator';
10
- import * as createContextFn from './create-context';
11
- import * as orm from './orm';
12
- import * as coreHelpers from 'tnp-core/websql';
13
- import * as injectFn from './inject';
14
- import * as endpointContext from './endpoint-context';
15
- import * as allSymbols from './symbols';
16
- import * as getResponse from './get-response-value';
17
- export * from './ui';
18
- export { BaseRepository } from './base-classes/base-repository';
19
- export { BaseController } from './base-classes/base-controller';
20
- export { BaseProvider } from './base-classes/base-provider';
21
- export { BaseEntity } from './base-classes/base-entity';
22
- export { BaseContext } from './base-classes/base-context';
23
- export { BaseMigration } from './base-classes/base-migration';
24
- export { createContext } from './create-context';
25
- export { inject } from './inject';
26
- export { Models } from './models';
27
- export * from './constants';
28
- export { ClassHelpers } from './helpers/class-helpers';
29
- export var Taon;
30
- (function (Taon) {
31
- Taon.Http = http.Http;
32
- Taon.Base = base.Base;
33
- Taon.Orm = orm.Orm;
34
- Taon.getResponseValue = getResponse.getResponseValue;
35
- Taon.Controller = controllerDecorator.TaonController;
36
- Taon.Entity = entityDecorator.TaonEntity;
37
- Taon.Provider = providerDecorator.TaonProvider;
38
- Taon.Repository = repositoryDecorator.TaonRepository;
39
- Taon.Subscriber = subscriberDecorator.TaonSubscriber;
40
- Taon.Migration = migrationDecorator.TaonMigration;
41
- Taon.isBrowser = coreHelpers.Helpers.isBrowser;
42
- Taon.isNode = coreHelpers.Helpers.isNode;
43
- Taon.isWebSQL = coreHelpers.Helpers.isWebSQL;
44
- Taon.isElectron = coreHelpers.Helpers.isElectron;
45
- Taon.createContext = createContextFn.createContext;
46
- Taon.inject = injectFn.inject;
47
- Taon.initNgZone = (ngZone) => {
48
- endpointContext.EndpointContext.initNgZone(ngZone);
49
- };
50
- Taon.symbols = allSymbols.Symbols;
51
- /**
52
- * @deprecated
53
- * use createContext instead
54
- */
55
- Taon.init = async (options) => {
56
- const BaseContext = (await import('./base-classes/base-context'))
57
- .BaseContext;
58
- const context = Taon.createContext(() => ({
59
- contextName: 'default',
60
- host: options.host,
61
- contexts: { BaseContext },
62
- database: true,
63
- entities: Array.from(options.entities),
64
- controllers: Array.from(options.controllers),
65
- }));
66
- await context.initialize();
67
- return context;
68
- };
69
- })(Taon || (Taon = {}));
70
- ;
71
- ({}); // @--end-of-file-for-module=taon lib/index.ts
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdGFvbi9wcm9qZWN0cy90YW9uL3NyYy9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxrQkFBa0IsQ0FBQyxDQUFDLGdEQUFnRDtBQUMzRSxPQUFPLEtBQUssSUFBSSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFELE9BQU8sS0FBSyxJQUFJLE1BQU0scUJBQXFCLENBQUM7QUFDNUMsT0FBTyxLQUFLLG1CQUFtQixNQUFNLDJDQUEyQyxDQUFDO0FBQ2pGLE9BQU8sS0FBSyxlQUFlLE1BQU0sdUNBQXVDLENBQUM7QUFDekUsT0FBTyxLQUFLLGlCQUFpQixNQUFNLHlDQUF5QyxDQUFDO0FBQzdFLE9BQU8sS0FBSyxtQkFBbUIsTUFBTSwyQ0FBMkMsQ0FBQztBQUNqRixPQUFPLEtBQUssbUJBQW1CLE1BQU0sMkNBQTJDLENBQUM7QUFDakYsT0FBTyxLQUFLLGtCQUFrQixNQUFNLDBDQUEwQyxDQUFDO0FBQy9FLE9BQU8sS0FBSyxlQUFlLE1BQU0sa0JBQWtCLENBQUM7QUFDcEQsT0FBTyxLQUFLLEdBQUcsTUFBTSxPQUFPLENBQUM7QUFFN0IsT0FBTyxLQUFLLFdBQVcsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEtBQUssUUFBUSxNQUFNLFVBQVUsQ0FBQztBQUNyQyxPQUFPLEtBQUssZUFBZSxNQUFNLG9CQUFvQixDQUFDO0FBQ3RELE9BQU8sS0FBSyxVQUFVLE1BQU0sV0FBVyxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxXQUFXLE1BQU0sc0JBQXNCLENBQUM7QUFHcEQsY0FBYyxNQUFNLENBQUM7QUFHckIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDbEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNsQyxjQUFjLGFBQWEsQ0FBQztBQUM1QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHdkQsTUFBTSxLQUFXLElBQUksQ0F5RHBCO0FBekRELFdBQWlCLElBQUk7SUFFTCxTQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztJQUNqQixTQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztJQUNqQixRQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQztJQUVmLHFCQUFnQixHQUFHLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQztJQUcvQyxlQUFVLEdBQUcsbUJBQW1CLENBQUMsY0FBYyxDQUFDO0lBQ2hELFdBQU0sR0FBRyxlQUFlLENBQUMsVUFBVSxDQUFDO0lBQ3BDLGFBQVEsR0FBRyxpQkFBaUIsQ0FBQyxZQUFZLENBQUM7SUFDMUMsZUFBVSxHQUFHLG1CQUFtQixDQUFDLGNBQWMsQ0FBQztJQUNoRCxlQUFVLEdBQUcsbUJBQW1CLENBQUMsY0FBYyxDQUFDO0lBQ2hELGNBQVMsR0FBRyxrQkFBa0IsQ0FBQyxhQUFhLENBQUM7SUFHOUMsY0FBUyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO0lBQzFDLFdBQU0sR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztJQUNwQyxhQUFRLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7SUFDeEMsZUFBVSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO0lBRTVDLGtCQUFhLEdBQUcsZUFBZSxDQUFDLGFBQWEsQ0FBQztJQUU5QyxXQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUd6QixlQUFVLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRTtRQUMzQyxlQUFlLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyRCxDQUFDLENBQUM7SUFHVyxZQUFPLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQztJQUUxQzs7O09BR0c7SUFDVSxTQUFJLEdBQUcsS0FBSyxFQUFFLE9BSTFCLEVBQUUsRUFBRTtRQUNILE1BQU0sV0FBVyxHQUFHLENBQUMsTUFBTSxNQUFNLENBQUMsNkJBQTZCLENBQUMsQ0FBQzthQUM5RCxXQUFXLENBQUM7UUFDZixNQUFNLE9BQU8sR0FBRyxLQUFBLGFBQWEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ25DLFdBQVcsRUFBRSxTQUFTO1lBQ3RCLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtZQUNsQixRQUFRLEVBQUUsRUFBRSxXQUFXLEVBQUU7WUFDekIsUUFBUSxFQUFFLElBQUk7WUFDZCxRQUFRLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFRO1lBQzdDLFdBQVcsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQVE7U0FDcEQsQ0FBQyxDQUFDLENBQUM7UUFFSixNQUFNLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMzQixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDLENBQUM7QUFDSixDQUFDLEVBekRnQixJQUFJLEtBQUosSUFBSSxRQXlEcEI7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDhDQUE4QyIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgJ3JlZmxlY3QtbWV0YWRhdGEnOyAvLyBUT0RPIHRoaXMgaXMgbmVlZGVkIGZvciBteSBkZWNvcmF0b3JzIHRvIHdvcmtcbmltcG9ydCAqIGFzIGh0dHAgZnJvbSAnLi9kZWNvcmF0b3JzL2h0dHAvaHR0cC1kZWNvcmF0b3JzJztcbmltcG9ydCAqIGFzIGJhc2UgZnJvbSAnLi9iYXNlLWNsYXNzZXMvYmFzZSc7XG5pbXBvcnQgKiBhcyBjb250cm9sbGVyRGVjb3JhdG9yIGZyb20gJy4vZGVjb3JhdG9ycy9jbGFzc2VzL2NvbnRyb2xsZXItZGVjb3JhdG9yJztcbmltcG9ydCAqIGFzIGVudGl0eURlY29yYXRvciBmcm9tICcuL2RlY29yYXRvcnMvY2xhc3Nlcy9lbnRpdHktZGVjb3JhdG9yJztcbmltcG9ydCAqIGFzIHByb3ZpZGVyRGVjb3JhdG9yIGZyb20gJy4vZGVjb3JhdG9ycy9jbGFzc2VzL3Byb3ZpZGVyLWRlY29yYXRvcic7XG5pbXBvcnQgKiBhcyByZXBvc2l0b3J5RGVjb3JhdG9yIGZyb20gJy4vZGVjb3JhdG9ycy9jbGFzc2VzL3JlcG9zaXRvcnktZGVjb3JhdG9yJztcbmltcG9ydCAqIGFzIHN1YnNjcmliZXJEZWNvcmF0b3IgZnJvbSAnLi9kZWNvcmF0b3JzL2NsYXNzZXMvc3Vic2NyaWJlci1kZWNvcmF0b3InO1xuaW1wb3J0ICogYXMgbWlncmF0aW9uRGVjb3JhdG9yIGZyb20gJy4vZGVjb3JhdG9ycy9jbGFzc2VzL21pZ3JhdGlvbi1kZWNvcmF0b3InO1xuaW1wb3J0ICogYXMgY3JlYXRlQ29udGV4dEZuIGZyb20gJy4vY3JlYXRlLWNvbnRleHQnO1xuaW1wb3J0ICogYXMgb3JtIGZyb20gJy4vb3JtJztcbmltcG9ydCAqIGFzIG1vZGVscyBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgKiBhcyBjb3JlSGVscGVycyBmcm9tICd0bnAtY29yZS93ZWJzcWwnO1xuaW1wb3J0ICogYXMgaW5qZWN0Rm4gZnJvbSAnLi9pbmplY3QnO1xuaW1wb3J0ICogYXMgZW5kcG9pbnRDb250ZXh0IGZyb20gJy4vZW5kcG9pbnQtY29udGV4dCc7XG5pbXBvcnQgKiBhcyBhbGxTeW1ib2xzIGZyb20gJy4vc3ltYm9scyc7XG5pbXBvcnQgKiBhcyBnZXRSZXNwb25zZSBmcm9tICcuL2dldC1yZXNwb25zZS12YWx1ZSc7XG5cbmltcG9ydCB7IE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuZXhwb3J0ICogZnJvbSAnLi91aSc7XG5cblxuZXhwb3J0IHsgQmFzZVJlcG9zaXRvcnkgfSBmcm9tICcuL2Jhc2UtY2xhc3Nlcy9iYXNlLXJlcG9zaXRvcnknO1xuZXhwb3J0IHsgQmFzZUNvbnRyb2xsZXIgfSBmcm9tICcuL2Jhc2UtY2xhc3Nlcy9iYXNlLWNvbnRyb2xsZXInO1xuZXhwb3J0IHsgQmFzZVByb3ZpZGVyIH0gZnJvbSAnLi9iYXNlLWNsYXNzZXMvYmFzZS1wcm92aWRlcic7XG5leHBvcnQgeyBCYXNlRW50aXR5IH0gZnJvbSAnLi9iYXNlLWNsYXNzZXMvYmFzZS1lbnRpdHknO1xuZXhwb3J0IHsgQmFzZUNvbnRleHQgfSBmcm9tICcuL2Jhc2UtY2xhc3Nlcy9iYXNlLWNvbnRleHQnO1xuZXhwb3J0IHsgQmFzZU1pZ3JhdGlvbiB9IGZyb20gJy4vYmFzZS1jbGFzc2VzL2Jhc2UtbWlncmF0aW9uJztcbmV4cG9ydCB7IGNyZWF0ZUNvbnRleHQgfSBmcm9tICcuL2NyZWF0ZS1jb250ZXh0JztcbmV4cG9ydCB7IGluamVjdCB9IGZyb20gJy4vaW5qZWN0JztcbmV4cG9ydCB7IE1vZGVscyB9IGZyb20gJy4vbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vY29uc3RhbnRzJztcbmV4cG9ydCB7IENsYXNzSGVscGVycyB9IGZyb20gJy4vaGVscGVycy9jbGFzcy1oZWxwZXJzJztcblxuXG5leHBvcnQgbmFtZXNwYWNlIFRhb24ge1xuICBleHBvcnQgaW1wb3J0IFJlc3BvbnNlID0gbW9kZWxzLk1vZGVscy5IdHRwLlJlc3BvbnNlO1xuICBleHBvcnQgaW1wb3J0IEh0dHAgPSBodHRwLkh0dHA7XG4gIGV4cG9ydCBpbXBvcnQgQmFzZSA9IGJhc2UuQmFzZTtcbiAgZXhwb3J0IGltcG9ydCBPcm0gPSBvcm0uT3JtO1xuICBleHBvcnQgaW1wb3J0IFN0YXJ0UGFyYW1zID0gbW9kZWxzLk1vZGVscy5TdGFydFBhcmFtcztcbiAgZXhwb3J0IGNvbnN0IGdldFJlc3BvbnNlVmFsdWUgPSBnZXRSZXNwb25zZS5nZXRSZXNwb25zZVZhbHVlO1xuXG5cbiAgZXhwb3J0IGltcG9ydCBDb250cm9sbGVyID0gY29udHJvbGxlckRlY29yYXRvci5UYW9uQ29udHJvbGxlcjtcbiAgZXhwb3J0IGltcG9ydCBFbnRpdHkgPSBlbnRpdHlEZWNvcmF0b3IuVGFvbkVudGl0eTtcbiAgZXhwb3J0IGltcG9ydCBQcm92aWRlciA9IHByb3ZpZGVyRGVjb3JhdG9yLlRhb25Qcm92aWRlcjtcbiAgZXhwb3J0IGltcG9ydCBSZXBvc2l0b3J5ID0gcmVwb3NpdG9yeURlY29yYXRvci5UYW9uUmVwb3NpdG9yeTtcbiAgZXhwb3J0IGltcG9ydCBTdWJzY3JpYmVyID0gc3Vic2NyaWJlckRlY29yYXRvci5UYW9uU3Vic2NyaWJlcjtcbiAgZXhwb3J0IGltcG9ydCBNaWdyYXRpb24gPSBtaWdyYXRpb25EZWNvcmF0b3IuVGFvbk1pZ3JhdGlvbjtcblxuXG4gIGV4cG9ydCBjb25zdCBpc0Jyb3dzZXIgPSBjb3JlSGVscGVycy5IZWxwZXJzLmlzQnJvd3NlcjtcbiAgZXhwb3J0IGNvbnN0IGlzTm9kZSA9IGNvcmVIZWxwZXJzLkhlbHBlcnMuaXNOb2RlO1xuICBleHBvcnQgY29uc3QgaXNXZWJTUUwgPSBjb3JlSGVscGVycy5IZWxwZXJzLmlzV2ViU1FMO1xuICBleHBvcnQgY29uc3QgaXNFbGVjdHJvbiA9IGNvcmVIZWxwZXJzLkhlbHBlcnMuaXNFbGVjdHJvbjtcblxuICBleHBvcnQgY29uc3QgY3JlYXRlQ29udGV4dCA9IGNyZWF0ZUNvbnRleHRGbi5jcmVhdGVDb250ZXh0O1xuXG4gIGV4cG9ydCBjb25zdCBpbmplY3QgPSBpbmplY3RGbi5pbmplY3Q7XG5cblxuICBleHBvcnQgY29uc3QgaW5pdE5nWm9uZSA9IChuZ1pvbmU6IE5nWm9uZSkgPT4ge1xuICAgIGVuZHBvaW50Q29udGV4dC5FbmRwb2ludENvbnRleHQuaW5pdE5nWm9uZShuZ1pvbmUpO1xuICB9O1xuXG5cbiAgZXhwb3J0IGNvbnN0IHN5bWJvbHMgPSBhbGxTeW1ib2xzLlN5bWJvbHM7XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqIHVzZSBjcmVhdGVDb250ZXh0IGluc3RlYWRcbiAgICovXG4gIGV4cG9ydCBjb25zdCBpbml0ID0gYXN5bmMgKG9wdGlvbnM6IHtcbiAgICBob3N0OiBzdHJpbmc7XG4gICAgZW50aXRpZXM6IEZ1bmN0aW9uW107XG4gICAgY29udHJvbGxlcnM6IEZ1bmN0aW9uW107XG4gIH0pID0+IHtcbiAgICBjb25zdCBCYXNlQ29udGV4dCA9IChhd2FpdCBpbXBvcnQoJy4vYmFzZS1jbGFzc2VzL2Jhc2UtY29udGV4dCcpKVxuICAgICAgLkJhc2VDb250ZXh0O1xuICAgIGNvbnN0IGNvbnRleHQgPSBjcmVhdGVDb250ZXh0KCgpID0+ICh7XG4gICAgICBjb250ZXh0TmFtZTogJ2RlZmF1bHQnLFxuICAgICAgaG9zdDogb3B0aW9ucy5ob3N0LFxuICAgICAgY29udGV4dHM6IHsgQmFzZUNvbnRleHQgfSxcbiAgICAgIGRhdGFiYXNlOiB0cnVlLFxuICAgICAgZW50aXRpZXM6IEFycmF5LmZyb20ob3B0aW9ucy5lbnRpdGllcykgYXMgYW55LFxuICAgICAgY29udHJvbGxlcnM6IEFycmF5LmZyb20ob3B0aW9ucy5jb250cm9sbGVycykgYXMgYW55LFxuICAgIH0pKTtcblxuICAgIGF3YWl0IGNvbnRleHQuaW5pdGlhbGl6ZSgpO1xuICAgIHJldHVybiBjb250ZXh0O1xuICB9O1xufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dGFvbiBsaWIvaW5kZXgudHMiXX0=
@@ -1,36 +0,0 @@
1
- import { inject as angularInject } from '@angular/core';
2
- import { Symbols } from './symbols';
3
- export const inject = (entity) => {
4
- return new Proxy({}, {
5
- get: (_, propName) => {
6
- if (propName === 'hasOwnProperty') {
7
- return () => false;
8
- }
9
- const ctor = entity();
10
- const contextFromClass = ctor[Symbols.ctxInClassOrClassObj];
11
- const resultContext = contextFromClass;
12
- if (resultContext) {
13
- let instance = resultContext.inject(ctor);
14
- if (propName === 'getOriginalPrototype') {
15
- return () => Object.getPrototypeOf(instance);
16
- }
17
- if (propName === 'getOriginalConstructor') {
18
- return () => instance.constructor;
19
- }
20
- const methods = ctor[Symbols.classMethodsNames] || [];
21
- const isMethods = methods.includes(propName);
22
- const methodOrProperty = isMethods
23
- ? instance[propName].bind(instance)
24
- : instance[propName];
25
- return methodOrProperty;
26
- }
27
- return angularInject(ctor)[propName];
28
- },
29
- });
30
- };
31
- /**
32
- * TODO
33
- */
34
- ;
35
- ({}); // @--end-of-file-for-module=taon lib/inject.ts
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3Rhb24vcHJvamVjdHMvdGFvbi9zcmMvbGliL2luamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsTUFBTSxJQUFJLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBSXBDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxDQUFJLE1BQXVDLEVBQUssRUFBRTtJQUN0RSxPQUFPLElBQUksS0FBSyxDQUNkLEVBQUUsRUFDRjtRQUNFLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRTtZQUNuQixJQUFJLFFBQVEsS0FBSyxnQkFBZ0IsRUFBRSxDQUFDO2dCQUNsQyxPQUFPLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNyQixDQUFDO1lBRUQsTUFBTSxJQUFJLEdBQUcsTUFBTSxFQUFFLENBQUM7WUFDdEIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQzNCLE9BQU8sQ0FBQyxvQkFBb0IsQ0FDVixDQUFDO1lBQ3JCLE1BQU0sYUFBYSxHQUFHLGdCQUFnQixDQUFDO1lBQ3ZDLElBQUksYUFBYSxFQUFFLENBQUM7Z0JBQ2xCLElBQUksUUFBUSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFpQixDQUFDO2dCQUcxRCxJQUFJLFFBQVEsS0FBSyxzQkFBc0IsRUFBRSxDQUFDO29CQUN4QyxPQUFPLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQy9DLENBQUM7Z0JBQ0QsSUFBSSxRQUFRLEtBQUssd0JBQXdCLEVBQUUsQ0FBQztvQkFDMUMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO2dCQUNwQyxDQUFDO2dCQUVELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3RELE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBRTdDLE1BQU0sZ0JBQWdCLEdBQUcsU0FBUztvQkFDaEMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO29CQUNuQyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQU12QixPQUFPLGdCQUFnQixDQUFDO1lBQzFCLENBQUM7WUFHRCxPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUV2QyxDQUFDO0tBQ0YsQ0FDRyxDQUFDO0FBQ1QsQ0FBQyxDQUFDO0FBU0Y7O0dBRUc7QUF1REYsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQywrQ0FBK0MiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuXG5pbXBvcnQgeyBpbmplY3QgYXMgYW5ndWxhckluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTeW1ib2xzIH0gZnJvbSAnLi9zeW1ib2xzJztcbmltcG9ydCB0eXBlIHsgRW5kcG9pbnRDb250ZXh0IH0gZnJvbSAnLi9lbmRwb2ludC1jb250ZXh0JztcbmltcG9ydCB0eXBlIHsgQmFzZUluamVjdG9yIH0gZnJvbSAnLi9iYXNlLWNsYXNzZXMvYmFzZS1pbmplY3Rvcic7XG5cbmV4cG9ydCBjb25zdCBpbmplY3QgPSA8VD4oZW50aXR5OiAoKSA9PiBuZXcgKC4uLmFyZ3M6IGFueVtdKSA9PiBUKTogVCA9PiB7XG4gIHJldHVybiBuZXcgUHJveHkoXG4gICAge30sXG4gICAge1xuICAgICAgZ2V0OiAoXywgcHJvcE5hbWUpID0+IHtcbiAgICAgICAgaWYgKHByb3BOYW1lID09PSAnaGFzT3duUHJvcGVydHknKSB7XG4gICAgICAgICAgcmV0dXJuICgpID0+IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY3RvciA9IGVudGl0eSgpO1xuICAgICAgICBjb25zdCBjb250ZXh0RnJvbUNsYXNzID0gY3RvcltcbiAgICAgICAgICBTeW1ib2xzLmN0eEluQ2xhc3NPckNsYXNzT2JqXG4gICAgICAgIF0gYXMgRW5kcG9pbnRDb250ZXh0O1xuICAgICAgICBjb25zdCByZXN1bHRDb250ZXh0ID0gY29udGV4dEZyb21DbGFzcztcbiAgICAgICAgaWYgKHJlc3VsdENvbnRleHQpIHtcbiAgICAgICAgICBsZXQgaW5zdGFuY2UgPSByZXN1bHRDb250ZXh0LmluamVjdChjdG9yKSBhcyBCYXNlSW5qZWN0b3I7XG5cblxuICAgICAgICAgIGlmIChwcm9wTmFtZSA9PT0gJ2dldE9yaWdpbmFsUHJvdG90eXBlJykge1xuICAgICAgICAgICAgcmV0dXJuICgpID0+IE9iamVjdC5nZXRQcm90b3R5cGVPZihpbnN0YW5jZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChwcm9wTmFtZSA9PT0gJ2dldE9yaWdpbmFsQ29uc3RydWN0b3InKSB7XG4gICAgICAgICAgICByZXR1cm4gKCkgPT4gaW5zdGFuY2UuY29uc3RydWN0b3I7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgbWV0aG9kcyA9IGN0b3JbU3ltYm9scy5jbGFzc01ldGhvZHNOYW1lc10gfHwgW107XG4gICAgICAgICAgY29uc3QgaXNNZXRob2RzID0gbWV0aG9kcy5pbmNsdWRlcyhwcm9wTmFtZSk7XG5cbiAgICAgICAgICBjb25zdCBtZXRob2RPclByb3BlcnR5ID0gaXNNZXRob2RzXG4gICAgICAgICAgICA/IGluc3RhbmNlW3Byb3BOYW1lXS5iaW5kKGluc3RhbmNlKVxuICAgICAgICAgICAgOiBpbnN0YW5jZVtwcm9wTmFtZV07XG5cblxuXG5cblxuICAgICAgICAgIHJldHVybiBtZXRob2RPclByb3BlcnR5O1xuICAgICAgICB9XG5cblxuICAgICAgICByZXR1cm4gYW5ndWxhckluamVjdChjdG9yKVtwcm9wTmFtZV07XG5cbiAgICAgIH0sXG4gICAgfSxcbiAgKSBhcyBUO1xufTtcblxuXG5cblxuXG5cblxuXG4vKipcbiAqIFRPRE9cbiAqL1xuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRhb24gbGliL2luamVjdC50cyJdfQ==
@@ -1,97 +0,0 @@
1
- /* */
2
- /* */
3
- import { _ } from 'tnp-core/websql';
4
- import { Models as ModelsNg2Rest } from 'ng2-rest/websql';
5
- import { ClassHelpers } from './helpers/class-helpers';
6
- export var Models;
7
- (function (Models) {
8
- let ClassType;
9
- (function (ClassType) {
10
- ClassType["ENTITY"] = "ENTITY";
11
- ClassType["CONTROLLER"] = "CONTROLLER";
12
- ClassType["REPOSITORY"] = "REPOSITORY";
13
- ClassType["PROVIDER"] = "PROVIDER";
14
- ClassType["SUBSCRIBER"] = "SUBSCRIBER";
15
- ClassType["MIGRATION"] = "MIGRATION";
16
- })(ClassType = Models.ClassType || (Models.ClassType = {}));
17
- Models.ClassTypeKey = {
18
- [ClassType.ENTITY]: 'entities',
19
- [ClassType.CONTROLLER]: 'controllers',
20
- [ClassType.REPOSITORY]: 'repositories',
21
- [ClassType.PROVIDER]: 'providers',
22
- [ClassType.SUBSCRIBER]: 'subscribers',
23
- [ClassType.MIGRATION]: 'migrations',
24
- };
25
- class DatabaseConfigTypeOrm {
26
- }
27
- Models.DatabaseConfigTypeOrm = DatabaseConfigTypeOrm;
28
- class DatabaseConfig extends DatabaseConfigTypeOrm {
29
- static from(databasePartialConfig) {
30
- return _.merge(new DatabaseConfig(), databasePartialConfig);
31
- }
32
- get databaseConfigTypeORM() {
33
- const result = _.cloneDeep(this);
34
- if (result.recreateMode) {
35
- if (result.recreateMode === 'DROP_DB+MIGRATIONS') {
36
- result.synchronize = true;
37
- result.dropSchema = true;
38
- }
39
- else if (result.recreateMode === 'PRESERVE_DATA+MIGRATIONS') {
40
- result.synchronize = false;
41
- result.dropSchema = false;
42
- }
43
- }
44
- delete result.recreateMode;
45
- return result;
46
- }
47
- }
48
- Models.DatabaseConfig = DatabaseConfig;
49
- class DecoratorAbstractOpt {
50
- }
51
- Models.DecoratorAbstractOpt = DecoratorAbstractOpt;
52
- class ParamConfig {
53
- }
54
- Models.ParamConfig = ParamConfig;
55
- class MethodConfig {
56
- constructor() {
57
- this.parameters = {};
58
- }
59
- }
60
- Models.MethodConfig = MethodConfig;
61
- class ControllerConfig extends DecoratorAbstractOpt {
62
- constructor() {
63
- super(...arguments);
64
- this.methods = {};
65
- }
66
- }
67
- Models.ControllerConfig = ControllerConfig;
68
- class RuntimeControllerConfig extends ControllerConfig {
69
- }
70
- Models.RuntimeControllerConfig = RuntimeControllerConfig;
71
- let Http;
72
- (function (Http) {
73
- Http.Rest = ModelsNg2Rest;
74
- class Errors {
75
- constructor(message, code = 400) {
76
- this.message = message;
77
- this.code = code;
78
- this.toString = () => {
79
- return this.message;
80
- };
81
- }
82
- static create(message, code = 400) {
83
- return new Errors(message, code);
84
- }
85
- static entityNotFound(entity) {
86
- return Errors.create(`Entity ${ClassHelpers.getName(entity)} not found`);
87
- }
88
- static custom(message, code = 400) {
89
- return Errors.create(message, code);
90
- }
91
- }
92
- Http.Errors = Errors;
93
- })(Http = Models.Http || (Models.Http = {}));
94
- })(Models || (Models = {}));
95
- ;
96
- ({}); // @--end-of-file-for-module=taon lib/models.ts
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3Rhb24vcHJvamVjdHMvdGFvbi9zcmMvbGliL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxLQUFLO0FBQ0wsS0FBSztBQUVMLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwQyxPQUFPLEVBQUUsTUFBTSxJQUFJLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUl2RCxNQUFNLEtBQVcsTUFBTSxDQTJWdEI7QUEzVkQsV0FBaUIsTUFBTTtJQVNyQixJQUFZLFNBT1g7SUFQRCxXQUFZLFNBQVM7UUFDbkIsOEJBQWlCLENBQUE7UUFDakIsc0NBQXlCLENBQUE7UUFDekIsc0NBQXlCLENBQUE7UUFDekIsa0NBQXFCLENBQUE7UUFDckIsc0NBQXlCLENBQUE7UUFDekIsb0NBQXVCLENBQUE7SUFDekIsQ0FBQyxFQVBXLFNBQVMsR0FBVCxnQkFBUyxLQUFULGdCQUFTLFFBT3BCO0lBRVksbUJBQVksR0FBRztRQUMxQixDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxVQUFVO1FBQzlCLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFLGFBQWE7UUFDckMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUUsY0FBYztRQUN0QyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxXQUFXO1FBQ2pDLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFLGFBQWE7UUFDckMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUUsWUFBWTtLQUdwQyxDQUFDO0lBMEJGLE1BQWEscUJBQXFCO0tBMEJqQztJQTFCWSw0QkFBcUIsd0JBMEJqQyxDQUFBO0lBSUQsTUFBYSxjQUFlLFNBQVEscUJBQXFCO1FBU3ZELE1BQU0sQ0FBQyxJQUFJLENBQ1QscUJBS0M7WUFFRCxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxjQUFjLEVBQUUsRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO1FBQzlELENBQUM7UUFFRCxJQUFJLHFCQUFxQjtZQUV2QixNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBbUIsQ0FBQztZQUNuRCxJQUFJLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxNQUFNLENBQUMsWUFBWSxLQUFLLG9CQUFvQixFQUFFLENBQUM7b0JBQ2pELE1BQU0sQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO29CQUMxQixNQUFNLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztnQkFDM0IsQ0FBQztxQkFBTSxJQUFJLE1BQU0sQ0FBQyxZQUFZLEtBQUssMEJBQTBCLEVBQUUsQ0FBQztvQkFDOUQsTUFBTSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7b0JBQzNCLE1BQU0sQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO2dCQUM1QixDQUFDO1lBQ0gsQ0FBQztZQUNELE9BQU8sTUFBTSxDQUFDLFlBQVksQ0FBQztZQUUzQixPQUFPLE1BQWEsQ0FBQztRQUV2QixDQUFDO0tBQ0Y7SUFyQ1kscUJBQWMsaUJBcUMxQixDQUFBO0lBaUZELE1BQWEsb0JBQW9CO0tBRWhDO0lBRlksMkJBQW9CLHVCQUVoQyxDQUFBO0lBSUQsTUFBYSxXQUFXO0tBTXZCO0lBTlksa0JBQVcsY0FNdkIsQ0FBQTtJQUlELE1BQWEsWUFBWTtRQUF6QjtZQW9CRSxlQUFVLEdBQXlDLEVBQUUsQ0FBQztRQUN4RCxDQUFDO0tBQUE7SUFyQlksbUJBQVksZUFxQnhCLENBQUE7SUFJRCxNQUFhLGdCQUFpQixTQUFRLG9CQUFvQjtRQUExRDs7WUFJRSxZQUFPLEdBQTJDLEVBQUUsQ0FBQztRQUN2RCxDQUFDO0tBQUE7SUFMWSx1QkFBZ0IsbUJBSzVCLENBQUE7SUFJRCxNQUFhLHVCQUF3QixTQUFRLGdCQUFnQjtLQUc1RDtJQUhZLDhCQUF1QiwwQkFHbkMsQ0FBQTtJQUlELElBQWlCLElBQUksQ0E2RXBCO0lBN0VELFdBQWlCLElBQUk7UUFDTCxTQUFJLEdBQUcsYUFBYSxDQUFDO1FBdUNuQyxNQUFhLE1BQU07WUFLakIsWUFDUyxPQUFlLEVBQ2QsT0FBK0IsR0FBRztnQkFEbkMsWUFBTyxHQUFQLE9BQU8sQ0FBUTtnQkFDZCxTQUFJLEdBQUosSUFBSSxDQUE4QjtnQkFOckMsYUFBUSxHQUFHLEdBQVcsRUFBRTtvQkFDN0IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO2dCQUN0QixDQUFDLENBQUM7WUFLQyxDQUFDO1lBRUksTUFBTSxDQUFDLE1BQU0sQ0FDbkIsT0FBZSxFQUNmLE9BQStCLEdBQUc7Z0JBRWxDLE9BQU8sSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ25DLENBQUM7WUFFTSxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQWlCO2dCQUM1QyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQ2xCLFVBQVUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUNuRCxDQUFDO1lBQ0osQ0FBQztZQUVNLE1BQU0sQ0FBQyxNQUFNLENBQ2xCLE9BQWUsRUFDZixPQUErQixHQUFHO2dCQUVsQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3RDLENBQUM7U0FDRjtRQTdCWSxXQUFNLFNBNkJsQixDQUFBO0lBUUgsQ0FBQyxFQTdFZ0IsSUFBSSxHQUFKLFdBQUksS0FBSixXQUFJLFFBNkVwQjtBQVlILENBQUMsRUEzVmdCLE1BQU0sS0FBTixNQUFNLFFBMlZ0QjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsK0NBQStDIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB7IENvcmVNb2RlbHMgfSBmcm9tICd0bnAtY29yZS93ZWJzcWwnO1xuaW1wb3J0IHsgUmVzcG9uc2UsIFJlcXVlc3RIYW5kbGVyIH0gZnJvbSAnZXhwcmVzcyc7XG5pbXBvcnQgeyAgIFJlc3BvbnNlIGFzIEV4cHJlc3NSZXNwb25zZSwgICBSZXF1ZXN0IGFzIEV4cHJlc3NSZXF1ZXN0LCB9IGZyb20gJ2V4cHJlc3MnOy8qICovXG4vKiAqL1xuLyogKi9cblxuaW1wb3J0IHsgXyB9IGZyb20gJ3RucC1jb3JlL3dlYnNxbCc7XG5pbXBvcnQgeyBNb2RlbHMgYXMgTW9kZWxzTmcyUmVzdCB9IGZyb20gJ25nMi1yZXN0L3dlYnNxbCc7XG5pbXBvcnQgeyBDbGFzc0hlbHBlcnMgfSBmcm9tICcuL2hlbHBlcnMvY2xhc3MtaGVscGVycyc7XG5pbXBvcnQgdHlwZSB7IFRhb25Db250cm9sbGVyT3B0aW9ucyB9IGZyb20gJy4vZGVjb3JhdG9ycy9jbGFzc2VzL2NvbnRyb2xsZXItZGVjb3JhdG9yJztcbmltcG9ydCB0eXBlIHsgVGFvbkVudGl0eU9wdGlvbnMgfSBmcm9tICcuL2RlY29yYXRvcnMvY2xhc3Nlcy9lbnRpdHktZGVjb3JhdG9yJztcblxuZXhwb3J0IG5hbWVzcGFjZSBNb2RlbHMge1xuICBleHBvcnQgdHlwZSBGcmFtZXdvcmtNb2RlID1cbiAgICB8ICdiYWNrZW5kLWZyb250ZW5kKHRjcCt1ZHApJ1xuICAgIHwgJ3JlbW90ZS1iYWNrZW5kKHRjcCt1ZHApJ1xuICAgIHwgJ2JhY2tlbmQtZnJvbnRlbmQoaXBjLWVsZWN0cm9uKSdcbiAgICB8ICdiYWNrZW5kLWZyb250ZW5kKHdlYnNxbC1lbGVjdHJvbiknXG4gICAgfCAnYmFja2VuZC1mcm9udGVuZCh3ZWJzcWwpJztcblxuXG4gIGV4cG9ydCBlbnVtIENsYXNzVHlwZSB7XG4gICAgRU5USVRZID0gJ0VOVElUWScsXG4gICAgQ09OVFJPTExFUiA9ICdDT05UUk9MTEVSJyxcbiAgICBSRVBPU0lUT1JZID0gJ1JFUE9TSVRPUlknLFxuICAgIFBST1ZJREVSID0gJ1BST1ZJREVSJyxcbiAgICBTVUJTQ1JJQkVSID0gJ1NVQlNDUklCRVInLFxuICAgIE1JR1JBVElPTiA9ICdNSUdSQVRJT04nLFxuICB9XG5cbiAgZXhwb3J0IGNvbnN0IENsYXNzVHlwZUtleSA9IHtcbiAgICBbQ2xhc3NUeXBlLkVOVElUWV06ICdlbnRpdGllcycsXG4gICAgW0NsYXNzVHlwZS5DT05UUk9MTEVSXTogJ2NvbnRyb2xsZXJzJyxcbiAgICBbQ2xhc3NUeXBlLlJFUE9TSVRPUlldOiAncmVwb3NpdG9yaWVzJyxcbiAgICBbQ2xhc3NUeXBlLlBST1ZJREVSXTogJ3Byb3ZpZGVycycsXG4gICAgW0NsYXNzVHlwZS5TVUJTQ1JJQkVSXTogJ3N1YnNjcmliZXJzJyxcbiAgICBbQ2xhc3NUeXBlLk1JR1JBVElPTl06ICdtaWdyYXRpb25zJyxcbiAgfSBhcyB7XG4gICAgW2tleSBpbiBDbGFzc1R5cGVdOiBrZXlvZiBDb250ZXh0T3B0aW9uczxhbnksIGFueSwgYW55LCBhbnksIGFueSwgYW55LCBhbnk+O1xuICB9O1xuXG5cblxuXG4gIGV4cG9ydCB0eXBlIE1pZGRsZXdhcmVUeXBlID0gW0Z1bmN0aW9uLCBhbnlbXV07XG5cblxuXG4gIC8qKlxuICAgKiBEUk9QX0RCK01JR1JBVElPTlMgKGRlZmF1bHQgZm9yIGRldmVsb3BtZW50KVxuICAgKiBEcm9wIGFsbCB0YWJsZXMgKyByZWNyZWF0ZSB0aGVtICsgcnVuIG1pZ3JhdGlvbnNcbiAgICogc3luY2hyb25pemU6IHRydWUgLCBkcm9wU2NoZW1hOiB0cnVlXG4gICAqIHVzZSBtaWdyYXRpb25zOiB0cnVlXG4gICAqXG4gICAqIE1JR1JBVElPTlMgKGRlZmF1bHQgZm9yIHByb2R1Y3Rpb24pXG4gICAqIERvIG5vdCBkcm9wIHRhYmxlcywgb25seSBydW4gbWlncmF0aW9uc1xuICAgKiBzeW5jaHJvbml6ZTogZmFsc2UsIGRyb3BTY2hlbWE6IGZhbHNlXG4gICAqIHVzZSBtaWdyYXRpb25zOiB0cnVlXG4gICAqL1xuICBleHBvcnQgdHlwZSBEQlJlY3JlYXRlTW9kZSA9XG4gICAgfCAnRFJPUF9EQitNSUdSQVRJT05TJ1xuICAgIHwgJ1BSRVNFUlZFX0RBVEErTUlHUkFUSU9OUyc7XG5cblxuXG4gIGV4cG9ydCBjbGFzcyBEYXRhYmFzZUNvbmZpZ1R5cGVPcm0ge1xuICAgIC8qKlxuICAgICAqIGRhdGFiYXNlIG5hbWVcbiAgICAgKi9cbiAgICBkYXRhYmFzZT86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBvbmx5IGZvciBmaWxlIGJhc2UgZGI6IHNxbGl0ZSwgc3FsanNcbiAgICAgKi9cbiAgICBsb2NhdGlvbj86IHN0cmluZztcbiAgICBzeW5jaHJvbml6ZTogYm9vbGVhbjtcbiAgICBkcm9wU2NoZW1hOiBib29sZWFuO1xuICAgIHR5cGU/OiBDb3JlTW9kZWxzLkRhdGFiYXNlVHlwZTtcbiAgICAvKipcbiAgICAgKiBQZXJzaXN0cyBkYiBvbiBkaXNrL2xvY2FsLXN0b3JhZ2UgaWYgc2VydmVybGVzcyBkYlxuICAgICAqL1xuICAgIGF1dG9TYXZlPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBmb3Igd2Vic3FsIGRiIG1vZGVcbiAgICAgKiB0cnVlIGJ5IGRlZmF1bHRcbiAgICAgKi9cbiAgICB1c2VMb2NhbEZvcmFnZT86IGJvb2xlYW47XG4gICAgbG9nZ2luZzogYm9vbGVhbjtcbiAgICBkYXRhYmFzZVBvcnQ/OiBudW1iZXI7XG4gICAgZGF0YWJhc2VIb3N0Pzogc3RyaW5nO1xuICAgIGRhdGFiYXNlVXNlcm5hbWU/OiBzdHJpbmc7XG4gICAgZGF0YWJhc2VQYXNzd29yZD86IHN0cmluZztcbiAgfVxuXG5cblxuICBleHBvcnQgY2xhc3MgRGF0YWJhc2VDb25maWcgZXh0ZW5kcyBEYXRhYmFzZUNvbmZpZ1R5cGVPcm0ge1xuICAgIC8qKlxuICAgICAqIERlZmF1bHQgdmFsdWUgJ0RST1BfQUxMJy5cbiAgICAgKlxuICAgICAqIFRlbGwgZnJhbWV3b3JrIHdoYXQgaXMgaGFwcGVuaW5nIHdpdGggZGJcbiAgICAgKiB3aGVuIGNvbnRleHQgaXMgc3RhcnRpbmcuXG4gICAgICovXG4gICAgcHVibGljIHJlY3JlYXRlTW9kZT86IERCUmVjcmVhdGVNb2RlO1xuXG4gICAgc3RhdGljIGZyb20oXG4gICAgICBkYXRhYmFzZVBhcnRpYWxDb25maWc6IFBhcnRpYWw8XG4gICAgICAgIE9taXQ8XG4gICAgICAgICAgRGF0YWJhc2VDb25maWcsXG4gICAgICAgICAgJ3N5bmNocm9uaXplJyB8ICdkcm9wU2NoZW1hJyB8ICdkYXRhYmFzZUNvbmZpZ1R5cGVPUk0nXG4gICAgICAgID5cbiAgICAgID4sXG4gICAgKTogRGF0YWJhc2VDb25maWcge1xuICAgICAgcmV0dXJuIF8ubWVyZ2UobmV3IERhdGFiYXNlQ29uZmlnKCksIGRhdGFiYXNlUGFydGlhbENvbmZpZyk7XG4gICAgfVxuXG4gICAgZ2V0IGRhdGFiYXNlQ29uZmlnVHlwZU9STSgpOiBEYXRhYmFzZUNvbmZpZ1R5cGVPcm0ge1xuXG4gICAgICBjb25zdCByZXN1bHQgPSBfLmNsb25lRGVlcCh0aGlzKSBhcyBEYXRhYmFzZUNvbmZpZztcbiAgICAgIGlmIChyZXN1bHQucmVjcmVhdGVNb2RlKSB7XG4gICAgICAgIGlmIChyZXN1bHQucmVjcmVhdGVNb2RlID09PSAnRFJPUF9EQitNSUdSQVRJT05TJykge1xuICAgICAgICAgIHJlc3VsdC5zeW5jaHJvbml6ZSA9IHRydWU7XG4gICAgICAgICAgcmVzdWx0LmRyb3BTY2hlbWEgPSB0cnVlO1xuICAgICAgICB9IGVsc2UgaWYgKHJlc3VsdC5yZWNyZWF0ZU1vZGUgPT09ICdQUkVTRVJWRV9EQVRBK01JR1JBVElPTlMnKSB7XG4gICAgICAgICAgcmVzdWx0LnN5bmNocm9uaXplID0gZmFsc2U7XG4gICAgICAgICAgcmVzdWx0LmRyb3BTY2hlbWEgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZGVsZXRlIHJlc3VsdC5yZWNyZWF0ZU1vZGU7XG5cbiAgICAgIHJldHVybiByZXN1bHQgYXMgYW55O1xuXG4gICAgfVxuICB9XG5cblxuXG5cbiAgZXhwb3J0IHR5cGUgSVNlc3Npb24gPSB7XG4gICAgc2VjcmV0Pzogc3RyaW5nO1xuICAgIHNhdmVVbmluaXRpYWxpemVkPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBtYXggYWdlIG9mIHNlc3Npb25cbiAgICAgKi9cbiAgICBjb29raWVNYXhBZ2U/OiBudW1iZXI7XG4gICAgc2VjdXJlPzogYm9vbGVhbjtcbiAgICByZXNhdmU/OiBib29sZWFuO1xuICB9O1xuXG5cblxuICBleHBvcnQgdHlwZSBDb25uZWN0aW9uT3B0aW9uc0xvZ3MgPSB7XG4gICAgaHR0cD86IGJvb2xlYW47XG4gICAgcmVhbHRpbWU/OiBib29sZWFuO1xuICAgIGZyYW1ld29yaz86IGJvb2xlYW47XG4gICAgZGI/OiBib29sZWFuO1xuICAgIG1pZ3JhdGlvbnM/OiBib29sZWFuO1xuICB9O1xuICBleHBvcnQgaW50ZXJmYWNlIENvbnRleHRPcHRpb25zPFxuICAgIENPTlRFWFRTLFxuICAgIENPTlRST0xMRVJTLFxuICAgIEVOVElUSUVTLFxuICAgIFJFUE9TSVRPUklFUyxcbiAgICBQUk9WSURFUlMsXG4gICAgU1VCU0NSSUJFUlMsXG4gICAgTUlHUkFUSU9OUyxcbiAgPiB7XG4gICAgY29udGV4dE5hbWU6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBob3N0L3BvcnQgZm9yIGluaXRpbmcgYmFja2VuZCBzZXJ2ZXJcbiAgICAgKi9cbiAgICBob3N0Pzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIGZyb250ZW5kIGhvc3Qgb25seSBuZWVkZWQgd2hlbiB3ZSBhcmVcbiAgICAgKiB1c2luZyB3aXRoQ3JlZGVudGlhbHMgZm9yIGF4aW9zXG4gICAgICogYW5kIHNlc3Npb24gY29va2llXG4gICAgICogb3IgcmVhbHRpbWUgY29tbXVuaWNhdGlvblxuICAgICAqL1xuICAgIGZyb250ZW5kSG9zdD86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBiYWNrZW5kIHdheSBvZiBjb21tdW5pY2F0aW9uXG4gICAgICogYmV0d2VlbiB0YW9uIGJhY2tlbmRzL3Byb2Nlc3Nlc1xuICAgICAqL1xuICAgIHJlbW90ZUhvc3Q/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVXNlciBpcGMgZm9yIGNvbW11bmljYXRpb24gYmV0d2VlbiBCRS9GRVxuICAgICAqIHdoZW4gZWxlY3Ryb24gaXMgdXNlZCBhcyBhIHBsYXRmb3JtXG4gICAgICogRGVmYXVsdDogdHJ1ZVxuICAgICAqL1xuICAgIHVzZUlwY1doZW5FbGVjdHJvbj86IGJvb2xlYW47XG4gICAgY29udGV4dHM/OiBDT05URVhUUztcbiAgICBjb250cm9sbGVycz86IENPTlRST0xMRVJTO1xuICAgIGVudGl0aWVzPzogRU5USVRJRVM7XG4gICAgcmVwb3NpdG9yaWVzPzogUkVQT1NJVE9SSUVTO1xuICAgIHByb3ZpZGVycz86IFBST1ZJREVSUztcbiAgICBzdWJzY3JpYmVycz86IFNVQlNDUklCRVJTO1xuICAgIG1pZ3JhdGlvbnM/OiBNSUdSQVRJT05TO1xuICAgIHNlc3Npb24/OiBJU2Vzc2lvbjtcbiAgICBza2lwV3JpdGluZ1NlcnZlclJvdXRlcz86IGJvb2xlYW47XG4gICAgcHJvZHVjdGlvbk1vZGU/OiBib29sZWFuO1xuICAgIGFic3RyYWN0PzogYm9vbGVhbjtcbiAgICBsb2dzPzogYm9vbGVhbiB8IENvbm5lY3Rpb25PcHRpb25zTG9ncztcbiAgICBkYXRhYmFzZT86IGJvb2xlYW4gfCBQYXJ0aWFsPERhdGFiYXNlQ29uZmlnPjtcbiAgICBkaXNhYmxlZFJlYWx0aW1lPzogYm9vbGVhbjtcbiAgICBodHRwcz86IHtcbiAgICAgIGtleTogc3RyaW5nO1xuICAgICAgY2VydDogc3RyaW5nO1xuICAgIH07XG4gICAgcHVibGljQXNzZXRzPzogeyBzZXJ2ZXJQYXRoOiBzdHJpbmc7IGxvY2F0aW9uT25EaXNrOiBzdHJpbmcgfVtdO1xuICAgIG1pZGRsZXdhcmVzPzogTWlkZGxld2FyZVR5cGVbXTtcbiAgfVxuXG5cblxuICBleHBvcnQgY2xhc3MgRGVjb3JhdG9yQWJzdHJhY3RPcHQge1xuICAgIGNsYXNzTmFtZTogc3RyaW5nO1xuICB9XG5cblxuXG4gIGV4cG9ydCBjbGFzcyBQYXJhbUNvbmZpZyB7XG4gICAgcGFyYW1OYW1lOiBzdHJpbmc7XG4gICAgcGFyYW1UeXBlOiBDb3JlTW9kZWxzLlBhcmFtVHlwZTtcbiAgICBpbmRleDogbnVtYmVyO1xuICAgIGRlZmF1bHRUeXBlOiBhbnk7XG4gICAgZXhwaXJlSW5TZWNvbmRzPzogbnVtYmVyO1xuICB9XG5cblxuXG4gIGV4cG9ydCBjbGFzcyBNZXRob2RDb25maWcge1xuICAgIG1ldGhvZE5hbWU6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBwYXRoIGlzIGdsb2JhbCBpbiBleHByZXNzIGFwcFxuICAgICAqL1xuICAgIGdsb2JhbD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogb3ZlcnJpZGUgZGVmYXVsdCBjb250ZW50IHR5cGVcbiAgICAgKi9cbiAgICBjb250ZW50VHlwZT86IGFueTtcbiAgICAvKipcbiAgICAgKiBvdmVycmlkZSBkZWZhdWx0IGF4aXNvIHJlc3BvbnNlIHR5cGVcbiAgICAgKi9cbiAgICByZXNwb25zZVR5cGU/OiBhbnk7XG4gICAgcGF0aDogc3RyaW5nO1xuICAgIGRlc2NyaXB0b3I6IFByb3BlcnR5RGVzY3JpcHRvcjtcbiAgICB0eXBlOiBDb3JlTW9kZWxzLkh0dHBNZXRob2Q7XG5cbiAgICByZXF1ZXN0SGFuZGxlcjogYW55O1xuXG4gICAgcGFyYW1ldGVyczogeyBbcGFyYW1OYW1lOiBzdHJpbmddOiBQYXJhbUNvbmZpZyB9ID0ge307XG4gIH1cblxuXG5cbiAgZXhwb3J0IGNsYXNzIENvbnRyb2xsZXJDb25maWcgZXh0ZW5kcyBEZWNvcmF0b3JBYnN0cmFjdE9wdCB7XG4gICAgcmVhbHRpbWU/OiBib29sZWFuO1xuICAgIHBhdGg6IHN0cmluZztcbiAgICB1bmlxdWVLZXk/OiBzdHJpbmc7XG4gICAgbWV0aG9kczogeyBbbWV0aG9kTmFtZTogc3RyaW5nXTogTWV0aG9kQ29uZmlnIH0gPSB7fTtcbiAgfVxuXG5cblxuICBleHBvcnQgY2xhc3MgUnVudGltZUNvbnRyb2xsZXJDb25maWcgZXh0ZW5kcyBDb250cm9sbGVyQ29uZmlnIHtcbiAgICBjYWxjdWxhdGVkUGF0aD86IHN0cmluZztcbiAgICBicm93c2VyVHJhbnNmb3JtRm4/OiAoZW50aXR5OiBhbnkpID0+IGFueTtcbiAgfVxuXG5cblxuICBleHBvcnQgbmFtZXNwYWNlIEh0dHAge1xuICAgIGV4cG9ydCBpbXBvcnQgUmVzdCA9IE1vZGVsc05nMlJlc3Q7XG5cbiAgICBleHBvcnQgdHlwZSBDb250ZXh0RU5EUE9JTlQgPSB7IHRhcmdldDogRnVuY3Rpb247IGluaXRGTjogRnVuY3Rpb24gfTtcblxuICAgIGV4cG9ydCB0eXBlIEZvcm1seUZyb21UeXBlID0gJ21hdGVyaWFsJyB8ICdib290c3RyYXAnO1xuXG4gICAgZXhwb3J0IHR5cGUgRXhwcmVzc0NvbnRleHQ8VD4gPSAoXG4gICAgICByZXE6IEV4cHJlc3NSZXF1ZXN0LFxuICAgICAgcmVzOiBFeHByZXNzUmVzcG9uc2UsXG4gICAgKSA9PiBUO1xuXG4gICAgZXhwb3J0IHR5cGUgU3luY1Jlc3BvbnNlPFQ+ID0gc3RyaW5nIHwgVDtcblxuICAgIGV4cG9ydCB0eXBlIFJlc3BvbnNlRnVuY09wdDxUPiA9IHtcbiAgICAgIGxpbWl0U2l6ZT86IChcbiAgICAgICAgZW50aWVzOiBGdW5jdGlvbiB8IEZ1bmN0aW9uW10sXG4gICAgICAgIGluY2x1ZGU6IHN0cmluZ1tdLFxuICAgICAgICBleGNsdWRlOiBzdHJpbmdbXSxcbiAgICAgICkgPT4gdm9pZDtcbiAgICB9O1xuXG4gICAgZXhwb3J0IHR5cGUgU3luY1Jlc3BvbnNlRnVuYzxUPiA9IChcbiAgICAgIG9wdGlvbnM/OiBSZXNwb25zZUZ1bmNPcHQ8VD4sXG4gICAgKSA9PiBTeW5jUmVzcG9uc2U8VD47XG4gICAgZXhwb3J0IHR5cGUgTWl4UmVzcG9uc2U8VD4gPSBTeW5jUmVzcG9uc2U8VD4gfCBFeHByZXNzQ29udGV4dDxUPjtcblxuICAgIGV4cG9ydCBpbnRlcmZhY2UgQ2xpZW50QWN0aW9uPFQ+IHtcbiAgICAgIHJlY2VpdmVkPzogUmVzdC5Qcm9taXNlT2JzZXJ2YWJsZU1peDxSZXN0Lkh0dHBSZXNwb25zZTxUPj47XG4gICAgfVxuXG4gICAgZXhwb3J0IGludGVyZmFjZSBBc3luY1Jlc3BvbnNlPFQ+IHtcbiAgICAgIChcbiAgICAgICAgcmVxPzogRXhwcmVzc1JlcXVlc3QsXG4gICAgICAgIHJlcz86IEV4cHJlc3NSZXNwb25zZSxcbiAgICAgICk6IFByb21pc2U8U3luY1Jlc3BvbnNlPFQ+IHwgU3luY1Jlc3BvbnNlRnVuYzxUPj47XG4gICAgfVxuXG4gICAgZXhwb3J0IHR5cGUgUmVzcG9uc2U8VCA9IHN0cmluZz4gPSBBc3luY1Jlc3BvbnNlPFQ+ICYgQ2xpZW50QWN0aW9uPFQ+O1xuXG4gICAgZXhwb3J0IGNsYXNzIEVycm9ycyB7XG4gICAgICBwdWJsaWMgdG9TdHJpbmcgPSAoKTogc3RyaW5nID0+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWVzc2FnZTtcbiAgICAgIH07XG5cbiAgICAgIHByaXZhdGUgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBtZXNzYWdlOiBzdHJpbmcsXG4gICAgICAgIHByaXZhdGUgY29kZTogTW9kZWxzTmcyUmVzdC5IdHRwQ29kZSA9IDQwMCxcbiAgICAgICkge31cblxuICAgICAgcHJpdmF0ZSBzdGF0aWMgY3JlYXRlKFxuICAgICAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgICAgIGNvZGU6IE1vZGVsc05nMlJlc3QuSHR0cENvZGUgPSA0MDAsXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIG5ldyBFcnJvcnMobWVzc2FnZSwgY29kZSk7XG4gICAgICB9XG5cbiAgICAgIHB1YmxpYyBzdGF0aWMgZW50aXR5Tm90Rm91bmQoZW50aXR5PzogRnVuY3Rpb24pIHtcbiAgICAgICAgcmV0dXJuIEVycm9ycy5jcmVhdGUoXG4gICAgICAgICAgYEVudGl0eSAke0NsYXNzSGVscGVycy5nZXROYW1lKGVudGl0eSl9IG5vdCBmb3VuZGAsXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHB1YmxpYyBzdGF0aWMgY3VzdG9tKFxuICAgICAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgICAgIGNvZGU6IE1vZGVsc05nMlJlc3QuSHR0cENvZGUgPSA0MDAsXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIEVycm9ycy5jcmVhdGUobWVzc2FnZSwgY29kZSk7XG4gICAgICB9XG4gICAgfVxuXG5cbiAgICBleHBvcnQgaW50ZXJmYWNlIEF1dGhDYWxsQmFjayB7XG4gICAgICAobWV0aG9kUmVmZXJlbmNlOiBGdW5jdGlvbik6IFJlcXVlc3RIYW5kbGVyO1xuICAgIH1cblxuXG4gIH1cblxuXG5cbiAgZXhwb3J0IGludGVyZmFjZSBTdGFydFBhcmFtcyB7XG4gICAgcG9ydDogbnVtYmVyO1xuICAgIGFyZ3M6IHN0cmluZ1tdO1xuICAgIG9ubHlNaWdyYXRpb25SdW4/OiBib29sZWFuO1xuICAgIG9ubHlNaWdyYXRpb25SZXZlcnRUb1RpbWVzdGFtcD86IG51bWJlcjtcbiAgfVxuXG5cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRhb24gbGliL21vZGVscy50cyJdfQ==
@@ -1,65 +0,0 @@
1
- import * as tsorm from 'taon-typeorm/websql';
2
- import { _ } from 'tnp-core/websql';
3
- export var Orm;
4
- (function (Orm) {
5
- Orm.Repository = tsorm.Repository;
6
- Orm.Connection = tsorm.Connection;
7
- let ListenEvent;
8
- (function (ListenEvent) {
9
- ListenEvent.AfterInsert = tsorm.AfterInsert;
10
- ListenEvent.AfterLoad = tsorm.AfterLoad;
11
- ListenEvent.AfterRecover = tsorm.AfterRecover;
12
- ListenEvent.AfterRemove = tsorm.AfterRemove;
13
- ListenEvent.AfterSoftRemove = tsorm.AfterSoftRemove;
14
- ListenEvent.AfterUpdate = tsorm.AfterUpdate;
15
- ListenEvent.BeforeInsert = tsorm.BeforeInsert;
16
- ListenEvent.BeforeRecover = tsorm.BeforeRecover;
17
- ListenEvent.BeforeRemove = tsorm.BeforeRemove;
18
- ListenEvent.BeforeSoftRemove = tsorm.BeforeSoftRemove;
19
- ListenEvent.BeforeUpdate = tsorm.BeforeUpdate;
20
- })(ListenEvent = Orm.ListenEvent || (Orm.ListenEvent = {}));
21
- let Tree;
22
- (function (Tree) {
23
- Tree.Children = tsorm.TreeChildren;
24
- Tree.Parent = tsorm.TreeParent;
25
- })(Tree = Orm.Tree || (Orm.Tree = {}));
26
- let Column;
27
- (function (Column) {
28
- Column.Generated = tsorm.PrimaryGeneratedColumn;
29
- Column.Primary = tsorm.PrimaryColumn;
30
- Column.Index = tsorm.Index;
31
- Column.CreateDate = tsorm.CreateDateColumn;
32
- Column.UpdateDate = tsorm.UpdateDateColumn;
33
- Column.DeleteDate = tsorm.DeleteDateColumn;
34
- Column.Custom = tsorm.Column;
35
- /**
36
- * 100 characters varchar
37
- */
38
- Column.String = (defaultValue = null) => tsorm.Column({ type: 'varchar', length: 100, nullable: _.isNil(defaultValue), default: defaultValue });
39
- /**
40
- * 500 characters varchar
41
- */
42
- Column.String500 = (defaultValue = null) => tsorm.Column({ type: 'varchar', length: 500, nullable: _.isNil(defaultValue), default: defaultValue });
43
- Column.Number = () => tsorm.Column({ type: 'int', nullable: true });
44
- Column.DecimalNumber = () => tsorm.Column({ type: 'float', nullable: true });
45
- Column.SimpleJson = () => tsorm.Column({ type: 'simple-json', nullable: true });
46
- Column.Boolean = (defaultValue) => tsorm.Column({ type: 'boolean', default: defaultValue });
47
- Column.Version = tsorm.VersionColumn;
48
- Column.Virtual = tsorm.VirtualColumn;
49
- })(Column = Orm.Column || (Orm.Column = {}));
50
- let Join;
51
- (function (Join) {
52
- Join.Table = tsorm.JoinTable;
53
- Join.Column = tsorm.JoinColumn;
54
- })(Join = Orm.Join || (Orm.Join = {}));
55
- let Relation;
56
- (function (Relation) {
57
- Relation.OneToMany = tsorm.OneToMany;
58
- Relation.OneToOne = tsorm.OneToOne;
59
- Relation.ManyToMany = tsorm.ManyToMany;
60
- Relation.ManyToOne = tsorm.ManyToOne;
61
- })(Relation = Orm.Relation || (Orm.Relation = {}));
62
- })(Orm || (Orm = {}));
63
- ;
64
- ({}); // @--end-of-file-for-module=taon lib/orm.ts
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3Rhb24vcHJvamVjdHMvdGFvbi9zcmMvbGliL29ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEtBQUssS0FBSyxNQUFNLHFCQUFxQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUdwQyxNQUFNLEtBQVcsR0FBRyxDQXlFbkI7QUF6RUQsV0FBaUIsR0FBRztJQUVMLGNBQVUsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDO0lBQzdCLGNBQVUsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDO0lBQzVDLElBQWlCLFdBQVcsQ0FZM0I7SUFaRCxXQUFpQixXQUFXO1FBQ1osdUJBQVcsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDO1FBQ2hDLHFCQUFTLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUM1Qix3QkFBWSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUM7UUFDbEMsdUJBQVcsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDO1FBQ2hDLDJCQUFlLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FBQztRQUN4Qyx1QkFBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUM7UUFDaEMsd0JBQVksR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDO1FBQ2xDLHlCQUFhLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQztRQUNwQyx3QkFBWSxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUM7UUFDbEMsNEJBQWdCLEdBQUcsS0FBSyxDQUFDLGdCQUFnQixDQUFDO1FBQzFDLHdCQUFZLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQztJQUNsRCxDQUFDLEVBWmdCLFdBQVcsR0FBWCxlQUFXLEtBQVgsZUFBVyxRQVkzQjtJQUVELElBQWlCLElBQUksQ0FHcEI7SUFIRCxXQUFpQixJQUFJO1FBQ0wsYUFBUSxHQUFHLEtB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LENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsNENBQTRDIiwic291cmNlc0NvbnRlbnQiOlsiXG5cblxuaW1wb3J0ICogYXMgdHNvcm0gZnJvbSAndGFvbi10eXBlb3JtL3dlYnNxbCc7XG5cbmltcG9ydCB7IF8gfSBmcm9tICd0bnAtY29yZS93ZWJzcWwnO1xuXG5cbmV4cG9ydCBuYW1lc3BhY2UgT3JtIHtcblxuICBleHBvcnQgY29uc3QgUmVwb3NpdG9yeSA9IHRzb3JtLlJlcG9zaXRvcnk7XG4gIGV4cG9ydCBpbXBvcnQgQ29ubmVjdGlvbiA9IHRzb3JtLkNvbm5lY3Rpb247XG4gIGV4cG9ydCBuYW1lc3BhY2UgTGlzdGVuRXZlbnQge1xuICAgIGV4cG9ydCBpbXBvcnQgQWZ0ZXJJbnNlcnQgPSB0c29ybS5BZnRlckluc2VydDtcbiAgICBleHBvcnQgaW1wb3J0IEFmdGVyTG9hZCA9IHRzb3JtLkFmdGVyTG9hZDtcbiAgICBleHBvcnQgaW1wb3J0IEFmdGVyUmVjb3ZlciA9IHRzb3JtLkFmdGVyUmVjb3ZlcjtcbiAgICBleHBvcnQgaW1wb3J0IEFmdGVyUmVtb3ZlID0gdHNvcm0uQWZ0ZXJSZW1vdmU7XG4gICAgZXhwb3J0IGltcG9ydCBBZnRlclNvZnRSZW1vdmUgPSB0c29ybS5BZnRlclNvZnRSZW1vdmU7XG4gICAgZXhwb3J0IGltcG9ydCBBZnRlclVwZGF0ZSA9IHRzb3JtLkFmdGVyVXBkYXRlO1xuICAgIGV4cG9ydCBpbXBvcnQgQmVmb3JlSW5zZXJ0ID0gdHNvcm0uQmVmb3JlSW5zZXJ0O1xuICAgIGV4cG9ydCBpbXBvcnQgQmVmb3JlUmVjb3ZlciA9IHRzb3JtLkJlZm9yZVJlY292ZXI7XG4gICAgZXhwb3J0IGltcG9ydCBCZWZvcmVSZW1vdmUgPSB0c29ybS5CZWZvcmVSZW1vdmU7XG4gICAgZXhwb3J0IGltcG9ydCBCZWZvcmVTb2Z0UmVtb3ZlID0gdHNvcm0uQmVmb3JlU29mdFJlbW92ZTtcbiAgICBleHBvcnQgaW1wb3J0IEJlZm9yZVVwZGF0ZSA9IHRzb3JtLkJlZm9yZVVwZGF0ZTtcbiAgfVxuXG4gIGV4cG9ydCBuYW1lc3BhY2UgVHJlZSB7XG4gICAgZXhwb3J0IGltcG9ydCBDaGlsZHJlbiA9IHRzb3JtLlRyZWVDaGlsZHJlbjtcbiAgICBleHBvcnQgaW1wb3J0IFBhcmVudCA9IHRzb3JtLlRyZWVQYXJlbnQ7XG4gIH1cbiAgZXhwb3J0IG5hbWVzcGFjZSBDb2x1bW4ge1xuICAgIGV4cG9ydCBpbXBvcnQgR2VuZXJhdGVkID0gdHNvcm0uUHJpbWFyeUdlbmVyYXRlZENvbHVtbjtcbiAgICBleHBvcnQgaW1wb3J0IFByaW1hcnkgPSB0c29ybS5QcmltYXJ5Q29sdW1uO1xuICAgIGV4cG9ydCBpbXBvcnQgSW5kZXggPSB0c29ybS5JbmRleDtcbiAgICBleHBvcnQgaW1wb3J0IENyZWF0ZURhdGUgPSB0c29ybS5DcmVhdGVEYXRlQ29sdW1uO1xuICAgIGV4cG9ydCBpbXBvcnQgVXBkYXRlRGF0ZSA9IHRzb3JtLlVwZGF0ZURhdGVDb2x1bW47XG4gICAgZXhwb3J0IGltcG9ydCBEZWxldGVEYXRlID0gdHNvcm0uRGVsZXRlRGF0ZUNvbHVtbjtcbiAgICBleHBvcnQgaW1wb3J0IEN1c3RvbSA9IHRzb3JtLkNvbHVtbjtcblxuICAgIC8qKlxuICAgICAqIDEwMCBjaGFyYWN0ZXJzIHZhcmNoYXJcbiAgICAgKi9cbiAgICBleHBvcnQgY29uc3QgU3RyaW5nID0gPFQgPSBzdHJpbmc+KGRlZmF1bHRWYWx1ZTpUID0gbnVsbCkgPT5cbiAgICAgIHRzb3JtLkNvbHVtbih7IHR5cGU6ICd2YXJjaGFyJywgbGVuZ3RoOiAxMDAsIG51bGxhYmxlOiBfLmlzTmlsKGRlZmF1bHRWYWx1ZSkgICAsIGRlZmF1bHQ6IGRlZmF1bHRWYWx1ZSB9KTtcblxuICAgIC8qKlxuICAgICAqIDUwMCBjaGFyYWN0ZXJzIHZhcmNoYXJcbiAgICAgKi9cbiAgICBleHBvcnQgY29uc3QgU3RyaW5nNTAwID0gPFQgPSBzdHJpbmc+KGRlZmF1bHRWYWx1ZTpUID0gbnVsbCkgPT5cbiAgICAgIHRzb3JtLkNvbHVtbih7IHR5cGU6ICd2YXJjaGFyJywgbGVuZ3RoOiA1MDAsIG51bGxhYmxlOiBfLmlzTmlsKGRlZmF1bHRWYWx1ZSkgICAsIGRlZmF1bHQ6IGRlZmF1bHRWYWx1ZSB9KTtcblxuICAgIGV4cG9ydCBjb25zdCBOdW1iZXIgPSAoKSA9PlxuICAgICAgdHNvcm0uQ29sdW1uKHsgdHlwZTogJ2ludCcsICBudWxsYWJsZTogdHJ1ZSB9KTtcblxuICAgIGV4cG9ydCBjb25zdCBEZWNpbWFsTnVtYmVyID0gKCkgPT5cbiAgICAgIHRzb3JtLkNvbHVtbih7IHR5cGU6ICdmbG9hdCcsICBudWxsYWJsZTogdHJ1ZSB9KTtcblxuXG4gICAgZXhwb3J0IGNvbnN0IFNpbXBsZUpzb24gPSAoKSA9PlxuICAgICAgdHNvcm0uQ29sdW1uKHsgdHlwZTogJ3NpbXBsZS1qc29uJywgbnVsbGFibGU6IHRydWUgfSk7XG5cbiAgICBleHBvcnQgY29uc3QgQm9vbGVhbiA9IChkZWZhdWx0VmFsdWU6IGJvb2xlYW4pID0+XG4gICAgICB0c29ybS5Db2x1bW4oeyB0eXBlOiAnYm9vbGVhbicsIGRlZmF1bHQ6IGRlZmF1bHRWYWx1ZSB9KTtcblxuXG5cbiAgICBleHBvcnQgaW1wb3J0IFZlcnNpb24gPSB0c29ybS5WZXJzaW9uQ29sdW1uO1xuICAgIGV4cG9ydCBpbXBvcnQgVmlydHVhbCA9IHRzb3JtLlZpcnR1YWxDb2x1bW47XG4gIH1cblxuICBleHBvcnQgbmFtZXNwYWNlIEpvaW4ge1xuICAgIGV4cG9ydCBpbXBvcnQgVGFibGUgPSB0c29ybS5Kb2luVGFibGU7XG4gICAgZXhwb3J0IGltcG9ydCBDb2x1bW4gPSB0c29ybS5Kb2luQ29sdW1uO1xuICB9XG4gIGV4cG9ydCBuYW1lc3BhY2UgUmVsYXRpb24ge1xuICAgIGV4cG9ydCBpbXBvcnQgT25lVG9NYW55ID0gdHNvcm0uT25lVG9NYW55O1xuICAgIGV4cG9ydCBpbXBvcnQgT25lVG9PbmUgPSB0c29ybS5PbmVUb09uZTtcbiAgICBleHBvcnQgaW1wb3J0IE1hbnlUb01hbnkgPSB0c29ybS5NYW55VG9NYW55O1xuICAgIGV4cG9ydCBpbXBvcnQgTWFueVRvT25lID0gdHNvcm0uTWFueVRvT25lO1xuICB9XG5cbn1cblxuXG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10YW9uIGxpYi9vcm0udHMiXX0=
@@ -1,141 +0,0 @@
1
- import { _ } from 'tnp-core/websql';
2
- import { Symbols } from '../symbols';
3
- import { Observable } from 'rxjs';
4
- import { ClassHelpers } from '../helpers/class-helpers';
5
- import { RealtimeSubsManager } from './realtime-subs-manager';
6
- export class RealtimeClient {
7
- constructor(core) {
8
- this.core = core;
9
- this.subsManagers = {};
10
- this.core = core;
11
- if (!core.ctx.disabledRealtime) {
12
- this.init();
13
- }
14
- }
15
- init() {
16
- const nspPath = {
17
- global: this.core.pathFor(),
18
- realtime: this.core.pathFor(Symbols.REALTIME.NAMESPACE(this.core.ctx.contextName)),
19
- };
20
- this.core.ctx.logRealtime &&
21
- console.info('[CLIENT] NAMESPACE GLOBAL ', nspPath.global.href + ` host: ${this.core.ctx.host}`);
22
- this.core.ctx.logRealtime &&
23
- console.info('[CLIENT] NAMESPACE REALTIME', nspPath.realtime.href + ` host: ${this.core.ctx.host}`);
24
- this.core.conectSocketFE = this.core.strategy.ioClient(nspPath.global.origin, {
25
- path: nspPath.global.pathname,
26
- });
27
- if (this.core.conectSocketFE.on) {
28
- this.core.conectSocketFE.on('connect', () => {
29
- this.core.ctx.logRealtime &&
30
- console.info(`[CLIENT] connected to GLOBAL namespace ${nspPath.global.pathname}` +
31
- ` of host: ${this.core.ctx.host}`);
32
- });
33
- }
34
- this.core.socketFE = this.core.strategy.ioClient(nspPath.realtime.origin, {
35
- path: nspPath.realtime.pathname,
36
- });
37
- if (this.core.socketFE.on) {
38
- this.core.socketFE.on('connect', () => {
39
- this.core.ctx.logRealtime &&
40
- console.info(`[CLIENT] connected to REALTIME namespace ${nspPath.realtime.pathname}` +
41
- ` host: ${this.core.ctx.host}`);
42
- });
43
- }
44
- }
45
- /**
46
- * Changes trigger on backend needs to be done manually.. example code:
47
- *
48
- * ...
49
- * Context.Realtime.Server.TrigggerEntityChanges(myEntityInstance);
50
- * ...
51
- */
52
- listenChangesEntity(entityClassFn, idOrUniqValue, options) {
53
- options = options || {};
54
- const { property, customEvent } = options;
55
- const className = !customEvent && ClassHelpers.getName(entityClassFn);
56
- if (_.isString(property)) {
57
- if (property.trim() === '') {
58
- throw new Error(`[Taon][listenChangesEntity.. incorect property '' for ${className}`);
59
- }
60
- }
61
- return new Observable(observer => {
62
- if (this.core.ctx.disabledRealtime) {
63
- console.error(`[Taon][realtime rxjs] remove taon config flag:
64
-
65
- ...
66
- disabledRealtime: true
67
- ...
68
-
69
- to use socket realtime connection;
70
- `);
71
- return () => {
72
- };
73
- }
74
- let roomName;
75
- if (customEvent) {
76
- roomName = Symbols.REALTIME.ROOM_NAME_CUSTOM(this.core.ctx.contextName, customEvent);
77
- }
78
- else {
79
- roomName = _.isString(property)
80
- ? Symbols.REALTIME.ROOM_NAME_UPDATE_ENTITY_PROPERTY(this.core.ctx.contextName, className, property, idOrUniqValue)
81
- : Symbols.REALTIME.ROOM_NAME_UPDATE_ENTITY(this.core.ctx.contextName, className, idOrUniqValue);
82
- }
83
- const roomSubOptions = {
84
- core: this.core,
85
- property,
86
- roomName,
87
- customEvent,
88
- };
89
- const subManagerId = this.getUniqueIdentifierForConnection(roomSubOptions);
90
- if (!this.subsManagers[subManagerId]) {
91
- this.subsManagers[subManagerId] = new RealtimeSubsManager(roomSubOptions);
92
- }
93
- const inst = this.subsManagers[subManagerId];
94
- inst.add(observer);
95
- inst.startListenIfNotStarted(this.core.socketFE);
96
- return () => {
97
- inst.remove(observer);
98
- };
99
- });
100
- }
101
- listenChangesEntityTable(entityClassFn) {
102
- const className = ClassHelpers.getName(entityClassFn);
103
- return this.listenChangesEntity(entityClassFn, void 0, {
104
- customEvent: Symbols.REALTIME.TABLE_CHANGE(this.core.ctx.contextName, className),
105
- });
106
- }
107
- /**
108
- * Changes trigger on backend needs to be done manually.. example code:
109
- *
110
- * ...
111
- * Context.Realtime.Server.TrigggerEntityChanges(myEntityInstance);
112
- * // or
113
- * Context.Realtime.Server.TrigggerEntityPropertyChanges(myEntityInstance,{ property: 'geolocationX' });
114
- * ...
115
- */
116
- listenChangesEntityObj(entity, options) {
117
- const classFn = ClassHelpers.getClassFnFromObject(entity);
118
- const uniqueKey = ClassHelpers.getUniqueKey(classFn);
119
- return this.listenChangesEntity(classFn, entity[uniqueKey], options);
120
- }
121
- listenChangesCustomEvent(customEvent) {
122
- return this.listenChangesEntity(void 0, void 0, {
123
- customEvent,
124
- });
125
- }
126
- /**
127
- * Trigger custom event on backend
128
- * @param customEvent global event name
129
- * @param dataToPush
130
- */
131
- triggerCustomEvent(customEvent, dataToPush) {
132
- this.core.socketFE.emit(customEvent, dataToPush);
133
- }
134
- getUniqueIdentifierForConnection(options) {
135
- const url = new URL(options.core.ctx.host);
136
- return `${this.core.ctx.contextName}:${url.origin}|${options.roomName}|${options.property}|${options.customEvent}`;
137
- }
138
- }
139
- ;
140
- ({}); // @--end-of-file-for-module=taon lib/realtime/realtime-client.ts
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhbHRpbWUtY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3Qtd2Vic3FsL3Rhb24vcHJvamVjdHMvdGFvbi9zcmMvbGliL3JlYWx0aW1lL3JlYWx0aW1lLWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFcEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQztBQUNyQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQU05RCxNQUFNLE9BQU8sY0FBYztJQUV6QixZQUFvQixJQUFrQjtRQUFsQixTQUFJLEdBQUosSUFBSSxDQUFjO1FBRDlCLGlCQUFZLEdBQTRDLEVBQUUsQ0FBQztRQUVqRSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBRS9CLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUVkLENBQUM7SUFDSCxDQUFDO0lBR08sSUFBSTtRQUVWLE1BQU0sT0FBTyxHQUFHO1lBQ2QsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQzNCLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FDekIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQ3REO1NBQ0YsQ0FBQztRQUdGLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVc7WUFDdkIsT0FBTyxDQUFDLElB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QUFXLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUlPLGdDQUFnQyxDQUFDLE9BQXNDO1FBQzdFLE1BQU0sR0FBRyxHQUFHLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNDLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLElBQUksR0FBRyxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsUUFBUSxJQUFJLE9BQU8sQ0FBQyxRQUFRLElBQUksT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JILENBQUM7Q0FFRjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsaUVBQWlFIiwic291cmNlc0NvbnRlbnQiOlsiXG5cblxuaW1wb3J0IHsgXyB9IGZyb20gJ3RucC1jb3JlL3dlYnNxbCc7XG5pbXBvcnQgeyBSZWFsdGltZUNvcmUgfSBmcm9tICcuL3JlYWx0aW1lLWNvcmUnO1xuaW1wb3J0IHsgU3ltYm9scyB9IGZyb20gJy4uL3N5bWJvbHMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ2xhc3NIZWxwZXJzIH0gZnJvbSAnLi4vaGVscGVycy9jbGFzcy1oZWxwZXJzJztcbmltcG9ydCB7IFJlYWx0aW1lU3Vic01hbmFnZXIgfSBmcm9tICcuL3JlYWx0aW1lLXN1YnMtbWFuYWdlcic7XG5pbXBvcnQgeyBSZWFsdGltZU1vZGVscyB9IGZyb20gJy4vcmVhbHRpbWUubW9kZWxzJztcbmltcG9ydCB0eXBlIHsgQmFzZUVudGl0eSB9IGZyb20gJy4uL2Jhc2UtY2xhc3Nlcy9iYXNlLWVudGl0eSc7XG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAndG5wLWNvcmUvd2Vic3FsJztcblxuXG5leHBvcnQgY2xhc3MgUmVhbHRpbWVDbGllbnQge1xuICBwcml2YXRlIHN1YnNNYW5hZ2VyczogeyBbcGF0aDogc3RyaW5nXTogUmVhbHRpbWVTdWJzTWFuYWdlciB9ID0ge307XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29yZTogUmVhbHRpbWVDb3JlKSB7XG4gICAgdGhpcy5jb3JlID0gY29yZTtcbiAgICBpZiAoIWNvcmUuY3R4LmRpc2FibGVkUmVhbHRpbWUpIHtcblxuICAgICAgdGhpcy5pbml0KCk7XG5cbiAgICB9XG4gIH1cblxuXG4gIHByaXZhdGUgaW5pdCgpIHtcblxuICAgIGNvbnN0IG5zcFBhdGggPSB7XG4gICAgICBnbG9iYWw6IHRoaXMuY29yZS5wYXRoRm9yKCksXG4gICAgICByZWFsdGltZTogdGhpcy5jb3JlLnBhdGhGb3IoXG4gICAgICAgIFN5bWJvbHMuUkVBTFRJTUUuTkFNRVNQQUNFKHRoaXMuY29yZS5jdHguY29udGV4dE5hbWUpLFxuICAgICAgKSxcbiAgICB9O1xuXG5cbiAgICB0aGlzLmNvcmUuY3R4LmxvZ1JlYWx0aW1lICYmXG4gICAgICBjb25zb2xlLmluZm8oXG4gICAgICAgICdbQ0xJRU5UXSBOQU1FU1BBQ0UgR0xPQkFMICcsXG4gICAgICAgIG5zcFBhdGguZ2xvYmFsLmhyZWYgKyBgIGhvc3Q6ICR7dGhpcy5jb3JlLmN0eC5ob3N0fWAsXG4gICAgICApO1xuXG4gICAgdGhpcy5jb3JlLmN0eC5sb2dSZWFsdGltZSAmJlxuICAgICAgY29uc29sZS5pbmZvKFxuICAgICAgICAnW0NMSUVOVF0gTkFNRVNQQUNFIFJFQUxUSU1FJyxcbiAgICAgICAgbnNwUGF0aC5yZWFsdGltZS5ocmVmICsgYCBob3N0OiAke3RoaXMuY29yZS5jdHguaG9zdH1gLFxuICAgICAgKTtcblxuXG5cbiAgICB0aGlzLmNvcmUuY29uZWN0U29ja2V0RkUgPSB0aGlzLmNvcmUuc3RyYXRlZ3kuaW9DbGllbnQoXG4gICAgICBuc3BQYXRoLmdsb2JhbC5vcmlnaW4sXG4gICAgICB7XG4gICAgICAgIHBhdGg6IG5zcFBhdGguZ2xvYmFsLnBhdGhuYW1lLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgaWYgKHRoaXMuY29yZS5jb25lY3RTb2NrZXRGRS5vbikge1xuICAgICAgdGhpcy5jb3JlLmNvbmVjdFNvY2tldEZFLm9uKCdjb25uZWN0JywgKCkgPT4ge1xuXG5cblxuICAgICAgICB0aGlzLmNvcmUuY3R4LmxvZ1JlYWx0aW1lICYmXG4gICAgICAgICAgY29uc29sZS5pbmZvKFxuICAgICAgICAgICAgYFtDTElFTlRdIGNvbm5lY3RlZCB0byBHTE9CQUwgbmFtZXNwYWNlICR7bnNwUGF0aC5nbG9iYWwucGF0aG5hbWV9YCArXG4gICAgICAgICAgICAgIGAgb2YgaG9zdDogJHt0aGlzLmNvcmUuY3R4Lmhvc3R9YCxcbiAgICAgICAgICApO1xuICAgICAgfSk7XG4gICAgfVxuXG5cblxuXG4gICAgdGhpcy5jb3JlLnNvY2tldEZFID0gdGhpcy5jb3JlLnN0cmF0ZWd5LmlvQ2xpZW50KG5zcFBhdGgucmVhbHRpbWUub3JpZ2luLCB7XG4gICAgICBwYXRoOiBuc3BQYXRoLnJlYWx0aW1lLnBhdGhuYW1lLFxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMuY29yZS5zb2NrZXRGRS5vbikge1xuICAgICAgdGhpcy5jb3JlLnNvY2tldEZFLm9uKCdjb25uZWN0JywgKCkgPT4ge1xuXG5cblxuICAgICAgICB0aGlzLmNvcmUuY3R4LmxvZ1JlYWx0aW1lICYmXG4gICAgICAgICAgY29uc29sZS5pbmZvKFxuICAgICAgICAgICAgYFtDTElFTlRdIGNvbm5lY3RlZCB0byBSRUFMVElNRSBuYW1lc3BhY2UgJHtuc3BQYXRoLnJlYWx0aW1lLnBhdGhuYW1lfWAgK1xuICAgICAgICAgICAgICBgIGhvc3Q6ICR7dGhpcy5jb3JlLmN0eC5ob3N0fWAsXG4gICAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIH1cblxuXG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIENoYW5nZXMgdHJpZ2dlciBvbiBiYWNrZW5kIG5lZWRzIHRvIGJlIGRvbmUgbWFudWFsbHkuLiBleGFtcGxlIGNvZGU6XG4gICAqXG4gICAqIC4uLlxuICAgKiBDb250ZXh0LlJlYWx0aW1lLlNlcnZlci5UcmlnZ2dlckVudGl0eUNoYW5nZXMobXlFbnRpdHlJbnN0YW5jZSk7XG4gICAqIC4uLlxuICAgKi9cbiAgbGlzdGVuQ2hhbmdlc0VudGl0eShcbiAgICBlbnRpdHlDbGFzc0ZuOiBGdW5jdGlvbixcbiAgICBpZE9yVW5pcVZhbHVlOiBhbnksXG4gICAgb3B0aW9uczogUmVhbHRpbWVNb2RlbHMuQ2hhbmdlT3B0aW9uLFxuICApIHtcbiAgICBvcHRpb25zID0gb3B0aW9ucyB8fCAoe30gYXMgYW55KTtcblxuXG4gICAgY29uc3QgeyBwcm9wZXJ0eSwgY3VzdG9tRXZlbnQgfSA9IG9wdGlvbnM7XG4gICAgY29uc3QgY2xhc3NOYW1lID0gIWN1c3RvbUV2ZW50ICYmIENsYXNzSGVscGVycy5nZXROYW1lKGVudGl0eUNsYXNzRm4pO1xuXG4gICAgaWYgKF8uaXNTdHJpbmcocHJvcGVydHkpKSB7XG4gICAgICBpZiAocHJvcGVydHkudHJpbSgpID09PSAnJykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYFtUYW9uXVtsaXN0ZW5DaGFuZ2VzRW50aXR5Li4gaW5jb3JlY3QgcHJvcGVydHkgJycgZm9yICR7Y2xhc3NOYW1lfWAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuXG5cbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGUob2JzZXJ2ZXIgPT4ge1xuXG5cbiAgICAgIGlmICh0aGlzLmNvcmUuY3R4LmRpc2FibGVkUmVhbHRpbWUpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihgW1Rhb25dW3JlYWx0aW1lIHJ4anNdIHJlbW92ZSB0YW9uIGNvbmZpZyBmbGFnOlxuXG4gICAgICAgIC4uLlxuICAgICAgICBkaXNhYmxlZFJlYWx0aW1lOiB0cnVlXG4gICAgICAgIC4uLlxuXG50byB1c2Ugc29ja2V0IHJlYWx0aW1lIGNvbm5lY3Rpb247XG4gICAgICAgIGApO1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIGxldCByb29tTmFtZTogc3RyaW5nO1xuXG4gICAgICBpZiAoY3VzdG9tRXZlbnQpIHtcbiAgICAgICAgcm9vbU5hbWUgPSBTeW1ib2xzLlJFQUxUSU1FLlJPT01fTkFNRV9DVVNUT00oXG4gICAgICAgICAgdGhpcy5jb3JlLmN0eC5jb250ZXh0TmFtZSxcbiAgICAgICAgICBjdXN0b21FdmVudCxcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJvb21OYW1lID0gXy5pc1N0cmluZyhwcm9wZXJ0eSlcbiAgICAgICAgICA/IFN5bWJvbHMuUkVBTFRJTUUuUk9PTV9OQU1FX1VQREFURV9FTlRJVFlfUFJPUEVSVFkoXG4gICAgICAgICAgICAgIHRoaXMuY29yZS5jdHguY29udGV4dE5hbWUsXG4gICAgICAgICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgICAgICAgcHJvcGVydHksXG4gICAgICAgICAgICAgIGlkT3JVbmlxVmFsdWUsXG4gICAgICAgICAgICApXG4gICAgICAgICAgOiBTeW1ib2xzLlJFQUxUSU1FLlJPT01fTkFNRV9VUERBVEVfRU5USVRZKFxuICAgICAgICAgICAgICB0aGlzLmNvcmUuY3R4LmNvbnRleHROYW1lLFxuICAgICAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICAgICAgIGlkT3JVbmlxVmFsdWUsXG4gICAgICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBjb25zdCByb29tU3ViT3B0aW9uczogUmVhbHRpbWVNb2RlbHMuU3Vic01hbmFnZXJPcHQgPSB7XG4gICAgICAgIGNvcmU6IHRoaXMuY29yZSxcbiAgICAgICAgcHJvcGVydHksXG4gICAgICAgIHJvb21OYW1lLFxuICAgICAgICBjdXN0b21FdmVudCxcbiAgICAgIH07XG5cblxuICAgICAgY29uc3Qgc3ViTWFuYWdlcklkID0gdGhpcy5nZXRVbmlxdWVJZGVudGlmaWVyRm9yQ29ubmVjdGlvbihyb29tU3ViT3B0aW9ucyk7XG4gICAgICBpZiAoIXRoaXMuc3Vic01hbmFnZXJzW3N1Yk1hbmFnZXJJZF0pIHtcbiAgICAgICAgdGhpcy5zdWJzTWFuYWdlcnNbc3ViTWFuYWdlcklkXSA9IG5ldyBSZWFsdGltZVN1YnNNYW5hZ2VyKFxuICAgICAgICAgIHJvb21TdWJPcHRpb25zLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgY29uc3QgaW5zdCA9IHRoaXMuc3Vic01hbmFnZXJzW3N1Yk1hbmFnZXJJZF07XG4gICAgICBpbnN0LmFkZChvYnNlcnZlcik7XG5cbiAgICAgIGluc3Quc3RhcnRMaXN0ZW5JZk5vdFN0YXJ0ZWQodGhpcy5jb3JlLnNvY2tldEZFKTtcblxuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgaW5zdC5yZW1vdmUob2JzZXJ2ZXIpO1xuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG5cblxuXG4gIGxpc3RlbkNoYW5nZXNFbnRpdHlUYWJsZShlbnRpdHlDbGFzc0ZuOiBGdW5jdGlvbikge1xuICAgIGNvbnN0IGNsYXNzTmFtZSA9IENsYXNzSGVscGVycy5nZXROYW1lKGVudGl0eUNsYXNzRm4pO1xuICAgIHJldHVybiB0aGlzLmxpc3RlbkNoYW5nZXNFbnRpdHkoZW50aXR5Q2xhc3NGbiwgdm9pZCAwLCB7XG4gICAgICBjdXN0b21FdmVudDogU3ltYm9scy5SRUFMVElNRS5UQUJMRV9DSEFOR0UoXG4gICAgICAgIHRoaXMuY29yZS5jdHguY29udGV4dE5hbWUsXG4gICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICksXG4gICAgfSk7XG4gIH1cblxuXG5cblxuICAvKipcbiAgICogQ2hhbmdlcyB0cmlnZ2VyIG9uIGJhY2tlbmQgbmVlZHMgdG8gYmUgZG9uZSBtYW51YWxseS4uIGV4YW1wbGUgY29kZTpcbiAgICpcbiAgICogLi4uXG4gICAqIENvbnRleHQuUmVhbHRpbWUuU2VydmVyLlRyaWdnZ2VyRW50aXR5Q2hhbmdlcyhteUVudGl0eUluc3RhbmNlKTtcbiAgICogLy8gb3JcbiAgICogQ29udGV4dC5SZWFsdGltZS5TZXJ2ZXIuVHJpZ2dnZXJFbnRpdHlQcm9wZXJ0eUNoYW5nZXMobXlFbnRpdHlJbnN0YW5jZSx7IHByb3BlcnR5OiAnZ2VvbG9jYXRpb25YJyB9KTtcbiAgICogLi4uXG4gICAqL1xuICBsaXN0ZW5DaGFuZ2VzRW50aXR5T2JqPFQgZXh0ZW5kcyBCYXNlRW50aXR5PihcbiAgICBlbnRpdHk6IFQsXG4gICAgb3B0aW9ucz86IFJlYWx0aW1lTW9kZWxzLkNoYW5nZU9wdGlvbixcbiAgKSB7XG4gICAgY29uc3QgY2xhc3NGbiA9IENsYXNzSGVscGVycy5nZXRDbGFzc0ZuRnJvbU9iamVjdChlbnRpdHkpO1xuICAgIGNvbnN0IHVuaXF1ZUtleSA9IENsYXNzSGVscGVycy5nZXRVbmlxdWVLZXkoY2xhc3NGbik7XG4gICAgcmV0dXJuIHRoaXMubGlzdGVuQ2hhbmdlc0VudGl0eShjbGFzc0ZuLCBlbnRpdHlbdW5pcXVlS2V5XSwgb3B0aW9ucyk7XG4gIH1cblxuXG5cbiAgbGlzdGVuQ2hhbmdlc0N1c3RvbUV2ZW50KGN1c3RvbUV2ZW50OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5saXN0ZW5DaGFuZ2VzRW50aXR5KHZvaWQgMCwgdm9pZCAwLCB7XG4gICAgICBjdXN0b21FdmVudCxcbiAgICB9KTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogVHJpZ2dlciBjdXN0b20gZXZlbnQgb24gYmFja2VuZFxuICAgKiBAcGFyYW0gY3VzdG9tRXZlbnQgZ2xvYmFsIGV2ZW50IG5hbWVcbiAgICogQHBhcmFtIGRhdGFUb1B1c2hcbiAgICovXG4gIHB1YmxpYyB0cmlnZ2VyQ3VzdG9tRXZlbnQoY3VzdG9tRXZlbnQ6IHN0cmluZywgZGF0YVRvUHVzaD86IGFueSkge1xuICAgIHRoaXMuY29yZS5zb2NrZXRGRS5lbWl0KGN1c3RvbUV2ZW50LCBkYXRhVG9QdXNoKTtcbiAgfVxuXG5cblxuICBwcml2YXRlIGdldFVuaXF1ZUlkZW50aWZpZXJGb3JDb25uZWN0aW9uKG9wdGlvbnM6IFJlYWx0aW1lTW9kZWxzLlN1YnNNYW5hZ2VyT3B0KSB7XG4gICAgY29uc3QgdXJsID0gbmV3IFVSTChvcHRpb25zLmNvcmUuY3R4Lmhvc3QpO1xuICAgIHJldHVybiBgJHt0aGlzLmNvcmUuY3R4LmNvbnRleHROYW1lfToke3VybC5vcmlnaW59fCR7b3B0aW9ucy5yb29tTmFtZX18JHtvcHRpb25zLnByb3BlcnR5fXwke29wdGlvbnMuY3VzdG9tRXZlbnR9YDtcbiAgfVxuXG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10YW9uIGxpYi9yZWFsdGltZS9yZWFsdGltZS1jbGllbnQudHMiXX0=
@@ -1,62 +0,0 @@
1
- import { RealtimeClient } from './realtime-client';
2
- import { RealtimeServer } from './realtime-server';
3
- import { RealtimeStrategyIpc, RealtimeStrategyMock, RealtimeStrategySocketIO, } from './realtime-strategy'; /* */
4
- import { Helpers } from 'tnp-core/websql';
5
- /**
6
- * Realtime class
7
- * - mock (when browser-browser)
8
- * - sockets (from socket io when backend-browser)
9
- * - ipc (when electron is used or between processes)
10
- * - webworker (when webworker is used in browser or nodejs)
11
- */
12
- export class RealtimeCore {
13
- constructor(ctx) {
14
- this.ctx = ctx;
15
- this.allHttpMethods = [
16
- 'GET',
17
- 'POST',
18
- 'PUT',
19
- 'DELETE',
20
- 'PATCH',
21
- 'OPTIONS',
22
- 'HEAD',
23
- ];
24
- this.ctx = ctx;
25
- this.strategy = this.resolveStrategy();
26
- this.ctx.logRealtime &&
27
- console.log(`[taon] realtime strategy: ${this.strategy}`);
28
- if (Helpers.isWebSQL) {
29
- this.server = new RealtimeServer(this);
30
- this.client = new RealtimeClient(this);
31
- }
32
- else {
33
- this.client = new RealtimeClient(this);
34
- this.server = new RealtimeServer(this);
35
- }
36
- }
37
- resolveStrategy() {
38
- if (this.ctx.mode === 'backend-frontend(websql)' ||
39
- this.ctx.mode === 'backend-frontend(websql-electron)') {
40
- return new RealtimeStrategyMock(this.ctx);
41
- }
42
- if (this.ctx.mode === 'backend-frontend(ipc-electron)') {
43
- return new RealtimeStrategyIpc(this.ctx);
44
- }
45
- return new RealtimeStrategySocketIO(this.ctx);
46
- }
47
- pathFor(namespace) {
48
- const uri = this.ctx.uri;
49
- let nsp = namespace ? namespace : '';
50
- nsp = nsp === '/' ? '' : nsp;
51
- const pathname = uri.pathname !== '/' ? uri.pathname : '';
52
- let prefix = `taonContext`;
53
- if (Helpers.isElectron) {
54
- prefix = ``;
55
- }
56
- const href = `${uri.origin}${pathname}/${prefix}${prefix && nsp ? '-' + nsp : nsp}`;
57
- return new URL(href);
58
- }
59
- }
60
- ;
61
- ({}); // @--end-of-file-for-module=taon lib/realtime/realtime-core.ts
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhbHRpbWUtY29yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0LXdlYnNxbC90YW9uL3Byb2plY3RzL3Rhb24vc3JjL2xpYi9yZWFsdGltZS9yZWFsdGltZS1jb3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbkQsT0FBTyxFQUFJLG1CQUFtQixFQUFJLG9CQUFvQixFQUFJLHdCQUF3QixHQUFHLE1BQU0scUJBQXFCLENBQUMsQ0FBQSxLQUFLO0FBT3RILE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUcxQzs7Ozs7O0dBTUc7QUFDSCxNQUFNLE9BQU8sWUFBWTtJQTRDdkIsWUFBbUIsR0FBb0I7UUFBcEIsUUFBRyxHQUFILEdBQUcsQ0FBaUI7UUExQzlCLG1CQUFjLEdBQUc7WUFDeEIsS0FBSztZQUNMLE1BQU07WUFDTixLQUFLO1lBQ0wsUUFBUTtZQUNSLE9BQU87WUFDUCxTQUFTO1lBQ1QsTUFBTTtTQUNQLENBQUM7UUFtQ0EsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV2QyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVc7WUFDbEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyw2QkFBNkIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDNUQsSUFBSSxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUV2QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXpDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN2QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pDLENBQUM7SUFDSCxDQUFDO0lBSU8sZUFBZTtRQUNyQixJQUNFLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxLQUFLLDBCQUEwQjtZQUM1QyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxtQ0FBbUMsRUFDckQsQ0FBQztZQUVELE9BQU8sSUFBSSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUMsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssZ0NBQWdDLEVBQUUsQ0FBQztZQUN2RCxPQUFPLElBQUksbUJBQW1CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNDLENBQUM7UUFPRCxPQUFPLElBQUksd0JBQXdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFJTSxPQUFPLENBQUMsU0FBa0I7UUFDL0IsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7UUFFekIsSUFBSSxHQUFHLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNyQyxHQUFHLEdBQUcsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDN0IsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLFFBQVEsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUMxRCxJQUFJLE1BQU0sR0FBRyxhQUFhLENBQUM7UUFDM0IsSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDdkIsTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNkLENBQUM7UUFDRCxNQUFNLElBQUksR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLEdBQUcsUUFBUSxJQUFJLE1BQU0sR0FBRyxNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUVwRixPQUFPLElBQUksR0FBRyxDQUFDLElBQUksQ0FBUSxDQUFDO0lBQzlCLENBQUM7Q0FFRjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsK0RBQStEIiwic291cmNlc0NvbnRlbnQiOlsiXG5cblxuaW1wb3J0IHsgU29ja2V0IGFzIFNvY2tldENsaWVudCB9IGZyb20gJ3NvY2tldC5pby1jbGllbnQnO1xuaW1wb3J0IHR5cGUgeyBFbmRwb2ludENvbnRleHQgfSBmcm9tICcuLi9lbmRwb2ludC1jb250ZXh0JztcbmltcG9ydCB7IFJlYWx0aW1lQ2xpZW50IH0gZnJvbSAnLi9yZWFsdGltZS1jbGllbnQnO1xuaW1wb3J0IHsgUmVhbHRpbWVTZXJ2ZXIgfSBmcm9tICcuL3JlYWx0aW1lLXNlcnZlcic7XG5pbXBvcnQgdHlwZSB7IFJlYWx0aW1lU3RyYXRlZ3kgfSBmcm9tICcuL3JlYWx0aW1lLXN0cmF0ZWd5JztcbmltcG9ydCB7ICAgUmVhbHRpbWVTdHJhdGVneUlwYywgICBSZWFsdGltZVN0cmF0ZWd5TW9jaywgICBSZWFsdGltZVN0cmF0ZWd5U29ja2V0SU8sIH0gZnJvbSAnLi9yZWFsdGltZS1zdHJhdGVneSc7LyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cblxuaW1wb3J0IHsgRGVmYXVsdEV2ZW50c01hcCB9IGZyb20gJ3NvY2tldC5pby9kaXN0L3R5cGVkLWV2ZW50cyc7XG5pbXBvcnQgeyBTZXJ2ZXIgfSBmcm9tICdzb2NrZXQuaW8nO1xuaW1wb3J0IHsgSGVscGVycyB9IGZyb20gJ3RucC1jb3JlL3dlYnNxbCc7XG5cblxuLyoqXG4gKiBSZWFsdGltZSBjbGFzc1xuICogLSBtb2NrICh3aGVuIGJyb3dzZXItYnJvd3NlcilcbiAqIC0gc29ja2V0cyAoZnJvbSBzb2NrZXQgaW8gd2hlbiBiYWNrZW5kLWJyb3dzZXIpXG4gKiAtIGlwYyAod2hlbiBlbGVjdHJvbiBpcyB1c2VkIG9yIGJldHdlZW4gcHJvY2Vzc2VzKVxuICogLSB3ZWJ3b3JrZXIgKHdoZW4gd2Vid29ya2VyIGlzIHVzZWQgaW4gYnJvd3NlciBvciBub2RlanMpXG4gKi9cbmV4cG9ydCBjbGFzcyBSZWFsdGltZUNvcmUge1xuXG4gIHJlYWRvbmx5IGFsbEh0dHBNZXRob2RzID0gW1xuICAgICdHRVQnLFxuICAgICdQT1NUJyxcbiAgICAnUFVUJyxcbiAgICAnREVMRVRFJyxcbiAgICAnUEFUQ0gnLFxuICAgICdPUFRJT05TJyxcbiAgICAnSEVBRCcsXG4gIF07XG4gIHB1YmxpYyByZWFkb25seSBjbGllbnQ6IFJlYWx0aW1lQ2xpZW50O1xuICBwdWJsaWMgcmVhZG9ubHkgc2VydmVyOiBSZWFsdGltZVNlcnZlcjtcbiAgcHVibGljIHJlYWRvbmx5IHN0cmF0ZWd5OiBSZWFsdGltZVN0cmF0ZWd5O1xuXG4gIC8qKlxuICAgKiBnbG9iYWwgRkUgc29ja2V0IC0gb25seSBmb3IgZXN0YWJsaXNoZWQgY29ubmVjdGlvblxuICAgKi9cbiAgcHVibGljIGNvbmVjdFNvY2tldEZFOiBTb2NrZXRDbGllbnQ8RGVmYXVsdEV2ZW50c01hcCwgRGVmYXVsdEV2ZW50c01hcD47XG4gIC8qKlxuICAgKiBzb2NrZXQgZm9yIG5hbWVzcGFjZXMgYW5kIHJvb21zXG4gICAqL1xuICBwdWJsaWMgc29ja2V0RkU6IFNvY2tldENsaWVudDxEZWZhdWx0RXZlbnRzTWFwLCBEZWZhdWx0RXZlbnRzTWFwPjtcbiAgLyoqXG4gICAqIGdsb2JhbCBCRSBzb2NrZXQgLSBvbmx5IGZvciBlc3RhYmxpc2hlZCBjb25uZWN0aW9uXG4gICAqL1xuICBwdWJsaWMgY29ubmVjdFNvY2tldEJFOiBTZXJ2ZXI8XG4gICAgRGVmYXVsdEV2ZW50c01hcCxcbiAgICBEZWZhdWx0RXZlbnRzTWFwLFxuICAgIERlZmF1bHRFdmVudHNNYXAsXG4gICAgYW55XG4gID47XG4gIC8qKlxuICAgKiBzb2NrZXQgZm9yIG5hbWVzcGFjZXMgYW5kIHJvb21zXG4gICAqL1xuICBwdWJsaWMgc29ja2V0QkU6IFNlcnZlcjxcbiAgICBEZWZhdWx0RXZlbnRzTWFwLFxuICAgIERlZmF1bHRFdmVudHNNYXAsXG4gICAgRGVmYXVsdEV2ZW50c01hcCxcbiAgICBhbnlcbiAgPjtcblxuXG5cbiAgY29uc3RydWN0b3IocHVibGljIGN0eDogRW5kcG9pbnRDb250ZXh0KSB7XG4gICAgdGhpcy5jdHggPSBjdHg7XG4gICAgdGhpcy5zdHJhdGVneSA9IHRoaXMucmVzb2x2ZVN0cmF0ZWd5KCk7XG5cbiAgICB0aGlzLmN0eC5sb2dSZWFsdGltZSAmJlxuICAgICAgY29uc29sZS5sb2coYFt0YW9uXSByZWFsdGltZSBzdHJhdGVneTogJHt0aGlzLnN0cmF0ZWd5fWApO1xuICAgIGlmIChIZWxwZXJzLmlzV2ViU1FMKSB7XG4gICAgICB0aGlzLnNlcnZlciA9IG5ldyBSZWFsdGltZVNlcnZlcih0aGlzKTtcblxuICAgICAgdGhpcy5jbGllbnQgPSBuZXcgUmVhbHRpbWVDbGllbnQodGhpcyk7XG5cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jbGllbnQgPSBuZXcgUmVhbHRpbWVDbGllbnQodGhpcyk7XG4gICAgICB0aGlzLnNlcnZlciA9IG5ldyBSZWFsdGltZVNlcnZlcih0aGlzKTtcbiAgICB9XG4gIH1cblxuXG5cbiAgcHJpdmF0ZSByZXNvbHZlU3RyYXRlZ3koKTogUmVhbHRpbWVTdHJhdGVneSB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5jdHgubW9kZSA9PT0gJ2JhY2tlbmQtZnJvbnRlbmQod2Vic3FsKScgfHxcbiAgICAgIHRoaXMuY3R4Lm1vZGUgPT09ICdiYWNrZW5kLWZyb250ZW5kKHdlYnNxbC1lbGVjdHJvbiknXG4gICAgKSB7XG5cbiAgICAgIHJldHVybiBuZXcgUmVhbHRpbWVTdHJhdGVneU1vY2sodGhpcy5jdHgpO1xuICAgIH1cbiAgICBpZiAodGhpcy5jdHgubW9kZSA9PT0gJ2JhY2tlbmQtZnJvbnRlbmQoaXBjLWVsZWN0cm9uKScpIHtcbiAgICAgIHJldHVybiBuZXcgUmVhbHRpbWVTdHJhdGVneUlwYyh0aGlzLmN0eCk7XG4gICAgfVxuXG5cblxuXG5cblxuICAgIHJldHVybiBuZXcgUmVhbHRpbWVTdHJhdGVneVNvY2tldElPKHRoaXMuY3R4KTtcbiAgfVxuXG5cblxuICBwdWJsaWMgcGF0aEZvcihuYW1lc3BhY2U/OiBzdHJpbmcpIHtcbiAgICBjb25zdCB1cmkgPSB0aGlzLmN0eC51cmk7XG5cbiAgICBsZXQgbnNwID0gbmFtZXNwYWNlID8gbmFtZXNwYWNlIDogJyc7XG4gICAgbnNwID0gbnNwID09PSAnLycgPyAnJyA6IG5zcDtcbiAgICBjb25zdCBwYXRobmFtZSA9IHVyaS5wYXRobmFtZSAhPT0gJy8nID8gdXJpLnBhdGhuYW1lIDogJyc7XG4gICAgbGV0IHByZWZpeCA9IGB0YW9uQ29udGV4dGA7XG4gICAgaWYgKEhlbHBlcnMuaXNFbGVjdHJvbikge1xuICAgICAgcHJlZml4ID0gYGA7XG4gICAgfVxuICAgIGNvbnN0IGhyZWYgPSBgJHt1cmkub3JpZ2lufSR7cGF0aG5hbWV9LyR7cHJlZml4fSR7cHJlZml4ICYmIG5zcCA/ICctJyArIG5zcCA6IG5zcH1gO1xuXG4gICAgcmV0dXJuIG5ldyBVUkwoaHJlZikgYXMgVVJMO1xuICB9XG5cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRhb24gbGliL3JlYWx0aW1lL3JlYWx0aW1lLWNvcmUudHMiXX0=