@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,345 +1,345 @@
1
- import { DyFM_Data } from './data.util';
2
- import { DyFM_Math } from './math/math.util';
3
-
4
- describe('| DyFM_Data', (): void => {
5
-
6
- describe('| constants', (): void => {
7
- it('| should have correct kilobyte value', (): void => {
8
- expect(DyFM_Data.kilobyte).toBe(1024);
9
- });
10
-
11
- it('| should have correct megabyte value', (): void => {
12
- expect(DyFM_Data.megabyte).toBe(1024 * 1024);
13
- });
14
-
15
- it('| should have correct gigabyte value', (): void => {
16
- expect(DyFM_Data.gigabyte).toBe(1024 * 1024 * 1024);
17
- });
18
-
19
- it('| should have correct terabyte value', (): void => {
20
- expect(DyFM_Data.terabyte).toBe(1024 * 1024 * 1024 * 1024);
21
- });
22
- });
23
-
24
- describe('| getSizeString', (): void => {
25
- it('| should return "0B" for zero size', (): void => {
26
- expect(DyFM_Data.getSizeString(0)).toBe('0B');
27
- });
28
-
29
- it('| should return "N/A" for null or undefined size', (): void => {
30
- expect(DyFM_Data.getSizeString(null as any)).toBe('N/A');
31
- expect(DyFM_Data.getSizeString(undefined as any)).toBe('N/A');
32
- });
33
-
34
- it('| should format bytes less than 1KB', (): void => {
35
- expect(DyFM_Data.getSizeString(512)).toBe('512B');
36
- expect(DyFM_Data.getSizeString(1023)).toBe('1023B');
37
- });
38
-
39
- it('| should format kilobytes', (): void => {
40
- expect(DyFM_Data.getSizeString(1536)).toBe('1.5KB');
41
- expect(DyFM_Data.getSizeString(2048)).toBe('2KB');
42
- expect(DyFM_Data.getSizeString(1024 * 10)).toBe('10KB');
43
- });
44
-
45
- it('| should format megabytes', (): void => {
46
- expect(DyFM_Data.getSizeString(1024 * 1024)).toBe('1MB');
47
- expect(DyFM_Data.getSizeString(1024 * 1024 * 1.5)).toBe('1.5MB');
48
- expect(DyFM_Data.getSizeString(1024 * 1024 * 10)).toBe('10MB');
49
- });
50
-
51
- it('| should format gigabytes', (): void => {
52
- expect(DyFM_Data.getSizeString(1024 * 1024 * 1024)).toBe('1GB');
53
- expect(DyFM_Data.getSizeString(1024 * 1024 * 1024 * 1.5)).toBe('1.5GB');
54
- });
55
-
56
- it('| should format terabytes', (): void => {
57
- expect(DyFM_Data.getSizeString(1024 * 1024 * 1024 * 1024)).toBe('1TB');
58
- });
59
-
60
- it('| should handle negative values', (): void => {
61
- expect(DyFM_Data.getSizeString(-512)).toBe('-512B');
62
- expect(DyFM_Data.getSizeString(-1536)).toBe('-1.5KB');
63
- });
64
-
65
- it('| should use custom decimals when provided', (): void => {
66
- expect(DyFM_Data.getSizeString(1536, 1)).toBe('1.5KB');
67
- expect(DyFM_Data.getSizeString(1536, 3)).toBe('1.5KB');
68
- expect(DyFM_Data.getSizeString(1536, 0)).toBe('2KB');
69
- });
70
-
71
- it('| should show full format with remainder when full=true', (): void => {
72
- const result = DyFM_Data.getSizeString(1536, 0, true);
73
- expect(result).toContain('KB');
74
- expect(result).toContain('B');
75
- });
76
-
77
- it('| should show full format for megabytes with remainder', (): void => {
78
- const size = DyFM_Data.megabyte + DyFM_Data.kilobyte * 256;
79
- const result = DyFM_Data.getSizeString(size, 0, true);
80
- expect(result).toContain('MB');
81
- expect(result).toContain('KB');
82
- });
83
-
84
- it('| should show full format for gigabytes with remainder', (): void => {
85
- const size = DyFM_Data.gigabyte + DyFM_Data.megabyte * 256;
86
- const result = DyFM_Data.getSizeString(size, 0, true);
87
- expect(result).toContain('GB');
88
- expect(result).toContain('MB');
89
- });
90
-
91
- it('| should handle very large sizes', (): void => {
92
- const petabyte = DyFM_Data.petabyte;
93
- expect(DyFM_Data.getSizeString(petabyte)).toContain('PB');
94
- });
95
-
96
- it('| should format petabytes', (): void => {
97
- expect(DyFM_Data.getSizeString(DyFM_Data.petabyte)).toBe('1PB');
98
- expect(DyFM_Data.getSizeString(DyFM_Data.petabyte * 1.5)).toBe('1.5PB');
99
- });
100
-
101
- it('| should format exabytes', (): void => {
102
- expect(DyFM_Data.getSizeString(DyFM_Data.exabyte)).toBe('1EB');
103
- expect(DyFM_Data.getSizeString(DyFM_Data.exabyte * 2.5)).toBe('2.5EB');
104
- });
105
-
106
- it('| should format zettabytes', (): void => {
107
- expect(DyFM_Data.getSizeString(DyFM_Data.zettabyte)).toBe('1ZB');
108
- expect(DyFM_Data.getSizeString(DyFM_Data.zettabyte * 3.7)).toBe('3.7ZB');
109
- });
110
-
111
- it('| should format yottabytes', (): void => {
112
- expect(DyFM_Data.getSizeString(DyFM_Data.yottabyte)).toBe('1YB');
113
- expect(DyFM_Data.getSizeString(DyFM_Data.yottabyte * 4.2)).toBe('4.2YB');
114
- });
115
-
116
- it('| should handle edge case at exact unit boundaries', (): void => {
117
- expect(DyFM_Data.getSizeString(DyFM_Data.kilobyte)).toBe('1KB');
118
- expect(DyFM_Data.getSizeString(DyFM_Data.megabyte)).toBe('1MB');
119
- expect(DyFM_Data.getSizeString(DyFM_Data.gigabyte)).toBe('1GB');
120
- expect(DyFM_Data.getSizeString(DyFM_Data.terabyte)).toBe('1TB');
121
- expect(DyFM_Data.getSizeString(DyFM_Data.petabyte)).toBe('1PB');
122
- expect(DyFM_Data.getSizeString(DyFM_Data.exabyte)).toBe('1EB');
123
- expect(DyFM_Data.getSizeString(DyFM_Data.zettabyte)).toBe('1ZB');
124
- expect(DyFM_Data.getSizeString(DyFM_Data.yottabyte)).toBe('1YB');
125
- });
126
-
127
- it('| should not show remainder in full format when remainder is zero', (): void => {
128
- const result = DyFM_Data.getSizeString(DyFM_Data.kilobyte, 0, true);
129
- expect(result).toBe('1KB');
130
- expect(result).not.toContain('0B');
131
- });
132
-
133
- it('| should show full format for terabytes with remainder', (): void => {
134
- const size = DyFM_Data.terabyte + DyFM_Data.gigabyte * 256;
135
- const result = DyFM_Data.getSizeString(size, 0, true);
136
- expect(result).toContain('TB');
137
- expect(result).toContain('GB');
138
- });
139
-
140
- it('| should show full format for petabytes with remainder', (): void => {
141
- const size = DyFM_Data.petabyte + DyFM_Data.terabyte * 512;
142
- const result = DyFM_Data.getSizeString(size, 0, true);
143
- expect(result).toContain('PB');
144
- expect(result).toContain('TB');
145
- });
146
-
147
- it('| should handle negative values with full format', (): void => {
148
- const result = DyFM_Data.getSizeString(-1536, 0, true);
149
- expect(result).toContain('-');
150
- expect(result).toContain('KB');
151
- });
152
-
153
- it('| should handle very large negative values', (): void => {
154
- const result = DyFM_Data.getSizeString(-DyFM_Data.gigabyte);
155
- expect(result).toContain('-');
156
- expect(result).toContain('GB');
157
- });
158
-
159
- it('| should handle custom decimals for large sizes', (): void => {
160
- const size = DyFM_Data.terabyte * 1.234;
161
- const result = DyFM_Data.getSizeString(size, 3);
162
- expect(result).toContain('TB');
163
- expect(result).toMatch(/1\.\d{3}TB/);
164
- });
165
-
166
- it('| should show full format for exabytes with remainder', (): void => {
167
- const size = DyFM_Data.exabyte + DyFM_Data.petabyte * 512;
168
- const result = DyFM_Data.getSizeString(size, 0, true);
169
- expect(result).toContain('EB');
170
- expect(result).toContain('PB');
171
- });
172
-
173
- it('| should show full format for zettabytes with remainder', (): void => {
174
- const size = DyFM_Data.zettabyte + DyFM_Data.exabyte * 256;
175
- const result = DyFM_Data.getSizeString(size, 0, true);
176
- expect(result).toContain('ZB');
177
- expect(result).toContain('EB');
178
- });
179
-
180
- it('| should show full format for yottabytes with remainder', (): void => {
181
- const size = DyFM_Data.yottabyte + DyFM_Data.zettabyte * 128;
182
- const result = DyFM_Data.getSizeString(size, 0, true);
183
- expect(result).toContain('YB');
184
- expect(result).toContain('ZB');
185
- });
186
-
187
- it('| should not show remainder in full format for exabytes when remainder is zero', (): void => {
188
- const result = DyFM_Data.getSizeString(DyFM_Data.exabyte, 0, true);
189
- expect(result).toBe('1EB');
190
- expect(result).not.toContain('0PB');
191
- });
192
-
193
- it('| should not show remainder in full format for zettabytes when remainder is zero', (): void => {
194
- const result = DyFM_Data.getSizeString(DyFM_Data.zettabyte, 0, true);
195
- expect(result).toBe('1ZB');
196
- expect(result).not.toContain('0EB');
197
- });
198
-
199
- it('| should not show remainder in full format for yottabytes when remainder is zero', (): void => {
200
- const result = DyFM_Data.getSizeString(DyFM_Data.yottabyte, 0, true);
201
- expect(result).toBe('1YB');
202
- expect(result).not.toContain('0ZB');
203
- });
204
-
205
- it('| should handle KB with remainder in full format', (): void => {
206
- const size = DyFM_Data.kilobyte + 512;
207
- const result = DyFM_Data.getSizeString(size, 0, true);
208
- expect(result).toContain('KB');
209
- expect(result).toContain('B');
210
- });
211
-
212
- it('| should handle negative KB with remainder in full format', (): void => {
213
- const size = -(DyFM_Data.kilobyte + 512);
214
- const result = DyFM_Data.getSizeString(size, 0, true);
215
- expect(result).toContain('-');
216
- expect(result).toContain('KB');
217
- });
218
-
219
- it('| should handle PB without remainder in full format', (): void => {
220
- // Test case for line 169-170: PB without remainder case
221
- const size = DyFM_Data.petabyte; // Exactly 1 PB
222
- const result = DyFM_Data.getSizeString(size, 0, true);
223
- expect(result).toBe('1PB');
224
- expect(result).not.toContain('TB');
225
- });
226
-
227
- it('| should handle PB with remainder in full format', (): void => {
228
- // Test case for line 166-167: PB with remainder
229
- const size = DyFM_Data.petabyte + DyFM_Data.terabyte * 512;
230
- const result = DyFM_Data.getSizeString(size, 0, true);
231
- expect(result).toContain('PB');
232
- expect(result).toContain('TB');
233
- });
234
-
235
- it('| should handle all size ranges with full format - KB', (): void => {
236
- const size = DyFM_Data.kilobyte + 512;
237
- const result = DyFM_Data.getSizeString(size, 0, true);
238
- expect(result).toContain('KB');
239
- expect(result).toContain('B');
240
- });
241
-
242
- it('| should handle all size ranges with full format - MB', (): void => {
243
- const size = DyFM_Data.megabyte + DyFM_Data.kilobyte * 256;
244
- const result = DyFM_Data.getSizeString(size, 0, true);
245
- expect(result).toContain('MB');
246
- expect(result).toContain('KB');
247
- });
248
-
249
- it('| should handle all size ranges with full format - GB', (): void => {
250
- const size = DyFM_Data.gigabyte + DyFM_Data.megabyte * 256;
251
- const result = DyFM_Data.getSizeString(size, 0, true);
252
- expect(result).toContain('GB');
253
- expect(result).toContain('MB');
254
- });
255
-
256
- it('| should handle all size ranges with full format - TB', (): void => {
257
- const size = DyFM_Data.terabyte + DyFM_Data.gigabyte * 256;
258
- const result = DyFM_Data.getSizeString(size, 0, true);
259
- expect(result).toContain('TB');
260
- expect(result).toContain('GB');
261
- });
262
-
263
- it('| should handle all size ranges with full format - PB', (): void => {
264
- const size = DyFM_Data.petabyte + DyFM_Data.terabyte * 512;
265
- const result = DyFM_Data.getSizeString(size, 0, true);
266
- expect(result).toContain('PB');
267
- expect(result).toContain('TB');
268
- });
269
-
270
- it('| should handle all size ranges with full format - EB', (): void => {
271
- const size = DyFM_Data.exabyte + DyFM_Data.petabyte * 512;
272
- const result = DyFM_Data.getSizeString(size, 0, true);
273
- expect(result).toContain('EB');
274
- expect(result).toContain('PB');
275
- });
276
-
277
- it('| should handle all size ranges with full format - ZB', (): void => {
278
- const size = DyFM_Data.zettabyte + DyFM_Data.exabyte * 256;
279
- const result = DyFM_Data.getSizeString(size, 0, true);
280
- expect(result).toContain('ZB');
281
- expect(result).toContain('EB');
282
- });
283
-
284
- it('| should handle all size ranges with full format - YB', (): void => {
285
- const size = DyFM_Data.yottabyte + DyFM_Data.zettabyte * 128;
286
- const result = DyFM_Data.getSizeString(size, 0, true);
287
- expect(result).toContain('YB');
288
- expect(result).toContain('ZB');
289
- });
290
-
291
- it('| should handle negative values with full format for all ranges', (): void => {
292
- const sizes = [
293
- -(DyFM_Data.kilobyte + 512),
294
- -(DyFM_Data.megabyte + DyFM_Data.kilobyte * 256),
295
- -(DyFM_Data.gigabyte + DyFM_Data.megabyte * 256),
296
- -(DyFM_Data.terabyte + DyFM_Data.gigabyte * 256),
297
- -(DyFM_Data.petabyte + DyFM_Data.terabyte * 512),
298
- ];
299
-
300
- sizes.forEach(size => {
301
- const result = DyFM_Data.getSizeString(size, 0, true);
302
- expect(result).toContain('-');
303
- });
304
- });
305
-
306
- it('| should handle exact boundaries with full format', (): void => {
307
- // Test exact unit boundaries with full format
308
- const boundaries = [
309
- DyFM_Data.kilobyte,
310
- DyFM_Data.megabyte,
311
- DyFM_Data.gigabyte,
312
- DyFM_Data.terabyte,
313
- DyFM_Data.petabyte,
314
- DyFM_Data.exabyte,
315
- DyFM_Data.zettabyte,
316
- DyFM_Data.yottabyte,
317
- ];
318
-
319
- boundaries.forEach(size => {
320
- const result = DyFM_Data.getSizeString(size, 0, true);
321
- expect(result).toMatch(/^\d+(KB|MB|GB|TB|PB|EB|ZB|YB)$/);
322
- expect(result).not.toMatch(/\s/); // No space means no remainder
323
- });
324
- });
325
- });
326
-
327
- describe('| constants - all units', (): void => {
328
- it('| should have correct petabyte value', (): void => {
329
- expect(DyFM_Data.petabyte).toBe(1024 * 1024 * 1024 * 1024 * 1024);
330
- });
331
-
332
- it('| should have correct exabyte value', (): void => {
333
- expect(DyFM_Data.exabyte).toBe(1024 * 1024 * 1024 * 1024 * 1024 * 1024);
334
- });
335
-
336
- it('| should have correct zettabyte value', (): void => {
337
- expect(DyFM_Data.zettabyte).toBe(1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024);
338
- });
339
-
340
- it('| should have correct yottabyte value', (): void => {
341
- expect(DyFM_Data.yottabyte).toBe(1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024);
342
- });
343
- });
344
- });
345
-
1
+ import { DyFM_Data } from './data.util';
2
+ import { DyFM_Math } from './math/math.util';
3
+
4
+ describe('| DyFM_Data', (): void => {
5
+
6
+ describe('| constants', (): void => {
7
+ it('| should have correct kilobyte value', (): void => {
8
+ expect(DyFM_Data.kilobyte).toBe(1024);
9
+ });
10
+
11
+ it('| should have correct megabyte value', (): void => {
12
+ expect(DyFM_Data.megabyte).toBe(1024 * 1024);
13
+ });
14
+
15
+ it('| should have correct gigabyte value', (): void => {
16
+ expect(DyFM_Data.gigabyte).toBe(1024 * 1024 * 1024);
17
+ });
18
+
19
+ it('| should have correct terabyte value', (): void => {
20
+ expect(DyFM_Data.terabyte).toBe(1024 * 1024 * 1024 * 1024);
21
+ });
22
+ });
23
+
24
+ describe('| getSizeString', (): void => {
25
+ it('| should return "0B" for zero size', (): void => {
26
+ expect(DyFM_Data.getSizeString(0)).toBe('0B');
27
+ });
28
+
29
+ it('| should return "N/A" for null or undefined size', (): void => {
30
+ expect(DyFM_Data.getSizeString(null as any)).toBe('N/A');
31
+ expect(DyFM_Data.getSizeString(undefined as any)).toBe('N/A');
32
+ });
33
+
34
+ it('| should format bytes less than 1KB', (): void => {
35
+ expect(DyFM_Data.getSizeString(512)).toBe('512B');
36
+ expect(DyFM_Data.getSizeString(1023)).toBe('1023B');
37
+ });
38
+
39
+ it('| should format kilobytes', (): void => {
40
+ expect(DyFM_Data.getSizeString(1536)).toBe('1.5KB');
41
+ expect(DyFM_Data.getSizeString(2048)).toBe('2KB');
42
+ expect(DyFM_Data.getSizeString(1024 * 10)).toBe('10KB');
43
+ });
44
+
45
+ it('| should format megabytes', (): void => {
46
+ expect(DyFM_Data.getSizeString(1024 * 1024)).toBe('1MB');
47
+ expect(DyFM_Data.getSizeString(1024 * 1024 * 1.5)).toBe('1.5MB');
48
+ expect(DyFM_Data.getSizeString(1024 * 1024 * 10)).toBe('10MB');
49
+ });
50
+
51
+ it('| should format gigabytes', (): void => {
52
+ expect(DyFM_Data.getSizeString(1024 * 1024 * 1024)).toBe('1GB');
53
+ expect(DyFM_Data.getSizeString(1024 * 1024 * 1024 * 1.5)).toBe('1.5GB');
54
+ });
55
+
56
+ it('| should format terabytes', (): void => {
57
+ expect(DyFM_Data.getSizeString(1024 * 1024 * 1024 * 1024)).toBe('1TB');
58
+ });
59
+
60
+ it('| should handle negative values', (): void => {
61
+ expect(DyFM_Data.getSizeString(-512)).toBe('-512B');
62
+ expect(DyFM_Data.getSizeString(-1536)).toBe('-1.5KB');
63
+ });
64
+
65
+ it('| should use custom decimals when provided', (): void => {
66
+ expect(DyFM_Data.getSizeString(1536, 1)).toBe('1.5KB');
67
+ expect(DyFM_Data.getSizeString(1536, 3)).toBe('1.5KB');
68
+ expect(DyFM_Data.getSizeString(1536, 0)).toBe('2KB');
69
+ });
70
+
71
+ it('| should show full format with remainder when full=true', (): void => {
72
+ const result = DyFM_Data.getSizeString(1536, 0, true);
73
+ expect(result).toContain('KB');
74
+ expect(result).toContain('B');
75
+ });
76
+
77
+ it('| should show full format for megabytes with remainder', (): void => {
78
+ const size = DyFM_Data.megabyte + DyFM_Data.kilobyte * 256;
79
+ const result = DyFM_Data.getSizeString(size, 0, true);
80
+ expect(result).toContain('MB');
81
+ expect(result).toContain('KB');
82
+ });
83
+
84
+ it('| should show full format for gigabytes with remainder', (): void => {
85
+ const size = DyFM_Data.gigabyte + DyFM_Data.megabyte * 256;
86
+ const result = DyFM_Data.getSizeString(size, 0, true);
87
+ expect(result).toContain('GB');
88
+ expect(result).toContain('MB');
89
+ });
90
+
91
+ it('| should handle very large sizes', (): void => {
92
+ const petabyte = DyFM_Data.petabyte;
93
+ expect(DyFM_Data.getSizeString(petabyte)).toContain('PB');
94
+ });
95
+
96
+ it('| should format petabytes', (): void => {
97
+ expect(DyFM_Data.getSizeString(DyFM_Data.petabyte)).toBe('1PB');
98
+ expect(DyFM_Data.getSizeString(DyFM_Data.petabyte * 1.5)).toBe('1.5PB');
99
+ });
100
+
101
+ it('| should format exabytes', (): void => {
102
+ expect(DyFM_Data.getSizeString(DyFM_Data.exabyte)).toBe('1EB');
103
+ expect(DyFM_Data.getSizeString(DyFM_Data.exabyte * 2.5)).toBe('2.5EB');
104
+ });
105
+
106
+ it('| should format zettabytes', (): void => {
107
+ expect(DyFM_Data.getSizeString(DyFM_Data.zettabyte)).toBe('1ZB');
108
+ expect(DyFM_Data.getSizeString(DyFM_Data.zettabyte * 3.7)).toBe('3.7ZB');
109
+ });
110
+
111
+ it('| should format yottabytes', (): void => {
112
+ expect(DyFM_Data.getSizeString(DyFM_Data.yottabyte)).toBe('1YB');
113
+ expect(DyFM_Data.getSizeString(DyFM_Data.yottabyte * 4.2)).toBe('4.2YB');
114
+ });
115
+
116
+ it('| should handle edge case at exact unit boundaries', (): void => {
117
+ expect(DyFM_Data.getSizeString(DyFM_Data.kilobyte)).toBe('1KB');
118
+ expect(DyFM_Data.getSizeString(DyFM_Data.megabyte)).toBe('1MB');
119
+ expect(DyFM_Data.getSizeString(DyFM_Data.gigabyte)).toBe('1GB');
120
+ expect(DyFM_Data.getSizeString(DyFM_Data.terabyte)).toBe('1TB');
121
+ expect(DyFM_Data.getSizeString(DyFM_Data.petabyte)).toBe('1PB');
122
+ expect(DyFM_Data.getSizeString(DyFM_Data.exabyte)).toBe('1EB');
123
+ expect(DyFM_Data.getSizeString(DyFM_Data.zettabyte)).toBe('1ZB');
124
+ expect(DyFM_Data.getSizeString(DyFM_Data.yottabyte)).toBe('1YB');
125
+ });
126
+
127
+ it('| should not show remainder in full format when remainder is zero', (): void => {
128
+ const result = DyFM_Data.getSizeString(DyFM_Data.kilobyte, 0, true);
129
+ expect(result).toBe('1KB');
130
+ expect(result).not.toContain('0B');
131
+ });
132
+
133
+ it('| should show full format for terabytes with remainder', (): void => {
134
+ const size = DyFM_Data.terabyte + DyFM_Data.gigabyte * 256;
135
+ const result = DyFM_Data.getSizeString(size, 0, true);
136
+ expect(result).toContain('TB');
137
+ expect(result).toContain('GB');
138
+ });
139
+
140
+ it('| should show full format for petabytes with remainder', (): void => {
141
+ const size = DyFM_Data.petabyte + DyFM_Data.terabyte * 512;
142
+ const result = DyFM_Data.getSizeString(size, 0, true);
143
+ expect(result).toContain('PB');
144
+ expect(result).toContain('TB');
145
+ });
146
+
147
+ it('| should handle negative values with full format', (): void => {
148
+ const result = DyFM_Data.getSizeString(-1536, 0, true);
149
+ expect(result).toContain('-');
150
+ expect(result).toContain('KB');
151
+ });
152
+
153
+ it('| should handle very large negative values', (): void => {
154
+ const result = DyFM_Data.getSizeString(-DyFM_Data.gigabyte);
155
+ expect(result).toContain('-');
156
+ expect(result).toContain('GB');
157
+ });
158
+
159
+ it('| should handle custom decimals for large sizes', (): void => {
160
+ const size = DyFM_Data.terabyte * 1.234;
161
+ const result = DyFM_Data.getSizeString(size, 3);
162
+ expect(result).toContain('TB');
163
+ expect(result).toMatch(/1\.\d{3}TB/);
164
+ });
165
+
166
+ it('| should show full format for exabytes with remainder', (): void => {
167
+ const size = DyFM_Data.exabyte + DyFM_Data.petabyte * 512;
168
+ const result = DyFM_Data.getSizeString(size, 0, true);
169
+ expect(result).toContain('EB');
170
+ expect(result).toContain('PB');
171
+ });
172
+
173
+ it('| should show full format for zettabytes with remainder', (): void => {
174
+ const size = DyFM_Data.zettabyte + DyFM_Data.exabyte * 256;
175
+ const result = DyFM_Data.getSizeString(size, 0, true);
176
+ expect(result).toContain('ZB');
177
+ expect(result).toContain('EB');
178
+ });
179
+
180
+ it('| should show full format for yottabytes with remainder', (): void => {
181
+ const size = DyFM_Data.yottabyte + DyFM_Data.zettabyte * 128;
182
+ const result = DyFM_Data.getSizeString(size, 0, true);
183
+ expect(result).toContain('YB');
184
+ expect(result).toContain('ZB');
185
+ });
186
+
187
+ it('| should not show remainder in full format for exabytes when remainder is zero', (): void => {
188
+ const result = DyFM_Data.getSizeString(DyFM_Data.exabyte, 0, true);
189
+ expect(result).toBe('1EB');
190
+ expect(result).not.toContain('0PB');
191
+ });
192
+
193
+ it('| should not show remainder in full format for zettabytes when remainder is zero', (): void => {
194
+ const result = DyFM_Data.getSizeString(DyFM_Data.zettabyte, 0, true);
195
+ expect(result).toBe('1ZB');
196
+ expect(result).not.toContain('0EB');
197
+ });
198
+
199
+ it('| should not show remainder in full format for yottabytes when remainder is zero', (): void => {
200
+ const result = DyFM_Data.getSizeString(DyFM_Data.yottabyte, 0, true);
201
+ expect(result).toBe('1YB');
202
+ expect(result).not.toContain('0ZB');
203
+ });
204
+
205
+ it('| should handle KB with remainder in full format', (): void => {
206
+ const size = DyFM_Data.kilobyte + 512;
207
+ const result = DyFM_Data.getSizeString(size, 0, true);
208
+ expect(result).toContain('KB');
209
+ expect(result).toContain('B');
210
+ });
211
+
212
+ it('| should handle negative KB with remainder in full format', (): void => {
213
+ const size = -(DyFM_Data.kilobyte + 512);
214
+ const result = DyFM_Data.getSizeString(size, 0, true);
215
+ expect(result).toContain('-');
216
+ expect(result).toContain('KB');
217
+ });
218
+
219
+ it('| should handle PB without remainder in full format', (): void => {
220
+ // Test case for line 169-170: PB without remainder case
221
+ const size = DyFM_Data.petabyte; // Exactly 1 PB
222
+ const result = DyFM_Data.getSizeString(size, 0, true);
223
+ expect(result).toBe('1PB');
224
+ expect(result).not.toContain('TB');
225
+ });
226
+
227
+ it('| should handle PB with remainder in full format', (): void => {
228
+ // Test case for line 166-167: PB with remainder
229
+ const size = DyFM_Data.petabyte + DyFM_Data.terabyte * 512;
230
+ const result = DyFM_Data.getSizeString(size, 0, true);
231
+ expect(result).toContain('PB');
232
+ expect(result).toContain('TB');
233
+ });
234
+
235
+ it('| should handle all size ranges with full format - KB', (): void => {
236
+ const size = DyFM_Data.kilobyte + 512;
237
+ const result = DyFM_Data.getSizeString(size, 0, true);
238
+ expect(result).toContain('KB');
239
+ expect(result).toContain('B');
240
+ });
241
+
242
+ it('| should handle all size ranges with full format - MB', (): void => {
243
+ const size = DyFM_Data.megabyte + DyFM_Data.kilobyte * 256;
244
+ const result = DyFM_Data.getSizeString(size, 0, true);
245
+ expect(result).toContain('MB');
246
+ expect(result).toContain('KB');
247
+ });
248
+
249
+ it('| should handle all size ranges with full format - GB', (): void => {
250
+ const size = DyFM_Data.gigabyte + DyFM_Data.megabyte * 256;
251
+ const result = DyFM_Data.getSizeString(size, 0, true);
252
+ expect(result).toContain('GB');
253
+ expect(result).toContain('MB');
254
+ });
255
+
256
+ it('| should handle all size ranges with full format - TB', (): void => {
257
+ const size = DyFM_Data.terabyte + DyFM_Data.gigabyte * 256;
258
+ const result = DyFM_Data.getSizeString(size, 0, true);
259
+ expect(result).toContain('TB');
260
+ expect(result).toContain('GB');
261
+ });
262
+
263
+ it('| should handle all size ranges with full format - PB', (): void => {
264
+ const size = DyFM_Data.petabyte + DyFM_Data.terabyte * 512;
265
+ const result = DyFM_Data.getSizeString(size, 0, true);
266
+ expect(result).toContain('PB');
267
+ expect(result).toContain('TB');
268
+ });
269
+
270
+ it('| should handle all size ranges with full format - EB', (): void => {
271
+ const size = DyFM_Data.exabyte + DyFM_Data.petabyte * 512;
272
+ const result = DyFM_Data.getSizeString(size, 0, true);
273
+ expect(result).toContain('EB');
274
+ expect(result).toContain('PB');
275
+ });
276
+
277
+ it('| should handle all size ranges with full format - ZB', (): void => {
278
+ const size = DyFM_Data.zettabyte + DyFM_Data.exabyte * 256;
279
+ const result = DyFM_Data.getSizeString(size, 0, true);
280
+ expect(result).toContain('ZB');
281
+ expect(result).toContain('EB');
282
+ });
283
+
284
+ it('| should handle all size ranges with full format - YB', (): void => {
285
+ const size = DyFM_Data.yottabyte + DyFM_Data.zettabyte * 128;
286
+ const result = DyFM_Data.getSizeString(size, 0, true);
287
+ expect(result).toContain('YB');
288
+ expect(result).toContain('ZB');
289
+ });
290
+
291
+ it('| should handle negative values with full format for all ranges', (): void => {
292
+ const sizes = [
293
+ -(DyFM_Data.kilobyte + 512),
294
+ -(DyFM_Data.megabyte + DyFM_Data.kilobyte * 256),
295
+ -(DyFM_Data.gigabyte + DyFM_Data.megabyte * 256),
296
+ -(DyFM_Data.terabyte + DyFM_Data.gigabyte * 256),
297
+ -(DyFM_Data.petabyte + DyFM_Data.terabyte * 512),
298
+ ];
299
+
300
+ sizes.forEach(size => {
301
+ const result = DyFM_Data.getSizeString(size, 0, true);
302
+ expect(result).toContain('-');
303
+ });
304
+ });
305
+
306
+ it('| should handle exact boundaries with full format', (): void => {
307
+ // Test exact unit boundaries with full format
308
+ const boundaries = [
309
+ DyFM_Data.kilobyte,
310
+ DyFM_Data.megabyte,
311
+ DyFM_Data.gigabyte,
312
+ DyFM_Data.terabyte,
313
+ DyFM_Data.petabyte,
314
+ DyFM_Data.exabyte,
315
+ DyFM_Data.zettabyte,
316
+ DyFM_Data.yottabyte,
317
+ ];
318
+
319
+ boundaries.forEach(size => {
320
+ const result = DyFM_Data.getSizeString(size, 0, true);
321
+ expect(result).toMatch(/^\d+(KB|MB|GB|TB|PB|EB|ZB|YB)$/);
322
+ expect(result).not.toMatch(/\s/); // No space means no remainder
323
+ });
324
+ });
325
+ });
326
+
327
+ describe('| constants - all units', (): void => {
328
+ it('| should have correct petabyte value', (): void => {
329
+ expect(DyFM_Data.petabyte).toBe(1024 * 1024 * 1024 * 1024 * 1024);
330
+ });
331
+
332
+ it('| should have correct exabyte value', (): void => {
333
+ expect(DyFM_Data.exabyte).toBe(1024 * 1024 * 1024 * 1024 * 1024 * 1024);
334
+ });
335
+
336
+ it('| should have correct zettabyte value', (): void => {
337
+ expect(DyFM_Data.zettabyte).toBe(1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024);
338
+ });
339
+
340
+ it('| should have correct yottabyte value', (): void => {
341
+ expect(DyFM_Data.yottabyte).toBe(1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024 * 1024);
342
+ });
343
+ });
344
+ });
345
+