@futdevpro/fsm-dynamo 1.15.17 → 1.15.20

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