@futdevpro/fsm-dynamo 1.16.31 → 1.16.34

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 (560) 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/.vscode/settings.json +11 -11
  15. package/LICENSE +21 -21
  16. package/__documentations/2026-06-22-dyfm-error-extends-error.md +109 -109
  17. package/build/_models/data-models/errors.data-model.d.ts +22 -0
  18. package/build/_models/data-models/errors.data-model.d.ts.map +1 -1
  19. package/build/_models/data-models/errors.data-model.js +24 -0
  20. package/build/_models/data-models/errors.data-model.js.map +1 -1
  21. package/build/_modules/game/_collections/audio-scale.util.d.ts +57 -0
  22. package/build/_modules/game/_collections/audio-scale.util.d.ts.map +1 -0
  23. package/build/_modules/game/_collections/audio-scale.util.js +105 -0
  24. package/build/_modules/game/_collections/audio-scale.util.js.map +1 -0
  25. package/build/_modules/game/_enums/audio-channel.enum.d.ts +8 -4
  26. package/build/_modules/game/_enums/audio-channel.enum.d.ts.map +1 -1
  27. package/build/_modules/game/_enums/audio-channel.enum.js +8 -4
  28. package/build/_modules/game/_enums/audio-channel.enum.js.map +1 -1
  29. package/build/_modules/game/_models/audio-mixer-config.interface.d.ts +37 -0
  30. package/build/_modules/game/_models/audio-mixer-config.interface.d.ts.map +1 -0
  31. package/build/_modules/game/_models/audio-mixer-config.interface.js +3 -0
  32. package/build/_modules/game/_models/audio-mixer-config.interface.js.map +1 -0
  33. package/build/_modules/game/_models/audio-mixer-state.interface.d.ts +19 -0
  34. package/build/_modules/game/_models/audio-mixer-state.interface.d.ts.map +1 -0
  35. package/build/_modules/game/_models/audio-mixer-state.interface.js +3 -0
  36. package/build/_modules/game/_models/audio-mixer-state.interface.js.map +1 -0
  37. package/build/_modules/game/_models/audio-mixer.control-model.d.ts +123 -0
  38. package/build/_modules/game/_models/audio-mixer.control-model.d.ts.map +1 -0
  39. package/build/_modules/game/_models/audio-mixer.control-model.js +312 -0
  40. package/build/_modules/game/_models/audio-mixer.control-model.js.map +1 -0
  41. package/build/_modules/game/_models/audio-scale.interface.d.ts +18 -0
  42. package/build/_modules/game/_models/audio-scale.interface.d.ts.map +1 -0
  43. package/build/_modules/game/_models/audio-scale.interface.js +3 -0
  44. package/build/_modules/game/_models/audio-scale.interface.js.map +1 -0
  45. package/build/_modules/game/index.d.ts +5 -0
  46. package/build/_modules/game/index.d.ts.map +1 -1
  47. package/build/_modules/game/index.js +5 -0
  48. package/build/_modules/game/index.js.map +1 -1
  49. package/build/_modules/socket/_models/sck-socket-event.control-model.js +1 -1
  50. package/eslint.config.js +4 -4
  51. package/nodemon.json +22 -22
  52. package/package.json +1 -1
  53. package/scripts/crypto/CRYPTO-STABILITY-SOLUTION.md +196 -196
  54. package/scripts/crypto/README.md +113 -113
  55. package/scripts/crypto/demo-crypto-stability.js +120 -120
  56. package/scripts/crypto/stress-test-crypto.js +379 -379
  57. package/scripts/run-coverage-tests.js +24 -24
  58. package/spec/support/helpers/ts-node-helper.js +9 -9
  59. package/spec/support/jasmine.coverage.json +23 -23
  60. package/spec/support/jasmine.json +24 -24
  61. package/src/_collections/constants/data-sizes.const.ts +40 -40
  62. package/src/_collections/constants/error-defaults.const.ts +20 -20
  63. package/src/_collections/constants/global-settings.const.ts +24 -24
  64. package/src/_collections/constants/numbers.const.ts +40 -40
  65. package/src/_collections/constants/times.const.ts +45 -45
  66. package/src/_collections/utils/array.util.spec.ts +306 -306
  67. package/src/_collections/utils/array.util.ts +813 -813
  68. package/src/_collections/utils/async.util.spec.ts +354 -354
  69. package/src/_collections/utils/async.util.ts +197 -197
  70. package/src/_collections/utils/data.util.spec.ts +345 -345
  71. package/src/_collections/utils/data.util.ts +226 -226
  72. package/src/_collections/utils/json-error-helper.util.spec.ts +521 -521
  73. package/src/_collections/utils/json-error-helper.util.ts +301 -301
  74. package/src/_collections/utils/log.util.spec.ts +975 -975
  75. package/src/_collections/utils/log.util.ts +667 -667
  76. package/src/_collections/utils/math/box-bounds.spec.ts +73 -73
  77. package/src/_collections/utils/math/box-bounds.util.ts +183 -183
  78. package/src/_collections/utils/math/math.util.spec.ts +94 -94
  79. package/src/_collections/utils/math/math.util.ts +141 -141
  80. package/src/_collections/utils/math/random.util.spec.ts +82 -82
  81. package/src/_collections/utils/math/random.util.ts +139 -139
  82. package/src/_collections/utils/math/trigonometry.util.spec.ts +57 -57
  83. package/src/_collections/utils/math/trigonometry.util.ts +102 -102
  84. package/src/_collections/utils/math/vector2.util.spec.ts +94 -94
  85. package/src/_collections/utils/math/vector2.util.ts +653 -653
  86. package/src/_collections/utils/object.util.spec.ts +646 -646
  87. package/src/_collections/utils/regex/password-regex.util.spec.ts +51 -51
  88. package/src/_collections/utils/regex/password-regex.util.ts +65 -65
  89. package/src/_collections/utils/regex/regex.util.spec.ts +42 -42
  90. package/src/_collections/utils/regex/regex.util.ts +6 -6
  91. package/src/_collections/utils/regex/username-regex.util.spec.ts +61 -61
  92. package/src/_collections/utils/regex/username-regex.util.ts +35 -35
  93. package/src/_collections/utils/round-list.util.spec.ts +79 -79
  94. package/src/_collections/utils/round-list.util.ts +162 -162
  95. package/src/_collections/utils/stack.util.spec.ts +372 -372
  96. package/src/_collections/utils/stack.util.ts +164 -164
  97. package/src/_collections/utils/string-case.util.spec.ts +441 -441
  98. package/src/_collections/utils/string-case.util.ts +362 -362
  99. package/src/_collections/utils/string.util.spec.ts +975 -975
  100. package/src/_collections/utils/string.util.ts +449 -449
  101. package/src/_collections/utils/time.util.spec.ts +50 -50
  102. package/src/_collections/utils/time.util.ts +481 -481
  103. package/src/_collections/utils/type-cloning-facility.util.spec.ts +51 -51
  104. package/src/_collections/utils/type-cloning-facility.util.ts +168 -168
  105. package/src/_collections/utils/utilities.util.spec.ts +201 -201
  106. package/src/_collections/utils/utilities.util.ts +68 -68
  107. package/src/_collections/utils/uuid.util.spec.ts +30 -30
  108. package/src/_collections/utils/uuid.util.ts +50 -50
  109. package/src/_enums/basic-property-type.enum.ts +20 -20
  110. package/src/_enums/data-model-type.enum.ts +29 -29
  111. package/src/_enums/environment-flag.enum.ts +28 -28
  112. package/src/_enums/error-level.enum.ts +43 -43
  113. package/src/_enums/http/http-call-type.enum.ts +43 -43
  114. package/src/_enums/http/http-event-type.enum.ts +40 -40
  115. package/src/_enums/http/http-response-type.enum.ts +18 -18
  116. package/src/_enums/log-style.enum.ts +44 -44
  117. package/src/_enums/server-connection-status.enum.ts +6 -6
  118. package/src/_enums/time/day-of-week.enum.ts +55 -55
  119. package/src/_enums/time/month.enum.ts +25 -25
  120. package/src/_enums/time/relative-date.enum.ts +24 -24
  121. package/src/_models/control-models/data-model-params.control-model.spec.ts +133 -133
  122. package/src/_models/control-models/data-model-params.control-model.ts +352 -352
  123. package/src/_models/control-models/data-property-params.control-model.spec.ts +93 -93
  124. package/src/_models/control-models/data-property-params.control-model.ts +210 -210
  125. package/src/_models/control-models/error.control-model.spec.ts +912 -912
  126. package/src/_models/control-models/error.control-model.ts +1274 -1274
  127. package/src/_models/control-models/http/http-error-response.control-model.spec.ts +116 -116
  128. package/src/_models/control-models/http/http-error-response.control-model.ts +52 -52
  129. package/src/_models/control-models/http/http-headers.control-model.spec.ts +25 -25
  130. package/src/_models/control-models/http/http-headers.control-model.ts +124 -124
  131. package/src/_models/control-models/http/http-response.model-base.spec.ts +46 -46
  132. package/src/_models/control-models/http/http-response.model-base.ts +57 -57
  133. package/src/_models/control-models/poll.control-model.spec.ts +63 -63
  134. package/src/_models/control-models/poll.control-model.ts +151 -151
  135. package/src/_models/control-models/range-value.control-model.spec.ts +187 -187
  136. package/src/_models/control-models/range-value.control-model.ts +289 -289
  137. package/src/_models/control-models/server-status.control-model.spec.ts +66 -66
  138. package/src/_models/control-models/server-status.control-model.ts +94 -94
  139. package/src/_models/control-models/service-endpoint-settings-base.control-model.spec.ts +145 -145
  140. package/src/_models/control-models/service-endpoint-settings-base.control-model.ts +186 -186
  141. package/src/_models/data-models/errors.data-model.spec.ts +71 -71
  142. package/src/_models/data-models/errors.data-model.ts +200 -175
  143. package/src/_models/data-models/metadata.data-model.spec.ts +184 -184
  144. package/src/_models/data-models/metadata.data-model.ts +153 -153
  145. package/src/_models/interfaces/box-bounds.interface.ts +7 -7
  146. package/src/_models/interfaces/environment/global-log-settings.interface.ts +86 -86
  147. package/src/_models/interfaces/environment/global-settings.interface.ts +47 -47
  148. package/src/_models/interfaces/error-defaults.interface.ts +11 -11
  149. package/src/_models/interfaces/paged.interface.ts +12 -12
  150. package/src/_models/interfaces/random-weight.interface.ts +7 -7
  151. package/src/_models/interfaces/route-settings.interface.ts +15 -15
  152. package/src/_models/interfaces/search-query.interface.ts +23 -23
  153. package/src/_models/interfaces/search-result.interface.ts +5 -5
  154. package/src/_models/interfaces/server-error-statistics.interface.ts +24 -24
  155. package/src/_models/interfaces/vector2.interface.ts +20 -20
  156. package/src/_models/types/db-filter.type.ts +110 -110
  157. package/src/_models/types/db-sort.type.ts +4 -4
  158. package/src/_models/types/ds-filter.type.ts +68 -68
  159. package/src/_models/types/ds-sort.type.ts +21 -21
  160. package/src/_modules/ai/_collections/ai-model-ref.util.ts +88 -88
  161. package/src/_modules/ai/_collections/ai-model-registry.util.spec.ts +37 -37
  162. package/src/_modules/ai/_collections/ai-model-registry.util.ts +30 -30
  163. package/src/_modules/ai/_enums/ai-message-role.enum.ts +7 -7
  164. package/src/_modules/ai/_enums/ai-model-type.enum.ts +7 -7
  165. package/src/_modules/ai/_enums/ai-provider.enum.ts +7 -7
  166. package/src/_modules/ai/_models/ai-call-settings.interface.ts +84 -84
  167. package/src/_modules/ai/_models/ai-embedding-request.interface.ts +20 -20
  168. package/src/_modules/ai/_models/ai-embedding-response.interface.ts +26 -26
  169. package/src/_modules/ai/_models/ai-llm-request.interface.ts +24 -24
  170. package/src/_modules/ai/_models/ai-llm-response.interface.ts +30 -30
  171. package/src/_modules/ai/_models/ai-message.interface.ts +12 -12
  172. package/src/_modules/ai/_models/ai-model-capabilities.interface.ts +35 -35
  173. package/src/_modules/ai/_models/ai-model-info.interface.ts +63 -63
  174. package/src/_modules/ai/_models/ai-model-settings-schema.interface.ts +52 -52
  175. package/src/_modules/ai/_models/ai-provider-capabilities.interface.ts +28 -28
  176. package/src/_modules/ai/_models/ai-settings.interface.ts +17 -17
  177. package/src/_modules/ai/_models/ai-tool-call.interface.ts +18 -18
  178. package/src/_modules/ai/_models/ai-tool-handler.type.ts +11 -11
  179. package/src/_modules/ai/_models/ai-tool-result.interface.ts +16 -16
  180. package/src/_modules/ai/_models/ai-tool.interface.ts +16 -16
  181. package/src/_modules/ai/_models/ai-user-provider-config.control-model.ts +29 -29
  182. package/src/_modules/ai/_modules/anthropic/_collections/aai-models.const.ts +135 -135
  183. package/src/_modules/ai/_modules/anthropic/_enums/aai-model.enum.ts +19 -19
  184. package/src/_modules/ai/_modules/anthropic/_models/aai-call-settings.control-model.spec.ts +28 -28
  185. package/src/_modules/ai/_modules/anthropic/_models/aai-call-settings.control-model.ts +23 -23
  186. package/src/_modules/ai/_modules/anthropic/_models/aai-client-options.interface.ts +10 -10
  187. package/src/_modules/ai/_modules/anthropic/_models/aai-settings.control-model.spec.ts +22 -22
  188. package/src/_modules/ai/_modules/anthropic/_models/aai-settings.control-model.ts +27 -27
  189. package/src/_modules/ai/_modules/anthropic/_models/aai-user-provider-config.control-model.ts +20 -20
  190. package/src/_modules/ai/_modules/anthropic/index.ts +14 -14
  191. package/src/_modules/ai/_modules/document-ai/_models/dai-embedding-info.interface.ts +12 -12
  192. package/src/_modules/ai/_modules/document-ai/_models/dai-vector-search-params.interface.ts +22 -22
  193. package/src/_modules/ai/_modules/document-ai/index.ts +4 -4
  194. package/src/_modules/ai/_modules/fdp-ai/_collections/fdpai-models.const.ts +40 -40
  195. package/src/_modules/ai/_modules/fdp-ai/_enums/fdpai-model.enum.ts +6 -6
  196. package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-call-settings.control-model.ts +19 -19
  197. package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-client-options.interface.ts +11 -11
  198. package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-settings.control-model.ts +24 -24
  199. package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-user-provider-config.control-model.ts +20 -20
  200. package/src/_modules/ai/_modules/fdp-ai/index.ts +11 -11
  201. package/src/_modules/ai/_modules/google-ai/_collections/gai-models.const.ts +161 -161
  202. package/src/_modules/ai/_modules/google-ai/_enums/gai-model.enum.ts +16 -16
  203. package/src/_modules/ai/_modules/google-ai/_models/gai-call-settings.control-model.spec.ts +28 -28
  204. package/src/_modules/ai/_modules/google-ai/_models/gai-call-settings.control-model.ts +21 -21
  205. package/src/_modules/ai/_modules/google-ai/_models/gai-client-options.interface.ts +8 -8
  206. package/src/_modules/ai/_modules/google-ai/_models/gai-settings.control-model.spec.ts +22 -22
  207. package/src/_modules/ai/_modules/google-ai/_models/gai-settings.control-model.ts +25 -25
  208. package/src/_modules/ai/_modules/google-ai/_models/gai-user-provider-config.control-model.ts +20 -20
  209. package/src/_modules/ai/_modules/google-ai/index.ts +14 -14
  210. package/src/_modules/ai/_modules/local-ai/_collections/lai-models.const.ts +59 -59
  211. package/src/_modules/ai/_modules/local-ai/_enums/lai-model.enum.ts +6 -6
  212. package/src/_modules/ai/_modules/local-ai/_models/lai-call-settings.control-model.spec.ts +28 -28
  213. package/src/_modules/ai/_modules/local-ai/_models/lai-call-settings.control-model.ts +18 -18
  214. package/src/_modules/ai/_modules/local-ai/_models/lai-client-options.interface.ts +9 -9
  215. package/src/_modules/ai/_modules/local-ai/_models/lai-settings.control-model.spec.ts +22 -22
  216. package/src/_modules/ai/_modules/local-ai/_models/lai-settings.control-model.ts +23 -23
  217. package/src/_modules/ai/_modules/local-ai/index.ts +14 -14
  218. package/src/_modules/ai/_modules/open-ai/_collections/oai-embedding-model-dimensions.const.ts +7 -7
  219. package/src/_modules/ai/_modules/open-ai/_collections/oai-models.const.ts +404 -404
  220. package/src/_modules/ai/_modules/open-ai/_enums/oai-model.enum.ts +179 -179
  221. package/src/_modules/ai/_modules/open-ai/_models/oai-call-settings.control-model.spec.ts +28 -28
  222. package/src/_modules/ai/_modules/open-ai/_models/oai-call-settings.control-model.ts +21 -21
  223. package/src/_modules/ai/_modules/open-ai/_models/oai-client-options.interface.ts +81 -81
  224. package/src/_modules/ai/_modules/open-ai/_models/oai-embedding-info.interface.ts +13 -13
  225. package/src/_modules/ai/_modules/open-ai/_models/oai-settings.control-model.spec.ts +22 -22
  226. package/src/_modules/ai/_modules/open-ai/_models/oai-settings.control-model.ts +25 -25
  227. package/src/_modules/ai/_modules/open-ai/_models/oai-user-provider-config.control-model.ts +21 -21
  228. package/src/_modules/ai/_modules/open-ai/index.ts +28 -28
  229. package/src/_modules/ai/index.ts +27 -27
  230. package/src/_modules/ci-tools/_enums/cit-ci-result-code.enum.ts +11 -11
  231. package/src/_modules/ci-tools/_enums/cit-ci-step-result-code.enum.ts +9 -9
  232. package/src/_modules/ci-tools/_models/cit-ci-result-info.data-models.spec.ts +58 -58
  233. package/src/_modules/ci-tools/_models/cit-ci-result-info.data-models.ts +77 -77
  234. package/src/_modules/ci-tools/_models/cit-ci-step-result.interface.ts +12 -12
  235. package/src/_modules/ci-tools/index.ts +8 -8
  236. package/src/_modules/crypto/_collections/crypto.util.simple.spec.ts +512 -512
  237. package/src/_modules/crypto/index.ts +13 -13
  238. package/src/_modules/custom-data/_collections/cud-module-settings.const.ts +21 -21
  239. package/src/_modules/custom-data/_models/cud.data-model.spec.ts +38 -38
  240. package/src/_modules/custom-data/_models/cud.data-model.ts +39 -39
  241. package/src/_modules/custom-data/index.ts +10 -10
  242. package/src/_modules/data-handler/_models/data-handler-settings.control-model.spec.ts +110 -110
  243. package/src/_modules/data-handler/_models/data-handler-settings.control-model.ts +110 -110
  244. package/src/_modules/data-handler/_models/data-handler.control-model.spec.ts +473 -473
  245. package/src/_modules/data-handler/_models/data-handler.control-model.ts +486 -486
  246. package/src/_modules/data-handler/_models/data-list-handler.control-model.spec.ts +263 -263
  247. package/src/_modules/data-handler/_models/data-list-handler.control-model.ts +252 -252
  248. package/src/_modules/data-handler/_models/data-search-handler.control-model.spec.ts +417 -417
  249. package/src/_modules/data-handler/_models/data-search-handler.control-model.ts +390 -390
  250. package/src/_modules/data-handler/_models/list-collector-data-handler.control-model.spec.ts +374 -374
  251. package/src/_modules/data-handler/_models/list-collector-data-handler.control-model.ts +274 -274
  252. package/src/_modules/data-handler/index.ts +6 -6
  253. package/src/_modules/game/_collections/audio-scale.util.spec.ts +140 -0
  254. package/src/_modules/game/_collections/audio-scale.util.ts +129 -0
  255. package/src/_modules/game/_enums/audio-channel.enum.ts +8 -4
  256. package/src/_modules/game/_models/audio-mixer-config.interface.ts +45 -0
  257. package/src/_modules/game/_models/audio-mixer-state.interface.ts +23 -0
  258. package/src/_modules/game/_models/audio-mixer.control-model.spec.ts +306 -0
  259. package/src/_modules/game/_models/audio-mixer.control-model.ts +378 -0
  260. package/src/_modules/game/_models/audio-scale.interface.ts +21 -0
  261. package/src/_modules/game/index.ts +5 -0
  262. package/src/_modules/location/_collections/assets/country-codes-ISO-3166.json +3239 -3239
  263. package/src/_modules/location/_collections/assets/country-divisions-ISO-3166-all-list.json +19035 -19035
  264. package/src/_modules/location/_collections/assets/country-divisions-ISO-3166.json +4993 -4993
  265. package/src/_modules/location/_collections/assets/country-phone-codes.json +1203 -1203
  266. package/src/_modules/location/_collections/assets/country-subdivisions/afghanistan.json +137 -137
  267. package/src/_modules/location/_collections/assets/country-subdivisions/albania.json +49 -49
  268. package/src/_modules/location/_collections/assets/country-subdivisions/algeria.json +193 -193
  269. package/src/_modules/location/_collections/assets/country-subdivisions/andorra.json +29 -29
  270. package/src/_modules/location/_collections/assets/country-subdivisions/angola.json +73 -73
  271. package/src/_modules/location/_collections/assets/country-subdivisions/antigua-and-barbuda.json +33 -33
  272. package/src/_modules/location/_collections/assets/country-subdivisions/argentina.json +97 -97
  273. package/src/_modules/location/_collections/assets/country-subdivisions/armenia.json +45 -45
  274. package/src/_modules/location/_collections/assets/country-subdivisions/australia.json +33 -33
  275. package/src/_modules/location/_collections/assets/country-subdivisions/austria.json +37 -37
  276. package/src/_modules/location/_collections/assets/country-subdivisions/azerbaijan.json +5 -5
  277. package/src/_modules/location/_collections/assets/country-subdivisions/bahamas.json +125 -125
  278. package/src/_modules/location/_collections/assets/country-subdivisions/bahrain.json +21 -21
  279. package/src/_modules/location/_collections/assets/country-subdivisions/bangladesh.json +29 -29
  280. package/src/_modules/location/_collections/assets/country-subdivisions/barbados.json +45 -45
  281. package/src/_modules/location/_collections/assets/country-subdivisions/belarus.json +29 -29
  282. package/src/_modules/location/_collections/assets/country-subdivisions/belgium.json +13 -13
  283. package/src/_modules/location/_collections/assets/country-subdivisions/belize.json +25 -25
  284. package/src/_modules/location/_collections/assets/country-subdivisions/benin.json +49 -49
  285. package/src/_modules/location/_collections/assets/country-subdivisions/bhutan.json +81 -81
  286. package/src/_modules/location/_collections/assets/country-subdivisions/bolivia.json +37 -37
  287. package/src/_modules/location/_collections/assets/country-subdivisions/bosnia-and-herzegovina.json +13 -13
  288. package/src/_modules/location/_collections/assets/country-subdivisions/botswana.json +65 -65
  289. package/src/_modules/location/_collections/assets/country-subdivisions/brazil.json +109 -109
  290. package/src/_modules/location/_collections/assets/country-subdivisions/brunei-darussalam.json +17 -17
  291. package/src/_modules/location/_collections/assets/country-subdivisions/bulgaria.json +113 -113
  292. package/src/_modules/location/_collections/assets/country-subdivisions/burkina-faso.json +53 -53
  293. package/src/_modules/location/_collections/assets/country-subdivisions/burundi.json +69 -69
  294. package/src/_modules/location/_collections/assets/country-subdivisions/cambodia.json +97 -97
  295. package/src/_modules/location/_collections/assets/country-subdivisions/cameroon.json +41 -41
  296. package/src/_modules/location/_collections/assets/country-subdivisions/canada.json +79 -79
  297. package/src/_modules/location/_collections/assets/country-subdivisions/cape-verde.json +9 -9
  298. package/src/_modules/location/_collections/assets/country-subdivisions/central-african-republic.json +69 -69
  299. package/src/_modules/location/_collections/assets/country-subdivisions/chad.json +89 -89
  300. package/src/_modules/location/_collections/assets/country-subdivisions/chile.json +61 -61
  301. package/src/_modules/location/_collections/assets/country-subdivisions/china.json +205 -205
  302. package/src/_modules/location/_collections/assets/country-subdivisions/colombia.json +133 -133
  303. package/src/_modules/location/_collections/assets/country-subdivisions/comoros.json +13 -13
  304. package/src/_modules/location/_collections/assets/country-subdivisions/congo-the-democratic-republic-of-the.json +45 -45
  305. package/src/_modules/location/_collections/assets/country-subdivisions/congo.json +49 -49
  306. package/src/_modules/location/_collections/assets/country-subdivisions/costa-rica.json +29 -29
  307. package/src/_modules/location/_collections/assets/country-subdivisions/cote-d-ivoire-republic-of.json +77 -77
  308. package/src/_modules/location/_collections/assets/country-subdivisions/croatia.json +85 -85
  309. package/src/_modules/location/_collections/assets/country-subdivisions/cuba.json +65 -65
  310. package/src/_modules/location/_collections/assets/country-subdivisions/cyprus.json +25 -25
  311. package/src/_modules/location/_collections/assets/country-subdivisions/czech-republic.json +57 -57
  312. package/src/_modules/location/_collections/assets/country-subdivisions/denmark.json +21 -21
  313. package/src/_modules/location/_collections/assets/country-subdivisions/djibouti.json +25 -25
  314. package/src/_modules/location/_collections/assets/country-subdivisions/dominica.json +41 -41
  315. package/src/_modules/location/_collections/assets/country-subdivisions/dominican-republic.json +41 -41
  316. package/src/_modules/location/_collections/assets/country-subdivisions/ecuador.json +97 -97
  317. package/src/_modules/location/_collections/assets/country-subdivisions/egypt.json +117 -117
  318. package/src/_modules/location/_collections/assets/country-subdivisions/el-salvador.json +57 -57
  319. package/src/_modules/location/_collections/assets/country-subdivisions/equatorial-guinea.json +9 -9
  320. package/src/_modules/location/_collections/assets/country-subdivisions/eritrea.json +25 -25
  321. package/src/_modules/location/_collections/assets/country-subdivisions/estonia.json +61 -61
  322. package/src/_modules/location/_collections/assets/country-subdivisions/ethiopia.json +45 -45
  323. package/src/_modules/location/_collections/assets/country-subdivisions/fiji.json +21 -21
  324. package/src/_modules/location/_collections/assets/country-subdivisions/finland.json +77 -77
  325. package/src/_modules/location/_collections/assets/country-subdivisions/france.json +133 -133
  326. package/src/_modules/location/_collections/assets/country-subdivisions/gabon.json +37 -37
  327. package/src/_modules/location/_collections/assets/country-subdivisions/gambia.json +25 -25
  328. package/src/_modules/location/_collections/assets/country-subdivisions/georgia.json +49 -49
  329. package/src/_modules/location/_collections/assets/country-subdivisions/germany.json +65 -65
  330. package/src/_modules/location/_collections/assets/country-subdivisions/ghana.json +41 -41
  331. package/src/_modules/location/_collections/assets/country-subdivisions/greece.json +53 -53
  332. package/src/_modules/location/_collections/assets/country-subdivisions/greenland.json +17 -17
  333. package/src/_modules/location/_collections/assets/country-subdivisions/grenada.json +29 -29
  334. package/src/_modules/location/_collections/assets/country-subdivisions/guatemala.json +89 -89
  335. package/src/_modules/location/_collections/assets/country-subdivisions/guinea-bissau.json +13 -13
  336. package/src/_modules/location/_collections/assets/country-subdivisions/guinea.json +33 -33
  337. package/src/_modules/location/_collections/assets/country-subdivisions/guyana.json +41 -41
  338. package/src/_modules/location/_collections/assets/country-subdivisions/haiti.json +41 -41
  339. package/src/_modules/location/_collections/assets/country-subdivisions/honduras.json +73 -73
  340. package/src/_modules/location/_collections/assets/country-subdivisions/hong-kong.json +4 -4
  341. package/src/_modules/location/_collections/assets/country-subdivisions/hungary.json +173 -173
  342. package/src/_modules/location/_collections/assets/country-subdivisions/iceland.json +37 -37
  343. package/src/_modules/location/_collections/assets/country-subdivisions/india.json +181 -181
  344. package/src/_modules/location/_collections/assets/country-subdivisions/indonesia.json +29 -29
  345. package/src/_modules/location/_collections/assets/country-subdivisions/iran-islamic-republic-of.json +125 -125
  346. package/src/_modules/location/_collections/assets/country-subdivisions/iraq.json +73 -73
  347. package/src/_modules/location/_collections/assets/country-subdivisions/ireland.json +17 -17
  348. package/src/_modules/location/_collections/assets/country-subdivisions/israel.json +25 -25
  349. package/src/_modules/location/_collections/assets/country-subdivisions/italy.json +81 -81
  350. package/src/_modules/location/_collections/assets/country-subdivisions/jamaica.json +57 -57
  351. package/src/_modules/location/_collections/assets/country-subdivisions/japan.json +189 -189
  352. package/src/_modules/location/_collections/assets/country-subdivisions/jordan.json +49 -49
  353. package/src/_modules/location/_collections/assets/country-subdivisions/kazakhstan.json +65 -65
  354. package/src/_modules/location/_collections/assets/country-subdivisions/kenya.json +33 -33
  355. package/src/_modules/location/_collections/assets/country-subdivisions/kiribati.json +13 -13
  356. package/src/_modules/location/_collections/assets/country-subdivisions/korea-democratic-people-s-republic-of.json +45 -45
  357. package/src/_modules/location/_collections/assets/country-subdivisions/korea-republic-of.json +69 -69
  358. package/src/_modules/location/_collections/assets/country-subdivisions/kuwait.json +25 -25
  359. package/src/_modules/location/_collections/assets/country-subdivisions/kyrgyzstan.json +33 -33
  360. package/src/_modules/location/_collections/assets/country-subdivisions/lao-people-s-democratic-republic.json +73 -73
  361. package/src/_modules/location/_collections/assets/country-subdivisions/latvia.json +477 -477
  362. package/src/_modules/location/_collections/assets/country-subdivisions/lebanon.json +33 -33
  363. package/src/_modules/location/_collections/assets/country-subdivisions/lesotho.json +41 -41
  364. package/src/_modules/location/_collections/assets/country-subdivisions/liberia.json +61 -61
  365. package/src/_modules/location/_collections/assets/country-subdivisions/libyan-arab-jamahiriya.json +89 -89
  366. package/src/_modules/location/_collections/assets/country-subdivisions/liechtenstein.json +45 -45
  367. package/src/_modules/location/_collections/assets/country-subdivisions/lithuania.json +41 -41
  368. package/src/_modules/location/_collections/assets/country-subdivisions/luxembourg.json +13 -13
  369. package/src/_modules/location/_collections/assets/country-subdivisions/macedonia-the-former-yugoslav-republic-of.json +337 -337
  370. package/src/_modules/location/_collections/assets/country-subdivisions/madagascar.json +25 -25
  371. package/src/_modules/location/_collections/assets/country-subdivisions/malawi.json +13 -13
  372. package/src/_modules/location/_collections/assets/country-subdivisions/malaysia.json +81 -81
  373. package/src/_modules/location/_collections/assets/country-subdivisions/maldives.json +33 -33
  374. package/src/_modules/location/_collections/assets/country-subdivisions/mali.json +37 -37
  375. package/src/_modules/location/_collections/assets/country-subdivisions/malta.json +273 -273
  376. package/src/_modules/location/_collections/assets/country-subdivisions/marshall-islands.json +9 -9
  377. package/src/_modules/location/_collections/assets/country-subdivisions/mauritania.json +53 -53
  378. package/src/_modules/location/_collections/assets/country-subdivisions/mauritius.json +69 -69
  379. package/src/_modules/location/_collections/assets/country-subdivisions/mexico.json +161 -161
  380. package/src/_modules/location/_collections/assets/country-subdivisions/micronesia-federated-states-of.json +17 -17
  381. package/src/_modules/location/_collections/assets/country-subdivisions/moldova-republic-of.json +149 -149
  382. package/src/_modules/location/_collections/assets/country-subdivisions/monaco.json +69 -69
  383. package/src/_modules/location/_collections/assets/country-subdivisions/mongolia.json +89 -89
  384. package/src/_modules/location/_collections/assets/country-subdivisions/montenegro.json +93 -93
  385. package/src/_modules/location/_collections/assets/country-subdivisions/morocco.json +65 -65
  386. package/src/_modules/location/_collections/assets/country-subdivisions/mozambique.json +45 -45
  387. package/src/_modules/location/_collections/assets/country-subdivisions/myanmar.json +57 -57
  388. package/src/_modules/location/_collections/assets/country-subdivisions/namibia.json +57 -57
  389. package/src/_modules/location/_collections/assets/country-subdivisions/nauru.json +57 -57
  390. package/src/_modules/location/_collections/assets/country-subdivisions/nepal.json +21 -21
  391. package/src/_modules/location/_collections/assets/country-subdivisions/netherlands.json +91 -91
  392. package/src/_modules/location/_collections/assets/country-subdivisions/new-zealand.json +111 -111
  393. package/src/_modules/location/_collections/assets/country-subdivisions/nicaragua.json +69 -69
  394. package/src/_modules/location/_collections/assets/country-subdivisions/niger.json +33 -33
  395. package/src/_modules/location/_collections/assets/country-subdivisions/nigeria.json +149 -149
  396. package/src/_modules/location/_collections/assets/country-subdivisions/norway.json +85 -85
  397. package/src/_modules/location/_collections/assets/country-subdivisions/oman.json +37 -37
  398. package/src/_modules/location/_collections/assets/country-subdivisions/pakistan.json +33 -33
  399. package/src/_modules/location/_collections/assets/country-subdivisions/palau.json +65 -65
  400. package/src/_modules/location/_collections/assets/country-subdivisions/palestinian-territory-occupied.json +65 -65
  401. package/src/_modules/location/_collections/assets/country-subdivisions/panama.json +53 -53
  402. package/src/_modules/location/_collections/assets/country-subdivisions/papua-new-guinea.json +81 -81
  403. package/src/_modules/location/_collections/assets/country-subdivisions/paraguay.json +73 -73
  404. package/src/_modules/location/_collections/assets/country-subdivisions/peru.json +105 -105
  405. package/src/_modules/location/_collections/assets/country-subdivisions/philippines.json +69 -69
  406. package/src/_modules/location/_collections/assets/country-subdivisions/poland.json +65 -65
  407. package/src/_modules/location/_collections/assets/country-subdivisions/portugal.json +81 -81
  408. package/src/_modules/location/_collections/assets/country-subdivisions/qatar.json +29 -29
  409. package/src/_modules/location/_collections/assets/country-subdivisions/romania.json +169 -169
  410. package/src/_modules/location/_collections/assets/country-subdivisions/russian-federation.json +499 -499
  411. package/src/_modules/location/_collections/assets/country-subdivisions/rwanda.json +21 -21
  412. package/src/_modules/location/_collections/assets/country-subdivisions/saint-helena-ascension-and-tristan-da-cunha.json +13 -13
  413. package/src/_modules/location/_collections/assets/country-subdivisions/saint-kitts-and-nevis.json +9 -9
  414. package/src/_modules/location/_collections/assets/country-subdivisions/saint-lucia.json +45 -45
  415. package/src/_modules/location/_collections/assets/country-subdivisions/saint-vincent-and-the-grenadines.json +25 -25
  416. package/src/_modules/location/_collections/assets/country-subdivisions/samoa.json +45 -45
  417. package/src/_modules/location/_collections/assets/country-subdivisions/san-marino.json +37 -37
  418. package/src/_modules/location/_collections/assets/country-subdivisions/sao-tome-and-principe.json +9 -9
  419. package/src/_modules/location/_collections/assets/country-subdivisions/saudi-arabia.json +53 -53
  420. package/src/_modules/location/_collections/assets/country-subdivisions/senegal.json +57 -57
  421. package/src/_modules/location/_collections/assets/country-subdivisions/serbia.json +9 -9
  422. package/src/_modules/location/_collections/assets/country-subdivisions/seychelles.json +101 -101
  423. package/src/_modules/location/_collections/assets/country-subdivisions/sierra-leone.json +17 -17
  424. package/src/_modules/location/_collections/assets/country-subdivisions/singapore.json +21 -21
  425. package/src/_modules/location/_collections/assets/country-subdivisions/slovakia.json +33 -33
  426. package/src/_modules/location/_collections/assets/country-subdivisions/slovenia.json +841 -841
  427. package/src/_modules/location/_collections/assets/country-subdivisions/solomon-islands.json +41 -41
  428. package/src/_modules/location/_collections/assets/country-subdivisions/somalia.json +73 -73
  429. package/src/_modules/location/_collections/assets/country-subdivisions/south-africa.json +37 -37
  430. package/src/_modules/location/_collections/assets/country-subdivisions/south-sudan.json +41 -41
  431. package/src/_modules/location/_collections/assets/country-subdivisions/spain.json +346 -346
  432. package/src/_modules/location/_collections/assets/country-subdivisions/sri-lanka.json +37 -37
  433. package/src/_modules/location/_collections/assets/country-subdivisions/sudan.json +69 -69
  434. package/src/_modules/location/_collections/assets/country-subdivisions/suriname.json +41 -41
  435. package/src/_modules/location/_collections/assets/country-subdivisions/swaziland.json +17 -17
  436. package/src/_modules/location/_collections/assets/country-subdivisions/sweden.json +85 -85
  437. package/src/_modules/location/_collections/assets/country-subdivisions/switzerland.json +105 -105
  438. package/src/_modules/location/_collections/assets/country-subdivisions/syrian-arab-republic.json +57 -57
  439. package/src/_modules/location/_collections/assets/country-subdivisions/taiwan-province-of-china.json +93 -93
  440. package/src/_modules/location/_collections/assets/country-subdivisions/tajikistan.json +17 -17
  441. package/src/_modules/location/_collections/assets/country-subdivisions/tanzania-united-republic-of.json +105 -105
  442. package/src/_modules/location/_collections/assets/country-subdivisions/thailand.json +313 -313
  443. package/src/_modules/location/_collections/assets/country-subdivisions/timor-leste.json +53 -53
  444. package/src/_modules/location/_collections/assets/country-subdivisions/togo.json +21 -21
  445. package/src/_modules/location/_collections/assets/country-subdivisions/tonga.json +21 -21
  446. package/src/_modules/location/_collections/assets/country-subdivisions/trinidad-and-tobago.json +65 -65
  447. package/src/_modules/location/_collections/assets/country-subdivisions/tunisia.json +97 -97
  448. package/src/_modules/location/_collections/assets/country-subdivisions/turkey.json +325 -325
  449. package/src/_modules/location/_collections/assets/country-subdivisions/turkmenistan.json +25 -25
  450. package/src/_modules/location/_collections/assets/country-subdivisions/tuvalu.json +33 -33
  451. package/src/_modules/location/_collections/assets/country-subdivisions/uganda.json +17 -17
  452. package/src/_modules/location/_collections/assets/country-subdivisions/ukraine.json +109 -109
  453. package/src/_modules/location/_collections/assets/country-subdivisions/united-arab-emirates.json +29 -29
  454. package/src/_modules/location/_collections/assets/country-subdivisions/united-kingdom.json +1196 -1196
  455. package/src/_modules/location/_collections/assets/country-subdivisions/united-states-minor-outlying-islands.json +37 -37
  456. package/src/_modules/location/_collections/assets/country-subdivisions/united-states.json +286 -286
  457. package/src/_modules/location/_collections/assets/country-subdivisions/uruguay.json +77 -77
  458. package/src/_modules/location/_collections/assets/country-subdivisions/uzbekistan.json +57 -57
  459. package/src/_modules/location/_collections/assets/country-subdivisions/vanuatu.json +25 -25
  460. package/src/_modules/location/_collections/assets/country-subdivisions/venezuela.json +101 -101
  461. package/src/_modules/location/_collections/assets/country-subdivisions/viet-nam.json +257 -257
  462. package/src/_modules/location/_collections/assets/country-subdivisions/yemen.json +85 -85
  463. package/src/_modules/location/_collections/assets/country-subdivisions/zambia.json +37 -37
  464. package/src/_modules/location/_collections/assets/country-subdivisions/zimbabwe.json +41 -41
  465. package/src/_modules/location/_collections/loc-country-divisions.const.ts +10 -10
  466. package/src/_modules/location/_collections/loc-country-isos.const.ts +8 -8
  467. package/src/_modules/location/_collections/loc-regions.util.spec.ts +61 -61
  468. package/src/_modules/location/_collections/loc-regions.util.ts +137 -137
  469. package/src/_modules/location/_collections/loc.util.spec.ts +52 -52
  470. package/src/_modules/location/_collections/loc.util.ts +74 -74
  471. package/src/_modules/location/_enums/loc-region.enum.ts +14 -14
  472. package/src/_modules/location/_enums/loc-sub-region.enum.ts +31 -31
  473. package/src/_modules/location/_enums/loc-subdivision-region-type.enum.ts +47 -47
  474. package/src/_modules/location/_models/loc-coordinates.interface.ts +7 -7
  475. package/src/_modules/location/_models/loc-country-division.interface.ts +8 -8
  476. package/src/_modules/location/_models/loc-country-iso.interface.ts +23 -23
  477. package/src/_modules/location/_models/loc-country-phone-code.interface.ts +9 -9
  478. package/src/_modules/location/_models/loc-division-collection.interface.ts +12 -12
  479. package/src/_modules/location/_models/loc-division-region-data.interface.ts +9 -9
  480. package/src/_modules/location/_models/loc-geo-ip-location.interface.ts +27 -27
  481. package/src/_modules/location/index.ts +22 -22
  482. package/src/_modules/messaging/README.md +279 -279
  483. package/src/_modules/messaging/_collections/msg-module-settings.const.ts +46 -46
  484. package/src/_modules/messaging/_enums/msg-attachment-type.enum.ts +26 -26
  485. package/src/_modules/messaging/_enums/msg-delivery-status.enum.ts +17 -17
  486. package/src/_modules/messaging/_enums/msg-event-key.enum.ts +31 -31
  487. package/src/_modules/messaging/_enums/msg-participant-role.enum.ts +20 -20
  488. package/src/_modules/messaging/_enums/msg-provider-type.enum.ts +7 -7
  489. package/src/_modules/messaging/_enums/msg-type.enum.ts +23 -23
  490. package/src/_modules/messaging/_models/msg-attachment.interface.ts +46 -46
  491. package/src/_modules/messaging/_models/msg-conversation.data-model.spec.ts +69 -69
  492. package/src/_modules/messaging/_models/msg-conversation.data-model.ts +96 -96
  493. package/src/_modules/messaging/_models/msg-mention.interface.ts +29 -29
  494. package/src/_modules/messaging/_models/msg-message.data-model.spec.ts +79 -79
  495. package/src/_modules/messaging/_models/msg-message.data-model.ts +127 -127
  496. package/src/_modules/messaging/_models/msg-participant.interface.ts +46 -46
  497. package/src/_modules/messaging/_models/msg-reaction.interface.ts +20 -20
  498. package/src/_modules/messaging/_models/msg-thread-info.interface.ts +35 -35
  499. package/src/_modules/messaging/_modules/agent/_enums/agt-process-step-type.enum.ts +35 -35
  500. package/src/_modules/messaging/_modules/agent/_enums/agt-tool-status.enum.ts +23 -23
  501. package/src/_modules/messaging/_modules/agent/_models/agt-process-step.interface.ts +55 -55
  502. package/src/_modules/messaging/_modules/agent/_models/agt-reasoning-info.interface.ts +26 -26
  503. package/src/_modules/messaging/_modules/agent/_models/agt-tool-usage.interface.ts +37 -37
  504. package/src/_modules/messaging/_modules/agent/index.ts +8 -8
  505. package/src/_modules/messaging/index.ts +28 -28
  506. package/src/_modules/pipe/_collections/pip-transforms.const.ts +42 -42
  507. package/src/_modules/pipe/_collections/utils/pip-country-pipe.util.spec.ts +47 -47
  508. package/src/_modules/pipe/_collections/utils/pip-country-pipe.util.ts +41 -41
  509. package/src/_modules/pipe/_collections/utils/pip-custom-pipe.util.spec.ts +39 -39
  510. package/src/_modules/pipe/_collections/utils/pip-custom-pipe.util.ts +30 -30
  511. package/src/_modules/pipe/_collections/utils/pip-division-pipe.util.spec.ts +41 -41
  512. package/src/_modules/pipe/_collections/utils/pip-division-pipe.util.ts +36 -36
  513. package/src/_modules/pipe/_collections/utils/pip-json-pipe.util.spec.ts +62 -62
  514. package/src/_modules/pipe/_collections/utils/pip-json-pipe.util.ts +17 -17
  515. package/src/_modules/pipe/_collections/utils/pip-list-pipe.util.spec.ts +34 -34
  516. package/src/_modules/pipe/_collections/utils/pip-list-pipe.util.ts +25 -25
  517. package/src/_modules/pipe/_collections/utils/pip-multi-pipe-pipe.util.spec.ts +67 -67
  518. package/src/_modules/pipe/_collections/utils/pip-multi-pipe-pipe.util.ts +226 -226
  519. package/src/_modules/pipe/_collections/utils/pip-obj-key-pipe.util.spec.ts +28 -28
  520. package/src/_modules/pipe/_collections/utils/pip-obj-key-pipe.util.ts +21 -21
  521. package/src/_modules/pipe/_collections/utils/pip-range-pipe.util.spec.ts +59 -59
  522. package/src/_modules/pipe/_collections/utils/pip-range-pipe.util.ts +106 -106
  523. package/src/_modules/pipe/_collections/utils/pip-region-pipe.util.spec.ts +31 -31
  524. package/src/_modules/pipe/_collections/utils/pip-region-pipe.util.ts +35 -35
  525. package/src/_modules/pipe/_collections/utils/pip-replace-pipe.util.spec.ts +44 -44
  526. package/src/_modules/pipe/_collections/utils/pip-replace-pipe.util.ts +23 -23
  527. package/src/_modules/pipe/_collections/utils/pip-slider-pipe.util.spec.ts +21 -21
  528. package/src/_modules/pipe/_collections/utils/pip-slider-pipe.util.ts +33 -33
  529. package/src/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.spec.ts +62 -62
  530. package/src/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.ts +80 -80
  531. package/src/_modules/pipe/_enums/pip-range-pipe-setting.enum.ts +15 -15
  532. package/src/_modules/pipe/_enums/pip.enum.ts +65 -65
  533. package/src/_modules/pipe/_models/pip-multi-pipe-settings.type.ts +8 -8
  534. package/src/_modules/pipe/_models/pip-transforms.interface.ts +30 -30
  535. package/src/_modules/pipe/index.ts +30 -30
  536. package/src/_modules/socket/_enums/sck-event-key.enum.ts +21 -21
  537. package/src/_modules/socket/_models/sck-client-params.control-model.spec.ts +67 -67
  538. package/src/_modules/socket/_models/sck-client-params.control-model.ts +50 -50
  539. package/src/_modules/socket/_models/sck-socket-event.control-model.spec.ts +66 -66
  540. package/src/_modules/socket/_models/sck-socket-event.control-model.ts +172 -172
  541. package/src/_modules/socket/_services/sck-client.service-base.spec.ts +99 -99
  542. package/src/_modules/socket/_services/sck-client.service-base.ts +353 -353
  543. package/src/_modules/socket/index.ts +14 -14
  544. package/src/_modules/test/_collections/tst-module-settings.const.ts +67 -67
  545. package/src/_modules/test/index.ts +5 -5
  546. package/src/_modules/usage/_collections/usg-module-settings.const.ts +33 -33
  547. package/src/_modules/usage/_models/usg-action.control-model.spec.ts +27 -27
  548. package/src/_modules/usage/_models/usg-action.control-model.ts +28 -28
  549. package/src/_modules/usage/_models/usg-daily-usage-data.control-model.spec.ts +36 -36
  550. package/src/_modules/usage/_models/usg-daily-usage-data.control-model.ts +35 -35
  551. package/src/_modules/usage/_models/usg-data.control-model.spec.ts +41 -41
  552. package/src/_modules/usage/_models/usg-data.control-model.ts +35 -35
  553. package/src/_modules/usage/_models/usg-session.data-model.spec.ts +97 -97
  554. package/src/_modules/usage/_models/usg-session.data-model.ts +72 -72
  555. package/src/_modules/usage/index.ts +11 -11
  556. package/src/index.ts +104 -104
  557. package/tsconfig.app.json +12 -12
  558. package/tsconfig.json +31 -31
  559. package/tsconfig.test.json +16 -16
  560. package/tslint.json +153 -153
