taon 0.0.0 → 18.0.12

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 (668) hide show
  1. package/README.md +115 -0
  2. package/assets/shared/shared_folder_info.txt +7 -0
  3. package/bin/start.js +279 -0
  4. package/bin/taon +2 -1
  5. package/bin/taon-debug +2 -2
  6. package/bin/taon-debug-brk +3 -2
  7. package/browser/README.md +24 -0
  8. package/browser/esm2022/lib/base-classes/base-abstract-entity.mjs +18 -0
  9. package/browser/esm2022/lib/base-classes/base-class.mjs +17 -0
  10. package/browser/esm2022/lib/base-classes/base-context.mjs +14 -0
  11. package/browser/esm2022/lib/base-classes/base-controller.mjs +18 -0
  12. package/browser/esm2022/lib/base-classes/base-crud-controller.mjs +279 -0
  13. package/browser/esm2022/lib/base-classes/base-entity.mjs +18 -0
  14. package/browser/esm2022/lib/base-classes/base-injector.mjs +160 -0
  15. package/browser/esm2022/lib/base-classes/base-provider.mjs +6 -0
  16. package/browser/esm2022/lib/base-classes/base-repository.mjs +514 -0
  17. package/browser/esm2022/lib/base-classes/base-subscriber-for-entity.mjs +137 -0
  18. package/browser/esm2022/lib/base-classes/base-subscriber.mjs +27 -0
  19. package/browser/esm2022/lib/base-classes/base.mjs +26 -0
  20. package/browser/esm2022/lib/constants.mjs +4 -0
  21. package/browser/esm2022/lib/create-context.mjs +87 -0
  22. package/browser/esm2022/lib/decorators/classes/controller-decorator.mjs +15 -0
  23. package/browser/esm2022/lib/decorators/classes/entity-decorator.mjs +27 -0
  24. package/browser/esm2022/lib/decorators/classes/provider-decorator.mjs +15 -0
  25. package/browser/esm2022/lib/decorators/classes/repository-decorator.mjs +15 -0
  26. package/browser/esm2022/lib/decorators/classes/subscriber-decorator.mjs +41 -0
  27. package/browser/esm2022/lib/decorators/http/http-decorators.mjs +22 -0
  28. package/browser/esm2022/lib/decorators/http/http-methods-decorators.mjs +78 -0
  29. package/browser/esm2022/lib/decorators/http/http-params-decorators.mjs +47 -0
  30. package/browser/esm2022/lib/dependency-injection/di-container.mjs +32 -0
  31. package/browser/esm2022/lib/endpoint-context.mjs +1746 -0
  32. package/browser/esm2022/lib/entity-process.mjs +207 -0
  33. package/browser/esm2022/lib/env.mjs +6 -0
  34. package/browser/esm2022/lib/get-response-value.mjs +41 -0
  35. package/browser/esm2022/lib/helpers/class-helpers.mjs +183 -0
  36. package/browser/esm2022/lib/helpers/taon-helpers.mjs +120 -0
  37. package/browser/esm2022/lib/index.mjs +79 -0
  38. package/browser/esm2022/lib/inject.mjs +70 -0
  39. package/browser/esm2022/lib/models.mjs +77 -0
  40. package/browser/esm2022/lib/orm.mjs +6 -0
  41. package/browser/esm2022/lib/realtime/realtime-client.mjs +129 -0
  42. package/browser/esm2022/lib/realtime/realtime-core.mjs +54 -0
  43. package/browser/esm2022/lib/realtime/realtime-server.mjs +274 -0
  44. package/browser/esm2022/lib/realtime/realtime-strategy/index.mjs +7 -0
  45. package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-namespace.mjs +98 -0
  46. package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-wrapper.mjs +45 -0
  47. package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-namespace.mjs +40 -0
  48. package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-wrapper.mjs +25 -0
  49. package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc.models.mjs +4 -0
  50. package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc.mjs +49 -0
  51. package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/index.mjs +5 -0
  52. package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-client.mjs +50 -0
  53. package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-namespaces.mjs +48 -0
  54. package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-server.mjs +35 -0
  55. package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-socket.mjs +43 -0
  56. package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock.models.mjs +4 -0
  57. package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock.mjs +28 -0
  58. package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy-socket-io.mjs +33 -0
  59. package/browser/esm2022/lib/realtime/realtime-strategy/realtime-strategy.mjs +10 -0
  60. package/browser/esm2022/lib/realtime/realtime-subs-manager.mjs +79 -0
  61. package/browser/esm2022/lib/realtime/realtime.models.mjs +4 -0
  62. package/browser/esm2022/lib/storage.mjs +5 -0
  63. package/browser/esm2022/lib/symbols.mjs +89 -0
  64. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/models/taon-admin-mode-tabs.mjs +4 -0
  65. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-control.service.mjs +32 -0
  66. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.mjs +167 -0
  67. package/browser/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin.service.mjs +64 -0
  68. package/browser/esm2022/lib/validators.mjs +76 -0
  69. package/browser/esm2022/public-api.mjs +2 -0
  70. package/browser/esm2022/taon.mjs +5 -0
  71. package/browser/fesm2022/taon.mjs +4901 -0
  72. package/browser/fesm2022/taon.mjs.map +1 -0
  73. package/browser/index.d.ts +6 -0
  74. package/browser/lib/base-classes/base-abstract-entity.d.ts +7 -0
  75. package/browser/lib/base-classes/base-class.d.ts +9 -0
  76. package/browser/lib/base-classes/base-context.d.ts +17 -0
  77. package/browser/lib/base-classes/base-controller.d.ts +8 -0
  78. package/browser/lib/base-classes/base-crud-controller.d.ts +28 -0
  79. package/browser/lib/base-classes/base-entity.d.ts +8 -0
  80. package/browser/lib/base-classes/base-injector.d.ts +60 -0
  81. package/browser/lib/base-classes/base-provider.d.ts +4 -0
  82. package/browser/lib/base-classes/base-repository.d.ts +249 -0
  83. package/browser/lib/base-classes/base-subscriber-for-entity.d.ts +82 -0
  84. package/browser/lib/base-classes/base-subscriber.d.ts +5 -0
  85. package/browser/lib/base-classes/base.d.ts +36 -0
  86. package/browser/lib/constants.d.ts +2 -0
  87. package/browser/lib/create-context.d.ts +25 -0
  88. package/browser/lib/decorators/classes/controller-decorator.d.ts +13 -0
  89. package/browser/lib/decorators/classes/entity-decorator.d.ts +17 -0
  90. package/browser/lib/decorators/classes/provider-decorator.d.ts +5 -0
  91. package/browser/lib/decorators/classes/repository-decorator.d.ts +5 -0
  92. package/browser/lib/decorators/classes/subscriber-decorator.d.ts +6 -0
  93. package/browser/lib/decorators/http/http-decorators.d.ts +18 -0
  94. package/browser/lib/decorators/http/http-methods-decorators.d.ts +15 -0
  95. package/browser/lib/decorators/http/http-params-decorators.d.ts +6 -0
  96. package/browser/lib/dependency-injection/di-container.d.ts +6 -0
  97. package/browser/lib/endpoint-context.d.ts +117 -0
  98. package/browser/lib/entity-process.d.ts +40 -0
  99. package/browser/lib/env.d.ts +3 -0
  100. package/browser/lib/get-response-value.d.ts +7 -0
  101. package/browser/lib/helpers/class-helpers.d.ts +19 -0
  102. package/browser/lib/helpers/taon-helpers.d.ts +17 -0
  103. package/browser/lib/index.d.ts +113 -0
  104. package/browser/lib/inject.d.ts +9 -0
  105. package/browser/lib/models.d.ts +175 -0
  106. package/browser/lib/orm.d.ts +3 -0
  107. package/browser/lib/realtime/realtime-client.d.ts +32 -0
  108. package/browser/lib/realtime/realtime-core.d.ts +41 -0
  109. package/browser/lib/realtime/realtime-server.d.ts +14 -0
  110. package/browser/lib/realtime/realtime-strategy/index.d.ts +5 -0
  111. package/browser/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-namespace.d.ts +22 -0
  112. package/browser/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-wrapper.d.ts +17 -0
  113. package/browser/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-namespace.d.ts +11 -0
  114. package/browser/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-wrapper.d.ts +11 -0
  115. package/browser/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc.models.d.ts +14 -0
  116. package/browser/lib/realtime/realtime-strategy/realtime-strategy-ipc.d.ts +23 -0
  117. package/browser/lib/realtime/realtime-strategy/realtime-strategy-mock-models/index.d.ts +3 -0
  118. package/browser/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-client.d.ts +17 -0
  119. package/browser/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-namespaces.d.ts +18 -0
  120. package/browser/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-server.d.ts +12 -0
  121. package/browser/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-socket.d.ts +14 -0
  122. package/browser/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock.models.d.ts +12 -0
  123. package/browser/lib/realtime/realtime-strategy/realtime-strategy-mock.d.ts +15 -0
  124. package/browser/lib/realtime/realtime-strategy/realtime-strategy-socket-io.d.ts +17 -0
  125. package/browser/lib/realtime/realtime-strategy/realtime-strategy.d.ts +13 -0
  126. package/browser/lib/realtime/realtime-subs-manager.d.ts +15 -0
  127. package/browser/lib/realtime/realtime.models.d.ts +14 -0
  128. package/browser/lib/storage.d.ts +2 -0
  129. package/browser/lib/symbols.d.ts +73 -0
  130. package/browser/lib/ui/taon-admin-mode-configuration/models/taon-admin-mode-tabs.d.ts +6 -0
  131. package/browser/lib/ui/taon-admin-mode-configuration/taon-admin-control.service.d.ts +18 -0
  132. package/browser/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.d.ts +51 -0
  133. package/browser/lib/ui/taon-admin-mode-configuration/taon-admin.service.d.ts +25 -0
  134. package/browser/lib/validators.d.ts +8 -0
  135. package/browser/package.json +25 -0
  136. package/browser/public-api.d.ts +2 -0
  137. package/cli.d.ts +1 -0
  138. package/cli.js +24 -0
  139. package/cli.js.map +1 -0
  140. package/client/README.md +24 -0
  141. package/client/esm2022/lib/base-classes/base-abstract-entity.mjs +18 -0
  142. package/client/esm2022/lib/base-classes/base-class.mjs +17 -0
  143. package/client/esm2022/lib/base-classes/base-context.mjs +14 -0
  144. package/client/esm2022/lib/base-classes/base-controller.mjs +18 -0
  145. package/client/esm2022/lib/base-classes/base-crud-controller.mjs +279 -0
  146. package/client/esm2022/lib/base-classes/base-entity.mjs +18 -0
  147. package/client/esm2022/lib/base-classes/base-injector.mjs +160 -0
  148. package/client/esm2022/lib/base-classes/base-provider.mjs +6 -0
  149. package/client/esm2022/lib/base-classes/base-repository.mjs +514 -0
  150. package/client/esm2022/lib/base-classes/base-subscriber-for-entity.mjs +137 -0
  151. package/client/esm2022/lib/base-classes/base-subscriber.mjs +27 -0
  152. package/client/esm2022/lib/base-classes/base.mjs +26 -0
  153. package/client/esm2022/lib/constants.mjs +4 -0
  154. package/client/esm2022/lib/create-context.mjs +87 -0
  155. package/client/esm2022/lib/decorators/classes/controller-decorator.mjs +15 -0
  156. package/client/esm2022/lib/decorators/classes/entity-decorator.mjs +27 -0
  157. package/client/esm2022/lib/decorators/classes/provider-decorator.mjs +15 -0
  158. package/client/esm2022/lib/decorators/classes/repository-decorator.mjs +15 -0
  159. package/client/esm2022/lib/decorators/classes/subscriber-decorator.mjs +41 -0
  160. package/client/esm2022/lib/decorators/http/http-decorators.mjs +22 -0
  161. package/client/esm2022/lib/decorators/http/http-methods-decorators.mjs +78 -0
  162. package/client/esm2022/lib/decorators/http/http-params-decorators.mjs +47 -0
  163. package/client/esm2022/lib/dependency-injection/di-container.mjs +32 -0
  164. package/client/esm2022/lib/endpoint-context.mjs +1746 -0
  165. package/client/esm2022/lib/entity-process.mjs +207 -0
  166. package/client/esm2022/lib/env.mjs +6 -0
  167. package/client/esm2022/lib/get-response-value.mjs +41 -0
  168. package/client/esm2022/lib/helpers/class-helpers.mjs +183 -0
  169. package/client/esm2022/lib/helpers/taon-helpers.mjs +120 -0
  170. package/client/esm2022/lib/index.mjs +79 -0
  171. package/client/esm2022/lib/inject.mjs +70 -0
  172. package/client/esm2022/lib/models.mjs +77 -0
  173. package/client/esm2022/lib/orm.mjs +6 -0
  174. package/client/esm2022/lib/realtime/realtime-client.mjs +129 -0
  175. package/client/esm2022/lib/realtime/realtime-core.mjs +54 -0
  176. package/client/esm2022/lib/realtime/realtime-server.mjs +274 -0
  177. package/client/esm2022/lib/realtime/realtime-strategy/index.mjs +7 -0
  178. package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-namespace.mjs +98 -0
  179. package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-wrapper.mjs +45 -0
  180. package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-namespace.mjs +40 -0
  181. package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-wrapper.mjs +25 -0
  182. package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc.models.mjs +4 -0
  183. package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc.mjs +49 -0
  184. package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/index.mjs +5 -0
  185. package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-client.mjs +50 -0
  186. package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-namespaces.mjs +48 -0
  187. package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-server.mjs +35 -0
  188. package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-socket.mjs +43 -0
  189. package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock.models.mjs +4 -0
  190. package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock.mjs +28 -0
  191. package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy-socket-io.mjs +33 -0
  192. package/client/esm2022/lib/realtime/realtime-strategy/realtime-strategy.mjs +10 -0
  193. package/client/esm2022/lib/realtime/realtime-subs-manager.mjs +79 -0
  194. package/client/esm2022/lib/realtime/realtime.models.mjs +4 -0
  195. package/client/esm2022/lib/storage.mjs +5 -0
  196. package/client/esm2022/lib/symbols.mjs +89 -0
  197. package/client/esm2022/lib/ui/taon-admin-mode-configuration/models/taon-admin-mode-tabs.mjs +4 -0
  198. package/client/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-control.service.mjs +32 -0
  199. package/client/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.mjs +167 -0
  200. package/client/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin.service.mjs +64 -0
  201. package/client/esm2022/lib/validators.mjs +76 -0
  202. package/client/esm2022/public-api.mjs +2 -0
  203. package/client/esm2022/taon.mjs +5 -0
  204. package/client/fesm2022/taon.mjs +4901 -0
  205. package/client/fesm2022/taon.mjs.map +1 -0
  206. package/client/index.d.ts +6 -0
  207. package/client/lib/base-classes/base-abstract-entity.d.ts +7 -0
  208. package/client/lib/base-classes/base-class.d.ts +9 -0
  209. package/client/lib/base-classes/base-context.d.ts +17 -0
  210. package/client/lib/base-classes/base-controller.d.ts +8 -0
  211. package/client/lib/base-classes/base-crud-controller.d.ts +28 -0
  212. package/client/lib/base-classes/base-entity.d.ts +8 -0
  213. package/client/lib/base-classes/base-injector.d.ts +60 -0
  214. package/client/lib/base-classes/base-provider.d.ts +4 -0
  215. package/client/lib/base-classes/base-repository.d.ts +249 -0
  216. package/client/lib/base-classes/base-subscriber-for-entity.d.ts +82 -0
  217. package/client/lib/base-classes/base-subscriber.d.ts +5 -0
  218. package/client/lib/base-classes/base.d.ts +36 -0
  219. package/client/lib/constants.d.ts +2 -0
  220. package/client/lib/create-context.d.ts +25 -0
  221. package/client/lib/decorators/classes/controller-decorator.d.ts +13 -0
  222. package/client/lib/decorators/classes/entity-decorator.d.ts +17 -0
  223. package/client/lib/decorators/classes/provider-decorator.d.ts +5 -0
  224. package/client/lib/decorators/classes/repository-decorator.d.ts +5 -0
  225. package/client/lib/decorators/classes/subscriber-decorator.d.ts +6 -0
  226. package/client/lib/decorators/http/http-decorators.d.ts +18 -0
  227. package/client/lib/decorators/http/http-methods-decorators.d.ts +15 -0
  228. package/client/lib/decorators/http/http-params-decorators.d.ts +6 -0
  229. package/client/lib/dependency-injection/di-container.d.ts +6 -0
  230. package/client/lib/endpoint-context.d.ts +117 -0
  231. package/client/lib/entity-process.d.ts +40 -0
  232. package/client/lib/env.d.ts +3 -0
  233. package/client/lib/get-response-value.d.ts +7 -0
  234. package/client/lib/helpers/class-helpers.d.ts +19 -0
  235. package/client/lib/helpers/taon-helpers.d.ts +17 -0
  236. package/client/lib/index.d.ts +113 -0
  237. package/client/lib/inject.d.ts +9 -0
  238. package/client/lib/models.d.ts +175 -0
  239. package/client/lib/orm.d.ts +3 -0
  240. package/client/lib/realtime/realtime-client.d.ts +32 -0
  241. package/client/lib/realtime/realtime-core.d.ts +41 -0
  242. package/client/lib/realtime/realtime-server.d.ts +14 -0
  243. package/client/lib/realtime/realtime-strategy/index.d.ts +5 -0
  244. package/client/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-namespace.d.ts +22 -0
  245. package/client/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-wrapper.d.ts +17 -0
  246. package/client/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-namespace.d.ts +11 -0
  247. package/client/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-wrapper.d.ts +11 -0
  248. package/client/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc.models.d.ts +14 -0
  249. package/client/lib/realtime/realtime-strategy/realtime-strategy-ipc.d.ts +23 -0
  250. package/client/lib/realtime/realtime-strategy/realtime-strategy-mock-models/index.d.ts +3 -0
  251. package/client/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-client.d.ts +17 -0
  252. package/client/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-namespaces.d.ts +18 -0
  253. package/client/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-server.d.ts +12 -0
  254. package/client/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-socket.d.ts +14 -0
  255. package/client/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock.models.d.ts +12 -0
  256. package/client/lib/realtime/realtime-strategy/realtime-strategy-mock.d.ts +15 -0
  257. package/client/lib/realtime/realtime-strategy/realtime-strategy-socket-io.d.ts +17 -0
  258. package/client/lib/realtime/realtime-strategy/realtime-strategy.d.ts +13 -0
  259. package/client/lib/realtime/realtime-subs-manager.d.ts +15 -0
  260. package/client/lib/realtime/realtime.models.d.ts +14 -0
  261. package/client/lib/storage.d.ts +2 -0
  262. package/client/lib/symbols.d.ts +73 -0
  263. package/client/lib/ui/taon-admin-mode-configuration/models/taon-admin-mode-tabs.d.ts +6 -0
  264. package/client/lib/ui/taon-admin-mode-configuration/taon-admin-control.service.d.ts +18 -0
  265. package/client/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.d.ts +51 -0
  266. package/client/lib/ui/taon-admin-mode-configuration/taon-admin.service.d.ts +25 -0
  267. package/client/lib/validators.d.ts +8 -0
  268. package/client/public-api.d.ts +2 -0
  269. package/index.d.ts +1 -0
  270. package/index.js +5 -1
  271. package/index.js.map +1 -0
  272. package/lib/base-classes/base-abstract-entity.d.ts +6 -0
  273. package/lib/base-classes/base-abstract-entity.js +40 -0
  274. package/lib/base-classes/base-abstract-entity.js.map +1 -0
  275. package/lib/base-classes/base-class.d.ts +8 -0
  276. package/lib/base-classes/base-class.js +35 -0
  277. package/lib/base-classes/base-class.js.map +1 -0
  278. package/lib/base-classes/base-context.d.ts +16 -0
  279. package/lib/base-classes/base-context.js +15 -0
  280. package/lib/base-classes/base-context.js.map +1 -0
  281. package/lib/base-classes/base-controller.d.ts +7 -0
  282. package/lib/base-classes/base-controller.js +24 -0
  283. package/lib/base-classes/base-controller.js.map +1 -0
  284. package/lib/base-classes/base-crud-controller.d.ts +27 -0
  285. package/lib/base-classes/base-crud-controller.js +385 -0
  286. package/lib/base-classes/base-crud-controller.js.map +1 -0
  287. package/lib/base-classes/base-entity.d.ts +7 -0
  288. package/lib/base-classes/base-entity.js +25 -0
  289. package/lib/base-classes/base-entity.js.map +1 -0
  290. package/lib/base-classes/base-injector.d.ts +59 -0
  291. package/lib/base-classes/base-injector.js +220 -0
  292. package/lib/base-classes/base-injector.js.map +1 -0
  293. package/lib/base-classes/base-provider.d.ts +3 -0
  294. package/lib/base-classes/base-provider.js +14 -0
  295. package/lib/base-classes/base-provider.js.map +1 -0
  296. package/lib/base-classes/base-repository.d.ts +254 -0
  297. package/lib/base-classes/base-repository.js +780 -0
  298. package/lib/base-classes/base-repository.js.map +1 -0
  299. package/lib/base-classes/base-subscriber-for-entity.d.ts +81 -0
  300. package/lib/base-classes/base-subscriber-for-entity.js +136 -0
  301. package/lib/base-classes/base-subscriber-for-entity.js.map +1 -0
  302. package/lib/base-classes/base-subscriber.d.ts +4 -0
  303. package/lib/base-classes/base-subscriber.js +25 -0
  304. package/lib/base-classes/base-subscriber.js.map +1 -0
  305. package/lib/base-classes/base.d.ts +35 -0
  306. package/lib/base-classes/base.js +27 -0
  307. package/lib/base-classes/base.js.map +1 -0
  308. package/lib/build-info._auto-generated_.d.ts +1 -0
  309. package/lib/build-info._auto-generated_.js +5 -0
  310. package/lib/build-info._auto-generated_.js.map +1 -0
  311. package/lib/constants.d.ts +1 -0
  312. package/lib/constants.js +3 -0
  313. package/lib/constants.js.map +1 -0
  314. package/lib/create-context.d.ts +24 -0
  315. package/lib/create-context.js +183 -0
  316. package/lib/create-context.js.map +1 -0
  317. package/lib/decorators/classes/controller-decorator.d.ts +12 -0
  318. package/lib/decorators/classes/controller-decorator.js +24 -0
  319. package/lib/decorators/classes/controller-decorator.js.map +1 -0
  320. package/lib/decorators/classes/entity-decorator.d.ts +16 -0
  321. package/lib/decorators/classes/entity-decorator.js +39 -0
  322. package/lib/decorators/classes/entity-decorator.js.map +1 -0
  323. package/lib/decorators/classes/provider-decorator.d.ts +4 -0
  324. package/lib/decorators/classes/provider-decorator.js +24 -0
  325. package/lib/decorators/classes/provider-decorator.js.map +1 -0
  326. package/lib/decorators/classes/repository-decorator.d.ts +4 -0
  327. package/lib/decorators/classes/repository-decorator.js +24 -0
  328. package/lib/decorators/classes/repository-decorator.js.map +1 -0
  329. package/lib/decorators/classes/subscriber-decorator.d.ts +5 -0
  330. package/lib/decorators/classes/subscriber-decorator.js +75 -0
  331. package/lib/decorators/classes/subscriber-decorator.js.map +1 -0
  332. package/lib/decorators/http/http-decorators.d.ts +17 -0
  333. package/lib/decorators/http/http-decorators.js +23 -0
  334. package/lib/decorators/http/http-decorators.js.map +1 -0
  335. package/lib/decorators/http/http-methods-decorators.d.ts +14 -0
  336. package/lib/decorators/http/http-methods-decorators.js +91 -0
  337. package/lib/decorators/http/http-methods-decorators.js.map +1 -0
  338. package/lib/decorators/http/http-params-decorators.d.ts +5 -0
  339. package/lib/decorators/http/http-params-decorators.js +55 -0
  340. package/lib/decorators/http/http-params-decorators.js.map +1 -0
  341. package/lib/dependency-injection/di-container.d.ts +5 -0
  342. package/lib/dependency-injection/di-container.js +40 -0
  343. package/lib/dependency-injection/di-container.js.map +1 -0
  344. package/lib/endpoint-context.d.ts +117 -0
  345. package/lib/endpoint-context.js +2128 -0
  346. package/lib/endpoint-context.js.map +1 -0
  347. package/lib/entity-process.d.ts +39 -0
  348. package/lib/entity-process.js +261 -0
  349. package/lib/entity-process.js.map +1 -0
  350. package/lib/env.d.ts +2 -0
  351. package/lib/env.js +7 -0
  352. package/lib/env.js.map +1 -0
  353. package/lib/formly/formly-group-wrapper-component.d.ts +5 -0
  354. package/lib/formly/formly-group-wrapper-component.js +28 -0
  355. package/lib/formly/formly-group-wrapper-component.js.map +1 -0
  356. package/lib/formly/formly-repeat-component.d.ts +5 -0
  357. package/lib/formly/formly-repeat-component.js +47 -0
  358. package/lib/formly/formly-repeat-component.js.map +1 -0
  359. package/lib/formly/formly.models.d.ts +1 -0
  360. package/lib/formly/formly.models.js +3 -0
  361. package/lib/formly/formly.models.js.map +1 -0
  362. package/lib/formly/fromly.d.ts +16 -0
  363. package/lib/formly/fromly.js +213 -0
  364. package/lib/formly/fromly.js.map +1 -0
  365. package/lib/formly/type-from-entity.d.ts +20 -0
  366. package/lib/formly/type-from-entity.js +65 -0
  367. package/lib/formly/type-from-entity.js.map +1 -0
  368. package/lib/get-response-value.d.ts +6 -0
  369. package/lib/get-response-value.js +65 -0
  370. package/lib/get-response-value.js.map +1 -0
  371. package/lib/helpers/class-helpers.d.ts +18 -0
  372. package/lib/helpers/class-helpers.js +227 -0
  373. package/lib/helpers/class-helpers.js.map +1 -0
  374. package/lib/helpers/taon-helpers.d.ts +16 -0
  375. package/lib/helpers/taon-helpers.js +144 -0
  376. package/lib/helpers/taon-helpers.js.map +1 -0
  377. package/lib/index.d.ts +112 -0
  378. package/lib/index.js +113 -0
  379. package/lib/index.js.map +1 -0
  380. package/lib/inject.d.ts +8 -0
  381. package/lib/inject.js +84 -0
  382. package/lib/inject.js.map +1 -0
  383. package/lib/models.d.ts +180 -0
  384. package/lib/models.js +107 -0
  385. package/lib/models.js.map +1 -0
  386. package/lib/orm.d.ts +51 -0
  387. package/lib/orm.js +79 -0
  388. package/lib/orm.js.map +1 -0
  389. package/lib/realtime/realtime-client.d.ts +31 -0
  390. package/lib/realtime/realtime-client.js +158 -0
  391. package/lib/realtime/realtime-client.js.map +1 -0
  392. package/lib/realtime/realtime-core.d.ts +40 -0
  393. package/lib/realtime/realtime-core.js +72 -0
  394. package/lib/realtime/realtime-core.js.map +1 -0
  395. package/lib/realtime/realtime-server.d.ts +13 -0
  396. package/lib/realtime/realtime-server.js +193 -0
  397. package/lib/realtime/realtime-server.js.map +1 -0
  398. package/lib/realtime/realtime-strategy/index.d.ts +4 -0
  399. package/lib/realtime/realtime-strategy/index.js +8 -0
  400. package/lib/realtime/realtime-strategy/index.js.map +1 -0
  401. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/index.d.ts +0 -0
  402. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/index.js +5 -0
  403. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/index.js.map +1 -0
  404. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-namespace.d.ts +22 -0
  405. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-namespace.js +139 -0
  406. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-namespace.js.map +1 -0
  407. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-wrapper.d.ts +16 -0
  408. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-wrapper.js +68 -0
  409. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-wrapper.js.map +1 -0
  410. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-namespace.d.ts +10 -0
  411. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-namespace.js +56 -0
  412. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-namespace.js.map +1 -0
  413. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-wrapper.d.ts +10 -0
  414. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-wrapper.js +50 -0
  415. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-wrapper.js.map +1 -0
  416. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc.models.d.ts +13 -0
  417. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc.models.js +3 -0
  418. package/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc.models.js.map +1 -0
  419. package/lib/realtime/realtime-strategy/realtime-strategy-ipc.d.ts +22 -0
  420. package/lib/realtime/realtime-strategy/realtime-strategy-ipc.js +68 -0
  421. package/lib/realtime/realtime-strategy/realtime-strategy-ipc.js.map +1 -0
  422. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/index.d.ts +2 -0
  423. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/index.js +6 -0
  424. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/index.js.map +1 -0
  425. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-client.d.ts +16 -0
  426. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-client.js +54 -0
  427. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-client.js.map +1 -0
  428. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-namespaces.d.ts +17 -0
  429. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-namespaces.js +52 -0
  430. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-namespaces.js.map +1 -0
  431. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-server.d.ts +11 -0
  432. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-server.js +39 -0
  433. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-server.js.map +1 -0
  434. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-socket.d.ts +13 -0
  435. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-socket.js +46 -0
  436. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-socket.js.map +1 -0
  437. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock.models.d.ts +11 -0
  438. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock.models.js +3 -0
  439. package/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock.models.js.map +1 -0
  440. package/lib/realtime/realtime-strategy/realtime-strategy-mock.d.ts +14 -0
  441. package/lib/realtime/realtime-strategy/realtime-strategy-mock.js +42 -0
  442. package/lib/realtime/realtime-strategy/realtime-strategy-mock.js.map +1 -0
  443. package/lib/realtime/realtime-strategy/realtime-strategy-socket-io.d.ts +17 -0
  444. package/lib/realtime/realtime-strategy/realtime-strategy-socket-io.js +48 -0
  445. package/lib/realtime/realtime-strategy/realtime-strategy-socket-io.js.map +1 -0
  446. package/lib/realtime/realtime-strategy/realtime-strategy.d.ts +12 -0
  447. package/lib/realtime/realtime-strategy/realtime-strategy.js +14 -0
  448. package/lib/realtime/realtime-strategy/realtime-strategy.js.map +1 -0
  449. package/lib/realtime/realtime-subs-manager.d.ts +14 -0
  450. package/lib/realtime/realtime-subs-manager.js +102 -0
  451. package/lib/realtime/realtime-subs-manager.js.map +1 -0
  452. package/lib/realtime/realtime.models.d.ts +13 -0
  453. package/lib/realtime/realtime.models.js +3 -0
  454. package/lib/realtime/realtime.models.js.map +1 -0
  455. package/lib/storage.d.ts +1 -0
  456. package/lib/storage.js +6 -0
  457. package/lib/storage.js.map +1 -0
  458. package/lib/symbols.d.ts +72 -0
  459. package/lib/symbols.js +91 -0
  460. package/lib/symbols.js.map +1 -0
  461. package/lib/ui/directives/firedev-inject-html.directive.d.ts +6 -0
  462. package/lib/ui/directives/firedev-long-press.directive.d.ts +22 -0
  463. package/lib/ui/directives/index.d.ts +4 -0
  464. package/lib/ui/directives/index.js +5 -0
  465. package/lib/ui/directives/index.js.map +1 -0
  466. package/lib/ui/directives/safe.pipe.d.ts +7 -0
  467. package/lib/ui/directives/view-mode.d.ts +5 -0
  468. package/lib/ui/directives/view-mode.js +10 -0
  469. package/lib/ui/directives/view-mode.js.map +1 -0
  470. package/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.d.ts +2 -0
  471. package/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.js +5 -0
  472. package/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.js.map +1 -0
  473. package/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.d.ts +31 -0
  474. package/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.d.ts +2 -0
  475. package/lib/ui/taon-admin-mode-configuration/components/taon-db-admin/index.d.ts +1 -0
  476. package/lib/ui/taon-admin-mode-configuration/components/taon-db-admin/index.js +5 -0
  477. package/lib/ui/taon-admin-mode-configuration/components/taon-db-admin/index.js.map +1 -0
  478. package/lib/ui/taon-admin-mode-configuration/components/taon-db-admin/taon-db-admin.component.d.ts +9 -0
  479. package/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.d.ts +2 -0
  480. package/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.js +5 -0
  481. package/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.js.map +1 -0
  482. package/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.d.ts +14 -0
  483. package/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.d.ts +2 -0
  484. package/lib/ui/taon-admin-mode-configuration/index.d.ts +4 -0
  485. package/lib/ui/taon-admin-mode-configuration/index.js +5 -0
  486. package/lib/ui/taon-admin-mode-configuration/index.js.map +1 -0
  487. package/lib/ui/taon-admin-mode-configuration/models/taon-admin-mode-tabs.d.ts +5 -0
  488. package/lib/ui/taon-admin-mode-configuration/models/taon-admin-mode-tabs.js +3 -0
  489. package/lib/ui/taon-admin-mode-configuration/models/taon-admin-mode-tabs.js.map +1 -0
  490. package/lib/ui/taon-admin-mode-configuration/taon-admin-control.service.d.ts +14 -0
  491. package/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.d.ts +47 -0
  492. package/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.d.ts +2 -0
  493. package/lib/ui/taon-admin-mode-configuration/taon-admin.service.d.ts +21 -0
  494. package/lib/ui/taon-github-fork-me-corner/index.d.ts +2 -0
  495. package/lib/ui/taon-github-fork-me-corner/index.js +5 -0
  496. package/lib/ui/taon-github-fork-me-corner/index.js.map +1 -0
  497. package/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.d.ts +3 -0
  498. package/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.d.ts +2 -0
  499. package/lib/ui/taon-github-fork-me-ribbon/index.d.ts +2 -0
  500. package/lib/ui/taon-github-fork-me-ribbon/index.js +5 -0
  501. package/lib/ui/taon-github-fork-me-ribbon/index.js.map +1 -0
  502. package/lib/ui/taon-github-fork-me-ribbon/taon-github-fork-me-ribbon.component.d.ts +3 -0
  503. package/lib/ui/taon-github-fork-me-ribbon/taon-github-fork-me-ribbon.module.d.ts +2 -0
  504. package/lib/ui/taon-notifications/index.d.ts +4 -0
  505. package/lib/ui/taon-notifications/index.js +11 -0
  506. package/lib/ui/taon-notifications/index.js.map +1 -0
  507. package/lib/ui/taon-notifications/taon-notifications.component.d.ts +9 -0
  508. package/lib/ui/taon-notifications/taon-notifications.models.d.ts +6 -0
  509. package/lib/ui/taon-notifications/taon-notifications.models.js +5 -0
  510. package/lib/ui/taon-notifications/taon-notifications.models.js.map +1 -0
  511. package/lib/ui/taon-notifications/taon-notifications.module.d.ts +2 -0
  512. package/lib/ui/taon-notifications/taon-notifications.service.d.ts +11 -0
  513. package/lib/ui/taon-progress-bar/index.d.ts +2 -0
  514. package/lib/ui/taon-progress-bar/index.js +5 -0
  515. package/lib/ui/taon-progress-bar/index.js.map +1 -0
  516. package/lib/ui/taon-progress-bar/taon-progress-bar.component.d.ts +14 -0
  517. package/lib/ui/taon-progress-bar/taon-progress-bar.module.d.ts +2 -0
  518. package/lib/ui/taon-session-passcode/index.d.ts +1 -0
  519. package/lib/ui/taon-session-passcode/index.js +5 -0
  520. package/lib/ui/taon-session-passcode/index.js.map +1 -0
  521. package/lib/ui/taon-session-passcode/taon-session-passcode.component.d.ts +35 -0
  522. package/lib/ui/taon.models.d.ts +11 -0
  523. package/lib/ui/taon.models.js +3 -0
  524. package/lib/ui/taon.models.js.map +1 -0
  525. package/lib/ui/toan-full-material.module.d.ts +2 -0
  526. package/lib/validators.d.ts +7 -0
  527. package/lib/validators.js +53 -0
  528. package/lib/validators.js.map +1 -0
  529. package/old-app .d.ts +0 -0
  530. package/old-app .js +115 -0
  531. package/old-app .js.map +1 -0
  532. package/package.json +74 -11
  533. package/playground.d.ts +0 -0
  534. package/playground.js +172 -0
  535. package/playground.js.map +1 -0
  536. package/src.d.ts +6 -0
  537. package/taon.jsonc +48 -0
  538. package/tmp-environment.json +393 -0
  539. package/websql/README.md +24 -0
  540. package/websql/esm2022/lib/base-classes/base-abstract-entity.mjs +25 -0
  541. package/websql/esm2022/lib/base-classes/base-class.mjs +17 -0
  542. package/websql/esm2022/lib/base-classes/base-context.mjs +14 -0
  543. package/websql/esm2022/lib/base-classes/base-controller.mjs +18 -0
  544. package/websql/esm2022/lib/base-classes/base-crud-controller.mjs +238 -0
  545. package/websql/esm2022/lib/base-classes/base-entity.mjs +16 -0
  546. package/websql/esm2022/lib/base-classes/base-injector.mjs +160 -0
  547. package/websql/esm2022/lib/base-classes/base-provider.mjs +6 -0
  548. package/websql/esm2022/lib/base-classes/base-repository.mjs +431 -0
  549. package/websql/esm2022/lib/base-classes/base-subscriber-for-entity.mjs +137 -0
  550. package/websql/esm2022/lib/base-classes/base-subscriber.mjs +27 -0
  551. package/websql/esm2022/lib/base-classes/base.mjs +26 -0
  552. package/websql/esm2022/lib/constants.mjs +4 -0
  553. package/websql/esm2022/lib/create-context.mjs +86 -0
  554. package/websql/esm2022/lib/decorators/classes/controller-decorator.mjs +15 -0
  555. package/websql/esm2022/lib/decorators/classes/entity-decorator.mjs +25 -0
  556. package/websql/esm2022/lib/decorators/classes/provider-decorator.mjs +15 -0
  557. package/websql/esm2022/lib/decorators/classes/repository-decorator.mjs +15 -0
  558. package/websql/esm2022/lib/decorators/classes/subscriber-decorator.mjs +41 -0
  559. package/websql/esm2022/lib/decorators/http/http-decorators.mjs +22 -0
  560. package/websql/esm2022/lib/decorators/http/http-methods-decorators.mjs +78 -0
  561. package/websql/esm2022/lib/decorators/http/http-params-decorators.mjs +47 -0
  562. package/websql/esm2022/lib/dependency-injection/di-container.mjs +32 -0
  563. package/websql/esm2022/lib/endpoint-context.mjs +1506 -0
  564. package/websql/esm2022/lib/entity-process.mjs +207 -0
  565. package/websql/esm2022/lib/env.mjs +6 -0
  566. package/websql/esm2022/lib/get-response-value.mjs +45 -0
  567. package/websql/esm2022/lib/helpers/class-helpers.mjs +183 -0
  568. package/websql/esm2022/lib/helpers/taon-helpers.mjs +120 -0
  569. package/websql/esm2022/lib/index.mjs +81 -0
  570. package/websql/esm2022/lib/inject.mjs +70 -0
  571. package/websql/esm2022/lib/models.mjs +70 -0
  572. package/websql/esm2022/lib/orm.mjs +60 -0
  573. package/websql/esm2022/lib/realtime/realtime-client.mjs +129 -0
  574. package/websql/esm2022/lib/realtime/realtime-core.mjs +54 -0
  575. package/websql/esm2022/lib/realtime/realtime-server.mjs +158 -0
  576. package/websql/esm2022/lib/realtime/realtime-strategy/index.mjs +7 -0
  577. package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-namespace.mjs +98 -0
  578. package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-wrapper.mjs +45 -0
  579. package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-namespace.mjs +40 -0
  580. package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-wrapper.mjs +25 -0
  581. package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc.models.mjs +4 -0
  582. package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-ipc.mjs +48 -0
  583. package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/index.mjs +5 -0
  584. package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-client.mjs +50 -0
  585. package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-namespaces.mjs +48 -0
  586. package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-server.mjs +35 -0
  587. package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-socket.mjs +43 -0
  588. package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock.models.mjs +4 -0
  589. package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-mock.mjs +28 -0
  590. package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy-socket-io.mjs +33 -0
  591. package/websql/esm2022/lib/realtime/realtime-strategy/realtime-strategy.mjs +10 -0
  592. package/websql/esm2022/lib/realtime/realtime-subs-manager.mjs +79 -0
  593. package/websql/esm2022/lib/realtime/realtime.models.mjs +4 -0
  594. package/websql/esm2022/lib/storage.mjs +5 -0
  595. package/websql/esm2022/lib/symbols.mjs +89 -0
  596. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/models/taon-admin-mode-tabs.mjs +4 -0
  597. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-control.service.mjs +32 -0
  598. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.mjs +167 -0
  599. package/websql/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin.service.mjs +64 -0
  600. package/websql/esm2022/lib/validators.mjs +76 -0
  601. package/websql/esm2022/public-api.mjs +2 -0
  602. package/websql/esm2022/taon.mjs +5 -0
  603. package/websql/fesm2022/taon.mjs +4595 -0
  604. package/websql/fesm2022/taon.mjs.map +1 -0
  605. package/websql/index.d.ts +6 -0
  606. package/websql/lib/base-classes/base-abstract-entity.d.ts +7 -0
  607. package/websql/lib/base-classes/base-class.d.ts +9 -0
  608. package/websql/lib/base-classes/base-context.d.ts +17 -0
  609. package/websql/lib/base-classes/base-controller.d.ts +8 -0
  610. package/websql/lib/base-classes/base-crud-controller.d.ts +28 -0
  611. package/websql/lib/base-classes/base-entity.d.ts +8 -0
  612. package/websql/lib/base-classes/base-injector.d.ts +60 -0
  613. package/websql/lib/base-classes/base-provider.d.ts +4 -0
  614. package/websql/lib/base-classes/base-repository.d.ts +255 -0
  615. package/websql/lib/base-classes/base-subscriber-for-entity.d.ts +82 -0
  616. package/websql/lib/base-classes/base-subscriber.d.ts +5 -0
  617. package/websql/lib/base-classes/base.d.ts +36 -0
  618. package/websql/lib/constants.d.ts +2 -0
  619. package/websql/lib/create-context.d.ts +25 -0
  620. package/websql/lib/decorators/classes/controller-decorator.d.ts +13 -0
  621. package/websql/lib/decorators/classes/entity-decorator.d.ts +17 -0
  622. package/websql/lib/decorators/classes/provider-decorator.d.ts +5 -0
  623. package/websql/lib/decorators/classes/repository-decorator.d.ts +5 -0
  624. package/websql/lib/decorators/classes/subscriber-decorator.d.ts +6 -0
  625. package/websql/lib/decorators/http/http-decorators.d.ts +18 -0
  626. package/websql/lib/decorators/http/http-methods-decorators.d.ts +15 -0
  627. package/websql/lib/decorators/http/http-params-decorators.d.ts +6 -0
  628. package/websql/lib/dependency-injection/di-container.d.ts +6 -0
  629. package/websql/lib/endpoint-context.d.ts +117 -0
  630. package/websql/lib/entity-process.d.ts +40 -0
  631. package/websql/lib/env.d.ts +3 -0
  632. package/websql/lib/get-response-value.d.ts +7 -0
  633. package/websql/lib/helpers/class-helpers.d.ts +19 -0
  634. package/websql/lib/helpers/taon-helpers.d.ts +17 -0
  635. package/websql/lib/index.d.ts +113 -0
  636. package/websql/lib/inject.d.ts +9 -0
  637. package/websql/lib/models.d.ts +181 -0
  638. package/websql/lib/orm.d.ts +52 -0
  639. package/websql/lib/realtime/realtime-client.d.ts +32 -0
  640. package/websql/lib/realtime/realtime-core.d.ts +41 -0
  641. package/websql/lib/realtime/realtime-server.d.ts +14 -0
  642. package/websql/lib/realtime/realtime-strategy/index.d.ts +5 -0
  643. package/websql/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-namespace.d.ts +22 -0
  644. package/websql/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-main-wrapper.d.ts +17 -0
  645. package/websql/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-namespace.d.ts +11 -0
  646. package/websql/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc-renderer-wrapper.d.ts +11 -0
  647. package/websql/lib/realtime/realtime-strategy/realtime-strategy-ipc-models/realtime-strategy-ipc.models.d.ts +14 -0
  648. package/websql/lib/realtime/realtime-strategy/realtime-strategy-ipc.d.ts +23 -0
  649. package/websql/lib/realtime/realtime-strategy/realtime-strategy-mock-models/index.d.ts +3 -0
  650. package/websql/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-client.d.ts +17 -0
  651. package/websql/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-namespaces.d.ts +18 -0
  652. package/websql/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-server.d.ts +12 -0
  653. package/websql/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock-socket.d.ts +14 -0
  654. package/websql/lib/realtime/realtime-strategy/realtime-strategy-mock-models/realtime-strategy-mock.models.d.ts +12 -0
  655. package/websql/lib/realtime/realtime-strategy/realtime-strategy-mock.d.ts +15 -0
  656. package/websql/lib/realtime/realtime-strategy/realtime-strategy-socket-io.d.ts +17 -0
  657. package/websql/lib/realtime/realtime-strategy/realtime-strategy.d.ts +13 -0
  658. package/websql/lib/realtime/realtime-subs-manager.d.ts +15 -0
  659. package/websql/lib/realtime/realtime.models.d.ts +14 -0
  660. package/websql/lib/storage.d.ts +2 -0
  661. package/websql/lib/symbols.d.ts +73 -0
  662. package/websql/lib/ui/taon-admin-mode-configuration/models/taon-admin-mode-tabs.d.ts +6 -0
  663. package/websql/lib/ui/taon-admin-mode-configuration/taon-admin-control.service.d.ts +18 -0
  664. package/websql/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.d.ts +51 -0
  665. package/websql/lib/ui/taon-admin-mode-configuration/taon-admin.service.d.ts +25 -0
  666. package/websql/lib/validators.d.ts +8 -0
  667. package/websql/package.json +25 -0
  668. package/websql/public-api.d.ts +2 -0
