@futdevpro/fsm-dynamo 1.15.17 → 1.15.20

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 (543) hide show
  1. package/.cursor/rules/__assistant_guide.mdc +30 -30
  2. package/.cursor/rules/_ag_backend-structure.mdc +85 -85
  3. package/.cursor/rules/_ag_backend.mdc +16 -16
  4. package/.cursor/rules/_ag_frontend-structure.mdc +86 -86
  5. package/.cursor/rules/_ag_frontend.mdc +39 -39
  6. package/.cursor/rules/_ag_import-rules.mdc +44 -44
  7. package/.cursor/rules/_ag_naming.mdc +115 -115
  8. package/.cursor/rules/_ag_should-be.mdc +6 -6
  9. package/.cursor/rules/ai_development_guide.md +60 -60
  10. package/.cursor/rules/cursor-rules.md +160 -160
  11. package/.cursor/rules/default-command.mdc +464 -464
  12. package/.cursor/rules/error_code_pattern.md +39 -39
  13. package/.cursor/rules/saved rule mcp server use.md +15 -15
  14. package/.dynamo/pipeline.cicd.config.json +128 -128
  15. package/.github/workflows/main.yml +433 -433
  16. package/.vscode/settings.json +11 -11
  17. package/LICENSE +21 -21
  18. package/__documentations/2026-06-01-fr047-fc-foundation.md +48 -0
  19. package/build/_models/data-models/errors.data-model.d.ts +43 -0
  20. package/build/_models/data-models/errors.data-model.d.ts.map +1 -1
  21. package/build/_models/data-models/errors.data-model.js +30 -0
  22. package/build/_models/data-models/errors.data-model.js.map +1 -1
  23. package/build/_modules/ai/_models/ai-model-capabilities.interface.d.ts +8 -0
  24. package/build/_modules/ai/_models/ai-model-capabilities.interface.d.ts.map +1 -1
  25. package/build/_modules/ai/_modules/anthropic/_collections/aai-models.const.d.ts.map +1 -1
  26. package/build/_modules/ai/_modules/anthropic/_collections/aai-models.const.js +3 -0
  27. package/build/_modules/ai/_modules/anthropic/_collections/aai-models.const.js.map +1 -1
  28. package/build/_modules/ai/_modules/fdp-ai/_collections/fdpai-models.const.d.ts.map +1 -1
  29. package/build/_modules/ai/_modules/fdp-ai/_collections/fdpai-models.const.js +1 -0
  30. package/build/_modules/ai/_modules/fdp-ai/_collections/fdpai-models.const.js.map +1 -1
  31. package/build/_modules/ai/_modules/google-ai/_collections/gai-models.const.d.ts.map +1 -1
  32. package/build/_modules/ai/_modules/google-ai/_collections/gai-models.const.js +4 -0
  33. package/build/_modules/ai/_modules/google-ai/_collections/gai-models.const.js.map +1 -1
  34. package/build/_modules/ai/_modules/local-ai/_collections/lai-models.const.d.ts.map +1 -1
  35. package/build/_modules/ai/_modules/local-ai/_collections/lai-models.const.js +2 -0
  36. package/build/_modules/ai/_modules/local-ai/_collections/lai-models.const.js.map +1 -1
  37. package/build/_modules/ai/_modules/open-ai/_collections/oai-models.const.d.ts.map +1 -1
  38. package/build/_modules/ai/_modules/open-ai/_collections/oai-models.const.js +11 -0
  39. package/build/_modules/ai/_modules/open-ai/_collections/oai-models.const.js.map +1 -1
  40. package/build/_modules/socket/_models/sck-socket-event.control-model.js +1 -1
  41. package/eslint.config.js +4 -4
  42. package/nodemon.json +22 -22
  43. package/package.json +11 -11
  44. package/scripts/crypto/CRYPTO-STABILITY-SOLUTION.md +196 -196
  45. package/scripts/crypto/README.md +113 -113
  46. package/scripts/crypto/demo-crypto-stability.js +120 -120
  47. package/scripts/crypto/stress-test-crypto.js +379 -379
  48. package/scripts/run-coverage-tests.js +24 -24
  49. package/spec/support/helpers/ts-node-helper.js +9 -9
  50. package/spec/support/jasmine.coverage.json +23 -23
  51. package/spec/support/jasmine.json +24 -24
  52. package/src/_collections/constants/data-sizes.const.ts +40 -40
  53. package/src/_collections/constants/error-defaults.const.ts +20 -20
  54. package/src/_collections/constants/global-settings.const.ts +24 -24
  55. package/src/_collections/constants/numbers.const.ts +40 -40
  56. package/src/_collections/constants/times.const.ts +45 -45
  57. package/src/_collections/utils/array.util.spec.ts +306 -306
  58. package/src/_collections/utils/array.util.ts +813 -813
  59. package/src/_collections/utils/async.util.spec.ts +354 -354
  60. package/src/_collections/utils/async.util.ts +197 -197
  61. package/src/_collections/utils/data.util.spec.ts +345 -345
  62. package/src/_collections/utils/data.util.ts +226 -226
  63. package/src/_collections/utils/json-error-helper.util.spec.ts +521 -521
  64. package/src/_collections/utils/json-error-helper.util.ts +301 -301
  65. package/src/_collections/utils/log.util.spec.ts +975 -975
  66. package/src/_collections/utils/log.util.ts +665 -665
  67. package/src/_collections/utils/math/box-bounds.spec.ts +73 -73
  68. package/src/_collections/utils/math/box-bounds.util.ts +183 -183
  69. package/src/_collections/utils/math/math.util.spec.ts +94 -94
  70. package/src/_collections/utils/math/math.util.ts +141 -141
  71. package/src/_collections/utils/math/random.util.spec.ts +82 -82
  72. package/src/_collections/utils/math/random.util.ts +139 -139
  73. package/src/_collections/utils/math/trigonometry.util.spec.ts +57 -57
  74. package/src/_collections/utils/math/trigonometry.util.ts +102 -102
  75. package/src/_collections/utils/math/vector2.util.spec.ts +94 -94
  76. package/src/_collections/utils/math/vector2.util.ts +653 -653
  77. package/src/_collections/utils/object.util.spec.ts +646 -646
  78. package/src/_collections/utils/regex/password-regex.util.spec.ts +51 -51
  79. package/src/_collections/utils/regex/password-regex.util.ts +65 -65
  80. package/src/_collections/utils/regex/regex.util.spec.ts +42 -42
  81. package/src/_collections/utils/regex/regex.util.ts +6 -6
  82. package/src/_collections/utils/regex/username-regex.util.spec.ts +61 -61
  83. package/src/_collections/utils/regex/username-regex.util.ts +35 -35
  84. package/src/_collections/utils/round-list.util.spec.ts +79 -79
  85. package/src/_collections/utils/round-list.util.ts +162 -162
  86. package/src/_collections/utils/stack.util.spec.ts +372 -372
  87. package/src/_collections/utils/stack.util.ts +164 -164
  88. package/src/_collections/utils/string-case.util.spec.ts +441 -441
  89. package/src/_collections/utils/string-case.util.ts +362 -362
  90. package/src/_collections/utils/string.util.spec.ts +975 -975
  91. package/src/_collections/utils/string.util.ts +449 -449
  92. package/src/_collections/utils/time.util.spec.ts +50 -50
  93. package/src/_collections/utils/time.util.ts +481 -481
  94. package/src/_collections/utils/type-cloning-facility.util.spec.ts +51 -51
  95. package/src/_collections/utils/type-cloning-facility.util.ts +168 -168
  96. package/src/_collections/utils/utilities.util.spec.ts +201 -201
  97. package/src/_collections/utils/utilities.util.ts +68 -68
  98. package/src/_collections/utils/uuid.util.spec.ts +30 -30
  99. package/src/_collections/utils/uuid.util.ts +50 -50
  100. package/src/_enums/basic-property-type.enum.ts +20 -20
  101. package/src/_enums/data-model-type.enum.ts +29 -29
  102. package/src/_enums/environment-flag.enum.ts +28 -28
  103. package/src/_enums/error-level.enum.ts +28 -28
  104. package/src/_enums/http/http-call-type.enum.ts +43 -43
  105. package/src/_enums/http/http-event-type.enum.ts +40 -40
  106. package/src/_enums/http/http-response-type.enum.ts +18 -18
  107. package/src/_enums/log-style.enum.ts +44 -44
  108. package/src/_enums/server-connection-status.enum.ts +6 -6
  109. package/src/_enums/time/day-of-week.enum.ts +55 -55
  110. package/src/_enums/time/month.enum.ts +25 -25
  111. package/src/_enums/time/relative-date.enum.ts +24 -24
  112. package/src/_models/control-models/data-model-params.control-model.spec.ts +85 -85
  113. package/src/_models/control-models/data-model-params.control-model.ts +300 -300
  114. package/src/_models/control-models/data-property-params.control-model.spec.ts +93 -93
  115. package/src/_models/control-models/data-property-params.control-model.ts +201 -201
  116. package/src/_models/control-models/error.control-model.spec.ts +912 -912
  117. package/src/_models/control-models/error.control-model.ts +1215 -1215
  118. package/src/_models/control-models/http/http-error-response.control-model.spec.ts +116 -116
  119. package/src/_models/control-models/http/http-error-response.control-model.ts +52 -52
  120. package/src/_models/control-models/http/http-headers.control-model.spec.ts +25 -25
  121. package/src/_models/control-models/http/http-headers.control-model.ts +124 -124
  122. package/src/_models/control-models/http/http-response.model-base.spec.ts +46 -46
  123. package/src/_models/control-models/http/http-response.model-base.ts +57 -57
  124. package/src/_models/control-models/poll.control-model.spec.ts +63 -63
  125. package/src/_models/control-models/poll.control-model.ts +151 -151
  126. package/src/_models/control-models/range-value.control-model.spec.ts +187 -187
  127. package/src/_models/control-models/range-value.control-model.ts +289 -289
  128. package/src/_models/control-models/server-status.control-model.spec.ts +66 -66
  129. package/src/_models/control-models/server-status.control-model.ts +85 -85
  130. package/src/_models/control-models/service-endpoint-settings-base.control-model.spec.ts +145 -145
  131. package/src/_models/control-models/service-endpoint-settings-base.control-model.ts +186 -186
  132. package/src/_models/data-models/errors.data-model.spec.ts +71 -71
  133. package/src/_models/data-models/errors.data-model.ts +148 -91
  134. package/src/_models/data-models/metadata.data-model.spec.ts +184 -184
  135. package/src/_models/data-models/metadata.data-model.ts +128 -128
  136. package/src/_models/interfaces/box-bounds.interface.ts +7 -7
  137. package/src/_models/interfaces/environment/global-log-settings.interface.ts +86 -86
  138. package/src/_models/interfaces/environment/global-settings.interface.ts +47 -47
  139. package/src/_models/interfaces/error-defaults.interface.ts +11 -11
  140. package/src/_models/interfaces/paged.interface.ts +12 -12
  141. package/src/_models/interfaces/random-weight.interface.ts +7 -7
  142. package/src/_models/interfaces/route-settings.interface.ts +15 -15
  143. package/src/_models/interfaces/search-query.interface.ts +23 -23
  144. package/src/_models/interfaces/search-result.interface.ts +5 -5
  145. package/src/_models/interfaces/server-error-statistics.interface.ts +24 -24
  146. package/src/_models/interfaces/vector2.interface.ts +20 -20
  147. package/src/_models/types/db-filter.type.ts +110 -110
  148. package/src/_models/types/db-sort.type.ts +4 -4
  149. package/src/_models/types/ds-filter.type.ts +68 -68
  150. package/src/_models/types/ds-sort.type.ts +21 -21
  151. package/src/_modules/ai/_collections/ai-model-ref.util.ts +88 -88
  152. package/src/_modules/ai/_collections/ai-model-registry.util.spec.ts +37 -37
  153. package/src/_modules/ai/_collections/ai-model-registry.util.ts +30 -30
  154. package/src/_modules/ai/_enums/ai-message-role.enum.ts +7 -7
  155. package/src/_modules/ai/_enums/ai-model-type.enum.ts +7 -7
  156. package/src/_modules/ai/_enums/ai-provider.enum.ts +7 -7
  157. package/src/_modules/ai/_models/ai-call-settings.interface.ts +84 -84
  158. package/src/_modules/ai/_models/ai-embedding-request.interface.ts +20 -20
  159. package/src/_modules/ai/_models/ai-embedding-response.interface.ts +26 -26
  160. package/src/_modules/ai/_models/ai-llm-request.interface.ts +24 -24
  161. package/src/_modules/ai/_models/ai-llm-response.interface.ts +30 -30
  162. package/src/_modules/ai/_models/ai-message.interface.ts +12 -12
  163. package/src/_modules/ai/_models/ai-model-capabilities.interface.ts +35 -27
  164. package/src/_modules/ai/_models/ai-model-info.interface.ts +63 -63
  165. package/src/_modules/ai/_models/ai-model-settings-schema.interface.ts +52 -52
  166. package/src/_modules/ai/_models/ai-provider-capabilities.interface.ts +28 -28
  167. package/src/_modules/ai/_models/ai-settings.interface.ts +17 -17
  168. package/src/_modules/ai/_models/ai-tool-call.interface.ts +18 -18
  169. package/src/_modules/ai/_models/ai-tool-handler.type.ts +11 -11
  170. package/src/_modules/ai/_models/ai-tool-result.interface.ts +16 -16
  171. package/src/_modules/ai/_models/ai-tool.interface.ts +16 -16
  172. package/src/_modules/ai/_models/ai-user-provider-config.control-model.ts +29 -29
  173. package/src/_modules/ai/_modules/anthropic/_collections/aai-models.const.ts +81 -78
  174. package/src/_modules/ai/_modules/anthropic/_enums/aai-model.enum.ts +19 -19
  175. package/src/_modules/ai/_modules/anthropic/_models/aai-call-settings.control-model.spec.ts +28 -28
  176. package/src/_modules/ai/_modules/anthropic/_models/aai-call-settings.control-model.ts +23 -23
  177. package/src/_modules/ai/_modules/anthropic/_models/aai-client-options.interface.ts +10 -10
  178. package/src/_modules/ai/_modules/anthropic/_models/aai-settings.control-model.spec.ts +22 -22
  179. package/src/_modules/ai/_modules/anthropic/_models/aai-settings.control-model.ts +27 -27
  180. package/src/_modules/ai/_modules/anthropic/_models/aai-user-provider-config.control-model.ts +20 -20
  181. package/src/_modules/ai/_modules/anthropic/index.ts +14 -14
  182. package/src/_modules/ai/_modules/document-ai/_models/dai-embedding-info.interface.ts +12 -12
  183. package/src/_modules/ai/_modules/document-ai/_models/dai-vector-search-params.interface.ts +22 -22
  184. package/src/_modules/ai/_modules/document-ai/index.ts +4 -4
  185. package/src/_modules/ai/_modules/fdp-ai/_collections/fdpai-models.const.ts +34 -33
  186. package/src/_modules/ai/_modules/fdp-ai/_enums/fdpai-model.enum.ts +6 -6
  187. package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-call-settings.control-model.ts +19 -19
  188. package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-client-options.interface.ts +11 -11
  189. package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-settings.control-model.ts +24 -24
  190. package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-user-provider-config.control-model.ts +20 -20
  191. package/src/_modules/ai/_modules/fdp-ai/index.ts +11 -11
  192. package/src/_modules/ai/_modules/google-ai/_collections/gai-models.const.ts +99 -95
  193. package/src/_modules/ai/_modules/google-ai/_enums/gai-model.enum.ts +16 -16
  194. package/src/_modules/ai/_modules/google-ai/_models/gai-call-settings.control-model.spec.ts +28 -28
  195. package/src/_modules/ai/_modules/google-ai/_models/gai-call-settings.control-model.ts +21 -21
  196. package/src/_modules/ai/_modules/google-ai/_models/gai-client-options.interface.ts +8 -8
  197. package/src/_modules/ai/_modules/google-ai/_models/gai-settings.control-model.spec.ts +22 -22
  198. package/src/_modules/ai/_modules/google-ai/_models/gai-settings.control-model.ts +25 -25
  199. package/src/_modules/ai/_modules/google-ai/_models/gai-user-provider-config.control-model.ts +20 -20
  200. package/src/_modules/ai/_modules/google-ai/index.ts +14 -14
  201. package/src/_modules/ai/_modules/local-ai/_collections/lai-models.const.ts +53 -51
  202. package/src/_modules/ai/_modules/local-ai/_enums/lai-model.enum.ts +6 -6
  203. package/src/_modules/ai/_modules/local-ai/_models/lai-call-settings.control-model.spec.ts +28 -28
  204. package/src/_modules/ai/_modules/local-ai/_models/lai-call-settings.control-model.ts +18 -18
  205. package/src/_modules/ai/_modules/local-ai/_models/lai-client-options.interface.ts +9 -9
  206. package/src/_modules/ai/_modules/local-ai/_models/lai-settings.control-model.spec.ts +22 -22
  207. package/src/_modules/ai/_modules/local-ai/_models/lai-settings.control-model.ts +23 -23
  208. package/src/_modules/ai/_modules/local-ai/index.ts +14 -14
  209. package/src/_modules/ai/_modules/open-ai/_collections/oai-embedding-model-dimensions.const.ts +7 -7
  210. package/src/_modules/ai/_modules/open-ai/_collections/oai-models.const.ts +252 -241
  211. package/src/_modules/ai/_modules/open-ai/_enums/oai-model.enum.ts +179 -179
  212. package/src/_modules/ai/_modules/open-ai/_models/oai-call-settings.control-model.spec.ts +28 -28
  213. package/src/_modules/ai/_modules/open-ai/_models/oai-call-settings.control-model.ts +21 -21
  214. package/src/_modules/ai/_modules/open-ai/_models/oai-client-options.interface.ts +81 -81
  215. package/src/_modules/ai/_modules/open-ai/_models/oai-embedding-info.interface.ts +13 -13
  216. package/src/_modules/ai/_modules/open-ai/_models/oai-settings.control-model.spec.ts +22 -22
  217. package/src/_modules/ai/_modules/open-ai/_models/oai-settings.control-model.ts +25 -25
  218. package/src/_modules/ai/_modules/open-ai/_models/oai-user-provider-config.control-model.ts +21 -21
  219. package/src/_modules/ai/_modules/open-ai/index.ts +28 -28
  220. package/src/_modules/ai/index.ts +27 -27
  221. package/src/_modules/ci-tools/_enums/cit-ci-result-code.enum.ts +11 -11
  222. package/src/_modules/ci-tools/_enums/cit-ci-step-result-code.enum.ts +9 -9
  223. package/src/_modules/ci-tools/_models/cit-ci-result-info.data-models.spec.ts +58 -58
  224. package/src/_modules/ci-tools/_models/cit-ci-result-info.data-models.ts +77 -77
  225. package/src/_modules/ci-tools/_models/cit-ci-step-result.interface.ts +12 -12
  226. package/src/_modules/ci-tools/index.ts +8 -8
  227. package/src/_modules/crypto/_collections/crypto.util.simple.spec.ts +512 -512
  228. package/src/_modules/crypto/index.ts +13 -13
  229. package/src/_modules/custom-data/_collections/cud-module-settings.const.ts +21 -21
  230. package/src/_modules/custom-data/_models/cud.data-model.spec.ts +38 -38
  231. package/src/_modules/custom-data/_models/cud.data-model.ts +39 -39
  232. package/src/_modules/custom-data/index.ts +10 -10
  233. package/src/_modules/data-handler/_models/data-handler-settings.control-model.spec.ts +110 -110
  234. package/src/_modules/data-handler/_models/data-handler-settings.control-model.ts +110 -110
  235. package/src/_modules/data-handler/_models/data-handler.control-model.spec.ts +445 -445
  236. package/src/_modules/data-handler/_models/data-handler.control-model.ts +459 -459
  237. package/src/_modules/data-handler/_models/data-list-handler.control-model.spec.ts +263 -263
  238. package/src/_modules/data-handler/_models/data-list-handler.control-model.ts +252 -252
  239. package/src/_modules/data-handler/_models/data-search-handler.control-model.spec.ts +417 -417
  240. package/src/_modules/data-handler/_models/data-search-handler.control-model.ts +390 -390
  241. package/src/_modules/data-handler/_models/list-collector-data-handler.control-model.spec.ts +374 -374
  242. package/src/_modules/data-handler/_models/list-collector-data-handler.control-model.ts +274 -274
  243. package/src/_modules/data-handler/index.ts +6 -6
  244. package/src/_modules/location/_collections/assets/country-codes-ISO-3166.json +3239 -3239
  245. package/src/_modules/location/_collections/assets/country-divisions-ISO-3166-all-list.json +19035 -19035
  246. package/src/_modules/location/_collections/assets/country-divisions-ISO-3166.json +4993 -4993
  247. package/src/_modules/location/_collections/assets/country-phone-codes.json +1203 -1203
  248. package/src/_modules/location/_collections/assets/country-subdivisions/afghanistan.json +137 -137
  249. package/src/_modules/location/_collections/assets/country-subdivisions/albania.json +49 -49
  250. package/src/_modules/location/_collections/assets/country-subdivisions/algeria.json +193 -193
  251. package/src/_modules/location/_collections/assets/country-subdivisions/andorra.json +29 -29
  252. package/src/_modules/location/_collections/assets/country-subdivisions/angola.json +73 -73
  253. package/src/_modules/location/_collections/assets/country-subdivisions/antigua-and-barbuda.json +33 -33
  254. package/src/_modules/location/_collections/assets/country-subdivisions/argentina.json +97 -97
  255. package/src/_modules/location/_collections/assets/country-subdivisions/armenia.json +45 -45
  256. package/src/_modules/location/_collections/assets/country-subdivisions/australia.json +33 -33
  257. package/src/_modules/location/_collections/assets/country-subdivisions/austria.json +37 -37
  258. package/src/_modules/location/_collections/assets/country-subdivisions/azerbaijan.json +5 -5
  259. package/src/_modules/location/_collections/assets/country-subdivisions/bahamas.json +125 -125
  260. package/src/_modules/location/_collections/assets/country-subdivisions/bahrain.json +21 -21
  261. package/src/_modules/location/_collections/assets/country-subdivisions/bangladesh.json +29 -29
  262. package/src/_modules/location/_collections/assets/country-subdivisions/barbados.json +45 -45
  263. package/src/_modules/location/_collections/assets/country-subdivisions/belarus.json +29 -29
  264. package/src/_modules/location/_collections/assets/country-subdivisions/belgium.json +13 -13
  265. package/src/_modules/location/_collections/assets/country-subdivisions/belize.json +25 -25
  266. package/src/_modules/location/_collections/assets/country-subdivisions/benin.json +49 -49
  267. package/src/_modules/location/_collections/assets/country-subdivisions/bhutan.json +81 -81
  268. package/src/_modules/location/_collections/assets/country-subdivisions/bolivia.json +37 -37
  269. package/src/_modules/location/_collections/assets/country-subdivisions/bosnia-and-herzegovina.json +13 -13
  270. package/src/_modules/location/_collections/assets/country-subdivisions/botswana.json +65 -65
  271. package/src/_modules/location/_collections/assets/country-subdivisions/brazil.json +109 -109
  272. package/src/_modules/location/_collections/assets/country-subdivisions/brunei-darussalam.json +17 -17
  273. package/src/_modules/location/_collections/assets/country-subdivisions/bulgaria.json +113 -113
  274. package/src/_modules/location/_collections/assets/country-subdivisions/burkina-faso.json +53 -53
  275. package/src/_modules/location/_collections/assets/country-subdivisions/burundi.json +69 -69
  276. package/src/_modules/location/_collections/assets/country-subdivisions/cambodia.json +97 -97
  277. package/src/_modules/location/_collections/assets/country-subdivisions/cameroon.json +41 -41
  278. package/src/_modules/location/_collections/assets/country-subdivisions/canada.json +79 -79
  279. package/src/_modules/location/_collections/assets/country-subdivisions/cape-verde.json +9 -9
  280. package/src/_modules/location/_collections/assets/country-subdivisions/central-african-republic.json +69 -69
  281. package/src/_modules/location/_collections/assets/country-subdivisions/chad.json +89 -89
  282. package/src/_modules/location/_collections/assets/country-subdivisions/chile.json +61 -61
  283. package/src/_modules/location/_collections/assets/country-subdivisions/china.json +205 -205
  284. package/src/_modules/location/_collections/assets/country-subdivisions/colombia.json +133 -133
  285. package/src/_modules/location/_collections/assets/country-subdivisions/comoros.json +13 -13
  286. package/src/_modules/location/_collections/assets/country-subdivisions/congo-the-democratic-republic-of-the.json +45 -45
  287. package/src/_modules/location/_collections/assets/country-subdivisions/congo.json +49 -49
  288. package/src/_modules/location/_collections/assets/country-subdivisions/costa-rica.json +29 -29
  289. package/src/_modules/location/_collections/assets/country-subdivisions/cote-d-ivoire-republic-of.json +77 -77
  290. package/src/_modules/location/_collections/assets/country-subdivisions/croatia.json +85 -85
  291. package/src/_modules/location/_collections/assets/country-subdivisions/cuba.json +65 -65
  292. package/src/_modules/location/_collections/assets/country-subdivisions/cyprus.json +25 -25
  293. package/src/_modules/location/_collections/assets/country-subdivisions/czech-republic.json +57 -57
  294. package/src/_modules/location/_collections/assets/country-subdivisions/denmark.json +21 -21
  295. package/src/_modules/location/_collections/assets/country-subdivisions/djibouti.json +25 -25
  296. package/src/_modules/location/_collections/assets/country-subdivisions/dominica.json +41 -41
  297. package/src/_modules/location/_collections/assets/country-subdivisions/dominican-republic.json +41 -41
  298. package/src/_modules/location/_collections/assets/country-subdivisions/ecuador.json +97 -97
  299. package/src/_modules/location/_collections/assets/country-subdivisions/egypt.json +117 -117
  300. package/src/_modules/location/_collections/assets/country-subdivisions/el-salvador.json +57 -57
  301. package/src/_modules/location/_collections/assets/country-subdivisions/equatorial-guinea.json +9 -9
  302. package/src/_modules/location/_collections/assets/country-subdivisions/eritrea.json +25 -25
  303. package/src/_modules/location/_collections/assets/country-subdivisions/estonia.json +61 -61
  304. package/src/_modules/location/_collections/assets/country-subdivisions/ethiopia.json +45 -45
  305. package/src/_modules/location/_collections/assets/country-subdivisions/fiji.json +21 -21
  306. package/src/_modules/location/_collections/assets/country-subdivisions/finland.json +77 -77
  307. package/src/_modules/location/_collections/assets/country-subdivisions/france.json +133 -133
  308. package/src/_modules/location/_collections/assets/country-subdivisions/gabon.json +37 -37
  309. package/src/_modules/location/_collections/assets/country-subdivisions/gambia.json +25 -25
  310. package/src/_modules/location/_collections/assets/country-subdivisions/georgia.json +49 -49
  311. package/src/_modules/location/_collections/assets/country-subdivisions/germany.json +65 -65
  312. package/src/_modules/location/_collections/assets/country-subdivisions/ghana.json +41 -41
  313. package/src/_modules/location/_collections/assets/country-subdivisions/greece.json +53 -53
  314. package/src/_modules/location/_collections/assets/country-subdivisions/greenland.json +17 -17
  315. package/src/_modules/location/_collections/assets/country-subdivisions/grenada.json +29 -29
  316. package/src/_modules/location/_collections/assets/country-subdivisions/guatemala.json +89 -89
  317. package/src/_modules/location/_collections/assets/country-subdivisions/guinea-bissau.json +13 -13
  318. package/src/_modules/location/_collections/assets/country-subdivisions/guinea.json +33 -33
  319. package/src/_modules/location/_collections/assets/country-subdivisions/guyana.json +41 -41
  320. package/src/_modules/location/_collections/assets/country-subdivisions/haiti.json +41 -41
  321. package/src/_modules/location/_collections/assets/country-subdivisions/honduras.json +73 -73
  322. package/src/_modules/location/_collections/assets/country-subdivisions/hong-kong.json +4 -4
  323. package/src/_modules/location/_collections/assets/country-subdivisions/hungary.json +173 -173
  324. package/src/_modules/location/_collections/assets/country-subdivisions/iceland.json +37 -37
  325. package/src/_modules/location/_collections/assets/country-subdivisions/india.json +181 -181
  326. package/src/_modules/location/_collections/assets/country-subdivisions/indonesia.json +29 -29
  327. package/src/_modules/location/_collections/assets/country-subdivisions/iran-islamic-republic-of.json +125 -125
  328. package/src/_modules/location/_collections/assets/country-subdivisions/iraq.json +73 -73
  329. package/src/_modules/location/_collections/assets/country-subdivisions/ireland.json +17 -17
  330. package/src/_modules/location/_collections/assets/country-subdivisions/israel.json +25 -25
  331. package/src/_modules/location/_collections/assets/country-subdivisions/italy.json +81 -81
  332. package/src/_modules/location/_collections/assets/country-subdivisions/jamaica.json +57 -57
  333. package/src/_modules/location/_collections/assets/country-subdivisions/japan.json +189 -189
  334. package/src/_modules/location/_collections/assets/country-subdivisions/jordan.json +49 -49
  335. package/src/_modules/location/_collections/assets/country-subdivisions/kazakhstan.json +65 -65
  336. package/src/_modules/location/_collections/assets/country-subdivisions/kenya.json +33 -33
  337. package/src/_modules/location/_collections/assets/country-subdivisions/kiribati.json +13 -13
  338. package/src/_modules/location/_collections/assets/country-subdivisions/korea-democratic-people-s-republic-of.json +45 -45
  339. package/src/_modules/location/_collections/assets/country-subdivisions/korea-republic-of.json +69 -69
  340. package/src/_modules/location/_collections/assets/country-subdivisions/kuwait.json +25 -25
  341. package/src/_modules/location/_collections/assets/country-subdivisions/kyrgyzstan.json +33 -33
  342. package/src/_modules/location/_collections/assets/country-subdivisions/lao-people-s-democratic-republic.json +73 -73
  343. package/src/_modules/location/_collections/assets/country-subdivisions/latvia.json +477 -477
  344. package/src/_modules/location/_collections/assets/country-subdivisions/lebanon.json +33 -33
  345. package/src/_modules/location/_collections/assets/country-subdivisions/lesotho.json +41 -41
  346. package/src/_modules/location/_collections/assets/country-subdivisions/liberia.json +61 -61
  347. package/src/_modules/location/_collections/assets/country-subdivisions/libyan-arab-jamahiriya.json +89 -89
  348. package/src/_modules/location/_collections/assets/country-subdivisions/liechtenstein.json +45 -45
  349. package/src/_modules/location/_collections/assets/country-subdivisions/lithuania.json +41 -41
  350. package/src/_modules/location/_collections/assets/country-subdivisions/luxembourg.json +13 -13
  351. package/src/_modules/location/_collections/assets/country-subdivisions/macedonia-the-former-yugoslav-republic-of.json +337 -337
  352. package/src/_modules/location/_collections/assets/country-subdivisions/madagascar.json +25 -25
  353. package/src/_modules/location/_collections/assets/country-subdivisions/malawi.json +13 -13
  354. package/src/_modules/location/_collections/assets/country-subdivisions/malaysia.json +81 -81
  355. package/src/_modules/location/_collections/assets/country-subdivisions/maldives.json +33 -33
  356. package/src/_modules/location/_collections/assets/country-subdivisions/mali.json +37 -37
  357. package/src/_modules/location/_collections/assets/country-subdivisions/malta.json +273 -273
  358. package/src/_modules/location/_collections/assets/country-subdivisions/marshall-islands.json +9 -9
  359. package/src/_modules/location/_collections/assets/country-subdivisions/mauritania.json +53 -53
  360. package/src/_modules/location/_collections/assets/country-subdivisions/mauritius.json +69 -69
  361. package/src/_modules/location/_collections/assets/country-subdivisions/mexico.json +161 -161
  362. package/src/_modules/location/_collections/assets/country-subdivisions/micronesia-federated-states-of.json +17 -17
  363. package/src/_modules/location/_collections/assets/country-subdivisions/moldova-republic-of.json +149 -149
  364. package/src/_modules/location/_collections/assets/country-subdivisions/monaco.json +69 -69
  365. package/src/_modules/location/_collections/assets/country-subdivisions/mongolia.json +89 -89
  366. package/src/_modules/location/_collections/assets/country-subdivisions/montenegro.json +93 -93
  367. package/src/_modules/location/_collections/assets/country-subdivisions/morocco.json +65 -65
  368. package/src/_modules/location/_collections/assets/country-subdivisions/mozambique.json +45 -45
  369. package/src/_modules/location/_collections/assets/country-subdivisions/myanmar.json +57 -57
  370. package/src/_modules/location/_collections/assets/country-subdivisions/namibia.json +57 -57
  371. package/src/_modules/location/_collections/assets/country-subdivisions/nauru.json +57 -57
  372. package/src/_modules/location/_collections/assets/country-subdivisions/nepal.json +21 -21
  373. package/src/_modules/location/_collections/assets/country-subdivisions/netherlands.json +91 -91
  374. package/src/_modules/location/_collections/assets/country-subdivisions/new-zealand.json +111 -111
  375. package/src/_modules/location/_collections/assets/country-subdivisions/nicaragua.json +69 -69
  376. package/src/_modules/location/_collections/assets/country-subdivisions/niger.json +33 -33
  377. package/src/_modules/location/_collections/assets/country-subdivisions/nigeria.json +149 -149
  378. package/src/_modules/location/_collections/assets/country-subdivisions/norway.json +85 -85
  379. package/src/_modules/location/_collections/assets/country-subdivisions/oman.json +37 -37
  380. package/src/_modules/location/_collections/assets/country-subdivisions/pakistan.json +33 -33
  381. package/src/_modules/location/_collections/assets/country-subdivisions/palau.json +65 -65
  382. package/src/_modules/location/_collections/assets/country-subdivisions/palestinian-territory-occupied.json +65 -65
  383. package/src/_modules/location/_collections/assets/country-subdivisions/panama.json +53 -53
  384. package/src/_modules/location/_collections/assets/country-subdivisions/papua-new-guinea.json +81 -81
  385. package/src/_modules/location/_collections/assets/country-subdivisions/paraguay.json +73 -73
  386. package/src/_modules/location/_collections/assets/country-subdivisions/peru.json +105 -105
  387. package/src/_modules/location/_collections/assets/country-subdivisions/philippines.json +69 -69
  388. package/src/_modules/location/_collections/assets/country-subdivisions/poland.json +65 -65
  389. package/src/_modules/location/_collections/assets/country-subdivisions/portugal.json +81 -81
  390. package/src/_modules/location/_collections/assets/country-subdivisions/qatar.json +29 -29
  391. package/src/_modules/location/_collections/assets/country-subdivisions/romania.json +169 -169
  392. package/src/_modules/location/_collections/assets/country-subdivisions/russian-federation.json +499 -499
  393. package/src/_modules/location/_collections/assets/country-subdivisions/rwanda.json +21 -21
  394. package/src/_modules/location/_collections/assets/country-subdivisions/saint-helena-ascension-and-tristan-da-cunha.json +13 -13
  395. package/src/_modules/location/_collections/assets/country-subdivisions/saint-kitts-and-nevis.json +9 -9
  396. package/src/_modules/location/_collections/assets/country-subdivisions/saint-lucia.json +45 -45
  397. package/src/_modules/location/_collections/assets/country-subdivisions/saint-vincent-and-the-grenadines.json +25 -25
  398. package/src/_modules/location/_collections/assets/country-subdivisions/samoa.json +45 -45
  399. package/src/_modules/location/_collections/assets/country-subdivisions/san-marino.json +37 -37
  400. package/src/_modules/location/_collections/assets/country-subdivisions/sao-tome-and-principe.json +9 -9
  401. package/src/_modules/location/_collections/assets/country-subdivisions/saudi-arabia.json +53 -53
  402. package/src/_modules/location/_collections/assets/country-subdivisions/senegal.json +57 -57
  403. package/src/_modules/location/_collections/assets/country-subdivisions/serbia.json +9 -9
  404. package/src/_modules/location/_collections/assets/country-subdivisions/seychelles.json +101 -101
  405. package/src/_modules/location/_collections/assets/country-subdivisions/sierra-leone.json +17 -17
  406. package/src/_modules/location/_collections/assets/country-subdivisions/singapore.json +21 -21
  407. package/src/_modules/location/_collections/assets/country-subdivisions/slovakia.json +33 -33
  408. package/src/_modules/location/_collections/assets/country-subdivisions/slovenia.json +841 -841
  409. package/src/_modules/location/_collections/assets/country-subdivisions/solomon-islands.json +41 -41
  410. package/src/_modules/location/_collections/assets/country-subdivisions/somalia.json +73 -73
  411. package/src/_modules/location/_collections/assets/country-subdivisions/south-africa.json +37 -37
  412. package/src/_modules/location/_collections/assets/country-subdivisions/south-sudan.json +41 -41
  413. package/src/_modules/location/_collections/assets/country-subdivisions/spain.json +346 -346
  414. package/src/_modules/location/_collections/assets/country-subdivisions/sri-lanka.json +37 -37
  415. package/src/_modules/location/_collections/assets/country-subdivisions/sudan.json +69 -69
  416. package/src/_modules/location/_collections/assets/country-subdivisions/suriname.json +41 -41
  417. package/src/_modules/location/_collections/assets/country-subdivisions/swaziland.json +17 -17
  418. package/src/_modules/location/_collections/assets/country-subdivisions/sweden.json +85 -85
  419. package/src/_modules/location/_collections/assets/country-subdivisions/switzerland.json +105 -105
  420. package/src/_modules/location/_collections/assets/country-subdivisions/syrian-arab-republic.json +57 -57
  421. package/src/_modules/location/_collections/assets/country-subdivisions/taiwan-province-of-china.json +93 -93
  422. package/src/_modules/location/_collections/assets/country-subdivisions/tajikistan.json +17 -17
  423. package/src/_modules/location/_collections/assets/country-subdivisions/tanzania-united-republic-of.json +105 -105
  424. package/src/_modules/location/_collections/assets/country-subdivisions/thailand.json +313 -313
  425. package/src/_modules/location/_collections/assets/country-subdivisions/timor-leste.json +53 -53
  426. package/src/_modules/location/_collections/assets/country-subdivisions/togo.json +21 -21
  427. package/src/_modules/location/_collections/assets/country-subdivisions/tonga.json +21 -21
  428. package/src/_modules/location/_collections/assets/country-subdivisions/trinidad-and-tobago.json +65 -65
  429. package/src/_modules/location/_collections/assets/country-subdivisions/tunisia.json +97 -97
  430. package/src/_modules/location/_collections/assets/country-subdivisions/turkey.json +325 -325
  431. package/src/_modules/location/_collections/assets/country-subdivisions/turkmenistan.json +25 -25
  432. package/src/_modules/location/_collections/assets/country-subdivisions/tuvalu.json +33 -33
  433. package/src/_modules/location/_collections/assets/country-subdivisions/uganda.json +17 -17
  434. package/src/_modules/location/_collections/assets/country-subdivisions/ukraine.json +109 -109
  435. package/src/_modules/location/_collections/assets/country-subdivisions/united-arab-emirates.json +29 -29
  436. package/src/_modules/location/_collections/assets/country-subdivisions/united-kingdom.json +1196 -1196
  437. package/src/_modules/location/_collections/assets/country-subdivisions/united-states-minor-outlying-islands.json +37 -37
  438. package/src/_modules/location/_collections/assets/country-subdivisions/united-states.json +286 -286
  439. package/src/_modules/location/_collections/assets/country-subdivisions/uruguay.json +77 -77
  440. package/src/_modules/location/_collections/assets/country-subdivisions/uzbekistan.json +57 -57
  441. package/src/_modules/location/_collections/assets/country-subdivisions/vanuatu.json +25 -25
  442. package/src/_modules/location/_collections/assets/country-subdivisions/venezuela.json +101 -101
  443. package/src/_modules/location/_collections/assets/country-subdivisions/viet-nam.json +257 -257
  444. package/src/_modules/location/_collections/assets/country-subdivisions/yemen.json +85 -85
  445. package/src/_modules/location/_collections/assets/country-subdivisions/zambia.json +37 -37
  446. package/src/_modules/location/_collections/assets/country-subdivisions/zimbabwe.json +41 -41
  447. package/src/_modules/location/_collections/loc-country-divisions.const.ts +10 -10
  448. package/src/_modules/location/_collections/loc-country-isos.const.ts +8 -8
  449. package/src/_modules/location/_collections/loc-regions.util.spec.ts +61 -61
  450. package/src/_modules/location/_collections/loc-regions.util.ts +137 -137
  451. package/src/_modules/location/_collections/loc.util.spec.ts +52 -52
  452. package/src/_modules/location/_collections/loc.util.ts +74 -74
  453. package/src/_modules/location/_enums/loc-region.enum.ts +14 -14
  454. package/src/_modules/location/_enums/loc-sub-region.enum.ts +31 -31
  455. package/src/_modules/location/_enums/loc-subdivision-region-type.enum.ts +47 -47
  456. package/src/_modules/location/_models/loc-coordinates.interface.ts +7 -7
  457. package/src/_modules/location/_models/loc-country-division.interface.ts +8 -8
  458. package/src/_modules/location/_models/loc-country-iso.interface.ts +23 -23
  459. package/src/_modules/location/_models/loc-country-phone-code.interface.ts +9 -9
  460. package/src/_modules/location/_models/loc-division-collection.interface.ts +12 -12
  461. package/src/_modules/location/_models/loc-division-region-data.interface.ts +9 -9
  462. package/src/_modules/location/_models/loc-geo-ip-location.interface.ts +27 -27
  463. package/src/_modules/location/index.ts +22 -22
  464. package/src/_modules/messaging/README.md +279 -279
  465. package/src/_modules/messaging/_collections/msg-module-settings.const.ts +46 -46
  466. package/src/_modules/messaging/_enums/msg-attachment-type.enum.ts +26 -26
  467. package/src/_modules/messaging/_enums/msg-delivery-status.enum.ts +17 -17
  468. package/src/_modules/messaging/_enums/msg-event-key.enum.ts +31 -31
  469. package/src/_modules/messaging/_enums/msg-participant-role.enum.ts +20 -20
  470. package/src/_modules/messaging/_enums/msg-provider-type.enum.ts +7 -7
  471. package/src/_modules/messaging/_enums/msg-type.enum.ts +23 -23
  472. package/src/_modules/messaging/_models/msg-attachment.interface.ts +46 -46
  473. package/src/_modules/messaging/_models/msg-conversation.data-model.spec.ts +69 -69
  474. package/src/_modules/messaging/_models/msg-conversation.data-model.ts +96 -96
  475. package/src/_modules/messaging/_models/msg-mention.interface.ts +29 -29
  476. package/src/_modules/messaging/_models/msg-message.data-model.spec.ts +79 -79
  477. package/src/_modules/messaging/_models/msg-message.data-model.ts +127 -127
  478. package/src/_modules/messaging/_models/msg-participant.interface.ts +46 -46
  479. package/src/_modules/messaging/_models/msg-reaction.interface.ts +20 -20
  480. package/src/_modules/messaging/_models/msg-thread-info.interface.ts +35 -35
  481. package/src/_modules/messaging/_modules/agent/_enums/agt-process-step-type.enum.ts +35 -35
  482. package/src/_modules/messaging/_modules/agent/_enums/agt-tool-status.enum.ts +23 -23
  483. package/src/_modules/messaging/_modules/agent/_models/agt-process-step.interface.ts +55 -55
  484. package/src/_modules/messaging/_modules/agent/_models/agt-reasoning-info.interface.ts +26 -26
  485. package/src/_modules/messaging/_modules/agent/_models/agt-tool-usage.interface.ts +37 -37
  486. package/src/_modules/messaging/_modules/agent/index.ts +8 -8
  487. package/src/_modules/messaging/index.ts +28 -28
  488. package/src/_modules/pipe/_collections/pip-transforms.const.ts +42 -42
  489. package/src/_modules/pipe/_collections/utils/pip-country-pipe.util.spec.ts +47 -47
  490. package/src/_modules/pipe/_collections/utils/pip-country-pipe.util.ts +41 -41
  491. package/src/_modules/pipe/_collections/utils/pip-custom-pipe.util.spec.ts +39 -39
  492. package/src/_modules/pipe/_collections/utils/pip-custom-pipe.util.ts +30 -30
  493. package/src/_modules/pipe/_collections/utils/pip-division-pipe.util.spec.ts +41 -41
  494. package/src/_modules/pipe/_collections/utils/pip-division-pipe.util.ts +36 -36
  495. package/src/_modules/pipe/_collections/utils/pip-json-pipe.util.spec.ts +62 -62
  496. package/src/_modules/pipe/_collections/utils/pip-json-pipe.util.ts +17 -17
  497. package/src/_modules/pipe/_collections/utils/pip-list-pipe.util.spec.ts +34 -34
  498. package/src/_modules/pipe/_collections/utils/pip-list-pipe.util.ts +25 -25
  499. package/src/_modules/pipe/_collections/utils/pip-multi-pipe-pipe.util.spec.ts +67 -67
  500. package/src/_modules/pipe/_collections/utils/pip-multi-pipe-pipe.util.ts +226 -226
  501. package/src/_modules/pipe/_collections/utils/pip-obj-key-pipe.util.spec.ts +28 -28
  502. package/src/_modules/pipe/_collections/utils/pip-obj-key-pipe.util.ts +21 -21
  503. package/src/_modules/pipe/_collections/utils/pip-range-pipe.util.spec.ts +59 -59
  504. package/src/_modules/pipe/_collections/utils/pip-range-pipe.util.ts +106 -106
  505. package/src/_modules/pipe/_collections/utils/pip-region-pipe.util.spec.ts +31 -31
  506. package/src/_modules/pipe/_collections/utils/pip-region-pipe.util.ts +35 -35
  507. package/src/_modules/pipe/_collections/utils/pip-replace-pipe.util.spec.ts +44 -44
  508. package/src/_modules/pipe/_collections/utils/pip-replace-pipe.util.ts +23 -23
  509. package/src/_modules/pipe/_collections/utils/pip-slider-pipe.util.spec.ts +21 -21
  510. package/src/_modules/pipe/_collections/utils/pip-slider-pipe.util.ts +33 -33
  511. package/src/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.spec.ts +62 -62
  512. package/src/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.ts +80 -80
  513. package/src/_modules/pipe/_enums/pip-range-pipe-setting.enum.ts +15 -15
  514. package/src/_modules/pipe/_enums/pip.enum.ts +65 -65
  515. package/src/_modules/pipe/_models/pip-multi-pipe-settings.type.ts +8 -8
  516. package/src/_modules/pipe/_models/pip-transforms.interface.ts +30 -30
  517. package/src/_modules/pipe/index.ts +30 -30
  518. package/src/_modules/socket/_enums/sck-event-key.enum.ts +21 -21
  519. package/src/_modules/socket/_models/sck-client-params.control-model.spec.ts +67 -67
  520. package/src/_modules/socket/_models/sck-client-params.control-model.ts +50 -50
  521. package/src/_modules/socket/_models/sck-socket-event.control-model.spec.ts +66 -66
  522. package/src/_modules/socket/_models/sck-socket-event.control-model.ts +172 -172
  523. package/src/_modules/socket/_services/sck-client.service-base.spec.ts +99 -99
  524. package/src/_modules/socket/_services/sck-client.service-base.ts +353 -353
  525. package/src/_modules/socket/index.ts +14 -14
  526. package/src/_modules/test/_collections/tst-module-settings.const.ts +67 -67
  527. package/src/_modules/test/index.ts +5 -5
  528. package/src/_modules/usage/_collections/usg-module-settings.const.ts +33 -33
  529. package/src/_modules/usage/_models/usg-action.control-model.spec.ts +27 -27
  530. package/src/_modules/usage/_models/usg-action.control-model.ts +28 -28
  531. package/src/_modules/usage/_models/usg-daily-usage-data.control-model.spec.ts +36 -36
  532. package/src/_modules/usage/_models/usg-daily-usage-data.control-model.ts +35 -35
  533. package/src/_modules/usage/_models/usg-data.control-model.spec.ts +41 -41
  534. package/src/_modules/usage/_models/usg-data.control-model.ts +35 -35
  535. package/src/_modules/usage/_models/usg-session.data-model.spec.ts +97 -97
  536. package/src/_modules/usage/_models/usg-session.data-model.ts +72 -72
  537. package/src/_modules/usage/index.ts +11 -11
  538. package/src/index.ts +102 -102
  539. package/tsconfig.app.json +12 -12
  540. package/tsconfig.json +31 -31
  541. package/tsconfig.test.json +16 -16
  542. package/tslint.json +153 -153
  543. package/pipeline.cicd.config.json +0 -128
