@futdevpro/fsm-dynamo 1.16.33 → 1.16.35

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