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