@@ -1,227 +1,227 @@
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
- import { DyFM_RangeValue } from '../../../../_models/control-models/range-value.control-model';
9
- import {
10
- DyFM_allDynamoPipes, DyFM_allMultiPipesAvailable, DyFM_AngularMultiPipeAvailable,
11
- DyFM_MultiPipeAvailable, DyFM_Pipe
12
- } from '../../_enums/pip.enum';
13
- import { DyFM_MultiPipe_Setting } from '../../_models/pip-multi-pipe-settings.type';
14
- import { DyFM_pipeTransforms } from '../pip-transforms.const';
15
-
16
-
17
- export type DyFM_MultiPipeAngularPipes = {
18
- [pipeName in DyFM_AngularMultiPipeAvailable]: (value: string, ...args: unknown[]) => string;
19
- };
20
-
21
- export const DyFM_multiPipeAngularPipes: DyFM_MultiPipeAngularPipes = {
22
- [DyFM_AngularMultiPipeAvailable.currency]: null,
23
- [DyFM_AngularMultiPipeAvailable.date]: null,
24
- [DyFM_AngularMultiPipeAvailable.decimal]: null,
25
- [DyFM_AngularMultiPipeAvailable.number]: null,
26
- [DyFM_AngularMultiPipeAvailable.percent]: null,
27
- };
28
-
29
- /**
30
- * This pipe makes you able to use multiple pipes in one pipe
31
- *
32
- * The pipes that are available are:
33
- * - country
34
- * - custom
35
- * - division
36
- * - list
37
- * - multiPipe
38
- * - objKey
39
- * - range
40
- * - region
41
- * - replace
42
- * - slider
43
- * - smartReplace
44
- *
45
- * The angular pipes that are available are:
46
- * - currency
47
- * - date
48
- * - decimal
49
- * - number
50
- * - percent
51
- *
52
- * (The custom pipe is basically usable for anything,
53
- * you you even can create your own, combining multiple pipes)
54
- *
55
- * @example
56
- *
57
- * ```html
58
- * {{ 1000.123 | multiPipe: [
59
- * { currency: [ 'USD' ] },
60
- * { number: [ '1.0-1' ] },
61
- * ] }}
62
- * ```
63
- * will return `1,000.1`
64
- *
65
- * ```html
66
- * {{ { from: 1.321, to: 10.123 } | multiPipe: [
67
- * { range: [ 'from-to' ] },
68
- * { number: [ '1.0-1' ] },
69
- * ] }}
70
- * ```
71
- * will return `1.3 - 10.1`
72
- *
73
- * ```html
74
- * {{ 1000.123 | multiPipe: [
75
- * { range: [ 'from-to' ] },
76
- * { currency: [ 'EUR', 'symbol', '1.0-0' ] },
77
- * { replace: [ ',', ' ' ] },
78
- * ] }}
79
- * ```
80
- * will return `€1 000`
81
- */
82
- export function DyFM_multiPipe_pipeTransform(
83
- value: unknown, pipes: DyFM_MultiPipe_Setting[]
84
- ): string | number | DyFM_RangeValue | any {
85
- try {
86
- /* console.log(
87
- 'applyPipes...',
88
- '\nvalue:', value,
89
- '\npipes:', DyFM_Object.clone(pipes)
90
- ); */
91
-
92
- stackPipes(pipes);
93
-
94
- /* console.log('stacked pipes:', DyFM_Object.clone(pipes)); */
95
-
96
- for (let i = 0; i < pipes.length; i++) {
97
- const pipe: DyFM_MultiPipe_Setting = pipes[i];
98
- /* pipes.forEach((pipe: DyFM_MultiPipe_Setting): void => { */
99
- const keys: string[] = Object.keys(pipe);
100
-
101
- if (keys.length !== 1) {
102
- console.warn(
103
- 'DYNAMO WARNING: ' +
104
- '\nMultiPipe: pipeSettings has more than one key...',
105
- '\npipeSettings: ', pipe,
106
- '\n\n',
107
- new Error()
108
- );
109
-
110
- return value;
111
- }
112
-
113
- const pipeName: DyFM_MultiPipeAvailable = keys[0] as DyFM_MultiPipeAvailable;
114
-
115
- if (!DyFM_allMultiPipesAvailable.includes(pipeName as DyFM_MultiPipeAvailable)) {
116
- console.warn(
117
- 'DYNAMO WARNING: ' +
118
- '\nMultiPipe: unknown pipe "' + pipeName + '"...',
119
- '\nsorry, but this pipe is not supported by the MultiPipe yet.',
120
- '\navailable pipes are: ' + DyFM_allMultiPipesAvailable.join(', '),
121
- '\nthe custom pipe is basically usable for anything, you might try to use that.',
122
- '\n\n',
123
- new Error()
124
- );
125
-
126
- return value;
127
- }
128
-
129
- const pipeArgs: any[] = pipe[pipeName];
130
-
131
- /* console.log(
132
- 'transforming...',
133
- '\npipe:', pipeName,
134
- '\nargs:', pipeArgs,
135
- '\nvalue:', value
136
- ); */
137
-
138
- if (DyFM_allDynamoPipes.includes(pipeName as DyFM_Pipe)) {
139
- if (pipeArgs?.length) {
140
- value = DyFM_pipeTransforms[pipeName](value, ...pipeArgs);
141
- } else {
142
- value = DyFM_pipeTransforms[pipeName](value);
143
- }
144
- } else {
145
- if (!DyFM_multiPipeAngularPipes[pipeName]) {
146
- console.error(
147
- 'DYNAMO ERROR: ',
148
- '\nMultiPipe: Angular pipe "' + pipeName + '" is not defined...',
149
- '\nPlease set the pipe in the DyFM_multiPipeAngularPipes object.',
150
- );
151
-
152
- return value;
153
- }
154
-
155
- value = DyFM_multiPipeAngularPipes[pipeName](value, ...pipeArgs);
156
- }
157
- }
158
-
159
- return value;
160
- } catch (error) {
161
- console.error(
162
- 'DYNAMO ERROR: ',
163
- '\nMultiPipe: something went wrong...',
164
- '\nvalue:', value,
165
- '\npipes:', pipes,
166
- '\n\n',
167
- error
168
- );
169
-
170
- return value;
171
- }
172
- }
173
-
174
- /**
175
- * This method stacks the pipes in the pipe settings.
176
- * Developing this funcfion you must know which pipe have multiPipe settings
177
- * and which argument is that
178
- *
179
- * IMPORTANT: the args are starting from the second transform argument!
180
- *
181
- * @param pipes
182
- */
183
- function stackPipes(pipes: DyFM_MultiPipe_Setting[]): void {
184
- for (let i = 0; i < pipes.length; i++) {
185
- if (i + 1 < pipes.length) {
186
- const pipe: DyFM_MultiPipe_Setting = pipes[i];
187
- const pipeName: DyFM_MultiPipeAvailable =
188
- Object.keys(pipe)[0] as DyFM_MultiPipeAvailable;
189
-
190
- switch (pipeName) {
191
- case DyFM_Pipe.range:
192
- const furtherPipesAfterRange: DyFM_MultiPipe_Setting[] = pipes.splice(i + 1);
193
-
194
- if (!(pipe[pipeName] as any[])?.length) {
195
- (pipe[pipeName] as any[]) = [ null, furtherPipesAfterRange ];
196
- } else if ((pipe[pipeName][1] as any[])?.length) {
197
- (pipe[pipeName][1] as any[]).push(...furtherPipesAfterRange);
198
- } else {
199
- (pipe[pipeName][1] as DyFM_MultiPipe_Setting[]) = furtherPipesAfterRange;
200
- }
201
- break;
202
-
203
- case DyFM_Pipe.smartReplace:
204
- const furtherPipesAfterSR: DyFM_MultiPipe_Setting[] = pipes.splice(i + 1);
205
-
206
- if (!(pipe[pipeName] as any[])?.length) {
207
- throw new Error(
208
- 'DYNAMO ERROR: ' +
209
- '\nMultiPipe: SmartReplacePipe has no arguments...' +
210
- '\nSmartReplacePipe needs at least one argument: replaceTo.' +
211
- '\nMaybe you forgot to put the replacerObject in an array?'
212
- );
213
- }
214
-
215
- if ((pipe[pipeName][1] as any[])?.length) {
216
- (pipe[pipeName][1] as any[]).push(...furtherPipesAfterSR);
217
- } else {
218
- (pipe[pipeName][1] as DyFM_MultiPipe_Setting[]) = furtherPipesAfterSR;
219
- }
220
- break;
221
-
222
- default:
223
- break;
224
- }
225
- }
226
- }
1
+
2
+
3
+
4
+
5
+
6
+
7
+
8
+ import { DyFM_RangeValue } from '../../../../_models/control-models/range-value.control-model';
9
+ import {
10
+ DyFM_allDynamoPipes, DyFM_allMultiPipesAvailable, DyFM_AngularMultiPipeAvailable,
11
+ DyFM_MultiPipeAvailable, DyFM_Pipe
12
+ } from '../../_enums/pip.enum';
13
+ import { DyFM_MultiPipe_Setting } from '../../_models/pip-multi-pipe-settings.type';
14
+ import { DyFM_pipeTransforms } from '../pip-transforms.const';
15
+
16
+
17
+ export type DyFM_MultiPipeAngularPipes = {
18
+ [pipeName in DyFM_AngularMultiPipeAvailable]: (value: string, ...args: unknown[]) => string;
19
+ };
20
+
21
+ export const DyFM_multiPipeAngularPipes: DyFM_MultiPipeAngularPipes = {
22
+ [DyFM_AngularMultiPipeAvailable.currency]: null,
23
+ [DyFM_AngularMultiPipeAvailable.date]: null,
24
+ [DyFM_AngularMultiPipeAvailable.decimal]: null,
25
+ [DyFM_AngularMultiPipeAvailable.number]: null,
26
+ [DyFM_AngularMultiPipeAvailable.percent]: null,
27
+ };
28
+
29
+ /**
30
+ * This pipe makes you able to use multiple pipes in one pipe
31
+ *
32
+ * The pipes that are available are:
33
+ * - country
34
+ * - custom
35
+ * - division
36
+ * - list
37
+ * - multiPipe
38
+ * - objKey
39
+ * - range
40
+ * - region
41
+ * - replace
42
+ * - slider
43
+ * - smartReplace
44
+ *
45
+ * The angular pipes that are available are:
46
+ * - currency
47
+ * - date
48
+ * - decimal
49
+ * - number
50
+ * - percent
51
+ *
52
+ * (The custom pipe is basically usable for anything,
53
+ * you you even can create your own, combining multiple pipes)
54
+ *
55
+ * @example
56
+ *
57
+ * ```html
58
+ * {{ 1000.123 | multiPipe: [
59
+ * { currency: [ 'USD' ] },
60
+ * { number: [ '1.0-1' ] },
61
+ * ] }}
62
+ * ```
63
+ * will return `1,000.1`
64
+ *
65
+ * ```html
66
+ * {{ { from: 1.321, to: 10.123 } | multiPipe: [
67
+ * { range: [ 'from-to' ] },
68
+ * { number: [ '1.0-1' ] },
69
+ * ] }}
70
+ * ```
71
+ * will return `1.3 - 10.1`
72
+ *
73
+ * ```html
74
+ * {{ 1000.123 | multiPipe: [
75
+ * { range: [ 'from-to' ] },
76
+ * { currency: [ 'EUR', 'symbol', '1.0-0' ] },
77
+ * { replace: [ ',', ' ' ] },
78
+ * ] }}
79
+ * ```
80
+ * will return `€1 000`
81
+ */
82
+ export function DyFM_multiPipe_pipeTransform(
83
+ value: unknown, pipes: DyFM_MultiPipe_Setting[]
84
+ ): string | number | DyFM_RangeValue | any {
85
+ try {
86
+ /* console.log(
87
+ 'applyPipes...',
88
+ '\nvalue:', value,
89
+ '\npipes:', DyFM_Object.clone(pipes)
90
+ ); */
91
+
92
+ stackPipes(pipes);
93
+
94
+ /* console.log('stacked pipes:', DyFM_Object.clone(pipes)); */
95
+
96
+ for (let i = 0; i < pipes.length; i++) {
97
+ const pipe: DyFM_MultiPipe_Setting = pipes[i];
98
+ /* pipes.forEach((pipe: DyFM_MultiPipe_Setting): void => { */
99
+ const keys: string[] = Object.keys(pipe);
100
+
101
+ if (keys.length !== 1) {
102
+ console.warn(
103
+ 'DYNAMO WARNING: ' +
104
+ '\nMultiPipe: pipeSettings has more than one key...',
105
+ '\npipeSettings: ', pipe,
106
+ '\n\n',
107
+ new Error()
108
+ );
109
+
110
+ return value;
111
+ }
112
+
113
+ const pipeName: DyFM_MultiPipeAvailable = keys[0] as DyFM_MultiPipeAvailable;
114
+
115
+ if (!DyFM_allMultiPipesAvailable.includes(pipeName as DyFM_MultiPipeAvailable)) {
116
+ console.warn(
117
+ 'DYNAMO WARNING: ' +
118
+ '\nMultiPipe: unknown pipe "' + pipeName + '"...',
119
+ '\nsorry, but this pipe is not supported by the MultiPipe yet.',
120
+ '\navailable pipes are: ' + DyFM_allMultiPipesAvailable.join(', '),
121
+ '\nthe custom pipe is basically usable for anything, you might try to use that.',
122
+ '\n\n',
123
+ new Error()
124
+ );
125
+
126
+ return value;
127
+ }
128
+
129
+ const pipeArgs: any[] = pipe[pipeName];
130
+
131
+ /* console.log(
132
+ 'transforming...',
133
+ '\npipe:', pipeName,
134
+ '\nargs:', pipeArgs,
135
+ '\nvalue:', value
136
+ ); */
137
+
138
+ if (DyFM_allDynamoPipes.includes(pipeName as DyFM_Pipe)) {
139
+ if (pipeArgs?.length) {
140
+ value = DyFM_pipeTransforms[pipeName](value, ...pipeArgs);
141
+ } else {
142
+ value = DyFM_pipeTransforms[pipeName](value);
143
+ }
144
+ } else {
145
+ if (!DyFM_multiPipeAngularPipes[pipeName]) {
146
+ console.error(
147
+ 'DYNAMO ERROR: ',
148
+ '\nMultiPipe: Angular pipe "' + pipeName + '" is not defined...',
149
+ '\nPlease set the pipe in the DyFM_multiPipeAngularPipes object.',
150
+ );
151
+
152
+ return value;
153
+ }
154
+
155
+ value = DyFM_multiPipeAngularPipes[pipeName](value, ...pipeArgs);
156
+ }
157
+ }
158
+
159
+ return value;
160
+ } catch (error) {
161
+ console.error(
162
+ 'DYNAMO ERROR: ',
163
+ '\nMultiPipe: something went wrong...',
164
+ '\nvalue:', value,
165
+ '\npipes:', pipes,
166
+ '\n\n',
167
+ error
168
+ );
169
+
170
+ return value;
171
+ }
172
+ }
173
+
174
+ /**
175
+ * This method stacks the pipes in the pipe settings.
176
+ * Developing this funcfion you must know which pipe have multiPipe settings
177
+ * and which argument is that
178
+ *
179
+ * IMPORTANT: the args are starting from the second transform argument!
180
+ *
181
+ * @param pipes
182
+ */
183
+ function stackPipes(pipes: DyFM_MultiPipe_Setting[]): void {
184
+ for (let i = 0; i < pipes.length; i++) {
185
+ if (i + 1 < pipes.length) {
186
+ const pipe: DyFM_MultiPipe_Setting = pipes[i];
187
+ const pipeName: DyFM_MultiPipeAvailable =
188
+ Object.keys(pipe)[0] as DyFM_MultiPipeAvailable;
189
+
190
+ switch (pipeName) {
191
+ case DyFM_Pipe.range:
192
+ const furtherPipesAfterRange: DyFM_MultiPipe_Setting[] = pipes.splice(i + 1);
193
+
194
+ if (!(pipe[pipeName] as any[])?.length) {
195
+ (pipe[pipeName] as any[]) = [ null, furtherPipesAfterRange ];
196
+ } else if ((pipe[pipeName][1] as any[])?.length) {
197
+ (pipe[pipeName][1] as any[]).push(...furtherPipesAfterRange);
198
+ } else {
199
+ (pipe[pipeName][1] as DyFM_MultiPipe_Setting[]) = furtherPipesAfterRange;
200
+ }
201
+ break;
202
+
203
+ case DyFM_Pipe.smartReplace:
204
+ const furtherPipesAfterSR: DyFM_MultiPipe_Setting[] = pipes.splice(i + 1);
205
+
206
+ if (!(pipe[pipeName] as any[])?.length) {
207
+ throw new Error(
208
+ 'DYNAMO ERROR: ' +
209
+ '\nMultiPipe: SmartReplacePipe has no arguments...' +
210
+ '\nSmartReplacePipe needs at least one argument: replaceTo.' +
211
+ '\nMaybe you forgot to put the replacerObject in an array?'
212
+ );
213
+ }
214
+
215
+ if ((pipe[pipeName][1] as any[])?.length) {
216
+ (pipe[pipeName][1] as any[]).push(...furtherPipesAfterSR);
217
+ } else {
218
+ (pipe[pipeName][1] as DyFM_MultiPipe_Setting[]) = furtherPipesAfterSR;
219
+ }
220
+ break;
221
+
222
+ default:
223
+ break;
224
+ }
225
+ }
226
+ }
227
227
  }
@@ -1,28 +1,28 @@
1
-
2
- import { DyFM_objKey_pipeTransform } from './pip-obj-key-pipe.util';
3
-
4
- describe('| DyFM_objKey_pipeTransform', () => {
5
- it('| should return an array of keys when an object is provided', () => {
6
- const input = { a: 1, b: 2, c: 3 };
7
- const expectedOutput = ['a', 'b', 'c'];
8
- expect(DyFM_objKey_pipeTransform(input)).toEqual(expectedOutput);
9
- });
10
-
11
- it('| should return an empty array when null is provided', () => {
12
- const input = null;
13
- const expectedOutput: string[] = [];
14
- expect(DyFM_objKey_pipeTransform(input)).toEqual(expectedOutput);
15
- });
16
-
17
- it('| should return an empty array when undefined is provided', () => {
18
- const input = undefined;
19
- const expectedOutput: string[] = [];
20
- expect(DyFM_objKey_pipeTransform(input)).toEqual(expectedOutput);
21
- });
22
-
23
- it('| should return an empty array when an empty object is provided', () => {
24
- const input = {};
25
- const expectedOutput: string[] = [];
26
- expect(DyFM_objKey_pipeTransform(input)).toEqual(expectedOutput);
27
- });
28
- });
1
+
2
+ import { DyFM_objKey_pipeTransform } from './pip-obj-key-pipe.util';
3
+
4
+ describe('| DyFM_objKey_pipeTransform', () => {
5
+ it('| should return an array of keys when an object is provided', () => {
6
+ const input = { a: 1, b: 2, c: 3 };
7
+ const expectedOutput = ['a', 'b', 'c'];
8
+ expect(DyFM_objKey_pipeTransform(input)).toEqual(expectedOutput);
9
+ });
10
+
11
+ it('| should return an empty array when null is provided', () => {
12
+ const input = null;
13
+ const expectedOutput: string[] = [];
14
+ expect(DyFM_objKey_pipeTransform(input)).toEqual(expectedOutput);
15
+ });
16
+
17
+ it('| should return an empty array when undefined is provided', () => {
18
+ const input = undefined;
19
+ const expectedOutput: string[] = [];
20
+ expect(DyFM_objKey_pipeTransform(input)).toEqual(expectedOutput);
21
+ });
22
+
23
+ it('| should return an empty array when an empty object is provided', () => {
24
+ const input = {};
25
+ const expectedOutput: string[] = [];
26
+ expect(DyFM_objKey_pipeTransform(input)).toEqual(expectedOutput);
27
+ });
28
+ });
@@ -1,21 +1,21 @@
1
-
2
-
3
-
4
-
5
-
6
- /**
7
- * This pipe will return the keys of an object
8
- * (it will return an empty array if the object is empty)
9
- * (This can be used in multiPipe, all datas from objects)
10
- *
11
- * @example
12
- *
13
- * ```html
14
- * {{ { a: 1, b: 2, c: 3 } | objKey }}
15
- * ```
16
- * will return `['a', 'b', 'c']`
17
- *
18
- */
19
- export function DyFM_objKey_pipeTransform<Obj_T>(value: Obj_T): string[] {
20
- return value ? Object.keys(value) : [];
21
- }
1
+
2
+
3
+
4
+
5
+
6
+ /**
7
+ * This pipe will return the keys of an object
8
+ * (it will return an empty array if the object is empty)
9
+ * (This can be used in multiPipe, all datas from objects)
10
+ *
11
+ * @example
12
+ *
13
+ * ```html
14
+ * {{ { a: 1, b: 2, c: 3 } | objKey }}
15
+ * ```
16
+ * will return `['a', 'b', 'c']`
17
+ *
18
+ */
19
+ export function DyFM_objKey_pipeTransform<Obj_T>(value: Obj_T): string[] {
20
+ return value ? Object.keys(value) : [];
21
+ }
@@ -1,59 +1,59 @@
1
-
2
- import { DyFM_RangeValue } from '../../../../_models/control-models/range-value.control-model';
3
- import { DyFM_RangePipe_Setting } from '../../_enums/pip-range-pipe-setting.enum';
4
- import { DyFM_MultiPipe_Setting } from '../../_models/pip-multi-pipe-settings.type';
5
- import { DyFM_range_pipeTransform } from './pip-range-pipe.util';
6
-
7
- describe('| DyFM_range_pipeTransform', () => {
8
- const mockMultiPipeTransform = (value: number, multiPipes: DyFM_MultiPipe_Setting[]) => {
9
- return value.toString();
10
- };
11
-
12
- beforeAll(() => {
13
- spyOn(console, 'warn');
14
- });
15
-
16
- it('| should return the average of from and to when setting is avg or average', () => {
17
- const value: DyFM_RangeValue = { from: 10, to: 20, isRange: true };
18
- expect(DyFM_range_pipeTransform(value, DyFM_RangePipe_Setting.avg)).toBe(15);
19
- expect(DyFM_range_pipeTransform(value, DyFM_RangePipe_Setting.average)).toBe(15);
20
- });
21
-
22
- it('| should return from when setting is min or from', () => {
23
- const value: DyFM_RangeValue = { from: 10, to: 20, isRange: true };
24
- expect(DyFM_range_pipeTransform(value, DyFM_RangePipe_Setting.min)).toBe(10);
25
- expect(DyFM_range_pipeTransform(value, DyFM_RangePipe_Setting.from)).toBe(10);
26
- });
27
-
28
- it('| should return to when setting is max or to', () => {
29
- const value: DyFM_RangeValue = { from: 10, to: 20, isRange: true };
30
- expect(DyFM_range_pipeTransform(value, DyFM_RangePipe_Setting.max)).toBe(20);
31
- expect(DyFM_range_pipeTransform(value, DyFM_RangePipe_Setting.to)).toBe(20);
32
- });
33
-
34
- it('| should return formatted string when setting is both or fromTo', () => {
35
- const value: DyFM_RangeValue = { from: 10, to: 20, isRange: true };
36
- expect(DyFM_range_pipeTransform(value, DyFM_RangePipe_Setting.both)).toBe('10 - 20');
37
- expect(DyFM_range_pipeTransform(value, DyFM_RangePipe_Setting.fromTo)).toBe('10 - 20');
38
- });
39
-
40
- /* it('| should return transformed value using multiPipes when setting is both or fromTo and multiPipes are provided', () => {
41
- const value: DyFM_RangeValue = { from: 10, to: 20, isRange: true };
42
- const multiPipes: DyFM_MultiPipe_Setting[] = [{} as DyFM_MultiPipe_Setting];
43
- spyOn(DyFM_multiPipe_pipeTransform, 'call').and.callFake(mockMultiPipeTransform);
44
-
45
- expect(DyFM_range_pipeTransform(value, DyFM_RangePipe_Setting.both, multiPipes)).toBe('10 - 20');
46
- expect(DyFM_range_pipeTransform(value, DyFM_RangePipe_Setting.fromTo, multiPipes)).toBe('10 - 20');
47
- }); */
48
-
49
- it('| should return the original value if requirements are not met', () => {
50
- const value: DyFM_RangeValue = { from: 10, to: 20, isRange: false };
51
- expect(DyFM_range_pipeTransform(value, DyFM_RangePipe_Setting.avg)).toBe(value);
52
- expect(console.warn).toHaveBeenCalled();
53
- });
54
-
55
- it('| should return the original value for an unknown setting', () => {
56
- const value: DyFM_RangeValue = { from: 10, to: 20, isRange: true };
57
- expect(DyFM_range_pipeTransform(value, 'unknown')).toBe(value);
58
- });
59
- });
1
+
2
+ import { DyFM_RangeValue } from '../../../../_models/control-models/range-value.control-model';
3
+ import { DyFM_RangePipe_Setting } from '../../_enums/pip-range-pipe-setting.enum';
4
+ import { DyFM_MultiPipe_Setting } from '../../_models/pip-multi-pipe-settings.type';
5
+ import { DyFM_range_pipeTransform } from './pip-range-pipe.util';
6
+
7
+ describe('| DyFM_range_pipeTransform', () => {
8
+ const mockMultiPipeTransform = (value: number, multiPipes: DyFM_MultiPipe_Setting[]) => {
9
+ return value.toString();
10
+ };
11
+
12
+ beforeAll(() => {
13
+ spyOn(console, 'warn');
14
+ });
15
+
16
+ it('| should return the average of from and to when setting is avg or average', () => {
17
+ const value: DyFM_RangeValue = { from: 10, to: 20, isRange: true };
18
+ expect(DyFM_range_pipeTransform(value, DyFM_RangePipe_Setting.avg)).toBe(15);
19
+ expect(DyFM_range_pipeTransform(value, DyFM_RangePipe_Setting.average)).toBe(15);
20
+ });
21
+
22
+ it('| should return from when setting is min or from', () => {
23
+ const value: DyFM_RangeValue = { from: 10, to: 20, isRange: true };
24
+ expect(DyFM_range_pipeTransform(value, DyFM_RangePipe_Setting.min)).toBe(10);
25
+ expect(DyFM_range_pipeTransform(value, DyFM_RangePipe_Setting.from)).toBe(10);
26
+ });
27
+
28
+ it('| should return to when setting is max or to', () => {
29
+ const value: DyFM_RangeValue = { from: 10, to: 20, isRange: true };
30
+ expect(DyFM_range_pipeTransform(value, DyFM_RangePipe_Setting.max)).toBe(20);
31
+ expect(DyFM_range_pipeTransform(value, DyFM_RangePipe_Setting.to)).toBe(20);
32
+ });
33
+
34
+ it('| should return formatted string when setting is both or fromTo', () => {
35
+ const value: DyFM_RangeValue = { from: 10, to: 20, isRange: true };
36
+ expect(DyFM_range_pipeTransform(value, DyFM_RangePipe_Setting.both)).toBe('10 - 20');
37
+ expect(DyFM_range_pipeTransform(value, DyFM_RangePipe_Setting.fromTo)).toBe('10 - 20');
38
+ });
39
+
40
+ /* it('| should return transformed value using multiPipes when setting is both or fromTo and multiPipes are provided', () => {
41
+ const value: DyFM_RangeValue = { from: 10, to: 20, isRange: true };
42
+ const multiPipes: DyFM_MultiPipe_Setting[] = [{} as DyFM_MultiPipe_Setting];
43
+ spyOn(DyFM_multiPipe_pipeTransform, 'call').and.callFake(mockMultiPipeTransform);
44
+
45
+ expect(DyFM_range_pipeTransform(value, DyFM_RangePipe_Setting.both, multiPipes)).toBe('10 - 20');
46
+ expect(DyFM_range_pipeTransform(value, DyFM_RangePipe_Setting.fromTo, multiPipes)).toBe('10 - 20');
47
+ }); */
48
+
49
+ it('| should return the original value if requirements are not met', () => {
50
+ const value: DyFM_RangeValue = { from: 10, to: 20, isRange: false };
51
+ expect(DyFM_range_pipeTransform(value, DyFM_RangePipe_Setting.avg)).toBe(value);
52
+ expect(console.warn).toHaveBeenCalled();
53
+ });
54
+
55
+ it('| should return the original value for an unknown setting', () => {
56
+ const value: DyFM_RangeValue = { from: 10, to: 20, isRange: true };
57
+ expect(DyFM_range_pipeTransform(value, 'unknown')).toBe(value);
58
+ });
59
+ });