@futdevpro/fsm-dynamo 1.16.27 → 1.16.29

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