@@ -1,274 +1,274 @@
1
- import { BehaviorSubject, Observable } from 'rxjs';
2
-
3
- import { DyFM_ListCollectorDataHandler_Settings } from './data-handler-settings.control-model';
4
-
5
- import { DyFM_DataHandler } from './data-handler.control-model';
6
- import { DyFM_Error } from '../../../_models/control-models/error.control-model';
7
- import { DyFM_Metadata } from '../../../_models/data-models/metadata.data-model';
8
-
9
- /**
10
- * A specialized data handler for managing list collections within a parent data object.
11
- * Extends DyFM_DataHandler to provide functionality for handling lists within a collector object.
12
- *
13
- * @template T_ListCollectorData - The type of the parent collector data object
14
- * @template T_DataItem - The type of individual items in the list (must extend DyFM_Metadata)
15
- * @template T_DependencyData - The type of dependency data (defaults to any)
16
- * @template T_DataLoadBy - The type used to identify how data should be loaded (defaults to string)
17
- *
18
- * @example
19
- * ```typescript
20
- * // Create a list collector handler for user's projects
21
- * const userProjectsHandler = new DyFM_ListCollectorDataHandler<User, Project>({
22
- * listKey: 'projects',
23
- * get: async (userId: string): Promise<User> => {
24
- * return await userService.getUserWithProjects(userId);
25
- * }
26
- * });
27
- *
28
- * // Access the data list
29
- * const projects = userProjectsHandler.dataList;
30
- *
31
- * // Add a new project
32
- * userProjectsHandler.addItem(newProject);
33
- *
34
- * // Update an existing project
35
- * userProjectsHandler.updateItem(updatedProject);
36
- *
37
- * // Subscribe to changes
38
- * userProjectsHandler.dataList$.subscribe(projects => {
39
- * console.log('Projects updated:', projects);
40
- * });
41
- * ```
42
- */
43
- export class DyFM_ListCollectorDataHandler<
44
- T_ListCollectorData extends DyFM_Metadata,
45
- T_DataItem extends DyFM_Metadata,
46
- T_DependencyData extends DyFM_Metadata = any,
47
- T_DataLoadBy = string,
48
- > extends DyFM_DataHandler<T_ListCollectorData, T_DependencyData, T_DataLoadBy> {
49
-
50
- /** this is only for data list handlers,
51
- * while creating arrow function for this, dont forget to use async n await! */
52
- protected readonly setItem?: (item: T_DataItem, collectorId?: string) => Promise<T_DataItem>;
53
- /** this is only for data list handlers,
54
- * while creating arrow function for this, dont forget to use async n await! */
55
- protected readonly deleteItem?: (id: string, collectorId?: string) => Promise<void>;
56
-
57
- protected readonly listKey: string;
58
-
59
- /**
60
- * BehaviorSubject that holds the current data list.
61
- * Computed from the base data_BS BehaviorSubject, ensuring it always returns an array.
62
- */
63
- protected readonly dataList_BS: BehaviorSubject<T_DataItem[]>;
64
-
65
- /**
66
- * Observable that holds the current data list.
67
- * Computed from the base data$ Observable, ensuring it always returns an array.
68
- */
69
- readonly dataList$: Observable<T_DataItem[]>;
70
-
71
- /**
72
- * BehaviorSubject that holds the currently active item.
73
- */
74
- readonly activeItem_BS: BehaviorSubject<T_DataItem>;
75
-
76
- /**
77
- * Observable that holds the currently active item.
78
- */
79
- readonly activeItem$: Observable<T_DataItem>;
80
-
81
- /**
82
- * Gets the current data value.
83
- * @returns The current data value
84
- */
85
- override get data(): T_ListCollectorData {
86
- return this.data_BS.value;
87
- }
88
-
89
- /**
90
- * Gets the current data list.
91
- * Alias for data getter.
92
- * @returns The current array of data items
93
- */
94
- get dataList(): T_DataItem[] {
95
- return this.dataList_BS.value;
96
- }
97
-
98
- /**
99
- * Creates a new instance of DyFM_ListCollectorDataHandler.
100
- *
101
- * @param set - Configuration settings for the data handler
102
- * @param skipDependencyConnections - Optional flag to skip dependency connections during construction
103
- */
104
- constructor(
105
- set: DyFM_ListCollectorDataHandler_Settings<T_ListCollectorData, T_DataItem, T_DependencyData, T_DataLoadBy>,
106
- /** is in construct?
107
- * so the dependent data handlers are not added here, but in the extended class */
108
- skipDependencyConnections?: boolean,
109
- ) {
110
- super(set, skipDependencyConnections);
111
-
112
- this.listKey = set.listKey;
113
-
114
- // Initialize dataList BehaviorSubject and Observable
115
- this.dataList_BS = new BehaviorSubject<T_DataItem[]>([]);
116
- this.dataList$ = this.dataList_BS.asObservable();
117
-
118
- // Initialize activeItem BehaviorSubject and Observable
119
- this.activeItem_BS = new BehaviorSubject<T_DataItem>(null);
120
- this.activeItem$ = this.activeItem_BS.asObservable();
121
-
122
- // Subscribe to data changes to update dataList
123
- this.data$.subscribe(data => {
124
- const dataList = Array.isArray(data?.[this.listKey]) ? data[this.listKey] : [];
125
- this.dataList_BS.next(dataList);
126
- });
127
-
128
- if (set.setItem) {
129
- this.setItem = set.setItem;
130
- }
131
-
132
- if (set.deleteItem) {
133
- this.deleteItem = set.deleteItem;
134
- }
135
-
136
- this.getPostProcesses.push((data: T_DataItem[]) => {
137
- // check if data is an array
138
- if (!Array.isArray(data) ) {
139
- console.error(
140
- `DYNAMO DynamoDataHandler (${this.name}) ERROR: ` +
141
- `\nData is not an array!:` +
142
- '\n\n', data
143
- );
144
- throw new Error(`Data is not an array! (${this.name})`);
145
- }
146
-
147
- return data;
148
- });
149
-
150
- if (!skipDependencyConnections) {
151
- if (set.dependencyDataHandler) {
152
- this.addDependencyDataHandler(set.dependencyDataHandler);
153
- }
154
-
155
- if (set.dependentDataHandlers) {
156
- this.addDependentDataHandlers(set.dependentDataHandlers, true);
157
- }
158
- }
159
- }
160
-
161
- override clear(dontClearDependents?: boolean): void {
162
- super.clear(dontClearDependents);
163
- this.activeItem_BS.next(null);
164
- }
165
-
166
- /**
167
- * Adds a new item to the data list.
168
- *
169
- * @param item - The item to add to the list
170
- * @param collectorId - Optional collector ID for tracking
171
- * @param dontSendUpdate - Optional flag to prevent sending update notification
172
- */
173
- async addItem(item: T_DataItem, collectorId?: string, dontSendUpdate?: boolean): Promise<void> {
174
- if (!this.data) {
175
- throw new DyFM_Error({
176
- error: new Error(`Data not found! (${this.name})`),
177
- errorCode: 'DyFM-LCDH-AI1',
178
- additionalContent: {
179
- listKey: this.listKey,
180
- },
181
- });
182
- }
183
- this.data[this.listKey] ??= [];
184
- this.data[this.listKey].push(item);
185
- if (this.setItem && !dontSendUpdate) {
186
- await this.setItem(item, collectorId);
187
- // dont send update because we already sent it to the setItem function
188
- await this.updateData(this.data_BS.value, true);
189
- } else {
190
- await this.updateData(this.data_BS.value, dontSendUpdate);
191
- }
192
- this.activeItem_BS.next(item);
193
- }
194
-
195
- /**
196
- * Removes an item from the data list.
197
- * The item is identified by its _id property.
198
- *
199
- * @param id - The id of the item to remove from the list
200
- * @param collectorId - Optional collector ID for tracking
201
- * @param dontSendUpdate - Optional flag to prevent sending update notification
202
- */
203
- async removeItem(id: string, collectorId?: string, dontSendUpdate?: boolean): Promise<void> {
204
- if (!this.data?.[this.listKey]?.length) {
205
- throw new DyFM_Error({
206
- error: new Error(`List not found! (${this.name})`),
207
- errorCode: 'DyFM-LCDH-RI1',
208
- additionalContent: {
209
- listKey: this.listKey,
210
- },
211
- });
212
- }
213
- const index = this.data[this.listKey].findIndex(i => i._id === id);
214
- if (index !== -1) {
215
- this.data[this.listKey].splice(index, 1);
216
- if (this.deleteItem) {
217
- await this.deleteItem(id, collectorId);
218
- await this.updateData(this.data_BS.value, true);
219
- } else {
220
- await this.updateData(this.data_BS.value, dontSendUpdate);
221
- }
222
- }
223
- if (this.activeItem_BS.value?._id === id) {
224
- this.activeItem_BS.next(null);
225
- }
226
- }
227
-
228
- /**
229
- * Updates an existing item in the data list.
230
- * The item is identified by its _id property.
231
- *
232
- * @param item - The updated item
233
- * @param collectorId - Optional collector ID for tracking
234
- * @param dontSendUpdate - Optional flag to prevent sending update notification
235
- * @throws Error if the item is not found in the list
236
- */
237
- async updateItem(item: T_DataItem, collectorId?: string, dontSendUpdate?: boolean): Promise<void> {
238
- if (!this.data?.[this.listKey]?.length) {
239
- throw new DyFM_Error({
240
- error: new Error(`List not found! (${this.name})`),
241
- errorCode: 'DyFM-LCDH-UI0',
242
- additionalContent: {
243
- listKey: this.listKey,
244
- },
245
- });
246
- }
247
- // check if item is in the list
248
- const index = this.data[this.listKey].findIndex(i => i._id === item._id);
249
- if (index !== -1) {
250
- // update the item
251
- this.data[this.listKey][index] = item;
252
- if (this.setItem) {
253
- // send update to API
254
- await this.setItem(item, collectorId);
255
- await this.updateData(this.data_BS.value, true);
256
- } else {
257
- // send update to API
258
- await this.updateData(this.data_BS.value, dontSendUpdate);
259
- }
260
- } else {
261
- throw new DyFM_Error({
262
- error: new Error(`Item not found! (${this.name})`),
263
- errorCode: 'DyFM-LCDH-UI1',
264
- additionalContent: {
265
- item: item,
266
- },
267
- });
268
- }
269
- }
270
-
271
- setActiveItem(item: T_DataItem): void {
272
- this.activeItem_BS.next(item);
273
- }
274
- }
1
+ import { BehaviorSubject, Observable } from 'rxjs';
2
+
3
+ import { DyFM_ListCollectorDataHandler_Settings } from './data-handler-settings.control-model';
4
+
5
+ import { DyFM_DataHandler } from './data-handler.control-model';
6
+ import { DyFM_Error } from '../../../_models/control-models/error.control-model';
7
+ import { DyFM_Metadata } from '../../../_models/data-models/metadata.data-model';
8
+
9
+ /**
10
+ * A specialized data handler for managing list collections within a parent data object.
11
+ * Extends DyFM_DataHandler to provide functionality for handling lists within a collector object.
12
+ *
13
+ * @template T_ListCollectorData - The type of the parent collector data object
14
+ * @template T_DataItem - The type of individual items in the list (must extend DyFM_Metadata)
15
+ * @template T_DependencyData - The type of dependency data (defaults to any)
16
+ * @template T_DataLoadBy - The type used to identify how data should be loaded (defaults to string)
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * // Create a list collector handler for user's projects
21
+ * const userProjectsHandler = new DyFM_ListCollectorDataHandler<User, Project>({
22
+ * listKey: 'projects',
23
+ * get: async (userId: string): Promise<User> => {
24
+ * return await userService.getUserWithProjects(userId);
25
+ * }
26
+ * });
27
+ *
28
+ * // Access the data list
29
+ * const projects = userProjectsHandler.dataList;
30
+ *
31
+ * // Add a new project
32
+ * userProjectsHandler.addItem(newProject);
33
+ *
34
+ * // Update an existing project
35
+ * userProjectsHandler.updateItem(updatedProject);
36
+ *
37
+ * // Subscribe to changes
38
+ * userProjectsHandler.dataList$.subscribe(projects => {
39
+ * console.log('Projects updated:', projects);
40
+ * });
41
+ * ```
42
+ */
43
+ export class DyFM_ListCollectorDataHandler<
44
+ T_ListCollectorData extends DyFM_Metadata,
45
+ T_DataItem extends DyFM_Metadata,
46
+ T_DependencyData extends DyFM_Metadata = any,
47
+ T_DataLoadBy = string,
48
+ > extends DyFM_DataHandler<T_ListCollectorData, T_DependencyData, T_DataLoadBy> {
49
+
50
+ /** this is only for data list handlers,
51
+ * while creating arrow function for this, dont forget to use async n await! */
52
+ protected readonly setItem?: (item: T_DataItem, collectorId?: string) => Promise<T_DataItem>;
53
+ /** this is only for data list handlers,
54
+ * while creating arrow function for this, dont forget to use async n await! */
55
+ protected readonly deleteItem?: (id: string, collectorId?: string) => Promise<void>;
56
+
57
+ protected readonly listKey: string;
58
+
59
+ /**
60
+ * BehaviorSubject that holds the current data list.
61
+ * Computed from the base data_BS BehaviorSubject, ensuring it always returns an array.
62
+ */
63
+ protected readonly dataList_BS: BehaviorSubject<T_DataItem[]>;
64
+
65
+ /**
66
+ * Observable that holds the current data list.
67
+ * Computed from the base data$ Observable, ensuring it always returns an array.
68
+ */
69
+ readonly dataList$: Observable<T_DataItem[]>;
70
+
71
+ /**
72
+ * BehaviorSubject that holds the currently active item.
73
+ */
74
+ readonly activeItem_BS: BehaviorSubject<T_DataItem>;
75
+
76
+ /**
77
+ * Observable that holds the currently active item.
78
+ */
79
+ readonly activeItem$: Observable<T_DataItem>;
80
+
81
+ /**
82
+ * Gets the current data value.
83
+ * @returns The current data value
84
+ */
85
+ override get data(): T_ListCollectorData {
86
+ return this.data_BS.value;
87
+ }
88
+
89
+ /**
90
+ * Gets the current data list.
91
+ * Alias for data getter.
92
+ * @returns The current array of data items
93
+ */
94
+ get dataList(): T_DataItem[] {
95
+ return this.dataList_BS.value;
96
+ }
97
+
98
+ /**
99
+ * Creates a new instance of DyFM_ListCollectorDataHandler.
100
+ *
101
+ * @param set - Configuration settings for the data handler
102
+ * @param skipDependencyConnections - Optional flag to skip dependency connections during construction
103
+ */
104
+ constructor(
105
+ set: DyFM_ListCollectorDataHandler_Settings<T_ListCollectorData, T_DataItem, T_DependencyData, T_DataLoadBy>,
106
+ /** is in construct?
107
+ * so the dependent data handlers are not added here, but in the extended class */
108
+ skipDependencyConnections?: boolean,
109
+ ) {
110
+ super(set, skipDependencyConnections);
111
+
112
+ this.listKey = set.listKey;
113
+
114
+ // Initialize dataList BehaviorSubject and Observable
115
+ this.dataList_BS = new BehaviorSubject<T_DataItem[]>([]);
116
+ this.dataList$ = this.dataList_BS.asObservable();
117
+
118
+ // Initialize activeItem BehaviorSubject and Observable
119
+ this.activeItem_BS = new BehaviorSubject<T_DataItem>(null);
120
+ this.activeItem$ = this.activeItem_BS.asObservable();
121
+
122
+ // Subscribe to data changes to update dataList
123
+ this.data$.subscribe(data => {
124
+ const dataList = Array.isArray(data?.[this.listKey]) ? data[this.listKey] : [];
125
+ this.dataList_BS.next(dataList);
126
+ });
127
+
128
+ if (set.setItem) {
129
+ this.setItem = set.setItem;
130
+ }
131
+
132
+ if (set.deleteItem) {
133
+ this.deleteItem = set.deleteItem;
134
+ }
135
+
136
+ this.getPostProcesses.push((data: T_DataItem[]) => {
137
+ // check if data is an array
138
+ if (!Array.isArray(data) ) {
139
+ console.error(
140
+ `DYNAMO DynamoDataHandler (${this.name}) ERROR: ` +
141
+ `\nData is not an array!:` +
142
+ '\n\n', data
143
+ );
144
+ throw new Error(`Data is not an array! (${this.name})`);
145
+ }
146
+
147
+ return data;
148
+ });
149
+
150
+ if (!skipDependencyConnections) {
151
+ if (set.dependencyDataHandler) {
152
+ this.addDependencyDataHandler(set.dependencyDataHandler);
153
+ }
154
+
155
+ if (set.dependentDataHandlers) {
156
+ this.addDependentDataHandlers(set.dependentDataHandlers, true);
157
+ }
158
+ }
159
+ }
160
+
161
+ override clear(dontClearDependents?: boolean): void {
162
+ super.clear(dontClearDependents);
163
+ this.activeItem_BS.next(null);
164
+ }
165
+
166
+ /**
167
+ * Adds a new item to the data list.
168
+ *
169
+ * @param item - The item to add to the list
170
+ * @param collectorId - Optional collector ID for tracking
171
+ * @param dontSendUpdate - Optional flag to prevent sending update notification
172
+ */
173
+ async addItem(item: T_DataItem, collectorId?: string, dontSendUpdate?: boolean): Promise<void> {
174
+ if (!this.data) {
175
+ throw new DyFM_Error({
176
+ error: new Error(`Data not found! (${this.name})`),
177
+ errorCode: 'DyFM-LCDH-AI1',
178
+ additionalContent: {
179
+ listKey: this.listKey,
180
+ },
181
+ });
182
+ }
183
+ this.data[this.listKey] ??= [];
184
+ this.data[this.listKey].push(item);
185
+ if (this.setItem && !dontSendUpdate) {
186
+ await this.setItem(item, collectorId);
187
+ // dont send update because we already sent it to the setItem function
188
+ await this.updateData(this.data_BS.value, true);
189
+ } else {
190
+ await this.updateData(this.data_BS.value, dontSendUpdate);
191
+ }
192
+ this.activeItem_BS.next(item);
193
+ }
194
+
195
+ /**
196
+ * Removes an item from the data list.
197
+ * The item is identified by its _id property.
198
+ *
199
+ * @param id - The id of the item to remove from the list
200
+ * @param collectorId - Optional collector ID for tracking
201
+ * @param dontSendUpdate - Optional flag to prevent sending update notification
202
+ */
203
+ async removeItem(id: string, collectorId?: string, dontSendUpdate?: boolean): Promise<void> {
204
+ if (!this.data?.[this.listKey]?.length) {
205
+ throw new DyFM_Error({
206
+ error: new Error(`List not found! (${this.name})`),
207
+ errorCode: 'DyFM-LCDH-RI1',
208
+ additionalContent: {
209
+ listKey: this.listKey,
210
+ },
211
+ });
212
+ }
213
+ const index = this.data[this.listKey].findIndex(i => i._id === id);
214
+ if (index !== -1) {
215
+ this.data[this.listKey].splice(index, 1);
216
+ if (this.deleteItem) {
217
+ await this.deleteItem(id, collectorId);
218
+ await this.updateData(this.data_BS.value, true);
219
+ } else {
220
+ await this.updateData(this.data_BS.value, dontSendUpdate);
221
+ }
222
+ }
223
+ if (this.activeItem_BS.value?._id === id) {
224
+ this.activeItem_BS.next(null);
225
+ }
226
+ }
227
+
228
+ /**
229
+ * Updates an existing item in the data list.
230
+ * The item is identified by its _id property.
231
+ *
232
+ * @param item - The updated item
233
+ * @param collectorId - Optional collector ID for tracking
234
+ * @param dontSendUpdate - Optional flag to prevent sending update notification
235
+ * @throws Error if the item is not found in the list
236
+ */
237
+ async updateItem(item: T_DataItem, collectorId?: string, dontSendUpdate?: boolean): Promise<void> {
238
+ if (!this.data?.[this.listKey]?.length) {
239
+ throw new DyFM_Error({
240
+ error: new Error(`List not found! (${this.name})`),
241
+ errorCode: 'DyFM-LCDH-UI0',
242
+ additionalContent: {
243
+ listKey: this.listKey,
244
+ },
245
+ });
246
+ }
247
+ // check if item is in the list
248
+ const index = this.data[this.listKey].findIndex(i => i._id === item._id);
249
+ if (index !== -1) {
250
+ // update the item
251
+ this.data[this.listKey][index] = item;
252
+ if (this.setItem) {
253
+ // send update to API
254
+ await this.setItem(item, collectorId);
255
+ await this.updateData(this.data_BS.value, true);
256
+ } else {
257
+ // send update to API
258
+ await this.updateData(this.data_BS.value, dontSendUpdate);
259
+ }
260
+ } else {
261
+ throw new DyFM_Error({
262
+ error: new Error(`Item not found! (${this.name})`),
263
+ errorCode: 'DyFM-LCDH-UI1',
264
+ additionalContent: {
265
+ item: item,
266
+ },
267
+ });
268
+ }
269
+ }
270
+
271
+ setActiveItem(item: T_DataItem): void {
272
+ this.activeItem_BS.next(item);
273
+ }
274
+ }
@@ -1,6 +1,6 @@
1
- // MODELS
2
- export * from './_models/data-handler.control-model';
3
- export * from './_models/data-handler-settings.control-model';
4
- export * from './_models/data-list-handler.control-model';
5
- export * from './_models/data-search-handler.control-model';
6
- export * from './_models/list-collector-data-handler.control-model';
1
+ // MODELS
2
+ export * from './_models/data-handler.control-model';
3
+ export * from './_models/data-handler-settings.control-model';
4
+ export * from './_models/data-list-handler.control-model';
5
+ export * from './_models/data-search-handler.control-model';
6
+ export * from './_models/list-collector-data-handler.control-model';