@futdevpro/fsm-dynamo 1.16.30 → 1.16.33

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