@@ -0,0 +1,207 @@
1
+ import { _ } from 'tnp-core/browser';
2
+ import { Symbols } from './symbols';
3
+ import { walk } from 'lodash-walk-object/browser';
4
+ import { config } from 'tnp-config/browser';
5
+ import { JSON10 } from 'json10/browser';
6
+ import { ClassHelpers } from './helpers/class-helpers';
7
+ import { Mapping } from 'ng2-rest/browser';
8
+ /**
9
+ * @deprecated
10
+ */
11
+ export const getTransformFunction = (target) => {
12
+ if (!target) {
13
+ return;
14
+ }
15
+ if (!target) {
16
+ return void 0;
17
+ }
18
+ const configs = ClassHelpers.getControllerConfigs(target);
19
+ const functions = configs
20
+ .map(c => {
21
+ if (_.isFunction(c.browserTransformFn)) {
22
+ return c.browserTransformFn;
23
+ }
24
+ })
25
+ .filter(f => _.isFunction(f));
26
+ return functions.length === 0
27
+ ? void 0
28
+ : function (entity) {
29
+ for (let index = functions.length - 1; index >= 0; index--) {
30
+ const transformFun = functions[index];
31
+ transformFun(entity);
32
+ }
33
+ return entity;
34
+ };
35
+ };
36
+ /**
37
+ * @deprecated
38
+ */
39
+ export const singleTransform = (json) => {
40
+ let ptarget = ClassHelpers.getClassFnFromObject(json);
41
+ let pbrowserTransformFn = getTransformFunction(ptarget);
42
+ if (pbrowserTransformFn) {
43
+ const newValue = pbrowserTransformFn(json);
44
+ if (!_.isObject(newValue)) {
45
+ console.error(`Please return object in transform function for class: ` +
46
+ `${ClassHelpers.getName(json)}`);
47
+ }
48
+ else {
49
+ json = newValue;
50
+ }
51
+ }
52
+ return json;
53
+ };
54
+ export class EntityProcess {
55
+ static async init(result, response) {
56
+ return await new EntityProcess(result, response).run();
57
+ }
58
+ constructor(
59
+ /**
60
+ * Data from backend
61
+ */
62
+ result, response) {
63
+ this.result = result;
64
+ this.response = response;
65
+ /**
66
+ * Say yes to:
67
+ * - circural object
68
+ * - transform browser fn in decorator
69
+ */
70
+ this.advancedManipulation = false;
71
+ this.circural = [];
72
+ }
73
+ checkAdvancedManiupulation() {
74
+ if (_.isFunction(this.result)) {
75
+ this.advancedManipulation = true;
76
+ this.result = this.result();
77
+ }
78
+ }
79
+ async run() {
80
+ this.checkAdvancedManiupulation();
81
+ this.data = this.result;
82
+ if (_.isObject(this.result)) {
83
+ if (this.advancedManipulation) {
84
+ this.applayTransformFn();
85
+ }
86
+ this.setHeaders();
87
+ }
88
+ this.send();
89
+ }
90
+ applayTransformFn() {
91
+ if (_.isObject(this.data) && !_.isArray(this.data)) {
92
+ this.data = singleTransform(this.data);
93
+ }
94
+ const { include } = { include: [] };
95
+ walk.Object(this.data, (value, lodashPath, changeValue, { skipObject, isCircural }) => {
96
+ if (!isCircural) {
97
+ if (!_.isArray(value) && _.isObject(value)) {
98
+ changeValue(singleTransform(value));
99
+ }
100
+ }
101
+ }, { checkCircural: true, breadthWalk: true, include });
102
+ const { circs } = walk.Object(this.data, void 0, {
103
+ checkCircural: true,
104
+ breadthWalk: true,
105
+ include,
106
+ });
107
+ this.circural = circs;
108
+ }
109
+ setHeaders() {
110
+ const { include } = { include: [] };
111
+ const className = ClassHelpers.getName(this.data);
112
+ const doNothing = _.isNil(this.data) ||
113
+ [
114
+ 'Object',
115
+ '',
116
+ ].includes(className);
117
+ if (!doNothing) {
118
+ const cleaned = JSON10.cleaned(this.data, void 0, {
119
+ breadthWalk: true,
120
+ include,
121
+ });
122
+ this.entityMapping = Mapping.decode(cleaned, !this.advancedManipulation);
123
+ this.response.set(Symbols.old.MAPPING_CONFIG_HEADER, JSON.stringify(this.entityMapping));
124
+ if (this.advancedManipulation) {
125
+ this.response.set(Symbols.old.CIRCURAL_OBJECTS_MAP_BODY, JSON.stringify(this.circural));
126
+ }
127
+ }
128
+ }
129
+ send() {
130
+ if (!_.isObject(this.data)) {
131
+ if (_.isNumber(this.data)) {
132
+ this.response.send(this.data.toString());
133
+ }
134
+ else {
135
+ this.response.send(this.data);
136
+ }
137
+ return;
138
+ }
139
+ if (this.advancedManipulation) {
140
+ const browserKey = config.folder.browser;
141
+ let toSend = _.isArray(this.data) ? [] : {};
142
+ const { include = [], exclude = [] } = { include: [], exclude: [] };
143
+ walk.Object(this.data, (value, lodashPath, changeVAlue, { isCircural, skipObject }) => {
144
+ if (isCircural) {
145
+ _.set(toSend, lodashPath, null);
146
+ }
147
+ else {
148
+ const fun = getTransformFunction(ClassHelpers.getClassFnFromObject(value));
149
+ if (_.isFunction(fun)) {
150
+ _.set(toSend, `${lodashPath}.${browserKey}`, value[browserKey]);
151
+ const indexProp = ClassHelpers.getUniquKey(value);
152
+ _.set(toSend, `${lodashPath}.${indexProp}`, value[indexProp]);
153
+ }
154
+ else {
155
+ _.set(toSend, lodashPath, value);
156
+ }
157
+ }
158
+ }, { checkCircural: true, breadthWalk: true, include });
159
+ if (!_.isArray(this.data)) {
160
+ let funParent = getTransformFunction(ClassHelpers.getClassFnFromObject(this.data));
161
+ if (_.isFunction(funParent)) {
162
+ toSend = {
163
+ [browserKey]: toSend[browserKey],
164
+ };
165
+ }
166
+ Object.keys(this.data).forEach(prop => {
167
+ if (prop !== browserKey) {
168
+ const v = this.data[prop];
169
+ if (!((include.length > 0 && !include.includes(prop)) ||
170
+ (exclude.length > 0 && exclude.includes(prop)))) {
171
+ if (ClassHelpers.isContextClassObject(v) &&
172
+ _.isFunction(getTransformFunction(ClassHelpers.getClassFnFromObject(v)))) {
173
+ toSend[prop] = {
174
+ [browserKey]: v[browserKey],
175
+ };
176
+ const indexProp = ClassHelpers.getUniquKey(v);
177
+ toSend[prop][indexProp] = this.data[prop][indexProp];
178
+ for (const key in v) {
179
+ if (_.isObject(v) &&
180
+ v.hasOwnProperty(key) &&
181
+ ![indexProp, config.folder.browser].includes(key) &&
182
+ (_.isString(v[key]) ||
183
+ _.isNumber(v[key]) ||
184
+ _.isDate(v[key]) ||
185
+ _.isNull(v[key]) ||
186
+ _.isBoolean(v[key]))) {
187
+ toSend[prop][key] = v[key];
188
+ }
189
+ }
190
+ }
191
+ else {
192
+ toSend[prop] = v;
193
+ }
194
+ }
195
+ }
196
+ });
197
+ }
198
+ this.response.json(toSend);
199
+ }
200
+ else {
201
+ this.response.json(this.data);
202
+ }
203
+ }
204
+ }
205
+ ;
206
+ ({}); // @--end-of-file-for-module=taon lib/entity-process.ts
207
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LXByb2Nlc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90YW9uL3Byb2plY3RzL3Rhb24vc3JjL2xpYi9lbnRpdHktcHJvY2Vzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDckMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNwQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBSzNDOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxNQUFnQixFQUFFLEVBQUU7SUFDdkQsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1osT0FBTztJQUNULENBQUM7SUFLRCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDWixPQUFPLEtBQUssQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFDRCxNQUFNLE9BQU8sR0FBRyxZQUFZLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFMUQsTUFBTSxTQUFTLEdBQUcsT0FBTztTQUN0QixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDUCxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQztZQUN2QyxPQUFPLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQztRQUM5QixDQUFDO0lBQ0gsQ0FBQyxDQUFDO1NBQ0QsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hDLE9BQU8sU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDUixDQUFDLENBQUMsVUFBVSxNQUFNO1lBQ2QsS0FBSyxJQUFJLEtBQUssR0FBRyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7Z0JBQzNELE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDdEMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3ZCLENBQUM7WUFDRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLENBQUM7QUFDUixDQUFDLENBQUM7QUFJRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLElBQVMsRUFBRSxFQUFFO0lBQzNDLElBQUksT0FBTyxHQUFHLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0RCxJQUFJLG1CQUFtQixHQUFHLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hELElBQUksbUJBQW1CLEVBQUUsQ0FBQztRQUN4QixNQUFNLFFBQVEsR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQzFCLE9BQU8sQ0FBQyxLQUFLLENBQ1gsd0RBQXdEO2dCQUN0RCxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FDbEMsQ0FBQztRQUNKLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxHQUFHLFFBQVEsQ0FBQztRQUNsQixDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyxDQUFDO0FBR0YsTUFBTSxPQUFPLGFBQWE7SUFFeEIsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBVyxFQUFFLFFBQWtCO1FBQy9DLE9BQU8sTUFBTSxJQUFJLGFBQWEsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDekQsQ0FBQztJQW9CRDtJQUNFOztPQUVHO0lBQ0ssTUFBVyxFQUNYLFFBQWtCO1FBRGxCLFdBQU0sR0FBTixNQUFNLENBQUs7UUFDWCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBaEI1Qjs7OztXQUlHO1FBQ0sseUJBQW9CLEdBQVksS0FBSyxDQUFDO1FBRXRDLGFBQVEsR0FBRyxFQUFFLENBQUM7SUFVbkIsQ0FBQztJQUlJLDBCQUEwQjtRQUNoQyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQztZQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM5QixDQUFDO0lBQ0gsQ0FBQztJQUlNLEtBQUssQ0FBQyxHQUFHO1FBQ2QsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBRXhCLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUM1QixJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO2dCQUM5QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUMzQixDQUFDO1lBRUQsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ3BCLENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBSUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDbkQsSUFBSSxDQUFDLElBQUksR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pDLENBQUM7UUFDRCxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLE1BQU0sQ0FDVCxJQUFJLENBQUMsSUFBSSxFQUNULENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRTtZQUU3RCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ2hCLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDM0MsV0FBVyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUN0QyxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUMsRUFDRCxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FDcEQsQ0FBQztRQUVGLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUU7WUFDL0MsYUFBYSxFQUFFLElBQUk7WUFDbkIsV0FBVyxFQUFFLElBQUk7WUFDakIsT0FBTztTQUNSLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFJRCxVQUFVO1FBQ1IsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBRXBDLE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xELE1BQU0sU0FBUyxHQUNiLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztZQUNsQjtnQkFDRSxRQUFRO2dCQUNSLEVBQUU7YUFFSCxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUV4QixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDZixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUU7Z0JBQ2hELFdBQVcsRUFBRSxJQUFJO2dCQUNqQixPQUFPO2FBQ1IsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLGFBQWEsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1lBRXpFLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUNmLE9BQU8sQ0FBQyxHQUFHLENBQUMscUJBQXFCLEVBQ2pDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUNuQyxDQUFDO1lBQ0YsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztnQkFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQ2YsT0FBTyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsRUFDckMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQzlCLENBQUM7WUFDSixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFJRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDM0MsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNoQyxDQUFDO1lBQ0QsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQzlCLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1lBQ3pDLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUU1QyxNQUFNLEVBQUUsT0FBTyxHQUFHLEVBQUUsRUFBRSxPQUFPLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQztZQUVwRSxJQUFJLENBQUMsTUFBTSxDQUNULElBQUksQ0FBQyxJQUFJLEVBQ1QsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFO2dCQUU3RCxJQUFJLFVBQVUsRUFBRSxDQUFDO29CQUNmLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDbEMsQ0FBQztxQkFBTSxDQUFDO29CQUNOLE1BQU0sR0FBRyxHQUFHLG9CQUFvQixDQUM5QixZQUFZLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQ3pDLENBQUM7b0JBRUYsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7d0JBQ3RCLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLEdBQUcsVUFBVSxJQUFJLFVBQVUsRUFBRSxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO3dCQUNoRSxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO3dCQUNsRCxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLFVBQVUsSUFBSSxTQUFTLEVBQUUsRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztvQkFFaEUsQ0FBQzt5QkFBTSxDQUFDO3dCQUNOLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztvQkFDbkMsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQyxFQUNELEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUNwRCxDQUFDO1lBRUYsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQzFCLElBQUksU0FBUyxHQUFHLG9CQUFvQixDQUNsQyxZQUFZLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUM3QyxDQUFDO2dCQUlGLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO29CQUM1QixNQUFNLEdBQUc7d0JBQ1AsQ0FBQyxVQUFVLENBQUMsRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDO3FCQUNqQyxDQUFDO2dCQUNKLENBQUM7Z0JBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUNwQyxJQUFJLElBQUksS0FBSyxVQUFVLEVBQUUsQ0FBQzt3QkFDeEIsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDMUIsSUFDRSxDQUFDLENBQ0MsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7NEJBQy9DLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUMvQyxFQUNELENBQUM7NEJBQ0QsSUFDRSxZQUFZLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO2dDQUNwQyxDQUFDLENBQUMsVUFBVSxDQUNWLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUMzRCxFQUNELENBQUM7Z0NBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHO29DQUNiLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQztpQ0FDNUIsQ0FBQztnQ0FDRixNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dDQUM5QyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztnQ0FDckQsS0FBSyxNQUFNLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztvQ0FDcEIsSUFDRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQzt3Q0FDYixDQUFDLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQzt3Q0FDckIsQ0FBQyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7d0NBQ2pELENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7NENBQ2pCLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDOzRDQUNsQixDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQzs0Q0FDaEIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7NENBQ2hCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFDdEIsQ0FBQzt3Q0FDRCxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO29DQUM3QixDQUFDO2dDQUNILENBQUM7NEJBQ0gsQ0FBQztpQ0FBTSxDQUFDO2dDQUNOLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7NEJBQ25CLENBQUM7d0JBQ0gsQ0FBQztvQkFDSCxDQUFDO2dCQUNILENBQUMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztZQUdELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLENBQUM7SUFDSCxDQUFDO0NBRUY7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHVEQUF1RCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cbmltcG9ydCB7IF8gfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcbmltcG9ydCB7IFN5bWJvbHMgfSBmcm9tICcuL3N5bWJvbHMnO1xuaW1wb3J0IHsgd2FsayB9IGZyb20gJ2xvZGFzaC13YWxrLW9iamVjdC9icm93c2VyJztcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gJ3RucC1jb25maWcvYnJvd3Nlcic7XG5pbXBvcnQgeyBKU09OMTAgfSBmcm9tICdqc29uMTAvYnJvd3Nlcic7XG5pbXBvcnQgeyBDbGFzc0hlbHBlcnMgfSBmcm9tICcuL2hlbHBlcnMvY2xhc3MtaGVscGVycyc7XG5pbXBvcnQgeyBNYXBwaW5nIH0gZnJvbSAnbmcyLXJlc3QvYnJvd3Nlcic7XG5pbXBvcnQgeyBSZXNwb25zZSB9IGZyb20gJ2V4cHJlc3MnO1xuXG5cblxuLyoqXG4gKiBAZGVwcmVjYXRlZFxuICovXG5leHBvcnQgY29uc3QgZ2V0VHJhbnNmb3JtRnVuY3Rpb24gPSAodGFyZ2V0OiBGdW5jdGlvbikgPT4ge1xuICBpZiAoIXRhcmdldCkge1xuICAgIHJldHVybjtcbiAgfVxuXG5cblxuXG4gIGlmICghdGFyZ2V0KSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuICBjb25zdCBjb25maWdzID0gQ2xhc3NIZWxwZXJzLmdldENvbnRyb2xsZXJDb25maWdzKHRhcmdldCk7XG5cbiAgY29uc3QgZnVuY3Rpb25zID0gY29uZmlnc1xuICAgIC5tYXAoYyA9PiB7XG4gICAgICBpZiAoXy5pc0Z1bmN0aW9uKGMuYnJvd3NlclRyYW5zZm9ybUZuKSkge1xuICAgICAgICByZXR1cm4gYy5icm93c2VyVHJhbnNmb3JtRm47XG4gICAgICB9XG4gICAgfSlcbiAgICAuZmlsdGVyKGYgPT4gXy5pc0Z1bmN0aW9uKGYpKTtcbiAgcmV0dXJuIGZ1bmN0aW9ucy5sZW5ndGggPT09IDBcbiAgICA/IHZvaWQgMFxuICAgIDogZnVuY3Rpb24gKGVudGl0eSkge1xuICAgICAgICBmb3IgKGxldCBpbmRleCA9IGZ1bmN0aW9ucy5sZW5ndGggLSAxOyBpbmRleCA+PSAwOyBpbmRleC0tKSB7XG4gICAgICAgICAgY29uc3QgdHJhbnNmb3JtRnVuID0gZnVuY3Rpb25zW2luZGV4XTtcbiAgICAgICAgICB0cmFuc2Zvcm1GdW4oZW50aXR5KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZW50aXR5O1xuICAgICAgfTtcbn07XG5cblxuXG4vKipcbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCBjb25zdCBzaW5nbGVUcmFuc2Zvcm0gPSAoanNvbjogYW55KSA9PiB7XG4gIGxldCBwdGFyZ2V0ID0gQ2xhc3NIZWxwZXJzLmdldENsYXNzRm5Gcm9tT2JqZWN0KGpzb24pO1xuICBsZXQgcGJyb3dzZXJUcmFuc2Zvcm1GbiA9IGdldFRyYW5zZm9ybUZ1bmN0aW9uKHB0YXJnZXQpO1xuICBpZiAocGJyb3dzZXJUcmFuc2Zvcm1Gbikge1xuICAgIGNvbnN0IG5ld1ZhbHVlID0gcGJyb3dzZXJUcmFuc2Zvcm1Gbihqc29uKTtcbiAgICBpZiAoIV8uaXNPYmplY3QobmV3VmFsdWUpKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICBgUGxlYXNlIHJldHVybiBvYmplY3QgaW4gdHJhbnNmb3JtIGZ1bmN0aW9uIGZvciBjbGFzczogYCArXG4gICAgICAgICAgYCR7Q2xhc3NIZWxwZXJzLmdldE5hbWUoanNvbil9YCxcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGpzb24gPSBuZXdWYWx1ZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGpzb247XG59O1xuXG5cbmV4cG9ydCBjbGFzcyBFbnRpdHlQcm9jZXNzIHtcblxuICBzdGF0aWMgYXN5bmMgaW5pdChyZXN1bHQ6IGFueSwgcmVzcG9uc2U6IFJlc3BvbnNlKSB7XG4gICAgcmV0dXJuIGF3YWl0IG5ldyBFbnRpdHlQcm9jZXNzKHJlc3VsdCwgcmVzcG9uc2UpLnJ1bigpO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBEYXRhIHRvIHNlbmRcbiAgICovXG4gIGRhdGE6IGFueTtcblxuICAvKipcbiAgICogU2F5IHllcyB0bzpcbiAgICogLSBjaXJjdXJhbCBvYmplY3RcbiAgICogLSB0cmFuc2Zvcm0gYnJvd3NlciBmbiBpbiBkZWNvcmF0b3JcbiAgICovXG4gIHByaXZhdGUgYWR2YW5jZWRNYW5pcHVsYXRpb246IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSBlbnRpdHlNYXBwaW5nOiBhbnk7XG4gIHByaXZhdGUgY2lyY3VyYWwgPSBbXTtcblxuXG5cbiAgY29uc3RydWN0b3IoXG4gICAgLyoqXG4gICAgICogRGF0YSBmcm9tIGJhY2tlbmRcbiAgICAgKi9cbiAgICBwcml2YXRlIHJlc3VsdDogYW55LFxuICAgIHByaXZhdGUgcmVzcG9uc2U6IFJlc3BvbnNlLFxuICApIHt9XG5cblxuXG4gIHByaXZhdGUgY2hlY2tBZHZhbmNlZE1hbml1cHVsYXRpb24oKSB7XG4gICAgaWYgKF8uaXNGdW5jdGlvbih0aGlzLnJlc3VsdCkpIHtcbiAgICAgIHRoaXMuYWR2YW5jZWRNYW5pcHVsYXRpb24gPSB0cnVlO1xuICAgICAgdGhpcy5yZXN1bHQgPSB0aGlzLnJlc3VsdCgpO1xuICAgIH1cbiAgfVxuXG5cblxuICBwdWJsaWMgYXN5bmMgcnVuKCkge1xuICAgIHRoaXMuY2hlY2tBZHZhbmNlZE1hbml1cHVsYXRpb24oKTtcbiAgICB0aGlzLmRhdGEgPSB0aGlzLnJlc3VsdDtcblxuICAgIGlmIChfLmlzT2JqZWN0KHRoaXMucmVzdWx0KSkge1xuICAgICAgaWYgKHRoaXMuYWR2YW5jZWRNYW5pcHVsYXRpb24pIHtcbiAgICAgICAgdGhpcy5hcHBsYXlUcmFuc2Zvcm1GbigpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnNldEhlYWRlcnMoKTtcbiAgICB9XG4gICAgdGhpcy5zZW5kKCk7XG4gIH1cblxuXG5cbiAgYXBwbGF5VHJhbnNmb3JtRm4oKSB7XG4gICAgaWYgKF8uaXNPYmplY3QodGhpcy5kYXRhKSAmJiAhXy5pc0FycmF5KHRoaXMuZGF0YSkpIHtcbiAgICAgIHRoaXMuZGF0YSA9IHNpbmdsZVRyYW5zZm9ybSh0aGlzLmRhdGEpO1xuICAgIH1cbiAgICBjb25zdCB7IGluY2x1ZGUgfSA9IHsgaW5jbHVkZTogW10gfTtcbiAgICB3YWxrLk9iamVjdChcbiAgICAgIHRoaXMuZGF0YSxcbiAgICAgICh2YWx1ZSwgbG9kYXNoUGF0aCwgY2hhbmdlVmFsdWUsIHsgc2tpcE9iamVjdCwgaXNDaXJjdXJhbCB9KSA9PiB7XG5cbiAgICAgICAgaWYgKCFpc0NpcmN1cmFsKSB7XG4gICAgICAgICAgaWYgKCFfLmlzQXJyYXkodmFsdWUpICYmIF8uaXNPYmplY3QodmFsdWUpKSB7XG4gICAgICAgICAgICBjaGFuZ2VWYWx1ZShzaW5nbGVUcmFuc2Zvcm0odmFsdWUpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7IGNoZWNrQ2lyY3VyYWw6IHRydWUsIGJyZWFkdGhXYWxrOiB0cnVlLCBpbmNsdWRlIH0sXG4gICAgKTtcblxuICAgIGNvbnN0IHsgY2lyY3MgfSA9IHdhbGsuT2JqZWN0KHRoaXMuZGF0YSwgdm9pZCAwLCB7XG4gICAgICBjaGVja0NpcmN1cmFsOiB0cnVlLFxuICAgICAgYnJlYWR0aFdhbGs6IHRydWUsXG4gICAgICBpbmNsdWRlLFxuICAgIH0pO1xuICAgIHRoaXMuY2lyY3VyYWwgPSBjaXJjcztcbiAgfVxuXG5cblxuICBzZXRIZWFkZXJzKCk6IHZvaWQge1xuICAgIGNvbnN0IHsgaW5jbHVkZSB9ID0geyBpbmNsdWRlOiBbXSB9O1xuXG4gICAgY29uc3QgY2xhc3NOYW1lID0gQ2xhc3NIZWxwZXJzLmdldE5hbWUodGhpcy5kYXRhKTtcbiAgICBjb25zdCBkb05vdGhpbmcgPVxuICAgICAgXy5pc05pbCh0aGlzLmRhdGEpIHx8XG4gICAgICBbXG4gICAgICAgICdPYmplY3QnLFxuICAgICAgICAnJyxcblxuICAgICAgXS5pbmNsdWRlcyhjbGFzc05hbWUpO1xuXG4gICAgaWYgKCFkb05vdGhpbmcpIHtcbiAgICAgIGNvbnN0IGNsZWFuZWQgPSBKU09OMTAuY2xlYW5lZCh0aGlzLmRhdGEsIHZvaWQgMCwge1xuICAgICAgICBicmVhZHRoV2FsazogdHJ1ZSxcbiAgICAgICAgaW5jbHVkZSxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5lbnRpdHlNYXBwaW5nID0gTWFwcGluZy5kZWNvZGUoY2xlYW5lZCwgIXRoaXMuYWR2YW5jZWRNYW5pcHVsYXRpb24pO1xuXG4gICAgICB0aGlzLnJlc3BvbnNlLnNldChcbiAgICAgICAgU3ltYm9scy5vbGQuTUFQUElOR19DT05GSUdfSEVBREVSLFxuICAgICAgICBKU09OLnN0cmluZ2lmeSh0aGlzLmVudGl0eU1hcHBpbmcpLFxuICAgICAgKTtcbiAgICAgIGlmICh0aGlzLmFkdmFuY2VkTWFuaXB1bGF0aW9uKSB7XG4gICAgICAgIHRoaXMucmVzcG9uc2Uuc2V0KFxuICAgICAgICAgIFN5bWJvbHMub2xkLkNJUkNVUkFMX09CSkVDVFNfTUFQX0JPRFksXG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkodGhpcy5jaXJjdXJhbCksXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuXG4gIHNlbmQoKSB7XG4gICAgaWYgKCFfLmlzT2JqZWN0KHRoaXMuZGF0YSkpIHtcbiAgICAgIGlmIChfLmlzTnVtYmVyKHRoaXMuZGF0YSkpIHtcbiAgICAgICAgdGhpcy5yZXNwb25zZS5zZW5kKHRoaXMuZGF0YS50b1N0cmluZygpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucmVzcG9uc2Uuc2VuZCh0aGlzLmRhdGEpO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5hZHZhbmNlZE1hbmlwdWxhdGlvbikge1xuICAgICAgY29uc3QgYnJvd3NlcktleSA9IGNvbmZpZy5mb2xkZXIuYnJvd3NlcjtcbiAgICAgIGxldCB0b1NlbmQgPSBfLmlzQXJyYXkodGhpcy5kYXRhKSA/IFtdIDoge307XG5cbiAgICAgIGNvbnN0IHsgaW5jbHVkZSA9IFtdLCBleGNsdWRlID0gW10gfSA9IHsgaW5jbHVkZTogW10sIGV4Y2x1ZGU6IFtdIH07XG5cbiAgICAgIHdhbGsuT2JqZWN0KFxuICAgICAgICB0aGlzLmRhdGEsXG4gICAgICAgICh2YWx1ZSwgbG9kYXNoUGF0aCwgY2hhbmdlVkFsdWUsIHsgaXNDaXJjdXJhbCwgc2tpcE9iamVjdCB9KSA9PiB7XG5cbiAgICAgICAgICBpZiAoaXNDaXJjdXJhbCkge1xuICAgICAgICAgICAgXy5zZXQodG9TZW5kLCBsb2Rhc2hQYXRoLCBudWxsKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgZnVuID0gZ2V0VHJhbnNmb3JtRnVuY3Rpb24oXG4gICAgICAgICAgICAgIENsYXNzSGVscGVycy5nZXRDbGFzc0ZuRnJvbU9iamVjdCh2YWx1ZSksXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICBpZiAoXy5pc0Z1bmN0aW9uKGZ1bikpIHtcbiAgICAgICAgICAgICAgXy5zZXQodG9TZW5kLCBgJHtsb2Rhc2hQYXRofS4ke2Jyb3dzZXJLZXl9YCwgdmFsdWVbYnJvd3NlcktleV0pO1xuICAgICAgICAgICAgICBjb25zdCBpbmRleFByb3AgPSBDbGFzc0hlbHBlcnMuZ2V0VW5pcXVLZXkodmFsdWUpO1xuICAgICAgICAgICAgICBfLnNldCh0b1NlbmQsIGAke2xvZGFzaFBhdGh9LiR7aW5kZXhQcm9wfWAsIHZhbHVlW2luZGV4UHJvcF0pO1xuXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBfLnNldCh0b1NlbmQsIGxvZGFzaFBhdGgsIHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHsgY2hlY2tDaXJjdXJhbDogdHJ1ZSwgYnJlYWR0aFdhbGs6IHRydWUsIGluY2x1ZGUgfSxcbiAgICAgICk7XG5cbiAgICAgIGlmICghXy5pc0FycmF5KHRoaXMuZGF0YSkpIHtcbiAgICAgICAgbGV0IGZ1blBhcmVudCA9IGdldFRyYW5zZm9ybUZ1bmN0aW9uKFxuICAgICAgICAgIENsYXNzSGVscGVycy5nZXRDbGFzc0ZuRnJvbU9iamVjdCh0aGlzLmRhdGEpLFxuICAgICAgICApO1xuXG5cblxuICAgICAgICBpZiAoXy5pc0Z1bmN0aW9uKGZ1blBhcmVudCkpIHtcbiAgICAgICAgICB0b1NlbmQgPSB7XG4gICAgICAgICAgICBbYnJvd3NlcktleV06IHRvU2VuZFticm93c2VyS2V5XSxcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5rZXlzKHRoaXMuZGF0YSkuZm9yRWFjaChwcm9wID0+IHtcbiAgICAgICAgICBpZiAocHJvcCAhPT0gYnJvd3NlcktleSkge1xuICAgICAgICAgICAgY29uc3QgdiA9IHRoaXMuZGF0YVtwcm9wXTtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgIShcbiAgICAgICAgICAgICAgICAoaW5jbHVkZS5sZW5ndGggPiAwICYmICFpbmNsdWRlLmluY2x1ZGVzKHByb3ApKSB8fFxuICAgICAgICAgICAgICAgIChleGNsdWRlLmxlbmd0aCA+IDAgJiYgZXhjbHVkZS5pbmNsdWRlcyhwcm9wKSlcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBDbGFzc0hlbHBlcnMuaXNDb250ZXh0Q2xhc3NPYmplY3QodikgJiZcbiAgICAgICAgICAgICAgICBfLmlzRnVuY3Rpb24oXG4gICAgICAgICAgICAgICAgICBnZXRUcmFuc2Zvcm1GdW5jdGlvbihDbGFzc0hlbHBlcnMuZ2V0Q2xhc3NGbkZyb21PYmplY3QodikpLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgdG9TZW5kW3Byb3BdID0ge1xuICAgICAgICAgICAgICAgICAgW2Jyb3dzZXJLZXldOiB2W2Jyb3dzZXJLZXldLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3QgaW5kZXhQcm9wID0gQ2xhc3NIZWxwZXJzLmdldFVuaXF1S2V5KHYpO1xuICAgICAgICAgICAgICAgIHRvU2VuZFtwcm9wXVtpbmRleFByb3BdID0gdGhpcy5kYXRhW3Byb3BdW2luZGV4UHJvcF07XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gdikge1xuICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICBfLmlzT2JqZWN0KHYpICYmXG4gICAgICAgICAgICAgICAgICAgIHYuaGFzT3duUHJvcGVydHkoa2V5KSAmJlxuICAgICAgICAgICAgICAgICAgICAhW2luZGV4UHJvcCwgY29uZmlnLmZvbGRlci5icm93c2VyXS5pbmNsdWRlcyhrZXkpICYmXG4gICAgICAgICAgICAgICAgICAgIChfLmlzU3RyaW5nKHZba2V5XSkgfHxcbiAgICAgICAgICAgICAgICAgICAgICBfLmlzTnVtYmVyKHZba2V5XSkgfHxcbiAgICAgICAgICAgICAgICAgICAgICBfLmlzRGF0ZSh2W2tleV0pIHx8XG4gICAgICAgICAgICAgICAgICAgICAgXy5pc051bGwodltrZXldKSB8fFxuICAgICAgICAgICAgICAgICAgICAgIF8uaXNCb29sZWFuKHZba2V5XSkpXG4gICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgdG9TZW5kW3Byb3BdW2tleV0gPSB2W2tleV07XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRvU2VuZFtwcm9wXSA9IHY7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG5cbiAgICAgIHRoaXMucmVzcG9uc2UuanNvbih0b1NlbmQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlc3BvbnNlLmpzb24odGhpcy5kYXRhKTtcbiAgICB9XG4gIH1cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dGFvbiBsaWIvZW50aXR5LXByb2Nlc3MudHMiXX0=
@@ -0,0 +1,6 @@
1
+ import { Helpers } from 'tnp-core/browser';
2
+ const ENV = Helpers.isBrowser ? window['ENV'] : global['ENV'];
3
+ export { ENV };
4
+ ;
5
+ ({}); // @--end-of-file-for-module=taon lib/env.ts
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdGFvbi9wcm9qZWN0cy90YW9uL3NyYy9saWIvZW52LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUzQyxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUU5RCxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUM7QUFFZCxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDRDQUE0QyIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5cbmNvbnN0IEVOViA9IEhlbHBlcnMuaXNCcm93c2VyID8gd2luZG93WydFTlYnXSA6IGdsb2JhbFsnRU5WJ107XG5cbmV4cG9ydCB7IEVOViB9O1xuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dGFvbiBsaWIvZW52LnRzIl19
@@ -0,0 +1,41 @@
1
+ export const getResponseValue = (response, options) => {
2
+ /* */
3
+ /* */
4
+ /* */
5
+ /* */
6
+ /* */
7
+ /* */
8
+ /* */
9
+ /* */
10
+ /* */
11
+ /* */
12
+ /* */
13
+ /* */
14
+ /* */
15
+ /* */
16
+ /* */
17
+ /* */
18
+ /* */
19
+ /* */
20
+ /* */
21
+ /* */
22
+ /* */
23
+ /* */
24
+ /* */
25
+ /* */
26
+ /* */
27
+ /* */
28
+ /* */
29
+ /* */
30
+ /* */
31
+ /* */
32
+ /* */
33
+ /* */
34
+ /* */
35
+ /* */
36
+ /* */
37
+ return (void 0);
38
+ };
39
+ ;
40
+ ({}); // @--end-of-file-for-module=taon lib/get-response-value.ts
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXJlc3BvbnNlLXZhbHVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdGFvbi9wcm9qZWN0cy90YW9uL3NyYy9saWIvZ2V0LXJlc3BvbnNlLXZhbHVlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVVBLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQzlCLFFBQWlDLEVBQ2pDLE9BQXVELEVBQzNDLEVBQUU7SUFDaEIsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDSCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUNsQixDQUFDLENBQUM7QUFFRCxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDJEQUEyRCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5pbXBvcnQgeyBNb2RlbHMgfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyAgIFJlc3BvbnNlIGFzIEV4cHJlc3NSZXNwb25zZSwgICBSZXF1ZXN0IGFzIEV4cHJlc3NSZXF1ZXN0LCB9IGZyb20gJ2V4cHJlc3MnOy8qICovXG4vKiAqL1xuLyogKi9cblxuaW1wb3J0IHsgVGFvbkhlbHBlcnMgfSBmcm9tICcuL2hlbHBlcnMvdGFvbi1oZWxwZXJzJztcbmltcG9ydCB7IEhlbHBlcnMgfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcblxuZXhwb3J0IGNvbnN0IGdldFJlc3BvbnNlVmFsdWUgPSA8VD4oXG4gIHJlc3BvbnNlOiBNb2RlbHMuSHR0cC5SZXNwb25zZTxUPixcbiAgb3B0aW9ucz86IHsgcmVxOiBFeHByZXNzUmVxdWVzdDsgcmVzOiBFeHByZXNzUmVzcG9uc2UgfSxcbik6IFByb21pc2U8VD4gPT4ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIHJldHVybiAodm9pZCAwKTtcbn07XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10YW9uIGxpYi9nZXQtcmVzcG9uc2UtdmFsdWUudHMiXX0=
@@ -0,0 +1,183 @@
1
+ import { Symbols } from '../symbols';
2
+ import { Validators } from '../validators';
3
+ import { _ } from 'tnp-core/browser';
4
+ import { Models } from '../models';
5
+ import { TaonHelpers } from './taon-helpers';
6
+ import { CLASS } from 'typescript-class-helpers/browser';
7
+ /* */
8
+ /* */
9
+ export var ClassHelpers;
10
+ (function (ClassHelpers) {
11
+ /**
12
+ * TODO - repalce in every place when getting class fn from object
13
+ */
14
+ ClassHelpers.getClassFnFromObject = (json) => {
15
+ if (_.isUndefined(json) || _.isNull(json)) {
16
+ return;
17
+ }
18
+ if (json.constructor) {
19
+ return json.constructor;
20
+ }
21
+ const p = Object.getPrototypeOf(json);
22
+ return p && p.constructor && p.constructor.name !== 'Object'
23
+ ? p.constructor
24
+ : void 0;
25
+ };
26
+ ClassHelpers.getName = (classFnOrObject) => {
27
+ if (classFnOrObject instanceof FormData) {
28
+ return 'FormData';
29
+ }
30
+ if (!classFnOrObject) {
31
+ console.error('OBJECT OR CLASS', classFnOrObject);
32
+ throw new Error(`Cannot get name from this object or class.`);
33
+ }
34
+ return ((classFnOrObject[Symbols.classNameStaticProperty]
35
+ ? classFnOrObject[Symbols.classNameStaticProperty]
36
+ : classFnOrObject?.constructor[Symbols.classNameStaticProperty]) ||
37
+ CLASS.getName(classFnOrObject));
38
+ };
39
+ ClassHelpers.getOrginalClass = (classFnOrObject) => {
40
+ const org = classFnOrObject[Symbols.orignalClass];
41
+ if (!org) {
42
+ return classFnOrObject;
43
+ }
44
+ return ClassHelpers.getOrginalClass(org);
45
+ };
46
+ ClassHelpers.getFullInternalName = (classFnOrObject) => {
47
+ if (!classFnOrObject) {
48
+ throw new Error(`Cannot get name from: ${classFnOrObject}`);
49
+ }
50
+ return ((classFnOrObject[Symbols.fullClassNameStaticProperty]
51
+ ? classFnOrObject[Symbols.fullClassNameStaticProperty]
52
+ : classFnOrObject?.constructor[Symbols.fullClassNameStaticProperty]) ||
53
+ void 0);
54
+ };
55
+ ClassHelpers.getUniquKey = (classFnOrObject) => {
56
+ const classFn = _.isFunction(classFnOrObject)
57
+ ? classFnOrObject
58
+ : classFnOrObject.constructor;
59
+ const config = Reflect.getMetadata(Symbols.metadata.options.controller, classFn);
60
+ return config.uniqueKeyProp;
61
+ };
62
+ ClassHelpers.isContextClassObject = (obj) => {
63
+ if (!_.isObject(obj) ||
64
+ _.isArray(obj) ||
65
+ _.isRegExp(obj) ||
66
+ _.isBuffer(obj) ||
67
+ _.isArrayBuffer(obj)) {
68
+ return false;
69
+ }
70
+ if (_.isDate(obj)) {
71
+ return true;
72
+ }
73
+ const className = ClassHelpers.getName(obj);
74
+ return _.isString(className) && className !== 'Object';
75
+ };
76
+ ClassHelpers.setName = (target, className) => {
77
+ Validators.classNameVlidation(className, target);
78
+ target[Symbols.classNameStaticProperty] = className;
79
+ };
80
+ ClassHelpers.hasParentClassWithName = (target, className, targets = []) => {
81
+ if (!target) {
82
+ return false;
83
+ }
84
+ targets.push(target);
85
+ let targetProto = Object.getPrototypeOf(target);
86
+ if (_.isFunction(targetProto) &&
87
+ ClassHelpers.getName(targetProto) === className) {
88
+ return true;
89
+ }
90
+ return ClassHelpers.hasParentClassWithName(targetProto, className, targets);
91
+ };
92
+ ClassHelpers.getControllerConfig = (target) => {
93
+ const classMetadataOptions = Reflect.getMetadata(Symbols.metadata.options.controller, target);
94
+ const classMetadata = _.merge(new Models.ControllerConfig(), classMetadataOptions);
95
+ const methodNames = ClassHelpers.getMethodsNames(target); // Object.getOwnPropertyNames(target.prototype);
96
+ for (const methodName of methodNames) {
97
+ const methodMetadata = Reflect.getMetadata(Symbols.metadata.options.controllerMethod, target, methodName);
98
+ if (methodMetadata) {
99
+ classMetadata.methods[methodName] = methodMetadata;
100
+ }
101
+ }
102
+ return classMetadata;
103
+ };
104
+ const notAllowedAsMethodName = [
105
+ 'length',
106
+ 'name',
107
+ 'arguments',
108
+ 'caller',
109
+ 'constructor',
110
+ 'apply',
111
+ 'bind',
112
+ 'call',
113
+ 'toString',
114
+ '__defineGetter__',
115
+ '__defineSetter__',
116
+ 'hasOwnProperty',
117
+ '__lookupGetter__',
118
+ '__lookupSetter__',
119
+ 'isPrototypeOf',
120
+ 'propertyIsEnumerable',
121
+ 'valueOf',
122
+ '__proto__',
123
+ 'toLocaleString',
124
+ ];
125
+ ClassHelpers.getMethodsNames = (classOrClassInstance, allMethodsNames = []) => {
126
+ if (!classOrClassInstance) {
127
+ return allMethodsNames;
128
+ }
129
+ const isClassFunction = _.isFunction(classOrClassInstance);
130
+ const classFun = isClassFunction
131
+ ? classOrClassInstance
132
+ : Object.getPrototypeOf(classOrClassInstance);
133
+ const objectToCheck = isClassFunction
134
+ ? classOrClassInstance?.prototype
135
+ : classOrClassInstance;
136
+ const prototypeObj = Object.getPrototypeOf(objectToCheck || {});
137
+ const properties = _.uniq([
138
+ ...Object.getOwnPropertyNames(objectToCheck || {}),
139
+ ...Object.getOwnPropertyNames(prototypeObj || {}),
140
+ ...Object.keys(objectToCheck || {}),
141
+ ...Object.keys(prototypeObj || {}),
142
+ ]).filter(f => !!f && !notAllowedAsMethodName.includes(f));
143
+ properties
144
+ .filter(methodName => typeof objectToCheck[methodName] === 'function')
145
+ .forEach(p => allMethodsNames.push(p));
146
+ if (!classFun ||
147
+ !classFun.constructor ||
148
+ classFun?.constructor?.name === 'Object') {
149
+ return allMethodsNames;
150
+ }
151
+ return ClassHelpers.getMethodsNames(Object.getPrototypeOf(classFun), allMethodsNames);
152
+ };
153
+ ClassHelpers.getControllerConfigs = (target, configs = [], callerTarget) => {
154
+ if (!_.isFunction(target)) {
155
+ throw `[typescript-class-helper][getClassConfig] Cannot get class config from: ${target}`;
156
+ }
157
+ let config;
158
+ const parentClass = Object.getPrototypeOf(target);
159
+ const parentName = parentClass ? ClassHelpers.getName(parentClass) : void 0;
160
+ const isValidParent = _.isFunction(parentClass) && parentName !== '';
161
+ config = ClassHelpers.getControllerConfig(target);
162
+ configs.push(config);
163
+ return isValidParent
164
+ ? ClassHelpers.getControllerConfigs(parentClass, configs, target)
165
+ : configs;
166
+ };
167
+ ClassHelpers.getCalculatedPathFor = (target) => {
168
+ const configs = ClassHelpers.getControllerConfigs(target);
169
+ const parentscalculatedPath = _.slice(configs, 1)
170
+ .reverse()
171
+ .map(bc => {
172
+ if (TaonHelpers.isGoodPath(bc.path)) {
173
+ return bc.path;
174
+ }
175
+ return bc.className;
176
+ })
177
+ .join('/');
178
+ return `/${parentscalculatedPath}/${ClassHelpers.getName(target)}`;
179
+ };
180
+ })(ClassHelpers || (ClassHelpers = {}));
181
+ ;
182
+ ({}); // @--end-of-file-for-module=taon lib/helpers/class-helpers.ts
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3MtaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L3Rhb24vcHJvamVjdHMvdGFvbi9zcmMvbGliL2hlbHBlcnMvY2xhc3MtaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFbkMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN6RCxLQUFLO0FBQ0wsS0FBSztBQUdMLE1BQU0sS0FBVyxZQUFZLENBd1E1QjtBQXhRRCxXQUFpQixZQUFZO0lBRTNCOztPQUVHO0lBQ1UsaUNBQW9CLEdBQUcsQ0FBQyxJQUFZLEVBQUUsRUFBRTtRQUNuRCxJQUFJLENBQUMsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQzFDLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQzFCLENBQUM7UUFDRCxNQUFNLENBQUMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLElBQUksQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEtBQUssUUFBUTtZQUMxRCxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVc7WUFDZixDQUFDLENB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LENBQUMsQ0FBQzthQUNELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUViLE9BQU8sSUFBSSxxQkFBcUIsSUFBSSxZQUFZLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7SUFDckUsQ0FBQyxDQUFDO0FBRUosQ0FBQyxFQXhRZ0IsWUFBWSxLQUFaLFlBQVksUUF3UTVCO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyw4REFBOEQiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgU3ltYm9scyB9IGZyb20gJy4uL3N5bWJvbHMnO1xuaW1wb3J0IHsgVmFsaWRhdG9ycyB9IGZyb20gJy4uL3ZhbGlkYXRvcnMnO1xuaW1wb3J0IHsgXyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0IHsgTW9kZWxzIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IFRhb25Db250cm9sbGVyT3B0aW9ucyB9IGZyb20gJy4uL2RlY29yYXRvcnMvY2xhc3Nlcy9jb250cm9sbGVyLWRlY29yYXRvcic7XG5pbXBvcnQgeyBUYW9uSGVscGVycyB9IGZyb20gJy4vdGFvbi1oZWxwZXJzJztcbmltcG9ydCB7IFRhb25FbnRpdHlPcHRpb25zIH0gZnJvbSAnLi4vZGVjb3JhdG9ycy9jbGFzc2VzL2VudGl0eS1kZWNvcmF0b3InO1xuaW1wb3J0IHsgQ0xBU1MgfSBmcm9tICd0eXBlc2NyaXB0LWNsYXNzLWhlbHBlcnMvYnJvd3Nlcic7XG4vKiAqL1xuLyogKi9cbiAgXG5cbmV4cG9ydCBuYW1lc3BhY2UgQ2xhc3NIZWxwZXJzIHtcblxuICAvKipcbiAgICogVE9ETyAtIHJlcGFsY2UgaW4gZXZlcnkgcGxhY2Ugd2hlbiBnZXR0aW5nIGNsYXNzIGZuIGZyb20gb2JqZWN0XG4gICAqL1xuICBleHBvcnQgY29uc3QgZ2V0Q2xhc3NGbkZyb21PYmplY3QgPSAoanNvbjogT2JqZWN0KSA9PiB7XG4gICAgaWYgKF8uaXNVbmRlZmluZWQoanNvbikgfHwgXy5pc051bGwoanNvbikpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGpzb24uY29uc3RydWN0b3IpIHtcbiAgICAgIHJldHVybiBqc29uLmNvbnN0cnVjdG9yO1xuICAgIH1cbiAgICBjb25zdCBwID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKGpzb24pO1xuICAgIHJldHVybiBwICYmIHAuY29uc3RydWN0b3IgJiYgcC5jb25zdHJ1Y3Rvci5uYW1lICE9PSAnT2JqZWN0J1xuICAgICAgPyBwLmNvbnN0cnVjdG9yXG4gICAgICA6IHZvaWQgMDtcbiAgfTtcblxuXG5cbiAgZXhwb3J0IGNvbnN0IGdldE5hbWUgPSAoY2xhc3NGbk9yT2JqZWN0OiBhbnkpOiBzdHJpbmcgPT4ge1xuXG4gICAgaWYgKGNsYXNzRm5Pck9iamVjdCBpbnN0YW5jZW9mIEZvcm1EYXRhKSB7XG4gICAgICByZXR1cm4gJ0Zvcm1EYXRhJztcbiAgICB9XG4gICAgaWYgKCFjbGFzc0ZuT3JPYmplY3QpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ09CSkVDVCBPUiBDTEFTUycsIGNsYXNzRm5Pck9iamVjdCk7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBnZXQgbmFtZSBmcm9tIHRoaXMgb2JqZWN0IG9yIGNsYXNzLmApO1xuICAgIH1cbiAgICByZXR1cm4gKFxuICAgICAgKGNsYXNzRm5Pck9iamVjdFtTeW1ib2xzLmNsYXNzTmFtZVN0YXRpY1Byb3BlcnR5XVxuICAgICAgICA/IGNsYXNzRm5Pck9iamVjdFtTeW1ib2xzLmNsYXNzTmFtZVN0YXRpY1Byb3BlcnR5XVxuICAgICAgICA6IGNsYXNzRm5Pck9iamVjdD8uY29uc3RydWN0b3JbU3ltYm9scy5jbGFzc05hbWVTdGF0aWNQcm9wZXJ0eV0pIHx8XG4gICAgICBDTEFTUy5nZXROYW1lKGNsYXNzRm5Pck9iamVjdClcbiAgICApO1xuICB9O1xuXG5cbiAgZXhwb3J0IGNvbnN0IGdldE9yZ2luYWxDbGFzcyA9IChjbGFzc0ZuT3JPYmplY3Q6IGFueSk6IGFueSA9PiB7XG4gICAgY29uc3Qgb3JnID0gY2xhc3NGbk9yT2JqZWN0W1N5bWJvbHMub3JpZ25hbENsYXNzXTtcbiAgICBpZiAoIW9yZykge1xuICAgICAgcmV0dXJuIGNsYXNzRm5Pck9iamVjdDtcbiAgICB9XG4gICAgcmV0dXJuIGdldE9yZ2luYWxDbGFzcyhvcmcpO1xuICB9O1xuXG5cbiAgZXhwb3J0IGNvbnN0IGdldEZ1bGxJbnRlcm5hbE5hbWUgPSAoY2xhc3NGbk9yT2JqZWN0OiBhbnkpOiBzdHJpbmcgPT4ge1xuXG5cbiAgICBpZiAoIWNsYXNzRm5Pck9iamVjdCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgZ2V0IG5hbWUgZnJvbTogJHtjbGFzc0ZuT3JPYmplY3R9YCk7XG4gICAgfVxuICAgIHJldHVybiAoXG4gICAgICAoY2xhc3NGbk9yT2JqZWN0W1N5bWJvbHMuZnVsbENsYXNzTmFtZVN0YXRpY1Byb3BlcnR5XVxuICAgICAgICA/IGNsYXNzRm5Pck9iamVjdFtTeW1ib2xzLmZ1bGxDbGFzc05hbWVTdGF0aWNQcm9wZXJ0eV1cbiAgICAgICAgOiBjbGFzc0ZuT3JPYmplY3Q/LmNvbnN0cnVjdG9yW1N5bWJvbHMuZnVsbENsYXNzTmFtZVN0YXRpY1Byb3BlcnR5XSkgfHxcbiAgICAgIHZvaWQgMFxuICAgICk7XG4gIH07XG5cblxuXG4gIGV4cG9ydCBjb25zdCBnZXRVbmlxdUtleSA9IChjbGFzc0ZuT3JPYmplY3Q6IGFueSk6IHN0cmluZyA9PiB7XG4gICAgY29uc3QgY2xhc3NGbiA9IF8uaXNGdW5jdGlvbihjbGFzc0ZuT3JPYmplY3QpXG4gICAgICA/IGNsYXNzRm5Pck9iamVjdFxuICAgICAgOiBjbGFzc0ZuT3JPYmplY3QuY29uc3RydWN0b3I7XG4gICAgY29uc3QgY29uZmlnID0gUmVmbGVjdC5nZXRNZXRhZGF0YShcbiAgICAgIFN5bWJvbHMubWV0YWRhdGEub3B0aW9ucy5jb250cm9sbGVyLFxuICAgICAgY2xhc3NGbixcbiAgICApIGFzIFRhb25FbnRpdHlPcHRpb25zO1xuICAgIHJldHVybiBjb25maWcudW5pcXVlS2V5UHJvcDtcbiAgfTtcblxuXG5cbiAgZXhwb3J0IGNvbnN0IGlzQ29udGV4dENsYXNzT2JqZWN0ID0gKG9iajogYW55KTogYm9vbGVhbiA9PiB7XG4gICAgaWYgKFxuICAgICAgIV8uaXNPYmplY3Qob2JqKSB8fFxuICAgICAgXy5pc0FycmF5KG9iaikgfHxcbiAgICAgIF8uaXNSZWdFeHAob2JqKSB8fFxuICAgICAgXy5pc0J1ZmZlcihvYmopIHx8XG4gICAgICBfLmlzQXJyYXlCdWZmZXIob2JqKVxuICAgICkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAoXy5pc0RhdGUob2JqKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGNvbnN0IGNsYXNzTmFtZSA9IGdldE5hbWUob2JqKTtcbiAgICByZXR1cm4gXy5pc1N0cmluZyhjbGFzc05hbWUpICYmIGNsYXNzTmFtZSAhPT0gJ09iamVjdCc7XG4gIH07XG5cblxuXG5cbiAgZXhwb3J0IGNvbnN0IHNldE5hbWUgPSAodGFyZ2V0OiBGdW5jdGlvbiwgY2xhc3NOYW1lOiBzdHJpbmcpOiB2b2lkID0+IHtcblxuICAgIFZhbGlkYXRvcnMuY2xhc3NOYW1lVmxpZGF0aW9uKGNsYXNzTmFtZSwgdGFyZ2V0KTtcbiAgICB0YXJnZXRbU3ltYm9scy5jbGFzc05hbWVTdGF0aWNQcm9wZXJ0eV0gPSBjbGFzc05hbWU7XG4gIH07XG5cblxuXG4gIGV4cG9ydCBjb25zdCBoYXNQYXJlbnRDbGFzc1dpdGhOYW1lID0gKFxuICAgIHRhcmdldDogRnVuY3Rpb24sXG4gICAgY2xhc3NOYW1lOiBzdHJpbmcsXG4gICAgdGFyZ2V0cyA9IFtdLFxuICApOiBib29sZWFuID0+IHtcbiAgICBpZiAoIXRhcmdldCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICB0YXJnZXRzLnB1c2godGFyZ2V0KTtcbiAgICBsZXQgdGFyZ2V0UHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YodGFyZ2V0KTtcblxuICAgIGlmIChcbiAgICAgIF8uaXNGdW5jdGlvbih0YXJnZXRQcm90bykgJiZcbiAgICAgIENsYXNzSGVscGVycy5nZXROYW1lKHRhcmdldFByb3RvKSA9PT0gY2xhc3NOYW1lXG4gICAgKSB7XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gaGFzUGFyZW50Q2xhc3NXaXRoTmFtZSh0YXJnZXRQcm90bywgY2xhc3NOYW1lLCB0YXJnZXRzKTtcbiAgfTtcblxuXG5cbiAgZXhwb3J0IGNvbnN0IGdldENvbnRyb2xsZXJDb25maWcgPSAoXG4gICAgdGFyZ2V0OiBGdW5jdGlvbixcbiAgKTogTW9kZWxzLkNvbnRyb2xsZXJDb25maWcgfCB1bmRlZmluZWQgPT4ge1xuICAgIGNvbnN0IGNsYXNzTWV0YWRhdGFPcHRpb25zOiBUYW9uQ29udHJvbGxlck9wdGlvbnMgPSBSZWZsZWN0LmdldE1ldGFkYXRhKFxuICAgICAgU3ltYm9scy5tZXRhZGF0YS5vcHRpb25zLmNvbnRyb2xsZXIsXG4gICAgICB0YXJnZXQsXG4gICAgKTtcbiAgICBjb25zdCBjbGFzc01ldGFkYXRhOiBNb2RlbHMuQ29udHJvbGxlckNvbmZpZyA9IF8ubWVyZ2UoXG4gICAgICBuZXcgTW9kZWxzLkNvbnRyb2xsZXJDb25maWcoKSxcbiAgICAgIGNsYXNzTWV0YWRhdGFPcHRpb25zLFxuICAgICk7XG5cblxuICAgIGNvbnN0IG1ldGhvZE5hbWVzID0gQ2xhc3NIZWxwZXJzLmdldE1ldGhvZHNOYW1lcyh0YXJnZXQpOyAvLyAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGFyZ2V0LnByb3RvdHlwZSk7XG5cbiAgICBmb3IgKGNvbnN0IG1ldGhvZE5hbWUgb2YgbWV0aG9kTmFtZXMpIHtcbiAgICAgIGNvbnN0IG1ldGhvZE1ldGFkYXRhOiBNb2RlbHMuTWV0aG9kQ29uZmlnID0gUmVmbGVjdC5nZXRNZXRhZGF0YShcbiAgICAgICAgU3ltYm9scy5tZXRhZGF0YS5vcHRpb25zLmNvbnRyb2xsZXJNZXRob2QsXG4gICAgICAgIHRhcmdldCxcbiAgICAgICAgbWV0aG9kTmFtZSxcbiAgICAgICk7XG5cbiAgICAgIGlmIChtZXRob2RNZXRhZGF0YSkge1xuICAgICAgICBjbGFzc01ldGFkYXRhLm1ldGhvZHNbbWV0aG9kTmFtZV0gPSBtZXRob2RNZXRhZGF0YTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNsYXNzTWV0YWRhdGE7XG4gIH07XG5cblxuXG5cblxuICBjb25zdCBub3RBbGxvd2VkQXNNZXRob2ROYW1lID0gW1xuICAgICdsZW5ndGgnLFxuICAgICduYW1lJyxcbiAgICAnYXJndW1lbnRzJyxcbiAgICAnY2FsbGVyJyxcbiAgICAnY29uc3RydWN0b3InLFxuICAgICdhcHBseScsXG4gICAgJ2JpbmQnLFxuICAgICdjYWxsJyxcbiAgICAndG9TdHJpbmcnLFxuICAgICdfX2RlZmluZUdldHRlcl9fJyxcbiAgICAnX19kZWZpbmVTZXR0ZXJfXycsXG4gICAgJ2hhc093blByb3BlcnR5JyxcbiAgICAnX19sb29rdXBHZXR0ZXJfXycsXG4gICAgJ19fbG9va3VwU2V0dGVyX18nLFxuICAgICdpc1Byb3RvdHlwZU9mJyxcbiAgICAncHJvcGVydHlJc0VudW1lcmFibGUnLFxuICAgICd2YWx1ZU9mJyxcbiAgICAnX19wcm90b19fJyxcbiAgICAndG9Mb2NhbGVTdHJpbmcnLFxuICBdO1xuXG5cbiAgZXhwb3J0IGNvbnN0IGdldE1ldGhvZHNOYW1lcyA9IChcbiAgICBjbGFzc09yQ2xhc3NJbnN0YW5jZTogYW55LFxuICAgIGFsbE1ldGhvZHNOYW1lcyA9IFtdLFxuICApOiBzdHJpbmdbXSA9PiB7XG4gICAgaWYgKCFjbGFzc09yQ2xhc3NJbnN0YW5jZSkge1xuICAgICAgcmV0dXJuIGFsbE1ldGhvZHNOYW1lcztcbiAgICB9XG5cbiAgICBjb25zdCBpc0NsYXNzRnVuY3Rpb24gPSBfLmlzRnVuY3Rpb24oY2xhc3NPckNsYXNzSW5zdGFuY2UpO1xuICAgIGNvbnN0IGNsYXNzRnVuID0gaXNDbGFzc0Z1bmN0aW9uXG4gICAgICA/IGNsYXNzT3JDbGFzc0luc3RhbmNlXG4gICAgICA6IE9iamVjdC5nZXRQcm90b3R5cGVPZihjbGFzc09yQ2xhc3NJbnN0YW5jZSk7XG4gICAgY29uc3Qgb2JqZWN0VG9DaGVjayA9IGlzQ2xhc3NGdW5jdGlvblxuICAgICAgPyAoY2xhc3NPckNsYXNzSW5zdGFuY2UgYXMgRnVuY3Rpb24pPy5wcm90b3R5cGVcbiAgICAgIDogY2xhc3NPckNsYXNzSW5zdGFuY2U7XG4gICAgY29uc3QgcHJvdG90eXBlT2JqID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKG9iamVjdFRvQ2hlY2sgfHwge30pO1xuXG4gICAgY29uc3QgcHJvcGVydGllcyA9IF8udW5pcShbXG4gICAgICAuLi5PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhvYmplY3RUb0NoZWNrIHx8IHt9KSxcbiAgICAgIC4uLk9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHByb3RvdHlwZU9iaiB8fCB7fSksXG4gICAgICAuLi5PYmplY3Qua2V5cyhvYmplY3RUb0NoZWNrIHx8IHt9KSxcbiAgICAgIC4uLk9iamVjdC5rZXlzKHByb3RvdHlwZU9iaiB8fCB7fSksXG4gICAgXSkuZmlsdGVyKGYgPT4gISFmICYmICFub3RBbGxvd2VkQXNNZXRob2ROYW1lLmluY2x1ZGVzKGYpKTtcblxuICAgIHByb3BlcnRpZXNcbiAgICAgIC5maWx0ZXIobWV0aG9kTmFtZSA9PiB0eXBlb2Ygb2JqZWN0VG9DaGVja1ttZXRob2ROYW1lXSA9PT0gJ2Z1bmN0aW9uJylcbiAgICAgIC5mb3JFYWNoKHAgPT4gYWxsTWV0aG9kc05hbWVzLnB1c2gocCkpO1xuXG4gICAgaWYgKFxuICAgICAgIWNsYXNzRnVuIHx8XG4gICAgICAhY2xhc3NGdW4uY29uc3RydWN0b3IgfHxcbiAgICAgIGNsYXNzRnVuPy5jb25zdHJ1Y3Rvcj8ubmFtZSA9PT0gJ09iamVjdCdcbiAgICApIHtcbiAgICAgIHJldHVybiBhbGxNZXRob2RzTmFtZXM7XG4gICAgfVxuICAgIHJldHVybiBnZXRNZXRob2RzTmFtZXMoT2JqZWN0LmdldFByb3RvdHlwZU9mKGNsYXNzRnVuKSwgYWxsTWV0aG9kc05hbWVzKTtcbiAgfTtcblxuXG5cbiAgZXhwb3J0IGNvbnN0IGdldENvbnRyb2xsZXJDb25maWdzID0gKFxuICAgIHRhcmdldDogRnVuY3Rpb24sXG4gICAgY29uZmlnczogTW9kZWxzLkNvbnRyb2xsZXJDb25maWdbXSA9IFtdLFxuICAgIGNhbGxlclRhcmdldD86IEZ1bmN0aW9uLFxuICApOiBNb2RlbHMuUnVudGltZUNvbnRyb2xsZXJDb25maWdbXSA9PiB7XG4gICAgaWYgKCFfLmlzRnVuY3Rpb24odGFyZ2V0KSkge1xuICAgICAgdGhyb3cgYFt0eXBlc2NyaXB0LWNsYXNzLWhlbHBlcl1bZ2V0Q2xhc3NDb25maWddIENhbm5vdCBnZXQgY2xhc3MgY29uZmlnIGZyb206ICR7dGFyZ2V0fWA7XG4gICAgfVxuXG4gICAgbGV0IGNvbmZpZzogTW9kZWxzLlJ1bnRpbWVDb250cm9sbGVyQ29uZmlnO1xuICAgIGNvbnN0IHBhcmVudENsYXNzID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKHRhcmdldCk7XG4gICAgY29uc3QgcGFyZW50TmFtZSA9IHBhcmVudENsYXNzID8gQ2xhc3NIZWxwZXJzLmdldE5hbWUocGFyZW50Q2xhc3MpIDogdm9pZCAwO1xuICAgIGNvbnN0IGlzVmFsaWRQYXJlbnQgPSBfLmlzRnVuY3Rpb24ocGFyZW50Q2xhc3MpICYmIHBhcmVudE5hbWUgIT09ICcnO1xuXG4gICAgY29uZmlnID0gZ2V0Q29udHJvbGxlckNvbmZpZyh0YXJnZXQpO1xuXG4gICAgY29uZmlncy5wdXNoKGNvbmZpZyk7XG5cbiAgICByZXR1cm4gaXNWYWxpZFBhcmVudFxuICAgICAgPyBnZXRDb250cm9sbGVyQ29uZmlncyhwYXJlbnRDbGFzcywgY29uZmlncywgdGFyZ2V0KVxuICAgICAgOiBjb25maWdzO1xuICB9O1xuXG5cblxuICBleHBvcnQgY29uc3QgZ2V0Q2FsY3VsYXRlZFBhdGhGb3IgPSAodGFyZ2V0OiBGdW5jdGlvbikgPT4ge1xuICAgIGNvbnN0IGNvbmZpZ3MgPSBnZXRDb250cm9sbGVyQ29uZmlncyh0YXJnZXQpO1xuXG4gICAgY29uc3QgcGFyZW50c2NhbGN1bGF0ZWRQYXRoID0gXy5zbGljZShjb25maWdzLCAxKVxuICAgICAgLnJldmVyc2UoKVxuICAgICAgLm1hcChiYyA9PiB7XG4gICAgICAgIGlmIChUYW9uSGVscGVycy5pc0dvb2RQYXRoKGJjLnBhdGgpKSB7XG4gICAgICAgICAgcmV0dXJuIGJjLnBhdGg7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGJjLmNsYXNzTmFtZTtcbiAgICAgIH0pXG4gICAgICAuam9pbignLycpO1xuXG4gICAgcmV0dXJuIGAvJHtwYXJlbnRzY2FsY3VsYXRlZFBhdGh9LyR7Q2xhc3NIZWxwZXJzLmdldE5hbWUodGFyZ2V0KX1gO1xuICB9O1xuXG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10YW9uIGxpYi9oZWxwZXJzL2NsYXNzLWhlbHBlcnMudHMiXX0=
@@ -0,0 +1,120 @@
1
+ import { _ } from 'tnp-core/browser';
2
+ import * as JSON5 from 'json5';
3
+ import { ClassHelpers } from './class-helpers';
4
+ export var TaonHelpers;
5
+ (function (TaonHelpers) {
6
+ TaonHelpers.fillUpTo = (s, nCharacters) => {
7
+ return _.times(nCharacters, n => {
8
+ if (s.charAt(n)) {
9
+ return s.charAt(n);
10
+ }
11
+ return ' ';
12
+ }).join('');
13
+ };
14
+ TaonHelpers.isGoodPath = (p) => {
15
+ return p && typeof p === 'string' && p.trim() !== '';
16
+ };
17
+ TaonHelpers.tryTransformParam = param => {
18
+ if (typeof param === 'string') {
19
+ let n = Number(param);
20
+ if (!isNaN(n))
21
+ return n;
22
+ const bool = param.trim().toLowerCase();
23
+ if (bool === 'true') {
24
+ return true;
25
+ }
26
+ if (bool === 'false') {
27
+ return false;
28
+ }
29
+ try {
30
+ const t = JSON5.parse(param);
31
+ return t;
32
+ }
33
+ catch (e) {
34
+ return param;
35
+ }
36
+ }
37
+ return param;
38
+ };
39
+ TaonHelpers.getExpressPath = (c, pathOrClassConfig) => {
40
+ if (typeof pathOrClassConfig === 'string')
41
+ return `${c.calculatedPath}${pathOrClassConfig}`.replace(/\/$/, '');
42
+ return `${c.calculatedPath}${pathOrClassConfig.path}`.replace(/\/$/, '');
43
+ };
44
+ TaonHelpers.defaultType = value => {
45
+ if (typeof value === 'string')
46
+ return '';
47
+ if (typeof value === 'boolean')
48
+ return false;
49
+ if (Array.isArray(value))
50
+ return {};
51
+ if (typeof value === 'object')
52
+ return {};
53
+ };
54
+ TaonHelpers.parseJSONwithStringJSONs = (object, waring = false) => {
55
+ if (!_.isObject(object)) {
56
+ if (waring) {
57
+ console.error(`
58
+ parseJSONwithStringJSONs(...)
59
+ Parameter should be a object, but is ${typeof object}
60
+ `, object);
61
+ }
62
+ return object;
63
+ }
64
+ let res = _.cloneDeep(object);
65
+ Object.keys(res).forEach(key => {
66
+ let isJson = false;
67
+ try {
68
+ const possibleJSON = JSON.parse(res[key]);
69
+ res[key] = possibleJSON;
70
+ isJson = true;
71
+ }
72
+ catch (e) {
73
+ isJson = false;
74
+ }
75
+ if (isJson) {
76
+ res[key] = TaonHelpers.parseJSONwithStringJSONs(res[key], false);
77
+ }
78
+ });
79
+ return res;
80
+ };
81
+ TaonHelpers.isPlainFileOrFolder = filePath => {
82
+ return /^([a-zA-Z]|\-|\_|\@|\#|\$|\!|\^|\&|\*|\(|\))+$/.test(filePath);
83
+ };
84
+ TaonHelpers.ipcKeyNameResponse = (target, methodConfig, expressPath) => {
85
+ return [
86
+ 'response',
87
+ ClassHelpers.getName(target),
88
+ methodConfig.methodName,
89
+ methodConfig.type,
90
+ expressPath,
91
+ ].join('--');
92
+ };
93
+ TaonHelpers.ipcKeyNameRequest = (target, methodConfig, expressPath) => {
94
+ return [
95
+ 'request',
96
+ ClassHelpers.getName(target),
97
+ methodConfig.methodName,
98
+ methodConfig.type,
99
+ expressPath,
100
+ ].join('--');
101
+ };
102
+ TaonHelpers.websqlMocks = headers => {
103
+ const response = {
104
+ status(status) {
105
+ return {
106
+ send(send) {
107
+ },
108
+ };
109
+ },
110
+ setHeader(key, value) {
111
+ headers[key] = value;
112
+ },
113
+ };
114
+ const request = {};
115
+ return { request, response };
116
+ };
117
+ })(TaonHelpers || (TaonHelpers = {}));
118
+ ;
119
+ ({}); // @--end-of-file-for-module=taon lib/helpers/taon-helpers.ts
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFvbi1oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdGFvbi9wcm9qZWN0cy90YW9uL3NyYy9saWIvaGVscGVycy90YW9uLWhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JDLE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBRS9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxNQUFNLEtBQVcsV0FBVyxDQWdLM0I7QUFoS0QsV0FBaUIsV0FBVztJQUViLG9CQUFRLEdBQUcsQ0FBQyxDQUFTLEVBQUUsV0FBbUIsRUFBRSxFQUFFO1FBQ3pELE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUU7WUFDOUIsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ2hCLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyQixDQUFDO1lBQ0QsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDZCxDQUFDLENBQUM7SUFJVyxzQkFBVSxHQUFHLENBQUMsQ0FBUyxFQUFFLEVBQUU7UUFDdEMsT0FBTyxDQUFDLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDdkQsQ0FBQyxDQUFDO0lBSVcsNkJBQWlCLEdBQUcsS0FBSyxDQUFDLEVBQUU7UUFDdkMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdEIsSUFBSSxDQUFD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RUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyw2REFBNkQiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgXyB9IGZyb20gJ3RucC1jb3JlL2Jyb3dzZXInO1xuaW1wb3J0ICogYXMgSlNPTjUgZnJvbSAnanNvbjUnO1xuaW1wb3J0IHsgTW9kZWxzIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IENsYXNzSGVscGVycyB9IGZyb20gJy4vY2xhc3MtaGVscGVycyc7XG5cbmV4cG9ydCBuYW1lc3BhY2UgVGFvbkhlbHBlcnMge1xuXG4gIGV4cG9ydCBjb25zdCBmaWxsVXBUbyA9IChzOiBzdHJpbmcsIG5DaGFyYWN0ZXJzOiBudW1iZXIpID0+IHtcbiAgICByZXR1cm4gXy50aW1lcyhuQ2hhcmFjdGVycywgbiA9PiB7XG4gICAgICBpZiAocy5jaGFyQXQobikpIHtcbiAgICAgICAgcmV0dXJuIHMuY2hhckF0KG4pO1xuICAgICAgfVxuICAgICAgcmV0dXJuICcgJztcbiAgICB9KS5qb2luKCcnKTtcbiAgfTtcblxuXG5cbiAgZXhwb3J0IGNvbnN0IGlzR29vZFBhdGggPSAocDogc3RyaW5nKSA9PiB7XG4gICAgcmV0dXJuIHAgJiYgdHlwZW9mIHAgPT09ICdzdHJpbmcnICYmIHAudHJpbSgpICE9PSAnJztcbiAgfTtcblxuXG5cbiAgZXhwb3J0IGNvbnN0IHRyeVRyYW5zZm9ybVBhcmFtID0gcGFyYW0gPT4ge1xuICAgIGlmICh0eXBlb2YgcGFyYW0gPT09ICdzdHJpbmcnKSB7XG4gICAgICBsZXQgbiA9IE51bWJlcihwYXJhbSk7XG4gICAgICBpZiAoIWlzTmFOKG4pKSByZXR1cm4gbjtcbiAgICAgIGNvbnN0IGJvb2wgPSBwYXJhbS50cmltKCkudG9Mb3dlckNhc2UoKTtcbiAgICAgIGlmIChib29sID09PSAndHJ1ZScpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICBpZiAoYm9vbCA9PT0gJ2ZhbHNlJykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCB0ID0gSlNPTjUucGFyc2UocGFyYW0pO1xuICAgICAgICByZXR1cm4gdDtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcmV0dXJuIHBhcmFtO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcGFyYW07XG4gIH07XG5cblxuXG4gIGV4cG9ydCBjb25zdCBnZXRFeHByZXNzUGF0aCA9IChcbiAgICBjOiBNb2RlbHMuUnVudGltZUNvbnRyb2xsZXJDb25maWcsXG4gICAgcGF0aE9yQ2xhc3NDb25maWc6IE1vZGVscy5NZXRob2RDb25maWcsXG4gICkgPT4ge1xuICAgIGlmICh0eXBlb2YgcGF0aE9yQ2xhc3NDb25maWcgPT09ICdzdHJpbmcnKVxuICAgICAgcmV0dXJuIGAke2MuY2FsY3VsYXRlZFBhdGh9JHtwYXRoT3JDbGFzc0NvbmZpZ31gLnJlcGxhY2UoL1xcLyQvLCAnJyk7XG4gICAgcmV0dXJuIGAke2MuY2FsY3VsYXRlZFBhdGh9JHtwYXRoT3JDbGFzc0NvbmZpZy5wYXRofWAucmVwbGFjZSgvXFwvJC8sICcnKTtcbiAgfTtcblxuXG5cbiAgZXhwb3J0IGNvbnN0IGRlZmF1bHRUeXBlID0gdmFsdWUgPT4ge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSByZXR1cm4gJyc7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSByZXR1cm4ge307XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHJldHVybiB7fTtcbiAgfTtcblxuXG5cbiAgZXhwb3J0IGNvbnN0IHBhcnNlSlNPTndpdGhTdHJpbmdKU09OcyA9IChcbiAgICBvYmplY3Q6IE9iamVjdCxcbiAgICB3YXJpbmcgPSBmYWxzZSxcbiAgKTogT2JqZWN0ID0+IHtcblxuICAgIGlmICghXy5pc09iamVjdChvYmplY3QpKSB7XG4gICAgICBpZiAod2FyaW5nKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgYFxuICAgICAgICBwYXJzZUpTT053aXRoU3RyaW5nSlNPTnMoLi4uKVxuICAgICAgICBQYXJhbWV0ZXIgc2hvdWxkIGJlIGEgb2JqZWN0LCBidXQgaXMgJHt0eXBlb2Ygb2JqZWN0fVxuICAgICAgICBgLFxuICAgICAgICAgIG9iamVjdCxcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG9iamVjdDtcbiAgICB9XG5cbiAgICBsZXQgcmVzID0gXy5jbG9uZURlZXAob2JqZWN0KTtcblxuICAgIE9iamVjdC5rZXlzKHJlcykuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgbGV0IGlzSnNvbiA9IGZhbHNlO1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcG9zc2libGVKU09OID0gSlNPTi5wYXJzZShyZXNba2V5XSk7XG4gICAgICAgIHJlc1trZXldID0gcG9zc2libGVKU09OO1xuICAgICAgICBpc0pzb24gPSB0cnVlO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBpc0pzb24gPSBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzSnNvbikge1xuICAgICAgICByZXNba2V5XSA9IHBhcnNlSlNPTndpdGhTdHJpbmdKU09OcyhyZXNba2V5XSwgZmFsc2UpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHJlcztcbiAgfTtcblxuXG5cbiAgZXhwb3J0IGNvbnN0IGlzUGxhaW5GaWxlT3JGb2xkZXIgPSBmaWxlUGF0aCA9PiB7XG4gICAgcmV0dXJuIC9eKFthLXpBLVpdfFxcLXxcXF98XFxAfFxcI3xcXCR8XFwhfFxcXnxcXCZ8XFwqfFxcKHxcXCkpKyQvLnRlc3QoZmlsZVBhdGgpO1xuICB9O1xuXG5cblxuICBleHBvcnQgY29uc3QgaXBjS2V5TmFtZVJlc3BvbnNlID0gKFxuICAgIHRhcmdldDogRnVuY3Rpb24sXG4gICAgbWV0aG9kQ29uZmlnOiBNb2RlbHMuTWV0aG9kQ29uZmlnLFxuICAgIGV4cHJlc3NQYXRoOiBzdHJpbmcsXG4gICkgPT4ge1xuICAgIHJldHVybiBbXG4gICAgICAncmVzcG9uc2UnLFxuICAgICAgQ2xhc3NIZWxwZXJzLmdldE5hbWUodGFyZ2V0KSxcbiAgICAgIG1ldGhvZENvbmZpZy5tZXRob2ROYW1lLFxuICAgICAgbWV0aG9kQ29uZmlnLnR5cGUsXG4gICAgICBleHByZXNzUGF0aCxcbiAgICBdLmpvaW4oJy0tJyk7XG4gIH07XG5cblxuXG4gIGV4cG9ydCBjb25zdCBpcGNLZXlOYW1lUmVxdWVzdCA9IChcbiAgICB0YXJnZXQ6IEZ1bmN0aW9uLFxuICAgIG1ldGhvZENvbmZpZzogTW9kZWxzLk1ldGhvZENvbmZpZyxcbiAgICBleHByZXNzUGF0aDogc3RyaW5nLFxuICApID0+IHtcbiAgICByZXR1cm4gW1xuICAgICAgJ3JlcXVlc3QnLFxuICAgICAgQ2xhc3NIZWxwZXJzLmdldE5hbWUodGFyZ2V0KSxcbiAgICAgIG1ldGhvZENvbmZpZy5tZXRob2ROYW1lLFxuICAgICAgbWV0aG9kQ29uZmlnLnR5cGUsXG4gICAgICBleHByZXNzUGF0aCxcbiAgICBdLmpvaW4oJy0tJyk7XG4gIH07XG5cblxuXG4gIGV4cG9ydCBjb25zdCB3ZWJzcWxNb2NrcyA9IGhlYWRlcnMgPT4ge1xuICAgIGNvbnN0IHJlc3BvbnNlOiBFeHByZXNzLlJlc3BvbnNlID0ge1xuICAgICAgc3RhdHVzKHN0YXR1czogYW55KSB7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBzZW5kKHNlbmQ6IGFueSkge1xuXG4gICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICAgIH0sXG4gICAgICBzZXRIZWFkZXIoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcblxuICAgICAgICBoZWFkZXJzW2tleV0gPSB2YWx1ZTtcbiAgICAgIH0sXG4gICAgfTtcbiAgICBjb25zdCByZXF1ZXN0OiBFeHByZXNzLlJlcXVlc3QgPSB7fTtcbiAgICByZXR1cm4geyByZXF1ZXN0LCByZXNwb25zZSB9O1xuICB9O1xuXG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10YW9uIGxpYi9oZWxwZXJzL3Rhb24taGVscGVycy50cyJdfQ==