taon 18.0.34 → 19.0.1

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 +8 -8
  178. package/playground.js.map +1 -1
  179. package/taon.jsonc +39 -39
  180. package/tmp-environment.json +2 -2
  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,70 +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 coreHelpers from 'tnp-core/browser';
12
- import * as injectFn from './inject';
13
- import * as endpointContext from './endpoint-context';
14
- import * as allSymbols from './symbols';
15
- import * as getResponse from './get-response-value';
16
- export * from './ui';
17
- export { BaseRepository } from './base-classes/base-repository';
18
- export { BaseController } from './base-classes/base-controller';
19
- export { BaseProvider } from './base-classes/base-provider';
20
- export { BaseEntity } from './base-classes/base-entity';
21
- export { BaseContext } from './base-classes/base-context';
22
- export { BaseMigration } from './base-classes/base-migration';
23
- export { createContext } from './create-context';
24
- export { inject } from './inject';
25
- export { Models } from './models';
26
- export * from './constants';
27
- export { ClassHelpers } from './helpers/class-helpers';
28
- export var Taon;
29
- (function (Taon) {
30
- Taon.Http = http.Http;
31
- Taon.Base = base.Base;
32
- Taon.getResponseValue = getResponse.getResponseValue;
33
- Taon.Controller = controllerDecorator.TaonController;
34
- Taon.Entity = entityDecorator.TaonEntity;
35
- Taon.Provider = providerDecorator.TaonProvider;
36
- Taon.Repository = repositoryDecorator.TaonRepository;
37
- Taon.Subscriber = subscriberDecorator.TaonSubscriber;
38
- Taon.Migration = migrationDecorator.TaonMigration;
39
- Taon.isBrowser = coreHelpers.Helpers.isBrowser;
40
- Taon.isNode = coreHelpers.Helpers.isNode;
41
- Taon.isWebSQL = coreHelpers.Helpers.isWebSQL;
42
- Taon.isElectron = coreHelpers.Helpers.isElectron;
43
- Taon.createContext = createContextFn.createContext;
44
- Taon.inject = injectFn.inject;
45
- Taon.initNgZone = (ngZone) => {
46
- endpointContext.EndpointContext.initNgZone(ngZone);
47
- };
48
- Taon.symbols = allSymbols.Symbols;
49
- /**
50
- * @deprecated
51
- * use createContext instead
52
- */
53
- Taon.init = async (options) => {
54
- const BaseContext = (await import('./base-classes/base-context'))
55
- .BaseContext;
56
- const context = Taon.createContext(() => ({
57
- contextName: 'default',
58
- host: options.host,
59
- contexts: { BaseContext },
60
- database: true,
61
- entities: Array.from(options.entities),
62
- controllers: Array.from(options.controllers),
63
- }));
64
- await context.initialize();
65
- return context;
66
- };
67
- })(Taon || (Taon = {}));
68
- ;
69
- ({}); // @--end-of-file-for-module=taon lib/index.ts
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90YW9uL3Byb2plY3RzL3Rhb24vc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLGtCQUFrQixDQUFDLENBQUMsZ0RBQWdEO0FBQzNFLE9BQU8sS0FBSyxJQUFJLE1BQU0sbUNBQW1DLENBQUM7QUFDMUQsT0FBTyxLQUFLLElBQUksTUFBTSxxQkFBcUIsQ0FBQztBQUM1QyxPQUFPLEtBQUssbUJBQW1CLE1BQU0sMkNBQTJDLENBQUM7QUFDakYsT0FBTyxLQUFLLGVBQWUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN6RSxPQUFPLEtBQUssaUJBQWlCLE1BQU0seUNBQXlDLENBQUM7QUFDN0UsT0FBTyxLQUFLLG1CQUFtQixNQUFNLDJDQUEyQyxDQUFDO0FBQ2pGLE9BQU8sS0FBSyxtQkFBbUIsTUFBTSwyQ0FBMkMsQ0FBQztBQUNqRixPQUFPLEtBQUssa0JBQWtCLE1BQU0sMENBQTBDLENBQUM7QUFDL0UsT0FBTyxLQUFLLGVBQWUsTUFBTSxrQkFBa0IsQ0FBQztBQUdwRCxPQUFPLEtBQUssV0FBVyxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sS0FBSyxRQUFRLE1BQU0sVUFBVSxDQUFDO0FBQ3JDLE9BQU8sS0FBSyxlQUFlLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxLQUFLLFVBQVUsTUFBTSxXQUFXLENBQUM7QUFDeEMsT0FBTyxLQUFLLFdBQVcsTUFBTSxzQkFBc0IsQ0FBQztBQUdwRCxjQUFjLE1BQU0sQ0FBQztBQUdyQixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNsQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUd2RCxNQUFNLEtBQVcsSUFBSSxDQXlEcEI7QUF6REQsV0FBaUIsSUFBSTtJQUVMLFNBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ2pCLFNBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBR2xCLHFCQUFnQixHQUFHLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQztJQUcvQyxlQUFVLEdBQUcsbUJBQW1CLENBQUMsY0FBYyxDQUFDO0lBQ2hELFdBQU0sR0FBRyxlQUFlLENBQUMsVUFBVSxDQUFDO0lBQ3BDLGFBQVEsR0FBRyxpQkFBaUIsQ0FBQyxZQUFZLENBQUM7SUFDMUMsZUFBVSxHQUFHLG1CQUFtQixDQUFDLGNBQWMsQ0FBQztJQUNoRCxlQUFVLEdBQUcsbUJBQW1CLENBQUMsY0FBYyxDQUFDO0lBQ2hELGNBQVMsR0FBRyxrQkFBa0IsQ0FBQyxhQUFhLENBQUM7SUFHOUMsY0FBUyxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO0lBQzFDLFdBQU0sR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQztJQUNwQyxhQUFRLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7SUFDeEMsZUFBVSxHQUFHLFdBQVcsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO0lBRTVDLGtCQUFhLEdBQUcsZUFBZSxDQUFDLGFBQWEsQ0FBQztJQUU5QyxXQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUd6QixlQUFVLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRTtRQUMzQyxlQUFlLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyRCxDQUFDLENBQUM7SUFHVyxZQUFPLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQztJQUUxQzs7O09BR0c7SUFDVSxTQUFJLEdBQUcsS0FBSyxFQUFFLE9BSTFCLEVBQUUsRUFBRTtRQUNILE1BQU0sV0FBVyxHQUFHLENBQUMsTUFBTSxNQUFNLENBQUMsNkJBQTZCLENBQUMsQ0FBQzthQUM5RCxXQUFXLENBQUM7UUFDZixNQUFNLE9BQU8sR0FBRyxLQUFBLGFBQWEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ25DLFdBQVcsRUFBRSxTQUFTO1lBQ3RCLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtZQUNsQixRQUFRLEVBQUUsRUFBRSxXQUFXLEVBQUU7WUFDekIsUUFBUSxFQUFFLElBQUk7WUFDZCxRQUFRLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFRO1lBQzdDLFdBQVcsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQVE7U0FDcEQsQ0FBQyxDQUFDLENBQUM7UUFFSixNQUFNLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMzQixPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDLENBQUM7QUFDSixDQUFDLEVBekRnQixJQUFJLEtBQUosSUFBSSxRQXlEcEI7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDhDQUE4QyIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgJ3JlZmxlY3QtbWV0YWRhdGEnOyAvLyBUT0RPIHRoaXMgaXMgbmVlZGVkIGZvciBteSBkZWNvcmF0b3JzIHRvIHdvcmtcbmltcG9ydCAqIGFzIGh0dHAgZnJvbSAnLi9kZWNvcmF0b3JzL2h0dHAvaHR0cC1kZWNvcmF0b3JzJztcbmltcG9ydCAqIGFzIGJhc2UgZnJvbSAnLi9iYXNlLWNsYXNzZXMvYmFzZSc7XG5pbXBvcnQgKiBhcyBjb250cm9sbGVyRGVjb3JhdG9yIGZyb20gJy4vZGVjb3JhdG9ycy9jbGFzc2VzL2NvbnRyb2xsZXItZGVjb3JhdG9yJztcbmltcG9ydCAqIGFzIGVudGl0eURlY29yYXRvciBmcm9tICcuL2RlY29yYXRvcnMvY2xhc3Nlcy9lbnRpdHktZGVjb3JhdG9yJztcbmltcG9ydCAqIGFzIHByb3ZpZGVyRGVjb3JhdG9yIGZyb20gJy4vZGVjb3JhdG9ycy9jbGFzc2VzL3Byb3ZpZGVyLWRlY29yYXRvcic7XG5pbXBvcnQgKiBhcyByZXBvc2l0b3J5RGVjb3JhdG9yIGZyb20gJy4vZGVjb3JhdG9ycy9jbGFzc2VzL3JlcG9zaXRvcnktZGVjb3JhdG9yJztcbmltcG9ydCAqIGFzIHN1YnNjcmliZXJEZWNvcmF0b3IgZnJvbSAnLi9kZWNvcmF0b3JzL2NsYXNzZXMvc3Vic2NyaWJlci1kZWNvcmF0b3InO1xuaW1wb3J0ICogYXMgbWlncmF0aW9uRGVjb3JhdG9yIGZyb20gJy4vZGVjb3JhdG9ycy9jbGFzc2VzL21pZ3JhdGlvbi1kZWNvcmF0b3InO1xuaW1wb3J0ICogYXMgY3JlYXRlQ29udGV4dEZuIGZyb20gJy4vY3JlYXRlLWNvbnRleHQnO1xuaW1wb3J0ICogYXMgb3JtIGZyb20gJy4vb3JtJztcbmltcG9ydCAqIGFzIG1vZGVscyBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgKiBhcyBjb3JlSGVscGVycyBmcm9tICd0bnAtY29yZS9icm93c2VyJztcbmltcG9ydCAqIGFzIGluamVjdEZuIGZyb20gJy4vaW5qZWN0JztcbmltcG9ydCAqIGFzIGVuZHBvaW50Q29udGV4dCBmcm9tICcuL2VuZHBvaW50LWNvbnRleHQnO1xuaW1wb3J0ICogYXMgYWxsU3ltYm9scyBmcm9tICcuL3N5bWJvbHMnO1xuaW1wb3J0ICogYXMgZ2V0UmVzcG9uc2UgZnJvbSAnLi9nZXQtcmVzcG9uc2UtdmFsdWUnO1xuXG5pbXBvcnQgeyBOZ1pvbmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmV4cG9ydCAqIGZyb20gJy4vdWknO1xuXG5cbmV4cG9ydCB7IEJhc2VSZXBvc2l0b3J5IH0gZnJvbSAnLi9iYXNlLWNsYXNzZXMvYmFzZS1yZXBvc2l0b3J5JztcbmV4cG9ydCB7IEJhc2VDb250cm9sbGVyIH0gZnJvbSAnLi9iYXNlLWNsYXNzZXMvYmFzZS1jb250cm9sbGVyJztcbmV4cG9ydCB7IEJhc2VQcm92aWRlciB9IGZyb20gJy4vYmFzZS1jbGFzc2VzL2Jhc2UtcHJvdmlkZXInO1xuZXhwb3J0IHsgQmFzZUVudGl0eSB9IGZyb20gJy4vYmFzZS1jbGFzc2VzL2Jhc2UtZW50aXR5JztcbmV4cG9ydCB7IEJhc2VDb250ZXh0IH0gZnJvbSAnLi9iYXNlLWNsYXNzZXMvYmFzZS1jb250ZXh0JztcbmV4cG9ydCB7IEJhc2VNaWdyYXRpb24gfSBmcm9tICcuL2Jhc2UtY2xhc3Nlcy9iYXNlLW1pZ3JhdGlvbic7XG5leHBvcnQgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSAnLi9jcmVhdGUtY29udGV4dCc7XG5leHBvcnQgeyBpbmplY3QgfSBmcm9tICcuL2luamVjdCc7XG5leHBvcnQgeyBNb2RlbHMgfSBmcm9tICcuL21vZGVscyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnN0YW50cyc7XG5leHBvcnQgeyBDbGFzc0hlbHBlcnMgfSBmcm9tICcuL2hlbHBlcnMvY2xhc3MtaGVscGVycyc7XG5cblxuZXhwb3J0IG5hbWVzcGFjZSBUYW9uIHtcbiAgZXhwb3J0IGltcG9ydCBSZXNwb25zZSA9IG1vZGVscy5Nb2RlbHMuSHR0cC5SZXNwb25zZTtcbiAgZXhwb3J0IGltcG9ydCBIdHRwID0gaHR0cC5IdHRwO1xuICBleHBvcnQgaW1wb3J0IEJhc2UgPSBiYXNlLkJhc2U7XG4gIGV4cG9ydCBpbXBvcnQgT3JtID0gb3JtLk9ybTtcbiAgZXhwb3J0IGltcG9ydCBTdGFydFBhcmFtcyA9IG1vZGVscy5Nb2RlbHMuU3RhcnRQYXJhbXM7XG4gIGV4cG9ydCBjb25zdCBnZXRSZXNwb25zZVZhbHVlID0gZ2V0UmVzcG9uc2UuZ2V0UmVzcG9uc2VWYWx1ZTtcblxuXG4gIGV4cG9ydCBpbXBvcnQgQ29udHJvbGxlciA9IGNvbnRyb2xsZXJEZWNvcmF0b3IuVGFvbkNvbnRyb2xsZXI7XG4gIGV4cG9ydCBpbXBvcnQgRW50aXR5ID0gZW50aXR5RGVjb3JhdG9yLlRhb25FbnRpdHk7XG4gIGV4cG9ydCBpbXBvcnQgUHJvdmlkZXIgPSBwcm92aWRlckRlY29yYXRvci5UYW9uUHJvdmlkZXI7XG4gIGV4cG9ydCBpbXBvcnQgUmVwb3NpdG9yeSA9IHJlcG9zaXRvcnlEZWNvcmF0b3IuVGFvblJlcG9zaXRvcnk7XG4gIGV4cG9ydCBpbXBvcnQgU3Vic2NyaWJlciA9IHN1YnNjcmliZXJEZWNvcmF0b3IuVGFvblN1YnNjcmliZXI7XG4gIGV4cG9ydCBpbXBvcnQgTWlncmF0aW9uID0gbWlncmF0aW9uRGVjb3JhdG9yLlRhb25NaWdyYXRpb247XG5cblxuICBleHBvcnQgY29uc3QgaXNCcm93c2VyID0gY29yZUhlbHBlcnMuSGVscGVycy5pc0Jyb3dzZXI7XG4gIGV4cG9ydCBjb25zdCBpc05vZGUgPSBjb3JlSGVscGVycy5IZWxwZXJzLmlzTm9kZTtcbiAgZXhwb3J0IGNvbnN0IGlzV2ViU1FMID0gY29yZUhlbHBlcnMuSGVscGVycy5pc1dlYlNRTDtcbiAgZXhwb3J0IGNvbnN0IGlzRWxlY3Ryb24gPSBjb3JlSGVscGVycy5IZWxwZXJzLmlzRWxlY3Ryb247XG5cbiAgZXhwb3J0IGNvbnN0IGNyZWF0ZUNvbnRleHQgPSBjcmVhdGVDb250ZXh0Rm4uY3JlYXRlQ29udGV4dDtcblxuICBleHBvcnQgY29uc3QgaW5qZWN0ID0gaW5qZWN0Rm4uaW5qZWN0O1xuXG5cbiAgZXhwb3J0IGNvbnN0IGluaXROZ1pvbmUgPSAobmdab25lOiBOZ1pvbmUpID0+IHtcbiAgICBlbmRwb2ludENvbnRleHQuRW5kcG9pbnRDb250ZXh0LmluaXROZ1pvbmUobmdab25lKTtcbiAgfTtcblxuXG4gIGV4cG9ydCBjb25zdCBzeW1ib2xzID0gYWxsU3ltYm9scy5TeW1ib2xzO1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKiB1c2UgY3JlYXRlQ29udGV4dCBpbnN0ZWFkXG4gICAqL1xuICBleHBvcnQgY29uc3QgaW5pdCA9IGFzeW5jIChvcHRpb25zOiB7XG4gICAgaG9zdDogc3RyaW5nO1xuICAgIGVudGl0aWVzOiBGdW5jdGlvbltdO1xuICAgIGNvbnRyb2xsZXJzOiBGdW5jdGlvbltdO1xuICB9KSA9PiB7XG4gICAgY29uc3QgQmFzZUNvbnRleHQgPSAoYXdhaXQgaW1wb3J0KCcuL2Jhc2UtY2xhc3Nlcy9iYXNlLWNvbnRleHQnKSlcbiAgICAgIC5CYXNlQ29udGV4dDtcbiAgICBjb25zdCBjb250ZXh0ID0gY3JlYXRlQ29udGV4dCgoKSA9PiAoe1xuICAgICAgY29udGV4dE5hbWU6ICdkZWZhdWx0JyxcbiAgICAgIGhvc3Q6IG9wdGlvbnMuaG9zdCxcbiAgICAgIGNvbnRleHRzOiB7IEJhc2VDb250ZXh0IH0sXG4gICAgICBkYXRhYmFzZTogdHJ1ZSxcbiAgICAgIGVudGl0aWVzOiBBcnJheS5mcm9tKG9wdGlvbnMuZW50aXRpZXMpIGFzIGFueSxcbiAgICAgIGNvbnRyb2xsZXJzOiBBcnJheS5mcm9tKG9wdGlvbnMuY29udHJvbGxlcnMpIGFzIGFueSxcbiAgICB9KSk7XG5cbiAgICBhd2FpdCBjb250ZXh0LmluaXRpYWxpemUoKTtcbiAgICByZXR1cm4gY29udGV4dDtcbiAgfTtcbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRhb24gbGliL2luZGV4LnRzIl19
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdGFvbi9wcm9qZWN0cy90YW9uL3NyYy9saWIvaW5qZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxNQUFNLElBQUksYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXhELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFJcEMsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLENBQUksTUFBdUMsRUFBSyxFQUFFO0lBQ3RFLE9BQU8sSUFBSSxLQUFLLENBQ2QsRUFBRSxFQUNGO1FBQ0UsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFO1lBQ25CLElBQUksUUFBUSxLQUFLLGdCQUFnQixFQUFFLENBQUM7Z0JBQ2xDLE9BQU8sR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ3JCLENBQUM7WUFFRCxNQUFNLElBQUksR0FBRyxNQUFNLEVBQUUsQ0FBQztZQUN0QixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FDM0IsT0FBTyxDQUFDLG9CQUFvQixDQUNWLENBQUM7WUFDckIsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUM7WUFDdkMsSUFBSSxhQUFhLEVBQUUsQ0FBQztnQkFDbEIsSUFBSSxRQUFRLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQWlCLENBQUM7Z0JBRzFELElBQUksUUFBUSxLQUFLLHNCQUFzQixFQUFFLENBQUM7b0JBQ3hDLE9BQU8sR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDL0MsQ0FBQztnQkFDRCxJQUFJLFFBQVEsS0FBSyx3QkFBd0IsRUFBRSxDQUFDO29CQUMxQyxPQUFPLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUM7Z0JBQ3BDLENBQUM7Z0JBRUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDdEQsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFFN0MsTUFBTSxnQkFBZ0IsR0FBRyxTQUFTO29CQUNoQyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7b0JBQ25DLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBTXZCLE9BQU8sZ0JBQWdCLENBQUM7WUFDMUIsQ0FBQztZQUdELE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXZDLENBQUM7S0FDRixDQUNHLENBQUM7QUFDVCxDQUFDLENBQUM7QUFTRjs7R0FFRztBQXVERixDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLCtDQUErQyIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cbmltcG9ydCB7IGluamVjdCBhcyBhbmd1bGFySW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN5bWJvbHMgfSBmcm9tICcuL3N5bWJvbHMnO1xuaW1wb3J0IHR5cGUgeyBFbmRwb2ludENvbnRleHQgfSBmcm9tICcuL2VuZHBvaW50LWNvbnRleHQnO1xuaW1wb3J0IHR5cGUgeyBCYXNlSW5qZWN0b3IgfSBmcm9tICcuL2Jhc2UtY2xhc3Nlcy9iYXNlLWluamVjdG9yJztcblxuZXhwb3J0IGNvbnN0IGluamVjdCA9IDxUPihlbnRpdHk6ICgpID0+IG5ldyAoLi4uYXJnczogYW55W10pID0+IFQpOiBUID0+IHtcbiAgcmV0dXJuIG5ldyBQcm94eShcbiAgICB7fSxcbiAgICB7XG4gICAgICBnZXQ6IChfLCBwcm9wTmFtZSkgPT4ge1xuICAgICAgICBpZiAocHJvcE5hbWUgPT09ICdoYXNPd25Qcm9wZXJ0eScpIHtcbiAgICAgICAgICByZXR1cm4gKCkgPT4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjdG9yID0gZW50aXR5KCk7XG4gICAgICAgIGNvbnN0IGNvbnRleHRGcm9tQ2xhc3MgPSBjdG9yW1xuICAgICAgICAgIFN5bWJvbHMuY3R4SW5DbGFzc09yQ2xhc3NPYmpcbiAgICAgICAgXSBhcyBFbmRwb2ludENvbnRleHQ7XG4gICAgICAgIGNvbnN0IHJlc3VsdENvbnRleHQgPSBjb250ZXh0RnJvbUNsYXNzO1xuICAgICAgICBpZiAocmVzdWx0Q29udGV4dCkge1xuICAgICAgICAgIGxldCBpbnN0YW5jZSA9IHJlc3VsdENvbnRleHQuaW5qZWN0KGN0b3IpIGFzIEJhc2VJbmplY3RvcjtcblxuXG4gICAgICAgICAgaWYgKHByb3BOYW1lID09PSAnZ2V0T3JpZ2luYWxQcm90b3R5cGUnKSB7XG4gICAgICAgICAgICByZXR1cm4gKCkgPT4gT2JqZWN0LmdldFByb3RvdHlwZU9mKGluc3RhbmNlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHByb3BOYW1lID09PSAnZ2V0T3JpZ2luYWxDb25zdHJ1Y3RvcicpIHtcbiAgICAgICAgICAgIHJldHVybiAoKSA9PiBpbnN0YW5jZS5jb25zdHJ1Y3RvcjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBtZXRob2RzID0gY3RvcltTeW1ib2xzLmNsYXNzTWV0aG9kc05hbWVzXSB8fCBbXTtcbiAgICAgICAgICBjb25zdCBpc01ldGhvZHMgPSBtZXRob2RzLmluY2x1ZGVzKHByb3BOYW1lKTtcblxuICAgICAgICAgIGNvbnN0IG1ldGhvZE9yUHJvcGVydHkgPSBpc01ldGhvZHNcbiAgICAgICAgICAgID8gaW5zdGFuY2VbcHJvcE5hbWVdLmJpbmQoaW5zdGFuY2UpXG4gICAgICAgICAgICA6IGluc3RhbmNlW3Byb3BOYW1lXTtcblxuXG5cblxuXG4gICAgICAgICAgcmV0dXJuIG1ldGhvZE9yUHJvcGVydHk7XG4gICAgICAgIH1cblxuXG4gICAgICAgIHJldHVybiBhbmd1bGFySW5qZWN0KGN0b3IpW3Byb3BOYW1lXTtcblxuICAgICAgfSxcbiAgICB9LFxuICApIGFzIFQ7XG59O1xuXG5cblxuXG5cblxuXG5cbi8qKlxuICogVE9ET1xuICovXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dGFvbiBsaWIvaW5qZWN0LnRzIl19
@@ -1,106 +0,0 @@
1
- /* */
2
- /* */
3
- import { _ } from 'tnp-core/browser';
4
- import { Models as ModelsNg2Rest } from 'ng2-rest/browser';
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
- /* */
34
- /* */
35
- /* */
36
- /* */
37
- /* */
38
- /* */
39
- /* */
40
- /* */
41
- /* */
42
- /* */
43
- /* */
44
- /* */
45
- /* */
46
- /* */
47
- return (void 0);
48
- }
49
- }
50
- Models.DatabaseConfig = DatabaseConfig;
51
- class DecoratorAbstractOpt {
52
- }
53
- Models.DecoratorAbstractOpt = DecoratorAbstractOpt;
54
- class ParamConfig {
55
- }
56
- Models.ParamConfig = ParamConfig;
57
- class MethodConfig {
58
- constructor() {
59
- /* */
60
- /* */
61
- this.parameters = {};
62
- }
63
- }
64
- Models.MethodConfig = MethodConfig;
65
- class ControllerConfig extends DecoratorAbstractOpt {
66
- constructor() {
67
- super(...arguments);
68
- this.methods = {};
69
- }
70
- }
71
- Models.ControllerConfig = ControllerConfig;
72
- class RuntimeControllerConfig extends ControllerConfig {
73
- }
74
- Models.RuntimeControllerConfig = RuntimeControllerConfig;
75
- let Http;
76
- (function (Http) {
77
- Http.Rest = ModelsNg2Rest;
78
- class Errors {
79
- constructor(message, code = 400) {
80
- this.message = message;
81
- this.code = code;
82
- this.toString = () => {
83
- return this.message;
84
- };
85
- }
86
- static create(message, code = 400) {
87
- return new Errors(message, code);
88
- }
89
- static entityNotFound(entity) {
90
- return Errors.create(`Entity ${ClassHelpers.getName(entity)} not found`);
91
- }
92
- static custom(message, code = 400) {
93
- return Errors.create(message, code);
94
- }
95
- }
96
- Http.Errors = Errors;
97
- /* */
98
- /* */
99
- /* */
100
- /* */
101
- /* */
102
- })(Http = Models.Http || (Models.Http = {}));
103
- })(Models || (Models = {}));
104
- ;
105
- ({}); // @--end-of-file-for-module=taon lib/models.ts
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdGFvbi9wcm9qZWN0cy90YW9uL3NyYy9saWIvbW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLEtBQUs7QUFDTCxLQUFLO0FBRUwsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxNQUFNLElBQUksYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSXZELE1BQU0sS0FBVyxNQUFNLENBMlZ0QjtBQTNWRCxXQUFpQixNQUFNO0lBU3JCLElBQVksU0FPWDtJQVBELFdBQVksU0FBUztRQUNuQiw4QkFBaUIsQ0FBQTtRQUNqQixzQ0FBeUIsQ0FBQTtRQUN6QixzQ0FBeUIsQ0FBQTtRQUN6QixrQ0FBcUIsQ0FBQTtRQUNyQixzQ0FBeUIsQ0FBQTtRQUN6QixvQ0FBdUIsQ0FBQTtJQUN6QixDQUFDLEVBUFcsU0FBUyxHQUFULGdCQUFTLEtBQVQsZ0JBQVMsUUFPcEI7SUFFWSxtQkFBWSxHQUFHO1FBQzFCLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLFVBQVU7UUFDOUIsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUUsYUFBYTtRQUNyQyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRSxjQUFjO1FBQ3RDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLFdBQVc7UUFDakMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUUsYUFBYTtRQUNyQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRSxZQUFZO0tBR3BDLENBQUM7SUEwQkYsTUFBYSxxQkFBcUI7S0EwQmpDO0lBMUJZLDRCQUFxQix3QkEwQmpDLENBQUE7SUFJRCxNQUFhLGNBQWUsU0FBUSxxQkFBcUI7UUFTdkQsTUFBTSxDQUFDLElBQUksQ0FDVCxxQkFLQztZQUVELE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLGNBQWMsRUFBRSxFQUFFLHFCQUFxQixDQUFDLENBQUM7UUFDOUQsQ0FBQztRQUVELElBQUkscUJBQXFCO1lBQzdCLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0wsS0FBSztZQUNMLEtBQUs7WUFDTCxLQUFLO1lBQ0MsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbEIsQ0FBQztLQUNGO0lBckNZLHFCQUFjLGlCQXFDMUIsQ0FBQTtJQWlGRCxNQUFhLG9CQUFvQjtLQUVoQztJQUZZLDJCQUFvQix1QkFFaEMsQ0FBQTtJQUlELE1BQWEsV0FBVztLQU12QjtJQU5ZLGtCQUFXLGNBTXZCLENBQUE7SUFJRCxNQUFhLFlBQVk7UUFBekI7WUFpQkYsS0FBSztZQUNMLEtBQUs7WUFFRCxlQUFVLEdBQXlDLEVBQUUsQ0FBQztRQUN4RCxDQUFDO0tBQUE7SUFyQlksbUJBQVksZUFxQnhCLENBQUE7SUFJRCxNQUFhLGdCQUFpQixTQUFRLG9CQUFvQjtRQUExRDs7WUFJRSxZQUFPLEdBQTJDLEVBQUUsQ0FBQztRQUN2RCxDQUFDO0tBQUE7SUFMWSx1QkFBZ0IsbUJBSzVCLENBQUE7SUFJRCxNQUFhLHVCQUF3QixTQUFRLGdCQUFnQjtLQUc1RDtJQUhZLDhCQUF1QiwwQkFHbkMsQ0FBQTtJQUlELElBQWlCLElBQUksQ0E2RXBCO0lBN0VELFdBQWlCLElBQUk7UUFDTCxTQUFJLEdBQUcsYUFBYSxDQUFDO1FBdUNuQyxNQUFhLE1BQU07WUFLakIsWUFDUyxPQUFlLEVBQ2QsT0FBK0IsR0FBRztnQkFEbkMsWUFBTyxHQUFQLE9BQU8sQ0FBUTtnQkFDZCxTQUFJLEdBQUosSUFBSSxDQUE4QjtnQkFOckMsYUFBUSxHQUFHLEdBQVcsRUFBRTtvQkFDN0IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO2dCQUN0QixDQUFDLENBQUM7WUFLQyxDQUFDO1lBRUksTUFBTSxDQUFDLE1BQU0sQ0FDbkIsT0FBZSxFQUNmLE9BQStCLEdBQUc7Z0JBRWxDLE9BQU8sSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ25DLENBQUM7WUFFTSxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQWlCO2dCQUM1QyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQ2xCLFVBQVUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUNuRCxDQUFDO1lBQ0osQ0FBQztZQUVNLE1BQU0sQ0FBQyxNQUFNLENBQ2xCLE9BQWUsRUFDZixPQUErQixHQUFHO2dCQUVsQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3RDLENBQUM7U0FDRjtRQTdCWSxXQUFNLFNBNkJsQixDQUFBO1FBRUwsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7SUFFSCxDQUFDLEVBN0VnQixJQUFJLEdBQUosV0FBSSxLQUFKLFdBQUksUUE2RXBCO0FBWUgsQ0FBQyxFQTNWZ0IsTUFBTSxLQUFOLE1BQU0sUUEyVnRCO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQywrQ0FBK0MiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgQ29yZU1vZGVscyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgUmVzcG9uc2UsIFJlcXVlc3RIYW5kbGVyIH0gZnJvbSAnZXhwcmVzcyc7XG5pbXBvcnQgeyAgIFJlc3BvbnNlIGFzIEV4cHJlc3NSZXNwb25zZSwgICBSZXF1ZXN0IGFzIEV4cHJlc3NSZXF1ZXN0LCB9IGZyb20gJ2V4cHJlc3MnOy8qICovXG4vKiAqL1xuLyogKi9cblxuaW1wb3J0IHsgXyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgTW9kZWxzIGFzIE1vZGVsc05nMlJlc3QgfSBmcm9tICduZzItcmVzdC9icm93c2VyJztcbmltcG9ydCB7IENsYXNzSGVscGVycyB9IGZyb20gJy4vaGVscGVycy9jbGFzcy1oZWxwZXJzJztcbmltcG9ydCB0eXBlIHsgVGFvbkNvbnRyb2xsZXJPcHRpb25zIH0gZnJvbSAnLi9kZWNvcmF0b3JzL2NsYXNzZXMvY29udHJvbGxlci1kZWNvcmF0b3InO1xuaW1wb3J0IHR5cGUgeyBUYW9uRW50aXR5T3B0aW9ucyB9IGZyb20gJy4vZGVjb3JhdG9ycy9jbGFzc2VzL2VudGl0eS1kZWNvcmF0b3InO1xuXG5leHBvcnQgbmFtZXNwYWNlIE1vZGVscyB7XG4gIGV4cG9ydCB0eXBlIEZyYW1ld29ya01vZGUgPVxuICAgIHwgJ2JhY2tlbmQtZnJvbnRlbmQodGNwK3VkcCknXG4gICAgfCAncmVtb3RlLWJhY2tlbmQodGNwK3VkcCknXG4gICAgfCAnYmFja2VuZC1mcm9udGVuZChpcGMtZWxlY3Ryb24pJ1xuICAgIHwgJ2JhY2tlbmQtZnJvbnRlbmQod2Vic3FsLWVsZWN0cm9uKSdcbiAgICB8ICdiYWNrZW5kLWZyb250ZW5kKHdlYnNxbCknO1xuXG5cbiAgZXhwb3J0IGVudW0gQ2xhc3NUeXBlIHtcbiAgICBFTlRJVFkgPSAnRU5USVRZJyxcbiAgICBDT05UUk9MTEVSID0gJ0NPTlRST0xMRVInLFxuICAgIFJFUE9TSVRPUlkgPSAnUkVQT1NJVE9SWScsXG4gICAgUFJPVklERVIgPSAnUFJPVklERVInLFxuICAgIFNVQlNDUklCRVIgPSAnU1VCU0NSSUJFUicsXG4gICAgTUlHUkFUSU9OID0gJ01JR1JBVElPTicsXG4gIH1cblxuICBleHBvcnQgY29uc3QgQ2xhc3NUeXBlS2V5ID0ge1xuICAgIFtDbGFzc1R5cGUuRU5USVRZXTogJ2VudGl0aWVzJyxcbiAgICBbQ2xhc3NUeXBlLkNPTlRST0xMRVJdOiAnY29udHJvbGxlcnMnLFxuICAgIFtDbGFzc1R5cGUuUkVQT1NJVE9SWV06ICdyZXBvc2l0b3JpZXMnLFxuICAgIFtDbGFzc1R5cGUuUFJPVklERVJdOiAncHJvdmlkZXJzJyxcbiAgICBbQ2xhc3NUeXBlLlNVQlNDUklCRVJdOiAnc3Vic2NyaWJlcnMnLFxuICAgIFtDbGFzc1R5cGUuTUlHUkFUSU9OXTogJ21pZ3JhdGlvbnMnLFxuICB9IGFzIHtcbiAgICBba2V5IGluIENsYXNzVHlwZV06IGtleW9mIENvbnRleHRPcHRpb25zPGFueSwgYW55LCBhbnksIGFueSwgYW55LCBhbnksIGFueT47XG4gIH07XG5cblxuXG5cbiAgZXhwb3J0IHR5cGUgTWlkZGxld2FyZVR5cGUgPSBbRnVuY3Rpb24sIGFueVtdXTtcblxuXG5cbiAgLyoqXG4gICAqIERST1BfREIrTUlHUkFUSU9OUyAoZGVmYXVsdCBmb3IgZGV2ZWxvcG1lbnQpXG4gICAqIERyb3AgYWxsIHRhYmxlcyArIHJlY3JlYXRlIHRoZW0gKyBydW4gbWlncmF0aW9uc1xuICAgKiBzeW5jaHJvbml6ZTogdHJ1ZSAsIGRyb3BTY2hlbWE6IHRydWVcbiAgICogdXNlIG1pZ3JhdGlvbnM6IHRydWVcbiAgICpcbiAgICogTUlHUkFUSU9OUyAoZGVmYXVsdCBmb3IgcHJvZHVjdGlvbilcbiAgICogRG8gbm90IGRyb3AgdGFibGVzLCBvbmx5IHJ1biBtaWdyYXRpb25zXG4gICAqIHN5bmNocm9uaXplOiBmYWxzZSwgZHJvcFNjaGVtYTogZmFsc2VcbiAgICogdXNlIG1pZ3JhdGlvbnM6IHRydWVcbiAgICovXG4gIGV4cG9ydCB0eXBlIERCUmVjcmVhdGVNb2RlID1cbiAgICB8ICdEUk9QX0RCK01JR1JBVElPTlMnXG4gICAgfCAnUFJFU0VSVkVfREFUQStNSUdSQVRJT05TJztcblxuXG5cbiAgZXhwb3J0IGNsYXNzIERhdGFiYXNlQ29uZmlnVHlwZU9ybSB7XG4gICAgLyoqXG4gICAgICogZGF0YWJhc2UgbmFtZVxuICAgICAqL1xuICAgIGRhdGFiYXNlPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIG9ubHkgZm9yIGZpbGUgYmFzZSBkYjogc3FsaXRlLCBzcWxqc1xuICAgICAqL1xuICAgIGxvY2F0aW9uPzogc3RyaW5nO1xuICAgIHN5bmNocm9uaXplOiBib29sZWFuO1xuICAgIGRyb3BTY2hlbWE6IGJvb2xlYW47XG4gICAgdHlwZT86IENvcmVNb2RlbHMuRGF0YWJhc2VUeXBlO1xuICAgIC8qKlxuICAgICAqIFBlcnNpc3RzIGRiIG9uIGRpc2svbG9jYWwtc3RvcmFnZSBpZiBzZXJ2ZXJsZXNzIGRiXG4gICAgICovXG4gICAgYXV0b1NhdmU/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIGZvciB3ZWJzcWwgZGIgbW9kZVxuICAgICAqIHRydWUgYnkgZGVmYXVsdFxuICAgICAqL1xuICAgIHVzZUxvY2FsRm9yYWdlPzogYm9vbGVhbjtcbiAgICBsb2dnaW5nOiBib29sZWFuO1xuICAgIGRhdGFiYXNlUG9ydD86IG51bWJlcjtcbiAgICBkYXRhYmFzZUhvc3Q/OiBzdHJpbmc7XG4gICAgZGF0YWJhc2VVc2VybmFtZT86IHN0cmluZztcbiAgICBkYXRhYmFzZVBhc3N3b3JkPzogc3RyaW5nO1xuICB9XG5cblxuXG4gIGV4cG9ydCBjbGFzcyBEYXRhYmFzZUNvbmZpZyBleHRlbmRzIERhdGFiYXNlQ29uZmlnVHlwZU9ybSB7XG4gICAgLyoqXG4gICAgICogRGVmYXVsdCB2YWx1ZSAnRFJPUF9BTEwnLlxuICAgICAqXG4gICAgICogVGVsbCBmcmFtZXdvcmsgd2hhdCBpcyBoYXBwZW5pbmcgd2l0aCBkYlxuICAgICAqIHdoZW4gY29udGV4dCBpcyBzdGFydGluZy5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVjcmVhdGVNb2RlPzogREJSZWNyZWF0ZU1vZGU7XG5cbiAgICBzdGF0aWMgZnJvbShcbiAgICAgIGRhdGFiYXNlUGFydGlhbENvbmZpZzogUGFydGlhbDxcbiAgICAgICAgT21pdDxcbiAgICAgICAgICBEYXRhYmFzZUNvbmZpZyxcbiAgICAgICAgICAnc3luY2hyb25pemUnIHwgJ2Ryb3BTY2hlbWEnIHwgJ2RhdGFiYXNlQ29uZmlnVHlwZU9STSdcbiAgICAgICAgPlxuICAgICAgPixcbiAgICApOiBEYXRhYmFzZUNvbmZpZyB7XG4gICAgICByZXR1cm4gXy5tZXJnZShuZXcgRGF0YWJhc2VDb25maWcoKSwgZGF0YWJhc2VQYXJ0aWFsQ29uZmlnKTtcbiAgICB9XG5cbiAgICBnZXQgZGF0YWJhc2VDb25maWdUeXBlT1JNKCk6IERhdGFiYXNlQ29uZmlnVHlwZU9ybSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICAgIHJldHVybiAodm9pZCAwKTtcbiAgICB9XG4gIH1cblxuXG5cblxuICBleHBvcnQgdHlwZSBJU2Vzc2lvbiA9IHtcbiAgICBzZWNyZXQ/OiBzdHJpbmc7XG4gICAgc2F2ZVVuaW5pdGlhbGl6ZWQ/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIG1heCBhZ2Ugb2Ygc2Vzc2lvblxuICAgICAqL1xuICAgIGNvb2tpZU1heEFnZT86IG51bWJlcjtcbiAgICBzZWN1cmU/OiBib29sZWFuO1xuICAgIHJlc2F2ZT86IGJvb2xlYW47XG4gIH07XG5cblxuXG4gIGV4cG9ydCB0eXBlIENvbm5lY3Rpb25PcHRpb25zTG9ncyA9IHtcbiAgICBodHRwPzogYm9vbGVhbjtcbiAgICByZWFsdGltZT86IGJvb2xlYW47XG4gICAgZnJhbWV3b3JrPzogYm9vbGVhbjtcbiAgICBkYj86IGJvb2xlYW47XG4gICAgbWlncmF0aW9ucz86IGJvb2xlYW47XG4gIH07XG4gIGV4cG9ydCBpbnRlcmZhY2UgQ29udGV4dE9wdGlvbnM8XG4gICAgQ09OVEVYVFMsXG4gICAgQ09OVFJPTExFUlMsXG4gICAgRU5USVRJRVMsXG4gICAgUkVQT1NJVE9SSUVTLFxuICAgIFBST1ZJREVSUyxcbiAgICBTVUJTQ1JJQkVSUyxcbiAgICBNSUdSQVRJT05TLFxuICA+IHtcbiAgICBjb250ZXh0TmFtZTogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIGhvc3QvcG9ydCBmb3IgaW5pdGluZyBiYWNrZW5kIHNlcnZlclxuICAgICAqL1xuICAgIGhvc3Q/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogZnJvbnRlbmQgaG9zdCBvbmx5IG5lZWRlZCB3aGVuIHdlIGFyZVxuICAgICAqIHVzaW5nIHdpdGhDcmVkZW50aWFscyBmb3IgYXhpb3NcbiAgICAgKiBhbmQgc2Vzc2lvbiBjb29raWVcbiAgICAgKiBvciByZWFsdGltZSBjb21tdW5pY2F0aW9uXG4gICAgICovXG4gICAgZnJvbnRlbmRIb3N0Pzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIGJhY2tlbmQgd2F5IG9mIGNvbW11bmljYXRpb25cbiAgICAgKiBiZXR3ZWVuIHRhb24gYmFja2VuZHMvcHJvY2Vzc2VzXG4gICAgICovXG4gICAgcmVtb3RlSG9zdD86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBVc2VyIGlwYyBmb3IgY29tbXVuaWNhdGlvbiBiZXR3ZWVuIEJFL0ZFXG4gICAgICogd2hlbiBlbGVjdHJvbiBpcyB1c2VkIGFzIGEgcGxhdGZvcm1cbiAgICAgKiBEZWZhdWx0OiB0cnVlXG4gICAgICovXG4gICAgdXNlSXBjV2hlbkVsZWN0cm9uPzogYm9vbGVhbjtcbiAgICBjb250ZXh0cz86IENPTlRFWFRTO1xuICAgIGNvbnRyb2xsZXJzPzogQ09OVFJPTExFUlM7XG4gICAgZW50aXRpZXM/OiBFTlRJVElFUztcbiAgICByZXBvc2l0b3JpZXM/OiBSRVBPU0lUT1JJRVM7XG4gICAgcHJvdmlkZXJzPzogUFJPVklERVJTO1xuICAgIHN1YnNjcmliZXJzPzogU1VCU0NSSUJFUlM7XG4gICAgbWlncmF0aW9ucz86IE1JR1JBVElPTlM7XG4gICAgc2Vzc2lvbj86IElTZXNzaW9uO1xuICAgIHNraXBXcml0aW5nU2VydmVyUm91dGVzPzogYm9vbGVhbjtcbiAgICBwcm9kdWN0aW9uTW9kZT86IGJvb2xlYW47XG4gICAgYWJzdHJhY3Q/OiBib29sZWFuO1xuICAgIGxvZ3M/OiBib29sZWFuIHwgQ29ubmVjdGlvbk9wdGlvbnNMb2dzO1xuICAgIGRhdGFiYXNlPzogYm9vbGVhbiB8IFBhcnRpYWw8RGF0YWJhc2VDb25maWc+O1xuICAgIGRpc2FibGVkUmVhbHRpbWU/OiBib29sZWFuO1xuICAgIGh0dHBzPzoge1xuICAgICAga2V5OiBzdHJpbmc7XG4gICAgICBjZXJ0OiBzdHJpbmc7XG4gICAgfTtcbiAgICBwdWJsaWNBc3NldHM/OiB7IHNlcnZlclBhdGg6IHN0cmluZzsgbG9jYXRpb25PbkRpc2s6IHN0cmluZyB9W107XG4gICAgbWlkZGxld2FyZXM/OiBNaWRkbGV3YXJlVHlwZVtdO1xuICB9XG5cblxuXG4gIGV4cG9ydCBjbGFzcyBEZWNvcmF0b3JBYnN0cmFjdE9wdCB7XG4gICAgY2xhc3NOYW1lOiBzdHJpbmc7XG4gIH1cblxuXG5cbiAgZXhwb3J0IGNsYXNzIFBhcmFtQ29uZmlnIHtcbiAgICBwYXJhbU5hbWU6IHN0cmluZztcbiAgICBwYXJhbVR5cGU6IENvcmVNb2RlbHMuUGFyYW1UeXBlO1xuICAgIGluZGV4OiBudW1iZXI7XG4gICAgZGVmYXVsdFR5cGU6IGFueTtcbiAgICBleHBpcmVJblNlY29uZHM/OiBudW1iZXI7XG4gIH1cblxuXG5cbiAgZXhwb3J0IGNsYXNzIE1ldGhvZENvbmZpZyB7XG4gICAgbWV0aG9kTmFtZTogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIHBhdGggaXMgZ2xvYmFsIGluIGV4cHJlc3MgYXBwXG4gICAgICovXG4gICAgZ2xvYmFsPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBvdmVycmlkZSBkZWZhdWx0IGNvbnRlbnQgdHlwZVxuICAgICAqL1xuICAgIGNvbnRlbnRUeXBlPzogYW55O1xuICAgIC8qKlxuICAgICAqIG92ZXJyaWRlIGRlZmF1bHQgYXhpc28gcmVzcG9uc2UgdHlwZVxuICAgICAqL1xuICAgIHJlc3BvbnNlVHlwZT86IGFueTtcbiAgICBwYXRoOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRvcjogUHJvcGVydHlEZXNjcmlwdG9yO1xuICAgIHR5cGU6IENvcmVNb2RlbHMuSHR0cE1ldGhvZDtcbi8qICovXG4vKiAqL1xuICBcbiAgICBwYXJhbWV0ZXJzOiB7IFtwYXJhbU5hbWU6IHN0cmluZ106IFBhcmFtQ29uZmlnIH0gPSB7fTtcbiAgfVxuXG5cblxuICBleHBvcnQgY2xhc3MgQ29udHJvbGxlckNvbmZpZyBleHRlbmRzIERlY29yYXRvckFic3RyYWN0T3B0IHtcbiAgICByZWFsdGltZT86IGJvb2xlYW47XG4gICAgcGF0aDogc3RyaW5nO1xuICAgIHVuaXF1ZUtleT86IHN0cmluZztcbiAgICBtZXRob2RzOiB7IFttZXRob2ROYW1lOiBzdHJpbmddOiBNZXRob2RDb25maWcgfSA9IHt9O1xuICB9XG5cblxuXG4gIGV4cG9ydCBjbGFzcyBSdW50aW1lQ29udHJvbGxlckNvbmZpZyBleHRlbmRzIENvbnRyb2xsZXJDb25maWcge1xuICAgIGNhbGN1bGF0ZWRQYXRoPzogc3RyaW5nO1xuICAgIGJyb3dzZXJUcmFuc2Zvcm1Gbj86IChlbnRpdHk6IGFueSkgPT4gYW55O1xuICB9XG5cblxuXG4gIGV4cG9ydCBuYW1lc3BhY2UgSHR0cCB7XG4gICAgZXhwb3J0IGltcG9ydCBSZXN0ID0gTW9kZWxzTmcyUmVzdDtcblxuICAgIGV4cG9ydCB0eXBlIENvbnRleHRFTkRQT0lOVCA9IHsgdGFyZ2V0OiBGdW5jdGlvbjsgaW5pdEZOOiBGdW5jdGlvbiB9O1xuXG4gICAgZXhwb3J0IHR5cGUgRm9ybWx5RnJvbVR5cGUgPSAnbWF0ZXJpYWwnIHwgJ2Jvb3RzdHJhcCc7XG5cbiAgICBleHBvcnQgdHlwZSBFeHByZXNzQ29udGV4dDxUPiA9IChcbiAgICAgIHJlcTogRXhwcmVzc1JlcXVlc3QsXG4gICAgICByZXM6IEV4cHJlc3NSZXNwb25zZSxcbiAgICApID0+IFQ7XG5cbiAgICBleHBvcnQgdHlwZSBTeW5jUmVzcG9uc2U8VD4gPSBzdHJpbmcgfCBUO1xuXG4gICAgZXhwb3J0IHR5cGUgUmVzcG9uc2VGdW5jT3B0PFQ+ID0ge1xuICAgICAgbGltaXRTaXplPzogKFxuICAgICAgICBlbnRpZXM6IEZ1bmN0aW9uIHwgRnVuY3Rpb25bXSxcbiAgICAgICAgaW5jbHVkZTogc3RyaW5nW10sXG4gICAgICAgIGV4Y2x1ZGU6IHN0cmluZ1tdLFxuICAgICAgKSA9PiB2b2lkO1xuICAgIH07XG5cbiAgICBleHBvcnQgdHlwZSBTeW5jUmVzcG9uc2VGdW5jPFQ+ID0gKFxuICAgICAgb3B0aW9ucz86IFJlc3BvbnNlRnVuY09wdDxUPixcbiAgICApID0+IFN5bmNSZXNwb25zZTxUPjtcbiAgICBleHBvcnQgdHlwZSBNaXhSZXNwb25zZTxUPiA9IFN5bmNSZXNwb25zZTxUPiB8IEV4cHJlc3NDb250ZXh0PFQ+O1xuXG4gICAgZXhwb3J0IGludGVyZmFjZSBDbGllbnRBY3Rpb248VD4ge1xuICAgICAgcmVjZWl2ZWQ/OiBSZXN0LlByb21pc2VPYnNlcnZhYmxlTWl4PFJlc3QuSHR0cFJlc3BvbnNlPFQ+PjtcbiAgICB9XG5cbiAgICBleHBvcnQgaW50ZXJmYWNlIEFzeW5jUmVzcG9uc2U8VD4ge1xuICAgICAgKFxuICAgICAgICByZXE/OiBFeHByZXNzUmVxdWVzdCxcbiAgICAgICAgcmVzPzogRXhwcmVzc1Jlc3BvbnNlLFxuICAgICAgKTogUHJvbWlzZTxTeW5jUmVzcG9uc2U8VD4gfCBTeW5jUmVzcG9uc2VGdW5jPFQ+PjtcbiAgICB9XG5cbiAgICBleHBvcnQgdHlwZSBSZXNwb25zZTxUID0gc3RyaW5nPiA9IEFzeW5jUmVzcG9uc2U8VD4gJiBDbGllbnRBY3Rpb248VD47XG5cbiAgICBleHBvcnQgY2xhc3MgRXJyb3JzIHtcbiAgICAgIHB1YmxpYyB0b1N0cmluZyA9ICgpOiBzdHJpbmcgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5tZXNzYWdlO1xuICAgICAgfTtcblxuICAgICAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIG1lc3NhZ2U6IHN0cmluZyxcbiAgICAgICAgcHJpdmF0ZSBjb2RlOiBNb2RlbHNOZzJSZXN0Lkh0dHBDb2RlID0gNDAwLFxuICAgICAgKSB7fVxuXG4gICAgICBwcml2YXRlIHN0YXRpYyBjcmVhdGUoXG4gICAgICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgICAgICAgY29kZTogTW9kZWxzTmcyUmVzdC5IdHRwQ29kZSA9IDQwMCxcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gbmV3IEVycm9ycyhtZXNzYWdlLCBjb2RlKTtcbiAgICAgIH1cblxuICAgICAgcHVibGljIHN0YXRpYyBlbnRpdHlOb3RGb3VuZChlbnRpdHk/OiBGdW5jdGlvbikge1xuICAgICAgICByZXR1cm4gRXJyb3JzLmNyZWF0ZShcbiAgICAgICAgICBgRW50aXR5ICR7Q2xhc3NIZWxwZXJzLmdldE5hbWUoZW50aXR5KX0gbm90IGZvdW5kYCxcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgcHVibGljIHN0YXRpYyBjdXN0b20oXG4gICAgICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgICAgICAgY29kZTogTW9kZWxzTmcyUmVzdC5IdHRwQ29kZSA9IDQwMCxcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gRXJyb3JzLmNyZWF0ZShtZXNzYWdlLCBjb2RlKTtcbiAgICAgIH1cbiAgICB9XG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG5cblxuICBleHBvcnQgaW50ZXJmYWNlIFN0YXJ0UGFyYW1zIHtcbiAgICBwb3J0OiBudW1iZXI7XG4gICAgYXJnczogc3RyaW5nW107XG4gICAgb25seU1pZ3JhdGlvblJ1bj86IGJvb2xlYW47XG4gICAgb25seU1pZ3JhdGlvblJldmVydFRvVGltZXN0YW1wPzogbnVtYmVyO1xuICB9XG5cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dGFvbiBsaWIvbW9kZWxzLnRzIl19
@@ -1,6 +0,0 @@
1
- /* */
2
- /* */
3
- ;
4
- ({}); // @--end-of-file-for-module=taon lib/orm.ts
5
- export {};
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdGFvbi9wcm9qZWN0cy90YW9uL3NyYy9saWIvb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLEtBQUs7QUFDTCxLQUFLO0FBa0ZKLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsNENBQTRDIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbi8qICovXG4vKiAqL1xuICBcbmltcG9ydCB7IF8gfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcblxuXG5leHBvcnQgbmFtZXNwYWNlIE9ybSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG59XG5cblxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dGFvbiBsaWIvb3JtLnRzIl19
@@ -1,141 +0,0 @@
1
- import { _ } from 'tnp-core/browser';
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhbHRpbWUtY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdGFvbi9wcm9qZWN0cy90YW9uL3NyYy9saWIvcmVhbHRpbWUvcmVhbHRpbWUtY2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBTTlELE1BQU0sT0FBTyxjQUFjO0lBRXpCLFlBQW9CLElBQWtCO1FBQWxCLFNBQUksR0FBSixJQUFJLENBQWM7UUFEOUIsaUJBQVksR0FBNEMsRUFBRSxDQUFDO1FBRWpFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFFL0IsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRWQsQ0FBQztJQUNILENBQUM7SUFHTyxJQUFJO1FBRVYsTUFBTSxPQUFPLEdBQUc7WUFDZCxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDM0IsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUN6QixPQUFPLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FDdEQ7U0FDRixDQUFDO1FBR0YsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVztZQUN2QixPQUFPLENBQUMsSUFBSSxDQUNW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RSxVQUFVLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBSU8sZ0NBQWdDLENBQUMsT0FBc0M7UUFDN0UsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0MsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsSUFBSSxHQUFHLENBQUMsTUFBTSxJQUFJLE9BQU8sQ0FBQyxRQUFRLElBQUksT0FBTyxDQUFDLFFBQVEsSUFBSSxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckgsQ0FBQztDQUVGO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxpRUFBaUUiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuXG5pbXBvcnQgeyBfIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5pbXBvcnQgeyBSZWFsdGltZUNvcmUgfSBmcm9tICcuL3JlYWx0aW1lLWNvcmUnO1xuaW1wb3J0IHsgU3ltYm9scyB9IGZyb20gJy4uL3N5bWJvbHMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ2xhc3NIZWxwZXJzIH0gZnJvbSAnLi4vaGVscGVycy9jbGFzcy1oZWxwZXJzJztcbmltcG9ydCB7IFJlYWx0aW1lU3Vic01hbmFnZXIgfSBmcm9tICcuL3JlYWx0aW1lLXN1YnMtbWFuYWdlcic7XG5pbXBvcnQgeyBSZWFsdGltZU1vZGVscyB9IGZyb20gJy4vcmVhbHRpbWUubW9kZWxzJztcbmltcG9ydCB0eXBlIHsgQmFzZUVudGl0eSB9IGZyb20gJy4uL2Jhc2UtY2xhc3Nlcy9iYXNlLWVudGl0eSc7XG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5cblxuZXhwb3J0IGNsYXNzIFJlYWx0aW1lQ2xpZW50IHtcbiAgcHJpdmF0ZSBzdWJzTWFuYWdlcnM6IHsgW3BhdGg6IHN0cmluZ106IFJlYWx0aW1lU3Vic01hbmFnZXIgfSA9IHt9O1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvcmU6IFJlYWx0aW1lQ29yZSkge1xuICAgIHRoaXMuY29yZSA9IGNvcmU7XG4gICAgaWYgKCFjb3JlLmN0eC5kaXNhYmxlZFJlYWx0aW1lKSB7XG5cbiAgICAgIHRoaXMuaW5pdCgpO1xuXG4gICAgfVxuICB9XG5cblxuICBwcml2YXRlIGluaXQoKSB7XG5cbiAgICBjb25zdCBuc3BQYXRoID0ge1xuICAgICAgZ2xvYmFsOiB0aGlzLmNvcmUucGF0aEZvcigpLFxuICAgICAgcmVhbHRpbWU6IHRoaXMuY29yZS5wYXRoRm9yKFxuICAgICAgICBTeW1ib2xzLlJFQUxUSU1FLk5BTUVTUEFDRSh0aGlzLmNvcmUuY3R4LmNvbnRleHROYW1lKSxcbiAgICAgICksXG4gICAgfTtcblxuXG4gICAgdGhpcy5jb3JlLmN0eC5sb2dSZWFsdGltZSAmJlxuICAgICAgY29uc29sZS5pbmZvKFxuICAgICAgICAnW0NMSUVOVF0gTkFNRVNQQUNFIEdMT0JBTCAnLFxuICAgICAgICBuc3BQYXRoLmdsb2JhbC5ocmVmICsgYCBob3N0OiAke3RoaXMuY29yZS5jdHguaG9zdH1gLFxuICAgICAgKTtcblxuICAgIHRoaXMuY29yZS5jdHgubG9nUmVhbHRpbWUgJiZcbiAgICAgIGNvbnNvbGUuaW5mbyhcbiAgICAgICAgJ1tDTElFTlRdIE5BTUVTUEFDRSBSRUFMVElNRScsXG4gICAgICAgIG5zcFBhdGgucmVhbHRpbWUuaHJlZiArIGAgaG9zdDogJHt0aGlzLmNvcmUuY3R4Lmhvc3R9YCxcbiAgICAgICk7XG5cblxuXG4gICAgdGhpcy5jb3JlLmNvbmVjdFNvY2tldEZFID0gdGhpcy5jb3JlLnN0cmF0ZWd5LmlvQ2xpZW50KFxuICAgICAgbnNwUGF0aC5nbG9iYWwub3JpZ2luLFxuICAgICAge1xuICAgICAgICBwYXRoOiBuc3BQYXRoLmdsb2JhbC5wYXRobmFtZSxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIGlmICh0aGlzLmNvcmUuY29uZWN0U29ja2V0RkUub24pIHtcbiAgICAgIHRoaXMuY29yZS5jb25lY3RTb2NrZXRGRS5vbignY29ubmVjdCcsICgpID0+IHtcblxuXG5cbiAgICAgICAgdGhpcy5jb3JlLmN0eC5sb2dSZWFsdGltZSAmJlxuICAgICAgICAgIGNvbnNvbGUuaW5mbyhcbiAgICAgICAgICAgIGBbQ0xJRU5UXSBjb25uZWN0ZWQgdG8gR0xPQkFMIG5hbWVzcGFjZSAke25zcFBhdGguZ2xvYmFsLnBhdGhuYW1lfWAgK1xuICAgICAgICAgICAgICBgIG9mIGhvc3Q6ICR7dGhpcy5jb3JlLmN0eC5ob3N0fWAsXG4gICAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIH1cblxuXG5cblxuICAgIHRoaXMuY29yZS5zb2NrZXRGRSA9IHRoaXMuY29yZS5zdHJhdGVneS5pb0NsaWVudChuc3BQYXRoLnJlYWx0aW1lLm9yaWdpbiwge1xuICAgICAgcGF0aDogbnNwUGF0aC5yZWFsdGltZS5wYXRobmFtZSxcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLmNvcmUuc29ja2V0RkUub24pIHtcbiAgICAgIHRoaXMuY29yZS5zb2NrZXRGRS5vbignY29ubmVjdCcsICgpID0+IHtcblxuXG5cbiAgICAgICAgdGhpcy5jb3JlLmN0eC5sb2dSZWFsdGltZSAmJlxuICAgICAgICAgIGNvbnNvbGUuaW5mbyhcbiAgICAgICAgICAgIGBbQ0xJRU5UXSBjb25uZWN0ZWQgdG8gUkVBTFRJTUUgbmFtZXNwYWNlICR7bnNwUGF0aC5yZWFsdGltZS5wYXRobmFtZX1gICtcbiAgICAgICAgICAgICAgYCBob3N0OiAke3RoaXMuY29yZS5jdHguaG9zdH1gLFxuICAgICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9XG5cblxuICB9XG5cblxuXG4gIC8qKlxuICAgKiBDaGFuZ2VzIHRyaWdnZXIgb24gYmFja2VuZCBuZWVkcyB0byBiZSBkb25lIG1hbnVhbGx5Li4gZXhhbXBsZSBjb2RlOlxuICAgKlxuICAgKiAuLi5cbiAgICogQ29udGV4dC5SZWFsdGltZS5TZXJ2ZXIuVHJpZ2dnZXJFbnRpdHlDaGFuZ2VzKG15RW50aXR5SW5zdGFuY2UpO1xuICAgKiAuLi5cbiAgICovXG4gIGxpc3RlbkNoYW5nZXNFbnRpdHkoXG4gICAgZW50aXR5Q2xhc3NGbjogRnVuY3Rpb24sXG4gICAgaWRPclVuaXFWYWx1ZTogYW55LFxuICAgIG9wdGlvbnM6IFJlYWx0aW1lTW9kZWxzLkNoYW5nZU9wdGlvbixcbiAgKSB7XG4gICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwgKHt9IGFzIGFueSk7XG5cblxuICAgIGNvbnN0IHsgcHJvcGVydHksIGN1c3RvbUV2ZW50IH0gPSBvcHRpb25zO1xuICAgIGNvbnN0IGNsYXNzTmFtZSA9ICFjdXN0b21FdmVudCAmJiBDbGFzc0hlbHBlcnMuZ2V0TmFtZShlbnRpdHlDbGFzc0ZuKTtcblxuICAgIGlmIChfLmlzU3RyaW5nKHByb3BlcnR5KSkge1xuICAgICAgaWYgKHByb3BlcnR5LnRyaW0oKSA9PT0gJycpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBbVGFvbl1bbGlzdGVuQ2hhbmdlc0VudGl0eS4uIGluY29yZWN0IHByb3BlcnR5ICcnIGZvciAke2NsYXNzTmFtZX1gLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKG9ic2VydmVyID0+IHtcblxuXG4gICAgICBpZiAodGhpcy5jb3JlLmN0eC5kaXNhYmxlZFJlYWx0aW1lKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYFtUYW9uXVtyZWFsdGltZSByeGpzXSByZW1vdmUgdGFvbiBjb25maWcgZmxhZzpcblxuICAgICAgICAuLi5cbiAgICAgICAgZGlzYWJsZWRSZWFsdGltZTogdHJ1ZVxuICAgICAgICAuLi5cblxudG8gdXNlIHNvY2tldCByZWFsdGltZSBjb25uZWN0aW9uO1xuICAgICAgICBgKTtcbiAgICAgICAgcmV0dXJuICgpID0+IHtcblxuICAgICAgICB9O1xuICAgICAgfVxuXG4gICAgICBsZXQgcm9vbU5hbWU6IHN0cmluZztcblxuICAgICAgaWYgKGN1c3RvbUV2ZW50KSB7XG4gICAgICAgIHJvb21OYW1lID0gU3ltYm9scy5SRUFMVElNRS5ST09NX05BTUVfQ1VTVE9NKFxuICAgICAgICAgIHRoaXMuY29yZS5jdHguY29udGV4dE5hbWUsXG4gICAgICAgICAgY3VzdG9tRXZlbnQsXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByb29tTmFtZSA9IF8uaXNTdHJpbmcocHJvcGVydHkpXG4gICAgICAgICAgPyBTeW1ib2xzLlJFQUxUSU1FLlJPT01fTkFNRV9VUERBVEVfRU5USVRZX1BST1BFUlRZKFxuICAgICAgICAgICAgICB0aGlzLmNvcmUuY3R4LmNvbnRleHROYW1lLFxuICAgICAgICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgICAgICAgIHByb3BlcnR5LFxuICAgICAgICAgICAgICBpZE9yVW5pcVZhbHVlLFxuICAgICAgICAgICAgKVxuICAgICAgICAgIDogU3ltYm9scy5SRUFMVElNRS5ST09NX05BTUVfVVBEQVRFX0VOVElUWShcbiAgICAgICAgICAgICAgdGhpcy5jb3JlLmN0eC5jb250ZXh0TmFtZSxcbiAgICAgICAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgICAgICAgICBpZE9yVW5pcVZhbHVlLFxuICAgICAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgcm9vbVN1Yk9wdGlvbnM6IFJlYWx0aW1lTW9kZWxzLlN1YnNNYW5hZ2VyT3B0ID0ge1xuICAgICAgICBjb3JlOiB0aGlzLmNvcmUsXG4gICAgICAgIHByb3BlcnR5LFxuICAgICAgICByb29tTmFtZSxcbiAgICAgICAgY3VzdG9tRXZlbnQsXG4gICAgICB9O1xuXG5cbiAgICAgIGNvbnN0IHN1Yk1hbmFnZXJJZCA9IHRoaXMuZ2V0VW5pcXVlSWRlbnRpZmllckZvckNvbm5lY3Rpb24ocm9vbVN1Yk9wdGlvbnMpO1xuICAgICAgaWYgKCF0aGlzLnN1YnNNYW5hZ2Vyc1tzdWJNYW5hZ2VySWRdKSB7XG4gICAgICAgIHRoaXMuc3Vic01hbmFnZXJzW3N1Yk1hbmFnZXJJZF0gPSBuZXcgUmVhbHRpbWVTdWJzTWFuYWdlcihcbiAgICAgICAgICByb29tU3ViT3B0aW9ucyxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGluc3QgPSB0aGlzLnN1YnNNYW5hZ2Vyc1tzdWJNYW5hZ2VySWRdO1xuICAgICAgaW5zdC5hZGQob2JzZXJ2ZXIpO1xuXG4gICAgICBpbnN0LnN0YXJ0TGlzdGVuSWZOb3RTdGFydGVkKHRoaXMuY29yZS5zb2NrZXRGRSk7XG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIGluc3QucmVtb3ZlKG9ic2VydmVyKTtcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuXG5cblxuICBsaXN0ZW5DaGFuZ2VzRW50aXR5VGFibGUoZW50aXR5Q2xhc3NGbjogRnVuY3Rpb24pIHtcbiAgICBjb25zdCBjbGFzc05hbWUgPSBDbGFzc0hlbHBlcnMuZ2V0TmFtZShlbnRpdHlDbGFzc0ZuKTtcbiAgICByZXR1cm4gdGhpcy5saXN0ZW5DaGFuZ2VzRW50aXR5KGVudGl0eUNsYXNzRm4sIHZvaWQgMCwge1xuICAgICAgY3VzdG9tRXZlbnQ6IFN5bWJvbHMuUkVBTFRJTUUuVEFCTEVfQ0hBTkdFKFxuICAgICAgICB0aGlzLmNvcmUuY3R4LmNvbnRleHROYW1lLFxuICAgICAgICBjbGFzc05hbWUsXG4gICAgICApLFxuICAgIH0pO1xuICB9XG5cblxuXG5cbiAgLyoqXG4gICAqIENoYW5nZXMgdHJpZ2dlciBvbiBiYWNrZW5kIG5lZWRzIHRvIGJlIGRvbmUgbWFudWFsbHkuLiBleGFtcGxlIGNvZGU6XG4gICAqXG4gICAqIC4uLlxuICAgKiBDb250ZXh0LlJlYWx0aW1lLlNlcnZlci5UcmlnZ2dlckVudGl0eUNoYW5nZXMobXlFbnRpdHlJbnN0YW5jZSk7XG4gICAqIC8vIG9yXG4gICAqIENvbnRleHQuUmVhbHRpbWUuU2VydmVyLlRyaWdnZ2VyRW50aXR5UHJvcGVydHlDaGFuZ2VzKG15RW50aXR5SW5zdGFuY2UseyBwcm9wZXJ0eTogJ2dlb2xvY2F0aW9uWCcgfSk7XG4gICAqIC4uLlxuICAgKi9cbiAgbGlzdGVuQ2hhbmdlc0VudGl0eU9iajxUIGV4dGVuZHMgQmFzZUVudGl0eT4oXG4gICAgZW50aXR5OiBULFxuICAgIG9wdGlvbnM/OiBSZWFsdGltZU1vZGVscy5DaGFuZ2VPcHRpb24sXG4gICkge1xuICAgIGNvbnN0IGNsYXNzRm4gPSBDbGFzc0hlbHBlcnMuZ2V0Q2xhc3NGbkZyb21PYmplY3QoZW50aXR5KTtcbiAgICBjb25zdCB1bmlxdWVLZXkgPSBDbGFzc0hlbHBlcnMuZ2V0VW5pcXVlS2V5KGNsYXNzRm4pO1xuICAgIHJldHVybiB0aGlzLmxpc3RlbkNoYW5nZXNFbnRpdHkoY2xhc3NGbiwgZW50aXR5W3VuaXF1ZUtleV0sIG9wdGlvbnMpO1xuICB9XG5cblxuXG4gIGxpc3RlbkNoYW5nZXNDdXN0b21FdmVudChjdXN0b21FdmVudDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMubGlzdGVuQ2hhbmdlc0VudGl0eSh2b2lkIDAsIHZvaWQgMCwge1xuICAgICAgY3VzdG9tRXZlbnQsXG4gICAgfSk7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIFRyaWdnZXIgY3VzdG9tIGV2ZW50IG9uIGJhY2tlbmRcbiAgICogQHBhcmFtIGN1c3RvbUV2ZW50IGdsb2JhbCBldmVudCBuYW1lXG4gICAqIEBwYXJhbSBkYXRhVG9QdXNoXG4gICAqL1xuICBwdWJsaWMgdHJpZ2dlckN1c3RvbUV2ZW50KGN1c3RvbUV2ZW50OiBzdHJpbmcsIGRhdGFUb1B1c2g/OiBhbnkpIHtcbiAgICB0aGlzLmNvcmUuc29ja2V0RkUuZW1pdChjdXN0b21FdmVudCwgZGF0YVRvUHVzaCk7XG4gIH1cblxuXG5cbiAgcHJpdmF0ZSBnZXRVbmlxdWVJZGVudGlmaWVyRm9yQ29ubmVjdGlvbihvcHRpb25zOiBSZWFsdGltZU1vZGVscy5TdWJzTWFuYWdlck9wdCkge1xuICAgIGNvbnN0IHVybCA9IG5ldyBVUkwob3B0aW9ucy5jb3JlLmN0eC5ob3N0KTtcbiAgICByZXR1cm4gYCR7dGhpcy5jb3JlLmN0eC5jb250ZXh0TmFtZX06JHt1cmwub3JpZ2lufXwke29wdGlvbnMucm9vbU5hbWV9fCR7b3B0aW9ucy5wcm9wZXJ0eX18JHtvcHRpb25zLmN1c3RvbUV2ZW50fWA7XG4gIH1cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dGFvbiBsaWIvcmVhbHRpbWUvcmVhbHRpbWUtY2xpZW50LnRzIl19
@@ -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/browser';
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhbHRpbWUtY29yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L3Rhb24vcHJvamVjdHMvdGFvbi9zcmMvbGliL3JlYWx0aW1lL3JlYWx0aW1lLWNvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVuRCxPQUFPLEVBQUksbUJBQW1CLEVBQUksb0JBQW9CLEVBQUksd0JBQXdCLEdBQUcsTUFBTSxxQkFBcUIsQ0FBQyxDQUFBLEtBQUs7QUFPdEgsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRzNDOzs7Ozs7R0FNRztBQUNILE1BQU0sT0FBTyxZQUFZO0lBNEN2QixZQUFtQixHQUFvQjtRQUFwQixRQUFHLEdBQUgsR0FBRyxDQUFpQjtRQTFDOUIsbUJBQWMsR0FBRztZQUN4QixLQUFLO1lBQ0wsTUFBTTtZQUNOLEtBQUs7WUFDTCxRQUFRO1lBQ1IsT0FBTztZQUNQLFNBQVM7WUFDVCxNQUFNO1NBQ1AsQ0FBQztRQW1DQSxJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNmLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXZDLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVztZQUNsQixPQUFPLENBQUMsR0FBRyxDQUFDLDZCQUE2QixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUM1RCxJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRXZDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFekMsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsQ0FBQztJQUNILENBQUM7SUFJTyxlQUFlO1FBQ3JCLElBQ0UsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssMEJBQTBCO1lBQzVDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxLQUFLLG1DQUFtQyxFQUNyRCxDQUFDO1lBRUQsT0FBTyxJQUFJLG9CQUFvQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QyxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxnQ0FBZ0MsRUFBRSxDQUFDO1lBQ3ZELE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0MsQ0FBQztRQU9ELE9BQU8sSUFBSSx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUlNLE9BQU8sQ0FBQyxTQUFrQjtRQUMvQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQztRQUV6QixJQUFJLEdBQUcsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3JDLEdBQUcsR0FBRyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUM3QixNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsUUFBUSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzFELElBQUksTUFBTSxHQUFHLGFBQWEsQ0FBQztRQUMzQixJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN2QixNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2QsQ0FBQztRQUNELE1BQU0sSUFBSSxHQUFHLEdBQUcsR0FBRyxDQUFDLE1BQU0sR0FBRyxRQUFRLElBQUksTUFBTSxHQUFHLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBRXBGLE9BQU8sSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFRLENBQUM7SUFDOUIsQ0FBQztDQUVGO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQywrREFBK0QiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuXG5pbXBvcnQgeyBTb2NrZXQgYXMgU29ja2V0Q2xpZW50IH0gZnJvbSAnc29ja2V0LmlvLWNsaWVudCc7XG5pbXBvcnQgdHlwZSB7IEVuZHBvaW50Q29udGV4dCB9IGZyb20gJy4uL2VuZHBvaW50LWNvbnRleHQnO1xuaW1wb3J0IHsgUmVhbHRpbWVDbGllbnQgfSBmcm9tICcuL3JlYWx0aW1lLWNsaWVudCc7XG5pbXBvcnQgeyBSZWFsdGltZVNlcnZlciB9IGZyb20gJy4vcmVhbHRpbWUtc2VydmVyJztcbmltcG9ydCB0eXBlIHsgUmVhbHRpbWVTdHJhdGVneSB9IGZyb20gJy4vcmVhbHRpbWUtc3RyYXRlZ3knO1xuaW1wb3J0IHsgICBSZWFsdGltZVN0cmF0ZWd5SXBjLCAgIFJlYWx0aW1lU3RyYXRlZ3lNb2NrLCAgIFJlYWx0aW1lU3RyYXRlZ3lTb2NrZXRJTywgfSBmcm9tICcuL3JlYWx0aW1lLXN0cmF0ZWd5JzsvKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuXG5pbXBvcnQgeyBEZWZhdWx0RXZlbnRzTWFwIH0gZnJvbSAnc29ja2V0LmlvL2Rpc3QvdHlwZWQtZXZlbnRzJztcbmltcG9ydCB7IFNlcnZlciB9IGZyb20gJ3NvY2tldC5pbyc7XG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5cblxuLyoqXG4gKiBSZWFsdGltZSBjbGFzc1xuICogLSBtb2NrICh3aGVuIGJyb3dzZXItYnJvd3NlcilcbiAqIC0gc29ja2V0cyAoZnJvbSBzb2NrZXQgaW8gd2hlbiBiYWNrZW5kLWJyb3dzZXIpXG4gKiAtIGlwYyAod2hlbiBlbGVjdHJvbiBpcyB1c2VkIG9yIGJldHdlZW4gcHJvY2Vzc2VzKVxuICogLSB3ZWJ3b3JrZXIgKHdoZW4gd2Vid29ya2VyIGlzIHVzZWQgaW4gYnJvd3NlciBvciBub2RlanMpXG4gKi9cbmV4cG9ydCBjbGFzcyBSZWFsdGltZUNvcmUge1xuXG4gIHJlYWRvbmx5IGFsbEh0dHBNZXRob2RzID0gW1xuICAgICdHRVQnLFxuICAgICdQT1NUJyxcbiAgICAnUFVUJyxcbiAgICAnREVMRVRFJyxcbiAgICAnUEFUQ0gnLFxuICAgICdPUFRJT05TJyxcbiAgICAnSEVBRCcsXG4gIF07XG4gIHB1YmxpYyByZWFkb25seSBjbGllbnQ6IFJlYWx0aW1lQ2xpZW50O1xuICBwdWJsaWMgcmVhZG9ubHkgc2VydmVyOiBSZWFsdGltZVNlcnZlcjtcbiAgcHVibGljIHJlYWRvbmx5IHN0cmF0ZWd5OiBSZWFsdGltZVN0cmF0ZWd5O1xuXG4gIC8qKlxuICAgKiBnbG9iYWwgRkUgc29ja2V0IC0gb25seSBmb3IgZXN0YWJsaXNoZWQgY29ubmVjdGlvblxuICAgKi9cbiAgcHVibGljIGNvbmVjdFNvY2tldEZFOiBTb2NrZXRDbGllbnQ8RGVmYXVsdEV2ZW50c01hcCwgRGVmYXVsdEV2ZW50c01hcD47XG4gIC8qKlxuICAgKiBzb2NrZXQgZm9yIG5hbWVzcGFjZXMgYW5kIHJvb21zXG4gICAqL1xuICBwdWJsaWMgc29ja2V0RkU6IFNvY2tldENsaWVudDxEZWZhdWx0RXZlbnRzTWFwLCBEZWZhdWx0RXZlbnRzTWFwPjtcbiAgLyoqXG4gICAqIGdsb2JhbCBCRSBzb2NrZXQgLSBvbmx5IGZvciBlc3RhYmxpc2hlZCBjb25uZWN0aW9uXG4gICAqL1xuICBwdWJsaWMgY29ubmVjdFNvY2tldEJFOiBTZXJ2ZXI8XG4gICAgRGVmYXVsdEV2ZW50c01hcCxcbiAgICBEZWZhdWx0RXZlbnRzTWFwLFxuICAgIERlZmF1bHRFdmVudHNNYXAsXG4gICAgYW55XG4gID47XG4gIC8qKlxuICAgKiBzb2NrZXQgZm9yIG5hbWVzcGFjZXMgYW5kIHJvb21zXG4gICAqL1xuICBwdWJsaWMgc29ja2V0QkU6IFNlcnZlcjxcbiAgICBEZWZhdWx0RXZlbnRzTWFwLFxuICAgIERlZmF1bHRFdmVudHNNYXAsXG4gICAgRGVmYXVsdEV2ZW50c01hcCxcbiAgICBhbnlcbiAgPjtcblxuXG5cbiAgY29uc3RydWN0b3IocHVibGljIGN0eDogRW5kcG9pbnRDb250ZXh0KSB7XG4gICAgdGhpcy5jdHggPSBjdHg7XG4gICAgdGhpcy5zdHJhdGVneSA9IHRoaXMucmVzb2x2ZVN0cmF0ZWd5KCk7XG5cbiAgICB0aGlzLmN0eC5sb2dSZWFsdGltZSAmJlxuICAgICAgY29uc29sZS5sb2coYFt0YW9uXSByZWFsdGltZSBzdHJhdGVneTogJHt0aGlzLnN0cmF0ZWd5fWApO1xuICAgIGlmIChIZWxwZXJzLmlzV2ViU1FMKSB7XG4gICAgICB0aGlzLnNlcnZlciA9IG5ldyBSZWFsdGltZVNlcnZlcih0aGlzKTtcblxuICAgICAgdGhpcy5jbGllbnQgPSBuZXcgUmVhbHRpbWVDbGllbnQodGhpcyk7XG5cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jbGllbnQgPSBuZXcgUmVhbHRpbWVDbGllbnQodGhpcyk7XG4gICAgICB0aGlzLnNlcnZlciA9IG5ldyBSZWFsdGltZVNlcnZlcih0aGlzKTtcbiAgICB9XG4gIH1cblxuXG5cbiAgcHJpdmF0ZSByZXNvbHZlU3RyYXRlZ3koKTogUmVhbHRpbWVTdHJhdGVneSB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5jdHgubW9kZSA9PT0gJ2JhY2tlbmQtZnJvbnRlbmQod2Vic3FsKScgfHxcbiAgICAgIHRoaXMuY3R4Lm1vZGUgPT09ICdiYWNrZW5kLWZyb250ZW5kKHdlYnNxbC1lbGVjdHJvbiknXG4gICAgKSB7XG5cbiAgICAgIHJldHVybiBuZXcgUmVhbHRpbWVTdHJhdGVneU1vY2sodGhpcy5jdHgpO1xuICAgIH1cbiAgICBpZiAodGhpcy5jdHgubW9kZSA9PT0gJ2JhY2tlbmQtZnJvbnRlbmQoaXBjLWVsZWN0cm9uKScpIHtcbiAgICAgIHJldHVybiBuZXcgUmVhbHRpbWVTdHJhdGVneUlwYyh0aGlzLmN0eCk7XG4gICAgfVxuXG5cblxuXG5cblxuICAgIHJldHVybiBuZXcgUmVhbHRpbWVTdHJhdGVneVNvY2tldElPKHRoaXMuY3R4KTtcbiAgfVxuXG5cblxuICBwdWJsaWMgcGF0aEZvcihuYW1lc3BhY2U/OiBzdHJpbmcpIHtcbiAgICBjb25zdCB1cmkgPSB0aGlzLmN0eC51cmk7XG5cbiAgICBsZXQgbnNwID0gbmFtZXNwYWNlID8gbmFtZXNwYWNlIDogJyc7XG4gICAgbnNwID0gbnNwID09PSAnLycgPyAnJyA6IG5zcDtcbiAgICBjb25zdCBwYXRobmFtZSA9IHVyaS5wYXRobmFtZSAhPT0gJy8nID8gdXJpLnBhdGhuYW1lIDogJyc7XG4gICAgbGV0IHByZWZpeCA9IGB0YW9uQ29udGV4dGA7XG4gICAgaWYgKEhlbHBlcnMuaXNFbGVjdHJvbikge1xuICAgICAgcHJlZml4ID0gYGA7XG4gICAgfVxuICAgIGNvbnN0IGhyZWYgPSBgJHt1cmkub3JpZ2lufSR7cGF0aG5hbWV9LyR7cHJlZml4fSR7cHJlZml4ICYmIG5zcCA/ICctJyArIG5zcCA6IG5zcH1gO1xuXG4gICAgcmV0dXJuIG5ldyBVUkwoaHJlZikgYXMgVVJMO1xuICB9XG5cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRhb24gbGliL3JlYWx0aW1lL3JlYWx0aW1lLWNvcmUudHMiXX0=