@futdevpro/fsm-dynamo 1.16.38 → 1.16.40

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 (707) hide show
  1. package/.c8rc.json +26 -26
  2. package/.cursor/rules/__assistant_guide.mdc +30 -30
  3. package/.cursor/rules/__main.mdc +64 -64
  4. package/.cursor/rules/_ag_backend-structure.mdc +85 -85
  5. package/.cursor/rules/_ag_backend.mdc +16 -16
  6. package/.cursor/rules/_ag_debug.mdc +7 -7
  7. package/.cursor/rules/_ag_documentation_writing_rules.mdc +372 -372
  8. package/.cursor/rules/_ag_file-refactoring.mdc +113 -113
  9. package/.cursor/rules/_ag_fixes_rules.mdc +5 -5
  10. package/.cursor/rules/_ag_frontend-structure.mdc +86 -86
  11. package/.cursor/rules/_ag_frontend.mdc +39 -39
  12. package/.cursor/rules/_ag_import-rules.mdc +44 -44
  13. package/.cursor/rules/_ag_naming.mdc +115 -115
  14. package/.cursor/rules/_ag_running_commands.mdc +4 -4
  15. package/.cursor/rules/_ag_server-controller.mdc +5 -5
  16. package/.cursor/rules/_ag_should-be.mdc +6 -6
  17. package/.cursor/rules/_ag_swearing.mdc +47 -47
  18. package/.cursor/rules/ai_development_guide.md +60 -60
  19. package/.cursor/rules/ai_directives.md +114 -114
  20. package/.cursor/rules/cursor-rules.md +160 -160
  21. package/.cursor/rules/default-command.mdc +464 -464
  22. package/.cursor/rules/error_code_pattern.md +39 -39
  23. package/.cursor/rules/saved rule mcp server use.md +15 -15
  24. package/.dynamo/pipeline.cicd.config.json +157 -157
  25. package/.dynamo/version-bump.config.json +5 -5
  26. package/.github/workflows/main.yml +439 -439
  27. package/.husky/pre-commit +2 -2
  28. package/.vscode/settings.json +11 -11
  29. package/LICENSE +21 -21
  30. package/README.md +701 -693
  31. package/__documentations/2026-05-17-oai-compatible-providers-howto.md +282 -282
  32. package/__documentations/2026-06-01-fr047-fc-foundation.md +48 -48
  33. package/__documentations/2026-06-01-fr047-fr048-code-review.md +153 -153
  34. package/__documentations/2026-06-01-fr047-p1-function-calling-vocabulary.md +75 -75
  35. package/__documentations/2026-06-05-secret-mask-url-cred-any-scheme.md +37 -37
  36. package/__documentations/2026-06-06-ngx-models-merge-completion.md +100 -100
  37. package/__documentations/2026-06-22-dyfm-error-extends-error.md +109 -109
  38. package/__documentations/plans/00-MASTER-ngx-models-fsm-merge.md +75 -75
  39. package/__documentations/plans/01-naming-convention-DyNM-to-DyFM.md +103 -103
  40. package/__documentations/plans/02-consumer-rollout.md +84 -84
  41. package/_specifications/BACKLOG.md +43 -43
  42. package/build/_modules/crypto/_models/artifact-signature.interface.d.ts +37 -0
  43. package/build/_modules/crypto/_models/artifact-signature.interface.d.ts.map +1 -0
  44. package/build/_modules/crypto/_models/artifact-signature.interface.js +3 -0
  45. package/build/_modules/crypto/_models/artifact-signature.interface.js.map +1 -0
  46. package/build/_modules/crypto/_services/artifact-signature.control-service.d.ts +24 -0
  47. package/build/_modules/crypto/_services/artifact-signature.control-service.d.ts.map +1 -0
  48. package/build/_modules/crypto/_services/artifact-signature.control-service.js +281 -0
  49. package/build/_modules/crypto/_services/artifact-signature.control-service.js.map +1 -0
  50. package/build/_modules/crypto/index.d.ts +2 -0
  51. package/build/_modules/crypto/index.d.ts.map +1 -1
  52. package/build/_modules/crypto/index.js +2 -0
  53. package/build/_modules/crypto/index.js.map +1 -1
  54. package/build/_modules/socket/_models/sck-socket-event.control-model.d.ts +4 -6
  55. package/build/_modules/socket/_models/sck-socket-event.control-model.d.ts.map +1 -1
  56. package/build/_modules/socket/_models/sck-socket-event.control-model.js +9 -7
  57. package/build/_modules/socket/_models/sck-socket-event.control-model.js.map +1 -1
  58. package/eslint.config.js +4 -4
  59. package/nodemon.json +22 -22
  60. package/package.json +306 -306
  61. package/pnpm-workspace.yaml +2 -2
  62. package/scripts/_capture-out/ai-error-capture.json +398 -398
  63. package/scripts/ai-error-capture.js +171 -171
  64. package/scripts/ai-model-registry-check.js +132 -132
  65. package/scripts/crypto/CRYPTO-STABILITY-SOLUTION.md +196 -196
  66. package/scripts/crypto/README.md +113 -113
  67. package/scripts/crypto/demo-crypto-stability.js +120 -120
  68. package/scripts/crypto/stress-test-crypto.js +379 -379
  69. package/scripts/run-coverage-tests.js +24 -24
  70. package/scripts/verify-build-completeness.js +62 -62
  71. package/spec/support/helpers/ts-node-helper.js +9 -9
  72. package/spec/support/jasmine.coverage.json +23 -23
  73. package/spec/support/jasmine.json +24 -24
  74. package/src/_collections/constants/data-sizes.const.ts +40 -40
  75. package/src/_collections/constants/error-defaults.const.ts +20 -20
  76. package/src/_collections/constants/global-settings.const.spec.ts +32 -32
  77. package/src/_collections/constants/global-settings.const.ts +29 -29
  78. package/src/_collections/constants/numbers.const.ts +40 -40
  79. package/src/_collections/constants/times.const.ts +45 -45
  80. package/src/_collections/utils/array.util.spec.ts +306 -306
  81. package/src/_collections/utils/array.util.ts +813 -813
  82. package/src/_collections/utils/async.util.spec.ts +398 -398
  83. package/src/_collections/utils/async.util.ts +208 -208
  84. package/src/_collections/utils/data.util.spec.ts +345 -345
  85. package/src/_collections/utils/data.util.ts +226 -226
  86. package/src/_collections/utils/extract-error-message.util.spec.ts +204 -204
  87. package/src/_collections/utils/extract-error-message.util.ts +223 -223
  88. package/src/_collections/utils/json-error-helper.util.spec.ts +521 -521
  89. package/src/_collections/utils/json-error-helper.util.ts +301 -301
  90. package/src/_collections/utils/log.util.spec.ts +975 -975
  91. package/src/_collections/utils/log.util.ts +667 -667
  92. package/src/_collections/utils/math/box-bounds.spec.ts +73 -73
  93. package/src/_collections/utils/math/box-bounds.util.ts +183 -183
  94. package/src/_collections/utils/math/math.util.spec.ts +94 -94
  95. package/src/_collections/utils/math/math.util.ts +141 -141
  96. package/src/_collections/utils/math/random.util.spec.ts +82 -82
  97. package/src/_collections/utils/math/random.util.ts +139 -139
  98. package/src/_collections/utils/math/trigonometry.util.spec.ts +57 -57
  99. package/src/_collections/utils/math/trigonometry.util.ts +102 -102
  100. package/src/_collections/utils/math/vector2.util.spec.ts +94 -94
  101. package/src/_collections/utils/math/vector2.util.ts +653 -653
  102. package/src/_collections/utils/object.util.spec.ts +646 -646
  103. package/src/_collections/utils/object.util.ts +739 -739
  104. package/src/_collections/utils/regex/password-regex.util.spec.ts +51 -51
  105. package/src/_collections/utils/regex/password-regex.util.ts +65 -65
  106. package/src/_collections/utils/regex/regex.util.spec.ts +42 -42
  107. package/src/_collections/utils/regex/regex.util.ts +6 -6
  108. package/src/_collections/utils/regex/username-regex.util.spec.ts +61 -61
  109. package/src/_collections/utils/regex/username-regex.util.ts +35 -35
  110. package/src/_collections/utils/require-env.util.spec.ts +231 -231
  111. package/src/_collections/utils/require-env.util.ts +138 -138
  112. package/src/_collections/utils/round-list.util.spec.ts +79 -79
  113. package/src/_collections/utils/round-list.util.ts +162 -162
  114. package/src/_collections/utils/secret-mask.util.spec.ts +66 -66
  115. package/src/_collections/utils/secret-mask.util.ts +262 -262
  116. package/src/_collections/utils/stack.util.spec.ts +372 -372
  117. package/src/_collections/utils/stack.util.ts +164 -164
  118. package/src/_collections/utils/string-case.util.spec.ts +441 -441
  119. package/src/_collections/utils/string-case.util.ts +362 -362
  120. package/src/_collections/utils/string.util.spec.ts +975 -975
  121. package/src/_collections/utils/string.util.ts +449 -449
  122. package/src/_collections/utils/time.util.spec.ts +50 -50
  123. package/src/_collections/utils/time.util.ts +481 -481
  124. package/src/_collections/utils/type-cloning-facility.util.spec.ts +51 -51
  125. package/src/_collections/utils/type-cloning-facility.util.ts +168 -168
  126. package/src/_collections/utils/utilities.util.spec.ts +201 -201
  127. package/src/_collections/utils/utilities.util.ts +68 -68
  128. package/src/_collections/utils/uuid.util.spec.ts +30 -30
  129. package/src/_collections/utils/uuid.util.ts +50 -50
  130. package/src/_enums/basic-property-type.enum.ts +20 -20
  131. package/src/_enums/data-model-type.enum.ts +29 -29
  132. package/src/_enums/environment-flag.enum.ts +28 -28
  133. package/src/_enums/error-level.enum.ts +43 -43
  134. package/src/_enums/error-status.enum.ts +30 -30
  135. package/src/_enums/http/http-call-type.enum.ts +43 -43
  136. package/src/_enums/http/http-event-type.enum.ts +40 -40
  137. package/src/_enums/http/http-response-type.enum.ts +18 -18
  138. package/src/_enums/log-style.enum.ts +44 -44
  139. package/src/_enums/server-connection-status.enum.ts +6 -6
  140. package/src/_enums/time/day-of-week.enum.ts +55 -55
  141. package/src/_enums/time/month.enum.ts +25 -25
  142. package/src/_enums/time/relative-date.enum.ts +24 -24
  143. package/src/_models/control-models/data-model-params.control-model.spec.ts +156 -156
  144. package/src/_models/control-models/data-model-params.control-model.ts +362 -362
  145. package/src/_models/control-models/data-property-params.control-model.spec.ts +93 -93
  146. package/src/_models/control-models/data-property-params.control-model.ts +210 -210
  147. package/src/_models/control-models/error.control-model.spec.ts +975 -975
  148. package/src/_models/control-models/error.control-model.ts +1280 -1280
  149. package/src/_models/control-models/http/http-error-response.control-model.spec.ts +116 -116
  150. package/src/_models/control-models/http/http-error-response.control-model.ts +52 -52
  151. package/src/_models/control-models/http/http-headers.control-model.spec.ts +25 -25
  152. package/src/_models/control-models/http/http-headers.control-model.ts +124 -124
  153. package/src/_models/control-models/http/http-response.model-base.spec.ts +46 -46
  154. package/src/_models/control-models/http/http-response.model-base.ts +57 -57
  155. package/src/_models/control-models/poll.control-model.spec.ts +63 -63
  156. package/src/_models/control-models/poll.control-model.ts +151 -151
  157. package/src/_models/control-models/range-value.control-model.spec.ts +187 -187
  158. package/src/_models/control-models/range-value.control-model.ts +289 -289
  159. package/src/_models/control-models/server-status.control-model.spec.ts +66 -66
  160. package/src/_models/control-models/server-status.control-model.ts +94 -94
  161. package/src/_models/control-models/service-endpoint-settings-base.control-model.spec.ts +145 -145
  162. package/src/_models/control-models/service-endpoint-settings-base.control-model.ts +186 -186
  163. package/src/_models/data-models/errors.data-model.spec.ts +71 -71
  164. package/src/_models/data-models/errors.data-model.ts +200 -200
  165. package/src/_models/data-models/metadata.data-model.spec.ts +184 -184
  166. package/src/_models/data-models/metadata.data-model.ts +153 -153
  167. package/src/_models/interfaces/box-bounds.interface.ts +7 -7
  168. package/src/_models/interfaces/environment/global-log-settings.interface.ts +86 -86
  169. package/src/_models/interfaces/environment/global-settings.interface.ts +69 -69
  170. package/src/_models/interfaces/error-defaults.interface.ts +18 -18
  171. package/src/_models/interfaces/paged.interface.ts +12 -12
  172. package/src/_models/interfaces/random-weight.interface.ts +7 -7
  173. package/src/_models/interfaces/route-settings.interface.ts +15 -15
  174. package/src/_models/interfaces/search-query.interface.ts +23 -23
  175. package/src/_models/interfaces/search-result.interface.ts +5 -5
  176. package/src/_models/interfaces/server-error-statistics.interface.ts +24 -24
  177. package/src/_models/interfaces/vector2.interface.ts +20 -20
  178. package/src/_models/types/db-filter.type.ts +110 -110
  179. package/src/_models/types/db-sort.type.ts +4 -4
  180. package/src/_models/types/ds-filter.type.ts +68 -68
  181. package/src/_models/types/ds-sort.type.ts +21 -21
  182. package/src/_modules/ai/_collections/ai-model-ref.util.ts +88 -88
  183. package/src/_modules/ai/_collections/ai-model-registry.util.spec.ts +37 -37
  184. package/src/_modules/ai/_collections/ai-model-registry.util.ts +30 -30
  185. package/src/_modules/ai/_enums/ai-message-role.enum.ts +7 -7
  186. package/src/_modules/ai/_enums/ai-model-type.enum.ts +7 -7
  187. package/src/_modules/ai/_enums/ai-provider.enum.ts +7 -7
  188. package/src/_modules/ai/_models/ai-call-settings.interface.ts +84 -84
  189. package/src/_modules/ai/_models/ai-config.interface.ts +14 -14
  190. package/src/_modules/ai/_models/ai-embedding-request.interface.ts +20 -20
  191. package/src/_modules/ai/_models/ai-embedding-response.interface.ts +26 -26
  192. package/src/_modules/ai/_models/ai-llm-request.interface.ts +24 -24
  193. package/src/_modules/ai/_models/ai-llm-response.interface.ts +30 -30
  194. package/src/_modules/ai/_models/ai-message.interface.ts +12 -12
  195. package/src/_modules/ai/_models/ai-model-capabilities.interface.ts +35 -35
  196. package/src/_modules/ai/_models/ai-model-info.interface.ts +63 -63
  197. package/src/_modules/ai/_models/ai-model-settings-schema.interface.ts +52 -52
  198. package/src/_modules/ai/_models/ai-provider-capabilities.interface.ts +28 -28
  199. package/src/_modules/ai/_models/ai-settings.interface.ts +17 -17
  200. package/src/_modules/ai/_models/ai-tool-call.interface.ts +18 -18
  201. package/src/_modules/ai/_models/ai-tool-handler.type.ts +11 -11
  202. package/src/_modules/ai/_models/ai-tool-result.interface.ts +16 -16
  203. package/src/_modules/ai/_models/ai-tool.interface.ts +16 -16
  204. package/src/_modules/ai/_models/ai-user-provider-config.control-model.ts +29 -29
  205. package/src/_modules/ai/_modules/anthropic/_collections/aai-models.const.ts +135 -135
  206. package/src/_modules/ai/_modules/anthropic/_enums/aai-model.enum.ts +19 -19
  207. package/src/_modules/ai/_modules/anthropic/_models/aai-call-settings.control-model.spec.ts +28 -28
  208. package/src/_modules/ai/_modules/anthropic/_models/aai-call-settings.control-model.ts +23 -23
  209. package/src/_modules/ai/_modules/anthropic/_models/aai-client-options.interface.ts +10 -10
  210. package/src/_modules/ai/_modules/anthropic/_models/aai-settings.control-model.spec.ts +22 -22
  211. package/src/_modules/ai/_modules/anthropic/_models/aai-settings.control-model.ts +27 -27
  212. package/src/_modules/ai/_modules/anthropic/_models/aai-user-provider-config.control-model.ts +20 -20
  213. package/src/_modules/ai/_modules/anthropic/index.ts +14 -14
  214. package/src/_modules/ai/_modules/document-ai/_models/dai-embedding-info.interface.ts +12 -12
  215. package/src/_modules/ai/_modules/document-ai/_models/dai-vector-search-params.interface.ts +22 -22
  216. package/src/_modules/ai/_modules/document-ai/index.ts +4 -4
  217. package/src/_modules/ai/_modules/fdp-ai/_collections/fdpai-models.const.ts +40 -40
  218. package/src/_modules/ai/_modules/fdp-ai/_enums/fdpai-model.enum.ts +6 -6
  219. package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-call-settings.control-model.ts +19 -19
  220. package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-client-options.interface.ts +11 -11
  221. package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-settings.control-model.ts +24 -24
  222. package/src/_modules/ai/_modules/fdp-ai/_models/fdpai-user-provider-config.control-model.ts +20 -20
  223. package/src/_modules/ai/_modules/fdp-ai/index.ts +11 -11
  224. package/src/_modules/ai/_modules/google-ai/_collections/gai-models.const.ts +161 -161
  225. package/src/_modules/ai/_modules/google-ai/_enums/gai-model.enum.ts +16 -16
  226. package/src/_modules/ai/_modules/google-ai/_models/gai-call-settings.control-model.spec.ts +28 -28
  227. package/src/_modules/ai/_modules/google-ai/_models/gai-call-settings.control-model.ts +21 -21
  228. package/src/_modules/ai/_modules/google-ai/_models/gai-client-options.interface.ts +8 -8
  229. package/src/_modules/ai/_modules/google-ai/_models/gai-settings.control-model.spec.ts +22 -22
  230. package/src/_modules/ai/_modules/google-ai/_models/gai-settings.control-model.ts +25 -25
  231. package/src/_modules/ai/_modules/google-ai/_models/gai-user-provider-config.control-model.ts +20 -20
  232. package/src/_modules/ai/_modules/google-ai/index.ts +14 -14
  233. package/src/_modules/ai/_modules/local-ai/_collections/lai-models.const.ts +59 -59
  234. package/src/_modules/ai/_modules/local-ai/_enums/lai-model.enum.ts +6 -6
  235. package/src/_modules/ai/_modules/local-ai/_models/lai-call-settings.control-model.spec.ts +28 -28
  236. package/src/_modules/ai/_modules/local-ai/_models/lai-call-settings.control-model.ts +18 -18
  237. package/src/_modules/ai/_modules/local-ai/_models/lai-client-options.interface.ts +9 -9
  238. package/src/_modules/ai/_modules/local-ai/_models/lai-settings.control-model.spec.ts +22 -22
  239. package/src/_modules/ai/_modules/local-ai/_models/lai-settings.control-model.ts +23 -23
  240. package/src/_modules/ai/_modules/local-ai/index.ts +14 -14
  241. package/src/_modules/ai/_modules/open-ai/_collections/oai-embedding-model-dimensions.const.ts +7 -7
  242. package/src/_modules/ai/_modules/open-ai/_collections/oai-models.const.ts +404 -404
  243. package/src/_modules/ai/_modules/open-ai/_enums/oai-model.enum.ts +179 -179
  244. package/src/_modules/ai/_modules/open-ai/_models/oai-call-settings.control-model.spec.ts +28 -28
  245. package/src/_modules/ai/_modules/open-ai/_models/oai-call-settings.control-model.ts +21 -21
  246. package/src/_modules/ai/_modules/open-ai/_models/oai-client-options.interface.ts +81 -81
  247. package/src/_modules/ai/_modules/open-ai/_models/oai-embedding-info.interface.ts +13 -13
  248. package/src/_modules/ai/_modules/open-ai/_models/oai-settings.control-model.spec.ts +22 -22
  249. package/src/_modules/ai/_modules/open-ai/_models/oai-settings.control-model.ts +25 -25
  250. package/src/_modules/ai/_modules/open-ai/_models/oai-user-provider-config.control-model.ts +21 -21
  251. package/src/_modules/ai/_modules/open-ai/index.ts +28 -28
  252. package/src/_modules/ai/index.ts +27 -27
  253. package/src/_modules/ci-tools/_enums/cit-ci-result-code.enum.ts +11 -11
  254. package/src/_modules/ci-tools/_enums/cit-ci-step-result-code.enum.ts +9 -9
  255. package/src/_modules/ci-tools/_models/cit-ci-result-info.data-models.spec.ts +58 -58
  256. package/src/_modules/ci-tools/_models/cit-ci-result-info.data-models.ts +77 -77
  257. package/src/_modules/ci-tools/_models/cit-ci-step-result.interface.ts +12 -12
  258. package/src/_modules/ci-tools/index.ts +8 -8
  259. package/src/_modules/crypto/_collections/crypto-v1.util.ts +225 -225
  260. package/src/_modules/crypto/_collections/crypto-v2.util.ts +331 -331
  261. package/src/_modules/crypto/_collections/crypto-v4.util.ts +702 -702
  262. package/src/_modules/crypto/_collections/crypto.util.db-envelope.spec.ts +51 -51
  263. package/src/_modules/crypto/_collections/crypto.util.edge.spec.ts +605 -605
  264. package/src/_modules/crypto/_collections/crypto.util.extra.spec.ts +642 -642
  265. package/src/_modules/crypto/_collections/crypto.util.simple.spec.ts +512 -512
  266. package/src/_modules/crypto/_collections/crypto.util.ts +748 -748
  267. package/src/_modules/crypto/_models/artifact-signature.interface.ts +39 -0
  268. package/src/_modules/crypto/_services/artifact-signature.control-service.spec.ts +223 -0
  269. package/src/_modules/crypto/_services/artifact-signature.control-service.ts +395 -0
  270. package/src/_modules/crypto/index.ts +16 -14
  271. package/src/_modules/custom-data/_collections/cud-module-settings.const.ts +21 -21
  272. package/src/_modules/custom-data/_models/cud.data-model.spec.ts +38 -38
  273. package/src/_modules/custom-data/_models/cud.data-model.ts +39 -39
  274. package/src/_modules/custom-data/index.ts +10 -10
  275. package/src/_modules/data-handler/_models/data-handler-settings.control-model.spec.ts +110 -110
  276. package/src/_modules/data-handler/_models/data-handler-settings.control-model.ts +110 -110
  277. package/src/_modules/data-handler/_models/data-handler.control-model.spec.ts +473 -473
  278. package/src/_modules/data-handler/_models/data-handler.control-model.ts +486 -486
  279. package/src/_modules/data-handler/_models/data-list-handler.control-model.spec.ts +263 -263
  280. package/src/_modules/data-handler/_models/data-list-handler.control-model.ts +252 -252
  281. package/src/_modules/data-handler/_models/data-search-handler.control-model.spec.ts +417 -417
  282. package/src/_modules/data-handler/_models/data-search-handler.control-model.ts +390 -390
  283. package/src/_modules/data-handler/_models/list-collector-data-handler.control-model.spec.ts +374 -374
  284. package/src/_modules/data-handler/_models/list-collector-data-handler.control-model.ts +274 -274
  285. package/src/_modules/data-handler/index.ts +6 -6
  286. package/src/_modules/game/_collections/audio-mixer.util.spec.ts +198 -198
  287. package/src/_modules/game/_collections/audio-mixer.util.ts +143 -143
  288. package/src/_modules/game/_collections/audio-scale.util.spec.ts +140 -140
  289. package/src/_modules/game/_collections/audio-scale.util.ts +129 -129
  290. package/src/_modules/game/_enums/audio-channel.enum.ts +22 -22
  291. package/src/_modules/game/_models/audio-mixer-config.interface.ts +53 -53
  292. package/src/_modules/game/_models/audio-mixer-settings.interface.ts +38 -38
  293. package/src/_modules/game/_models/audio-mixer-state.interface.ts +36 -36
  294. package/src/_modules/game/_models/audio-mixer.control-model.spec.ts +376 -376
  295. package/src/_modules/game/_models/audio-mixer.control-model.ts +419 -419
  296. package/src/_modules/game/_models/audio-scale.interface.ts +21 -21
  297. package/src/_modules/game/_models/seeded-random-state.interface.ts +21 -21
  298. package/src/_modules/game/_models/seeded-random.control-model.spec.ts +290 -290
  299. package/src/_modules/game/_models/seeded-random.control-model.ts +311 -311
  300. package/src/_modules/game/index.ts +15 -15
  301. package/src/_modules/location/_collections/assets/country-codes-ISO-3166.json +3239 -3239
  302. package/src/_modules/location/_collections/assets/country-divisions-ISO-3166-all-list.json +19035 -19035
  303. package/src/_modules/location/_collections/assets/country-divisions-ISO-3166.json +4993 -4993
  304. package/src/_modules/location/_collections/assets/country-phone-codes.json +1203 -1203
  305. package/src/_modules/location/_collections/assets/country-subdivisions/afghanistan.json +137 -137
  306. package/src/_modules/location/_collections/assets/country-subdivisions/albania.json +49 -49
  307. package/src/_modules/location/_collections/assets/country-subdivisions/algeria.json +193 -193
  308. package/src/_modules/location/_collections/assets/country-subdivisions/andorra.json +29 -29
  309. package/src/_modules/location/_collections/assets/country-subdivisions/angola.json +73 -73
  310. package/src/_modules/location/_collections/assets/country-subdivisions/antigua-and-barbuda.json +33 -33
  311. package/src/_modules/location/_collections/assets/country-subdivisions/argentina.json +97 -97
  312. package/src/_modules/location/_collections/assets/country-subdivisions/armenia.json +45 -45
  313. package/src/_modules/location/_collections/assets/country-subdivisions/australia.json +33 -33
  314. package/src/_modules/location/_collections/assets/country-subdivisions/austria.json +37 -37
  315. package/src/_modules/location/_collections/assets/country-subdivisions/azerbaijan.json +5 -5
  316. package/src/_modules/location/_collections/assets/country-subdivisions/bahamas.json +125 -125
  317. package/src/_modules/location/_collections/assets/country-subdivisions/bahrain.json +21 -21
  318. package/src/_modules/location/_collections/assets/country-subdivisions/bangladesh.json +29 -29
  319. package/src/_modules/location/_collections/assets/country-subdivisions/barbados.json +45 -45
  320. package/src/_modules/location/_collections/assets/country-subdivisions/belarus.json +29 -29
  321. package/src/_modules/location/_collections/assets/country-subdivisions/belgium.json +13 -13
  322. package/src/_modules/location/_collections/assets/country-subdivisions/belize.json +25 -25
  323. package/src/_modules/location/_collections/assets/country-subdivisions/benin.json +49 -49
  324. package/src/_modules/location/_collections/assets/country-subdivisions/bhutan.json +81 -81
  325. package/src/_modules/location/_collections/assets/country-subdivisions/bolivia.json +37 -37
  326. package/src/_modules/location/_collections/assets/country-subdivisions/bosnia-and-herzegovina.json +13 -13
  327. package/src/_modules/location/_collections/assets/country-subdivisions/botswana.json +65 -65
  328. package/src/_modules/location/_collections/assets/country-subdivisions/brazil.json +109 -109
  329. package/src/_modules/location/_collections/assets/country-subdivisions/brunei-darussalam.json +17 -17
  330. package/src/_modules/location/_collections/assets/country-subdivisions/bulgaria.json +113 -113
  331. package/src/_modules/location/_collections/assets/country-subdivisions/burkina-faso.json +53 -53
  332. package/src/_modules/location/_collections/assets/country-subdivisions/burundi.json +69 -69
  333. package/src/_modules/location/_collections/assets/country-subdivisions/cambodia.json +97 -97
  334. package/src/_modules/location/_collections/assets/country-subdivisions/cameroon.json +41 -41
  335. package/src/_modules/location/_collections/assets/country-subdivisions/canada.json +79 -79
  336. package/src/_modules/location/_collections/assets/country-subdivisions/cape-verde.json +9 -9
  337. package/src/_modules/location/_collections/assets/country-subdivisions/central-african-republic.json +69 -69
  338. package/src/_modules/location/_collections/assets/country-subdivisions/chad.json +89 -89
  339. package/src/_modules/location/_collections/assets/country-subdivisions/chile.json +61 -61
  340. package/src/_modules/location/_collections/assets/country-subdivisions/china.json +205 -205
  341. package/src/_modules/location/_collections/assets/country-subdivisions/colombia.json +133 -133
  342. package/src/_modules/location/_collections/assets/country-subdivisions/comoros.json +13 -13
  343. package/src/_modules/location/_collections/assets/country-subdivisions/congo-the-democratic-republic-of-the.json +45 -45
  344. package/src/_modules/location/_collections/assets/country-subdivisions/congo.json +49 -49
  345. package/src/_modules/location/_collections/assets/country-subdivisions/costa-rica.json +29 -29
  346. package/src/_modules/location/_collections/assets/country-subdivisions/cote-d-ivoire-republic-of.json +77 -77
  347. package/src/_modules/location/_collections/assets/country-subdivisions/croatia.json +85 -85
  348. package/src/_modules/location/_collections/assets/country-subdivisions/cuba.json +65 -65
  349. package/src/_modules/location/_collections/assets/country-subdivisions/cyprus.json +25 -25
  350. package/src/_modules/location/_collections/assets/country-subdivisions/czech-republic.json +57 -57
  351. package/src/_modules/location/_collections/assets/country-subdivisions/denmark.json +21 -21
  352. package/src/_modules/location/_collections/assets/country-subdivisions/djibouti.json +25 -25
  353. package/src/_modules/location/_collections/assets/country-subdivisions/dominica.json +41 -41
  354. package/src/_modules/location/_collections/assets/country-subdivisions/dominican-republic.json +41 -41
  355. package/src/_modules/location/_collections/assets/country-subdivisions/ecuador.json +97 -97
  356. package/src/_modules/location/_collections/assets/country-subdivisions/egypt.json +117 -117
  357. package/src/_modules/location/_collections/assets/country-subdivisions/el-salvador.json +57 -57
  358. package/src/_modules/location/_collections/assets/country-subdivisions/equatorial-guinea.json +9 -9
  359. package/src/_modules/location/_collections/assets/country-subdivisions/eritrea.json +25 -25
  360. package/src/_modules/location/_collections/assets/country-subdivisions/estonia.json +61 -61
  361. package/src/_modules/location/_collections/assets/country-subdivisions/ethiopia.json +45 -45
  362. package/src/_modules/location/_collections/assets/country-subdivisions/fiji.json +21 -21
  363. package/src/_modules/location/_collections/assets/country-subdivisions/finland.json +77 -77
  364. package/src/_modules/location/_collections/assets/country-subdivisions/france.json +133 -133
  365. package/src/_modules/location/_collections/assets/country-subdivisions/gabon.json +37 -37
  366. package/src/_modules/location/_collections/assets/country-subdivisions/gambia.json +25 -25
  367. package/src/_modules/location/_collections/assets/country-subdivisions/georgia.json +49 -49
  368. package/src/_modules/location/_collections/assets/country-subdivisions/germany.json +65 -65
  369. package/src/_modules/location/_collections/assets/country-subdivisions/ghana.json +41 -41
  370. package/src/_modules/location/_collections/assets/country-subdivisions/greece.json +53 -53
  371. package/src/_modules/location/_collections/assets/country-subdivisions/greenland.json +17 -17
  372. package/src/_modules/location/_collections/assets/country-subdivisions/grenada.json +29 -29
  373. package/src/_modules/location/_collections/assets/country-subdivisions/guatemala.json +89 -89
  374. package/src/_modules/location/_collections/assets/country-subdivisions/guinea-bissau.json +13 -13
  375. package/src/_modules/location/_collections/assets/country-subdivisions/guinea.json +33 -33
  376. package/src/_modules/location/_collections/assets/country-subdivisions/guyana.json +41 -41
  377. package/src/_modules/location/_collections/assets/country-subdivisions/haiti.json +41 -41
  378. package/src/_modules/location/_collections/assets/country-subdivisions/honduras.json +73 -73
  379. package/src/_modules/location/_collections/assets/country-subdivisions/hong-kong.json +4 -4
  380. package/src/_modules/location/_collections/assets/country-subdivisions/hungary.json +173 -173
  381. package/src/_modules/location/_collections/assets/country-subdivisions/iceland.json +37 -37
  382. package/src/_modules/location/_collections/assets/country-subdivisions/india.json +181 -181
  383. package/src/_modules/location/_collections/assets/country-subdivisions/indonesia.json +29 -29
  384. package/src/_modules/location/_collections/assets/country-subdivisions/iran-islamic-republic-of.json +125 -125
  385. package/src/_modules/location/_collections/assets/country-subdivisions/iraq.json +73 -73
  386. package/src/_modules/location/_collections/assets/country-subdivisions/ireland.json +17 -17
  387. package/src/_modules/location/_collections/assets/country-subdivisions/israel.json +25 -25
  388. package/src/_modules/location/_collections/assets/country-subdivisions/italy.json +81 -81
  389. package/src/_modules/location/_collections/assets/country-subdivisions/jamaica.json +57 -57
  390. package/src/_modules/location/_collections/assets/country-subdivisions/japan.json +189 -189
  391. package/src/_modules/location/_collections/assets/country-subdivisions/jordan.json +49 -49
  392. package/src/_modules/location/_collections/assets/country-subdivisions/kazakhstan.json +65 -65
  393. package/src/_modules/location/_collections/assets/country-subdivisions/kenya.json +33 -33
  394. package/src/_modules/location/_collections/assets/country-subdivisions/kiribati.json +13 -13
  395. package/src/_modules/location/_collections/assets/country-subdivisions/korea-democratic-people-s-republic-of.json +45 -45
  396. package/src/_modules/location/_collections/assets/country-subdivisions/korea-republic-of.json +69 -69
  397. package/src/_modules/location/_collections/assets/country-subdivisions/kuwait.json +25 -25
  398. package/src/_modules/location/_collections/assets/country-subdivisions/kyrgyzstan.json +33 -33
  399. package/src/_modules/location/_collections/assets/country-subdivisions/lao-people-s-democratic-republic.json +73 -73
  400. package/src/_modules/location/_collections/assets/country-subdivisions/latvia.json +477 -477
  401. package/src/_modules/location/_collections/assets/country-subdivisions/lebanon.json +33 -33
  402. package/src/_modules/location/_collections/assets/country-subdivisions/lesotho.json +41 -41
  403. package/src/_modules/location/_collections/assets/country-subdivisions/liberia.json +61 -61
  404. package/src/_modules/location/_collections/assets/country-subdivisions/libyan-arab-jamahiriya.json +89 -89
  405. package/src/_modules/location/_collections/assets/country-subdivisions/liechtenstein.json +45 -45
  406. package/src/_modules/location/_collections/assets/country-subdivisions/lithuania.json +41 -41
  407. package/src/_modules/location/_collections/assets/country-subdivisions/luxembourg.json +13 -13
  408. package/src/_modules/location/_collections/assets/country-subdivisions/macedonia-the-former-yugoslav-republic-of.json +337 -337
  409. package/src/_modules/location/_collections/assets/country-subdivisions/madagascar.json +25 -25
  410. package/src/_modules/location/_collections/assets/country-subdivisions/malawi.json +13 -13
  411. package/src/_modules/location/_collections/assets/country-subdivisions/malaysia.json +81 -81
  412. package/src/_modules/location/_collections/assets/country-subdivisions/maldives.json +33 -33
  413. package/src/_modules/location/_collections/assets/country-subdivisions/mali.json +37 -37
  414. package/src/_modules/location/_collections/assets/country-subdivisions/malta.json +273 -273
  415. package/src/_modules/location/_collections/assets/country-subdivisions/marshall-islands.json +9 -9
  416. package/src/_modules/location/_collections/assets/country-subdivisions/mauritania.json +53 -53
  417. package/src/_modules/location/_collections/assets/country-subdivisions/mauritius.json +69 -69
  418. package/src/_modules/location/_collections/assets/country-subdivisions/mexico.json +161 -161
  419. package/src/_modules/location/_collections/assets/country-subdivisions/micronesia-federated-states-of.json +17 -17
  420. package/src/_modules/location/_collections/assets/country-subdivisions/moldova-republic-of.json +149 -149
  421. package/src/_modules/location/_collections/assets/country-subdivisions/monaco.json +69 -69
  422. package/src/_modules/location/_collections/assets/country-subdivisions/mongolia.json +89 -89
  423. package/src/_modules/location/_collections/assets/country-subdivisions/montenegro.json +93 -93
  424. package/src/_modules/location/_collections/assets/country-subdivisions/morocco.json +65 -65
  425. package/src/_modules/location/_collections/assets/country-subdivisions/mozambique.json +45 -45
  426. package/src/_modules/location/_collections/assets/country-subdivisions/myanmar.json +57 -57
  427. package/src/_modules/location/_collections/assets/country-subdivisions/namibia.json +57 -57
  428. package/src/_modules/location/_collections/assets/country-subdivisions/nauru.json +57 -57
  429. package/src/_modules/location/_collections/assets/country-subdivisions/nepal.json +21 -21
  430. package/src/_modules/location/_collections/assets/country-subdivisions/netherlands.json +91 -91
  431. package/src/_modules/location/_collections/assets/country-subdivisions/new-zealand.json +111 -111
  432. package/src/_modules/location/_collections/assets/country-subdivisions/nicaragua.json +69 -69
  433. package/src/_modules/location/_collections/assets/country-subdivisions/niger.json +33 -33
  434. package/src/_modules/location/_collections/assets/country-subdivisions/nigeria.json +149 -149
  435. package/src/_modules/location/_collections/assets/country-subdivisions/norway.json +85 -85
  436. package/src/_modules/location/_collections/assets/country-subdivisions/oman.json +37 -37
  437. package/src/_modules/location/_collections/assets/country-subdivisions/pakistan.json +33 -33
  438. package/src/_modules/location/_collections/assets/country-subdivisions/palau.json +65 -65
  439. package/src/_modules/location/_collections/assets/country-subdivisions/palestinian-territory-occupied.json +65 -65
  440. package/src/_modules/location/_collections/assets/country-subdivisions/panama.json +53 -53
  441. package/src/_modules/location/_collections/assets/country-subdivisions/papua-new-guinea.json +81 -81
  442. package/src/_modules/location/_collections/assets/country-subdivisions/paraguay.json +73 -73
  443. package/src/_modules/location/_collections/assets/country-subdivisions/peru.json +105 -105
  444. package/src/_modules/location/_collections/assets/country-subdivisions/philippines.json +69 -69
  445. package/src/_modules/location/_collections/assets/country-subdivisions/poland.json +65 -65
  446. package/src/_modules/location/_collections/assets/country-subdivisions/portugal.json +81 -81
  447. package/src/_modules/location/_collections/assets/country-subdivisions/qatar.json +29 -29
  448. package/src/_modules/location/_collections/assets/country-subdivisions/romania.json +169 -169
  449. package/src/_modules/location/_collections/assets/country-subdivisions/russian-federation.json +499 -499
  450. package/src/_modules/location/_collections/assets/country-subdivisions/rwanda.json +21 -21
  451. package/src/_modules/location/_collections/assets/country-subdivisions/saint-helena-ascension-and-tristan-da-cunha.json +13 -13
  452. package/src/_modules/location/_collections/assets/country-subdivisions/saint-kitts-and-nevis.json +9 -9
  453. package/src/_modules/location/_collections/assets/country-subdivisions/saint-lucia.json +45 -45
  454. package/src/_modules/location/_collections/assets/country-subdivisions/saint-vincent-and-the-grenadines.json +25 -25
  455. package/src/_modules/location/_collections/assets/country-subdivisions/samoa.json +45 -45
  456. package/src/_modules/location/_collections/assets/country-subdivisions/san-marino.json +37 -37
  457. package/src/_modules/location/_collections/assets/country-subdivisions/sao-tome-and-principe.json +9 -9
  458. package/src/_modules/location/_collections/assets/country-subdivisions/saudi-arabia.json +53 -53
  459. package/src/_modules/location/_collections/assets/country-subdivisions/senegal.json +57 -57
  460. package/src/_modules/location/_collections/assets/country-subdivisions/serbia.json +9 -9
  461. package/src/_modules/location/_collections/assets/country-subdivisions/seychelles.json +101 -101
  462. package/src/_modules/location/_collections/assets/country-subdivisions/sierra-leone.json +17 -17
  463. package/src/_modules/location/_collections/assets/country-subdivisions/singapore.json +21 -21
  464. package/src/_modules/location/_collections/assets/country-subdivisions/slovakia.json +33 -33
  465. package/src/_modules/location/_collections/assets/country-subdivisions/slovenia.json +841 -841
  466. package/src/_modules/location/_collections/assets/country-subdivisions/solomon-islands.json +41 -41
  467. package/src/_modules/location/_collections/assets/country-subdivisions/somalia.json +73 -73
  468. package/src/_modules/location/_collections/assets/country-subdivisions/south-africa.json +37 -37
  469. package/src/_modules/location/_collections/assets/country-subdivisions/south-sudan.json +41 -41
  470. package/src/_modules/location/_collections/assets/country-subdivisions/spain.json +346 -346
  471. package/src/_modules/location/_collections/assets/country-subdivisions/sri-lanka.json +37 -37
  472. package/src/_modules/location/_collections/assets/country-subdivisions/sudan.json +69 -69
  473. package/src/_modules/location/_collections/assets/country-subdivisions/suriname.json +41 -41
  474. package/src/_modules/location/_collections/assets/country-subdivisions/swaziland.json +17 -17
  475. package/src/_modules/location/_collections/assets/country-subdivisions/sweden.json +85 -85
  476. package/src/_modules/location/_collections/assets/country-subdivisions/switzerland.json +105 -105
  477. package/src/_modules/location/_collections/assets/country-subdivisions/syrian-arab-republic.json +57 -57
  478. package/src/_modules/location/_collections/assets/country-subdivisions/taiwan-province-of-china.json +93 -93
  479. package/src/_modules/location/_collections/assets/country-subdivisions/tajikistan.json +17 -17
  480. package/src/_modules/location/_collections/assets/country-subdivisions/tanzania-united-republic-of.json +105 -105
  481. package/src/_modules/location/_collections/assets/country-subdivisions/thailand.json +313 -313
  482. package/src/_modules/location/_collections/assets/country-subdivisions/timor-leste.json +53 -53
  483. package/src/_modules/location/_collections/assets/country-subdivisions/togo.json +21 -21
  484. package/src/_modules/location/_collections/assets/country-subdivisions/tonga.json +21 -21
  485. package/src/_modules/location/_collections/assets/country-subdivisions/trinidad-and-tobago.json +65 -65
  486. package/src/_modules/location/_collections/assets/country-subdivisions/tunisia.json +97 -97
  487. package/src/_modules/location/_collections/assets/country-subdivisions/turkey.json +325 -325
  488. package/src/_modules/location/_collections/assets/country-subdivisions/turkmenistan.json +25 -25
  489. package/src/_modules/location/_collections/assets/country-subdivisions/tuvalu.json +33 -33
  490. package/src/_modules/location/_collections/assets/country-subdivisions/uganda.json +17 -17
  491. package/src/_modules/location/_collections/assets/country-subdivisions/ukraine.json +109 -109
  492. package/src/_modules/location/_collections/assets/country-subdivisions/united-arab-emirates.json +29 -29
  493. package/src/_modules/location/_collections/assets/country-subdivisions/united-kingdom.json +1196 -1196
  494. package/src/_modules/location/_collections/assets/country-subdivisions/united-states-minor-outlying-islands.json +37 -37
  495. package/src/_modules/location/_collections/assets/country-subdivisions/united-states.json +286 -286
  496. package/src/_modules/location/_collections/assets/country-subdivisions/uruguay.json +77 -77
  497. package/src/_modules/location/_collections/assets/country-subdivisions/uzbekistan.json +57 -57
  498. package/src/_modules/location/_collections/assets/country-subdivisions/vanuatu.json +25 -25
  499. package/src/_modules/location/_collections/assets/country-subdivisions/venezuela.json +101 -101
  500. package/src/_modules/location/_collections/assets/country-subdivisions/viet-nam.json +257 -257
  501. package/src/_modules/location/_collections/assets/country-subdivisions/yemen.json +85 -85
  502. package/src/_modules/location/_collections/assets/country-subdivisions/zambia.json +37 -37
  503. package/src/_modules/location/_collections/assets/country-subdivisions/zimbabwe.json +41 -41
  504. package/src/_modules/location/_collections/loc-country-divisions.const.ts +10 -10
  505. package/src/_modules/location/_collections/loc-country-isos.const.ts +8 -8
  506. package/src/_modules/location/_collections/loc-regions.util.spec.ts +61 -61
  507. package/src/_modules/location/_collections/loc-regions.util.ts +137 -137
  508. package/src/_modules/location/_collections/loc.util.spec.ts +52 -52
  509. package/src/_modules/location/_collections/loc.util.ts +74 -74
  510. package/src/_modules/location/_enums/loc-region.enum.ts +14 -14
  511. package/src/_modules/location/_enums/loc-sub-region.enum.ts +31 -31
  512. package/src/_modules/location/_enums/loc-subdivision-region-type.enum.ts +47 -47
  513. package/src/_modules/location/_models/loc-coordinates.interface.ts +7 -7
  514. package/src/_modules/location/_models/loc-country-division.interface.ts +8 -8
  515. package/src/_modules/location/_models/loc-country-iso.interface.ts +23 -23
  516. package/src/_modules/location/_models/loc-country-phone-code.interface.ts +9 -9
  517. package/src/_modules/location/_models/loc-division-collection.interface.ts +12 -12
  518. package/src/_modules/location/_models/loc-division-region-data.interface.ts +9 -9
  519. package/src/_modules/location/_models/loc-geo-ip-location.interface.ts +27 -27
  520. package/src/_modules/location/index.ts +22 -22
  521. package/src/_modules/messaging/README.md +279 -279
  522. package/src/_modules/messaging/_collections/msg-module-settings.const.ts +46 -46
  523. package/src/_modules/messaging/_enums/msg-attachment-type.enum.ts +26 -26
  524. package/src/_modules/messaging/_enums/msg-conversation-type.enum.ts +20 -20
  525. package/src/_modules/messaging/_enums/msg-delivery-status.enum.ts +17 -17
  526. package/src/_modules/messaging/_enums/msg-event-key.enum.ts +31 -31
  527. package/src/_modules/messaging/_enums/msg-participant-role.enum.ts +20 -20
  528. package/src/_modules/messaging/_enums/msg-provider-type.enum.ts +7 -7
  529. package/src/_modules/messaging/_enums/msg-status.enum.ts +26 -26
  530. package/src/_modules/messaging/_enums/msg-type.enum.ts +23 -23
  531. package/src/_modules/messaging/_models/msg-attachment.interface.ts +46 -46
  532. package/src/_modules/messaging/_models/msg-conversation.data-model.spec.ts +69 -69
  533. package/src/_modules/messaging/_models/msg-conversation.data-model.ts +96 -96
  534. package/src/_modules/messaging/_models/msg-mention.interface.ts +29 -29
  535. package/src/_modules/messaging/_models/msg-message.data-model.spec.ts +79 -79
  536. package/src/_modules/messaging/_models/msg-message.data-model.ts +127 -127
  537. package/src/_modules/messaging/_models/msg-participant.interface.ts +46 -46
  538. package/src/_modules/messaging/_models/msg-reaction.interface.ts +20 -20
  539. package/src/_modules/messaging/_models/msg-thread-info.interface.ts +35 -35
  540. package/src/_modules/messaging/_modules/agent/_enums/agt-process-step-type.enum.ts +35 -35
  541. package/src/_modules/messaging/_modules/agent/_enums/agt-tool-status.enum.ts +23 -23
  542. package/src/_modules/messaging/_modules/agent/_models/agt-process-step.interface.ts +55 -55
  543. package/src/_modules/messaging/_modules/agent/_models/agt-reasoning-info.interface.ts +26 -26
  544. package/src/_modules/messaging/_modules/agent/_models/agt-tool-usage.interface.ts +37 -37
  545. package/src/_modules/messaging/_modules/agent/index.ts +8 -8
  546. package/src/_modules/messaging/index.ts +28 -28
  547. package/src/_modules/ngx-models/_collections/angular-placeholders.ts +34 -34
  548. package/src/_modules/ngx-models/_collections/button-new-style-settings-presets.const.ts +181 -181
  549. package/src/_modules/ngx-models/_collections/dynamo-global.settings.spec.ts +74 -74
  550. package/src/_modules/ngx-models/_collections/dynamo-global.settings.ts +103 -103
  551. package/src/_modules/ngx-models/_enums/button-new/button-new-border-radius.enum.ts +16 -16
  552. package/src/_modules/ngx-models/_enums/button-new/button-new-icon-style-type.enum.ts +14 -14
  553. package/src/_modules/ngx-models/_enums/button-new/button-new-size.enum.ts +16 -16
  554. package/src/_modules/ngx-models/_enums/button-new/button-new-style-type.enum.ts +18 -18
  555. package/src/_modules/ngx-models/_enums/button-type.enum.ts +36 -36
  556. package/src/_modules/ngx-models/_enums/checkbox-label-position.enum.ts +8 -8
  557. package/src/_modules/ngx-models/_enums/container-type.enum.ts +11 -11
  558. package/src/_modules/ngx-models/_enums/errors/error-level.enum.ts +13 -13
  559. package/src/_modules/ngx-models/_enums/errors/error-notification-color.enum.ts +13 -13
  560. package/src/_modules/ngx-models/_enums/errors/error-ui-mode.enum.ts +13 -13
  561. package/src/_modules/ngx-models/_enums/field-appearance.enum.ts +14 -14
  562. package/src/_modules/ngx-models/_enums/field-type.enum.ts +52 -52
  563. package/src/_modules/ngx-models/_enums/file-type.enum.ts +12 -12
  564. package/src/_modules/ngx-models/_enums/flex/flex-layout-align.enum.ts +21 -21
  565. package/src/_modules/ngx-models/_enums/flex/flex-layout.enum.ts +5 -5
  566. package/src/_modules/ngx-models/_enums/form-access.enum.ts +9 -9
  567. package/src/_modules/ngx-models/_enums/form-reset-data.enum.ts +12 -12
  568. package/src/_modules/ngx-models/_enums/form-store-on.enum.ts +9 -9
  569. package/src/_modules/ngx-models/_enums/forms-new/field-new-validator-type.enum.ts +20 -20
  570. package/src/_modules/ngx-models/_enums/frames/header-item-type.enum.ts +15 -15
  571. package/src/_modules/ngx-models/_enums/frames/header-position.enum.ts +10 -10
  572. package/src/_modules/ngx-models/_enums/frames/side-nav-badge-color.enum.ts +13 -13
  573. package/src/_modules/ngx-models/_enums/html/input-types.enum.ts +27 -27
  574. package/src/_modules/ngx-models/_enums/material-color.enum.ts +16 -16
  575. package/src/_modules/ngx-models/_enums/material-tooltip-position.enum.ts +16 -16
  576. package/src/_modules/ngx-models/_enums/preconfigured-field-type.enum.ts +8 -8
  577. package/src/_modules/ngx-models/_enums/storage-type.enum.ts +15 -15
  578. package/src/_modules/ngx-models/_enums/validator-type.enum.ts +9 -9
  579. package/src/_modules/ngx-models/_enums/voice/audio-mime-type.enum.ts +14 -14
  580. package/src/_modules/ngx-models/_enums/voice/voice-provider-type.enum.ts +26 -26
  581. package/src/_modules/ngx-models/_enums/voice/voice-recorder-state.enum.ts +20 -20
  582. package/src/_modules/ngx-models/_models/control-models/button-new-style-settings.control-model.ts +37 -37
  583. package/src/_modules/ngx-models/_models/control-models/button-params.control-model.spec.ts +70 -70
  584. package/src/_modules/ngx-models/_models/control-models/button-params.control-model.ts +332 -332
  585. package/src/_modules/ngx-models/_models/control-models/chat/chat-column-layout-settings.control-model.ts +28 -28
  586. package/src/_modules/ngx-models/_models/control-models/data-handler-settings.control-model.spec.ts +90 -90
  587. package/src/_modules/ngx-models/_models/control-models/data-handler-settings.control-model.ts +134 -134
  588. package/src/_modules/ngx-models/_models/control-models/data-handler.control-model.ts +529 -529
  589. package/src/_modules/ngx-models/_models/control-models/errors/error-notification.control-model.ts +52 -52
  590. package/src/_modules/ngx-models/_models/control-models/errors/error-settings.control-model.ts +34 -34
  591. package/src/_modules/ngx-models/_models/control-models/errors/errors-pojo.spec.ts +86 -86
  592. package/src/_modules/ngx-models/_models/control-models/errors/errors-settings.control-model.ts +52 -52
  593. package/src/_modules/ngx-models/_models/control-models/field-settings.control-model.spec.ts +109 -109
  594. package/src/_modules/ngx-models/_models/control-models/field-settings.control-model.ts +133 -133
  595. package/src/_modules/ngx-models/_models/control-models/form-settings.control-model.spec.ts +109 -109
  596. package/src/_modules/ngx-models/_models/control-models/form-settings.control-model.ts +160 -160
  597. package/src/_modules/ngx-models/_models/control-models/forms-new/checkbox-field-new-settings.control-model.ts +25 -25
  598. package/src/_modules/ngx-models/_models/control-models/forms-new/date-field-new-settings.control-model.ts +26 -26
  599. package/src/_modules/ngx-models/_models/control-models/forms-new/date-range-field-new-settings.control-model.ts +42 -42
  600. package/src/_modules/ngx-models/_models/control-models/forms-new/datetime-field-new-settings.control-model.ts +35 -35
  601. package/src/_modules/ngx-models/_models/control-models/forms-new/datetime-range-field-new-settings.control-model.ts +35 -35
  602. package/src/_modules/ngx-models/_models/control-models/forms-new/field-new-settings.control-model.ts +85 -85
  603. package/src/_modules/ngx-models/_models/control-models/forms-new/field-new-types.ts +42 -42
  604. package/src/_modules/ngx-models/_models/control-models/forms-new/form-new-settings.control-model.ts +40 -40
  605. package/src/_modules/ngx-models/_models/control-models/forms-new/forms-new.spec.ts +179 -179
  606. package/src/_modules/ngx-models/_models/control-models/forms-new/index.ts +20 -20
  607. package/src/_modules/ngx-models/_models/control-models/forms-new/multiselect-field-new-settings.control-model.ts +27 -27
  608. package/src/_modules/ngx-models/_models/control-models/forms-new/number-field-new-settings.control-model.ts +24 -24
  609. package/src/_modules/ngx-models/_models/control-models/forms-new/password-field-new-settings.control-model.ts +35 -35
  610. package/src/_modules/ngx-models/_models/control-models/forms-new/radio-select-field-new-settings.control-model.ts +35 -35
  611. package/src/_modules/ngx-models/_models/control-models/forms-new/select-field-new-settings.control-model.ts +46 -46
  612. package/src/_modules/ngx-models/_models/control-models/forms-new/slider-field-new-settings.control-model.ts +37 -37
  613. package/src/_modules/ngx-models/_models/control-models/forms-new/slider-range-field-new-settings.control-model.ts +45 -45
  614. package/src/_modules/ngx-models/_models/control-models/forms-new/text-field-new-settings.control-model.ts +30 -30
  615. package/src/_modules/ngx-models/_models/control-models/forms-new/textarea-field-new-settings.control-model.ts +22 -22
  616. package/src/_modules/ngx-models/_models/control-models/frames/frames-pojo.spec.ts +108 -108
  617. package/src/_modules/ngx-models/_models/control-models/frames/header-item-settings.control-model.ts +52 -52
  618. package/src/_modules/ngx-models/_models/control-models/frames/main-frame-settings.control-model.ts +40 -40
  619. package/src/_modules/ngx-models/_models/control-models/frames/side-nav-item-settings.control-model.ts +55 -55
  620. package/src/_modules/ngx-models/_models/control-models/frames/side-nav-settings.control-model.ts +30 -30
  621. package/src/_modules/ngx-models/_models/control-models/select.control-model.spec.ts +45 -45
  622. package/src/_modules/ngx-models/_models/control-models/select.control-model.ts +28 -28
  623. package/src/_modules/ngx-models/_models/control-models/voice/voice-pojo.spec.ts +111 -111
  624. package/src/_modules/ngx-models/_models/control-models/voice/voice-providers-settings.control-model.ts +74 -74
  625. package/src/_modules/ngx-models/_models/control-models/voice/voice-record-button-settings.control-model.ts +42 -42
  626. package/src/_modules/ngx-models/_models/control-models/voice/voice-recorder-settings.control-model.ts +37 -37
  627. package/src/_modules/ngx-models/_models/interfaces/button-new-settings.interface.ts +74 -74
  628. package/src/_modules/ngx-models/_models/interfaces/confirm-settings.interface.ts +20 -20
  629. package/src/_modules/ngx-models/_models/interfaces/global-settings.interface.ts +67 -67
  630. package/src/_modules/ngx-models/_models/interfaces/select-options-custom-constructor.interface.ts +40 -40
  631. package/src/_modules/ngx-models/_models/interfaces/storage.service.spec.ts +18 -18
  632. package/src/_modules/ngx-models/_models/interfaces/storage.service.ts +40 -40
  633. package/src/_modules/ngx-models/_models/interfaces/voice/speak-options.interface.ts +19 -19
  634. package/src/_modules/ngx-models/_models/interfaces/voice/speak-result.interface.ts +14 -14
  635. package/src/_modules/ngx-models/_models/interfaces/voice/transcribe-options.interface.ts +14 -14
  636. package/src/_modules/ngx-models/_models/interfaces/voice/transcribe-result.interface.ts +15 -15
  637. package/src/_modules/ngx-models/_models/interfaces/voice/voice-profile.interface.ts +18 -18
  638. package/src/_modules/ngx-models/_models/interfaces/voice/voice-provider-init.interface.ts +21 -21
  639. package/src/_modules/ngx-models/_utils/shared.service.spec.ts +7 -7
  640. package/src/_modules/ngx-models/_utils/shared.service.ts +541 -541
  641. package/src/_modules/ngx-models/index.ts +110 -110
  642. package/src/_modules/pipe/_collections/pip-transforms.const.ts +42 -42
  643. package/src/_modules/pipe/_collections/utils/pip-country-pipe.util.spec.ts +47 -47
  644. package/src/_modules/pipe/_collections/utils/pip-country-pipe.util.ts +41 -41
  645. package/src/_modules/pipe/_collections/utils/pip-custom-pipe.util.spec.ts +39 -39
  646. package/src/_modules/pipe/_collections/utils/pip-custom-pipe.util.ts +30 -30
  647. package/src/_modules/pipe/_collections/utils/pip-division-pipe.util.spec.ts +41 -41
  648. package/src/_modules/pipe/_collections/utils/pip-division-pipe.util.ts +36 -36
  649. package/src/_modules/pipe/_collections/utils/pip-json-pipe.util.spec.ts +62 -62
  650. package/src/_modules/pipe/_collections/utils/pip-json-pipe.util.ts +17 -17
  651. package/src/_modules/pipe/_collections/utils/pip-list-pipe.util.spec.ts +34 -34
  652. package/src/_modules/pipe/_collections/utils/pip-list-pipe.util.ts +25 -25
  653. package/src/_modules/pipe/_collections/utils/pip-multi-pipe-pipe.util.spec.ts +67 -67
  654. package/src/_modules/pipe/_collections/utils/pip-multi-pipe-pipe.util.ts +226 -226
  655. package/src/_modules/pipe/_collections/utils/pip-obj-key-pipe.util.spec.ts +28 -28
  656. package/src/_modules/pipe/_collections/utils/pip-obj-key-pipe.util.ts +21 -21
  657. package/src/_modules/pipe/_collections/utils/pip-range-pipe.util.spec.ts +59 -59
  658. package/src/_modules/pipe/_collections/utils/pip-range-pipe.util.ts +106 -106
  659. package/src/_modules/pipe/_collections/utils/pip-region-pipe.util.spec.ts +31 -31
  660. package/src/_modules/pipe/_collections/utils/pip-region-pipe.util.ts +35 -35
  661. package/src/_modules/pipe/_collections/utils/pip-replace-pipe.util.spec.ts +44 -44
  662. package/src/_modules/pipe/_collections/utils/pip-replace-pipe.util.ts +23 -23
  663. package/src/_modules/pipe/_collections/utils/pip-slider-pipe.util.spec.ts +21 -21
  664. package/src/_modules/pipe/_collections/utils/pip-slider-pipe.util.ts +33 -33
  665. package/src/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.spec.ts +62 -62
  666. package/src/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.ts +80 -80
  667. package/src/_modules/pipe/_enums/pip-range-pipe-setting.enum.ts +15 -15
  668. package/src/_modules/pipe/_enums/pip.enum.ts +65 -65
  669. package/src/_modules/pipe/_models/pip-multi-pipe-settings.type.ts +8 -8
  670. package/src/_modules/pipe/_models/pip-transforms.interface.ts +30 -30
  671. package/src/_modules/pipe/index.ts +30 -30
  672. package/src/_modules/security/_collections/stored-secret.util.spec.ts +81 -81
  673. package/src/_modules/security/_collections/stored-secret.util.ts +96 -96
  674. package/src/_modules/security/_models/stored-secret.control-model.ts +55 -55
  675. package/src/_modules/security/index.ts +9 -9
  676. package/src/_modules/socket/_enums/sck-event-key.enum.ts +21 -21
  677. package/src/_modules/socket/_models/sck-client-params.control-model.spec.ts +67 -67
  678. package/src/_modules/socket/_models/sck-client-params.control-model.ts +50 -50
  679. package/src/_modules/socket/_models/sck-socket-event.control-model.spec.ts +89 -66
  680. package/src/_modules/socket/_models/sck-socket-event.control-model.ts +185 -172
  681. package/src/_modules/socket/_services/sck-client.service-base.spec.ts +99 -99
  682. package/src/_modules/socket/_services/sck-client.service-base.ts +353 -353
  683. package/src/_modules/socket/index.ts +14 -14
  684. package/src/_modules/state-machine/_models/state-machine-config.interface.ts +19 -19
  685. package/src/_modules/state-machine/_models/state-machine-event.interface.ts +25 -25
  686. package/src/_modules/state-machine/_models/state-machine.control-model.spec.ts +314 -314
  687. package/src/_modules/state-machine/_models/state-machine.control-model.ts +298 -298
  688. package/src/_modules/state-machine/_models/state-transition-result.interface.ts +53 -53
  689. package/src/_modules/state-machine/_models/state-transition.interface.ts +30 -30
  690. package/src/_modules/state-machine/index.ts +6 -6
  691. package/src/_modules/test/_collections/tst-module-settings.const.ts +67 -67
  692. package/src/_modules/test/index.ts +5 -5
  693. package/src/_modules/usage/_collections/usg-module-settings.const.ts +33 -33
  694. package/src/_modules/usage/_models/usg-action.control-model.spec.ts +27 -27
  695. package/src/_modules/usage/_models/usg-action.control-model.ts +28 -28
  696. package/src/_modules/usage/_models/usg-daily-usage-data.control-model.spec.ts +36 -36
  697. package/src/_modules/usage/_models/usg-daily-usage-data.control-model.ts +35 -35
  698. package/src/_modules/usage/_models/usg-data.control-model.spec.ts +41 -41
  699. package/src/_modules/usage/_models/usg-data.control-model.ts +35 -35
  700. package/src/_modules/usage/_models/usg-session.data-model.spec.ts +97 -97
  701. package/src/_modules/usage/_models/usg-session.data-model.ts +72 -72
  702. package/src/_modules/usage/index.ts +11 -11
  703. package/src/index.ts +104 -104
  704. package/tsconfig.app.json +12 -12
  705. package/tsconfig.json +31 -31
  706. package/tsconfig.test.json +16 -16
  707. package/tslint.json +153 -153
@@ -1,1280 +1,1280 @@
1
- import { DyFM_error_defaults } from '../../_collections/constants/error-defaults.const';
2
- import { DyFM_Log } from '../../_collections/utils/log.util';
3
- import { DyFM_Object } from '../../_collections/utils/object.util';
4
- import { DyFM_getLocalStackLocation } from '../../_collections/utils/stack.util';
5
- import { DyFM_ErrorLevel } from '../../_enums/error-level.enum';
6
- import { DyFM_LogStyle } from '../../_enums/log-style.enum';
7
- import { DyFM_Metadata } from '../data-models/metadata.data-model';
8
- import { DyFM_HttpErrorResponse, DyFM_httpErrorResponse_name } from './http/http-error-response.control-model';
9
-
10
- export const DyFM_errorFlag = 'DYNAMO-ERROR-OBJECT';
11
- export const DyFM_errorĐFlagParts= [
12
- 'DyNTS-',
13
- 'DyFM-',
14
- 'DyNX_',
15
- 'DyNM_',
16
- 'DyBu_',
17
- 'DyCLI_',
18
- ]
19
-
20
- export interface DyFM_ValidationError {
21
- message: string;
22
- /** @deprecated use message instead */
23
- userMessage?: string;
24
- code: string;
25
- }
26
-
27
- export type DyFM_ValidationErrors = {
28
- [key: string]: DyFM_ValidationError;
29
- }
30
-
31
- export type DyFM_AnyError = DyFM_Error | DyFM_HttpErrorResponse | Error | any | unknown;
32
- export type DyFM_NonHttpError = DyFM_Error | Error;
33
-
34
- export interface DyFM_Error_Settings {
35
- _id?: string;
36
-
37
- handled?: boolean;
38
- status?: number;
39
-
40
- errorCode?: string;
41
- message?: string;
42
- /** @deprecated use message instead */
43
- userMessage?: string;
44
- /** message translation code */
45
- userMessageTranslateCode?: string;
46
- addECToUserMsg?: boolean;
47
-
48
- error?: DyFM_AnyError;
49
- errors?: DyFM_AnyError[];
50
- validationErrors?: DyFM_ValidationErrors;
51
-
52
- issuer?: string;
53
- issuerSystem?: string;
54
- issuerService?: string;
55
- systemVersion?: string;
56
-
57
- level?: DyFM_ErrorLevel;
58
-
59
- levelUpThis?: boolean;
60
- additionalContent?: any;
61
- confidentialContent?: any;
62
- stack?: string;
63
-
64
- allowCircular?: boolean;
65
- modestLog?: boolean;
66
- log?: boolean;
67
-
68
- __localStack?: string;
69
- __created?: Date;
70
- __createdBy?: string;
71
- __lastModified?: Date;
72
- __lastModifiedBy?: string;
73
- __v?: number;
74
- }
75
-
76
- export class DyFM_Error extends Error implements DyFM_Metadata {
77
- readonly flag = DyFM_errorFlag + '-v2';
78
-
79
- // ─── DyFM_Metadata mezok (implements DyFM_Metadata) ─────────────────────────
80
- // A DyFM_Error mostantol `extends Error` — igy `err instanceof Error === true`, es a
81
- // Node 22 strict unhandled-rejection riport a VALODI throw-site stacket mutatja (a korabbi
82
- // `extends DyFM_Metadata` mellett a bare-object Promise rejection veletlen specet blame-elt).
83
- // A metadata-orokles helyett strukturalisan IMPLEMENTALJUK a DyFM_Metadata-t: a mezoket itt
84
- // deklaraljuk, az init-logikat a constructorban a DyFM_Metadata.applyMetadata statikus vegzi.
85
- _id?: string;
86
- __created?: Date;
87
- __createdBy?: string;
88
- __lastModified?: Date;
89
- __lastModifiedBy?: string;
90
- __v?: number;
91
- _deleted?: Date;
92
- _deletedBy?: string;
93
- _archived?: Date;
94
- _originalId?: string;
95
-
96
- _errorCode?: string;
97
- _errorCodes?: string[] = [];
98
-
99
- /** contains all sub error messages, in reversed order */
100
- _message?: string;
101
- _messages?: string[] = [];
102
-
103
- /** @deprecated use _message instead */
104
- __userMessage?: string;
105
- /** contains all sub error messages, in reversed order
106
- * @deprecated use _messages instead
107
- */
108
- __userMessages?: string[] = [];
109
- /** message translation code */
110
- __userMessageTranslateCode?: string;
111
-
112
- ___handled?: boolean;
113
- ___logged?: boolean;
114
- ___status?: number;
115
-
116
- ___issuer?: string;
117
- ___issuerSystem?: string;
118
- ___issuerService?: string;
119
- ___systemVersion?: string;
120
-
121
- error?: DyFM_AnyError;
122
- errors?: DyFM_AnyError[] = [];
123
- validationErrors?: DyFM_ValidationErrors;
124
-
125
- // `stack` az Error-bol jon (`extends Error`) — itt NEM deklaraljuk ujra, kulonben a
126
- // class-field-init undefined-dal felulirna a natancsolt stacket a super() utan.
127
- __localStack?: string;
128
-
129
- level?: DyFM_ErrorLevel;
130
-
131
- levelUpThis?: boolean;
132
- additionalContent?: any = {};
133
- confidentialContent?: any = {};
134
-
135
- constructor(
136
- set?: DyFM_Error_Settings
137
- ) {
138
- // az Error-constructort a nyers input-message-dzsel hivjuk (a vegleges _message kesobb all
139
- // ossze; a natancsolt Error.message-et a constructor vegen allitjuk ra) — super() KOTELEZOEN
140
- // az elso utasitas, a this- erintese elott.
141
- super(set?.message);
142
-
143
- // a natancsolt Error.name -> 'DyFM_Error' (non-enumerable, hogy a szerializalt shape ne
144
- // valtozzon): igy a logok / Node-riport "DyFM_Error: ..."-kent jelennek meg, nem "Error: ...".
145
- Object.defineProperty(this, 'name', {
146
- value: 'DyFM_Error',
147
- enumerable: false,
148
- writable: true,
149
- configurable: true,
150
- });
151
-
152
- // metadata-init: a korabbi `super(set, { issuer })` helyett (a super most az Error),
153
- // target-alapon a DyFM_Metadata.applyMetadata statikuson at.
154
- DyFM_Metadata.applyMetadata(
155
- this,
156
- set,
157
- {
158
- issuer: set?.issuerService ??
159
- (set?.error as DyFM_Error)?.___issuerService ??
160
- DyFM_error_defaults.issuerService,
161
- }
162
- );
163
-
164
- try {
165
- if (!set) {
166
- set = {};
167
- }
168
-
169
- /** set simple properties */
170
- this.___handled = Boolean(set.handled ?? (set.error as DyFM_Error)?.___handled);
171
- this.___status = set.status ?? (set.error as DyFM_Error)?.___status;
172
- this.___issuer = set.issuer ??
173
- (set.error as DyFM_Error)?.___issuer ??
174
- DyFM_error_defaults.issuer;
175
- this.___issuerSystem = set.issuerSystem ??
176
- (set.error as DyFM_Error)?.___issuerSystem ??
177
- DyFM_error_defaults.issuerSystem;
178
- this.___issuerService = set.issuerService ??
179
- (set.error as DyFM_Error)?.___issuerService ??
180
- DyFM_error_defaults.issuerService;
181
- this.___systemVersion = set.systemVersion ??
182
- (set.error as DyFM_Error)?.___systemVersion ??
183
- DyFM_error_defaults.systemVersion;
184
- this.__localStack = (set as DyFM_Error)?.__localStack ??
185
- (set.error as DyFM_Error)?.__localStack ??
186
- DyFM_getLocalStackLocation();
187
-
188
- this.validationErrors = set.validationErrors ?? (set.error as DyFM_Error)?.validationErrors;
189
-
190
- this.level = set.level ?? (set.error as DyFM_Error)?.level ?? DyFM_ErrorLevel.error;
191
-
192
- this.levelUpThis = set.levelUpThis;
193
-
194
- set.allowCircular = set.allowCircular ??
195
- set.additionalContent?.allowCircular ??
196
- (set.error as DyFM_Error)?.additionalContent?.allowCircular ??
197
- false;
198
-
199
- if (set.allowCircular) {
200
- this.additionalContent.allowCircular = true;
201
- }
202
-
203
- if (((set as DyFM_Error)?.error as DyFM_Error)?.___logged) {
204
- this.___logged = true;
205
- }
206
-
207
- if (
208
- !set.allowCircular &&
209
- set.additionalContent &&
210
- Object.keys(set.additionalContent)?.length
211
- ) {
212
- try {
213
- JSON.stringify(set.additionalContent);
214
- } catch {
215
- DyFM_Log.error(
216
- 'Internal Dynamo ERROR: additionalContent is not JSON.stringifyable... ' +
217
- '(it will be removed!)',
218
- '\nerrorCode:', set.errorCode,
219
- /* 'additionalContent:', set.additionalContent, */
220
- );
221
- delete set.additionalContent;
222
- }
223
- }
224
-
225
- if (
226
- !set.allowCircular &&
227
- !set.additionalContent?.allowCircular &&
228
- (set.error as DyFM_Error)?.additionalContent &&
229
- !(set.error as DyFM_Error)?.additionalContent?.allowCircular &&
230
- Object.keys((set.error as DyFM_Error)?.additionalContent)?.length
231
- ) {
232
- try {
233
- JSON.stringify((set.error as DyFM_Error)?.additionalContent);
234
- } catch {
235
- DyFM_Log.error(
236
- 'Internal Dynamo ERROR: additionalContent is not JSON.stringifyable... ' +
237
- '(it will be removed!)',
238
- '\nerrorCode:', set.errorCode,
239
- /* 'additionalContent:', (set.error as DyFM_Error)?.additionalContent, */
240
- );
241
- delete (set.error as DyFM_Error)?.additionalContent;
242
- }
243
- }
244
-
245
- // ADDITIONAL CONTENT
246
- if ((set.error as DyFM_Error)?.additionalContent) {
247
- Object.assign(this.additionalContent, (set.error as DyFM_Error)?.additionalContent);
248
- }
249
-
250
- if (set.additionalContent) {
251
- Object.assign(this.additionalContent, set.additionalContent);
252
- }
253
-
254
- // CONFIDENTIAL CONTENT
255
- if ((set.error as DyFM_Error)?.confidentialContent) {
256
- Object.assign(this.confidentialContent, (set.error as DyFM_Error)?.confidentialContent);
257
- }
258
-
259
- if (set.confidentialContent) {
260
- Object.assign(this.confidentialContent, set.confidentialContent);
261
- }
262
-
263
- // ERROR CODE
264
- if (!set.errorCode) {
265
- set.errorCode = DyFM_error_defaults.errorCode;
266
- }
267
-
268
- /** set default error (self defined) */
269
- if (!set.error) {
270
- set.error = new Error();
271
- const errorStack: string[] = set.error.stack?.split('\n');
272
-
273
- errorStack.splice(1, 1);
274
- set.error.stack = errorStack.join('\n');
275
- }
276
-
277
- if ((set as DyFM_NonHttpError)?.stack) {
278
- this.stack = (set as DyFM_NonHttpError)?.stack;
279
- } else if ((set.error as DyFM_NonHttpError)?.stack) {
280
- this.stack = (set.error as DyFM_NonHttpError)?.stack;
281
- } else if (
282
- (set.error as DyFM_HttpErrorResponse)?.name === DyFM_httpErrorResponse_name &&
283
- (set.error as DyFM_HttpErrorResponse)?.error?.stack
284
- ) {
285
- this.stack = (set.error as DyFM_HttpErrorResponse)?.error?.stack;
286
- } else {
287
- this.stack = new Error().stack;
288
- }
289
-
290
- /** set errorCodes */
291
- let previousErrorCodes: string[] = [];
292
-
293
- if ((set.error as DyFM_Error)?._errorCodes) {
294
- previousErrorCodes.push(...((set.error as DyFM_Error)?._errorCodes ?? []));
295
- }
296
-
297
- if (!set.errorCode) {
298
- set.errorCode = DyFM_error_defaults.errorCode;
299
- }
300
- previousErrorCodes = previousErrorCodes.filter(
301
- (code: string): boolean => code !== set.errorCode
302
- );
303
- this._errorCodes = [ ...previousErrorCodes, set.errorCode ].filter(Boolean);
304
-
305
- /** bring up non NTS and non default first error */
306
- const filteredErrorCodes: string[] = this._errorCodes.filter(
307
- (code: string): boolean =>
308
- code && code !== DyFM_error_defaults.errorCode &&
309
- !DyFM_errorĐFlagParts.some((part: string): boolean => code.includes(part))
310
- );
311
-
312
- this._errorCode = filteredErrorCodes[0] ?? this._errorCodes?.[0];
313
- const highlightedErrorCodeIndex: number = this._errorCodes.findIndex(
314
- (code: string): boolean => code === filteredErrorCodes?.[0]
315
- );
316
-
317
- /** set message */
318
- if (!set.message) {
319
- if (typeof set.error === 'string') {
320
- /** string error */
321
- set.message = set.error;
322
- } else if (
323
- !(set.error as DyFM_Error)?.flag?.includes('DYNAMO') &&
324
- (set.error as Error)?.message
325
- ) {
326
- /** simple - non-dynamo - error */
327
- set.message = (set.error as Error)?.message;
328
- } else if ((set.error as Error).stack) {
329
- /** error not defined - self defining */
330
- const posFull: string[] = (set.error as Error).stack?.split('\n')?.[1]?.split('\\');
331
-
332
- if (posFull?.[posFull?.length - 1]) {
333
- set.message = DyFM_error_defaults.message + '; ' + posFull[posFull.length - 1];
334
- } else {
335
- set.message = DyFM_error_defaults.message;
336
- }
337
- }
338
- }
339
- /** set messages */
340
- let previousMessages: string[] = [];
341
-
342
- if ((set.error as DyFM_Error)?._messages) {
343
- previousMessages.push(...((set.error as DyFM_Error)?._messages ?? []));
344
- } else if ((set.error as Error)?.message) {
345
- previousErrorCodes.push((set.error as Error)?.message);
346
- }
347
- previousMessages = previousMessages.filter(
348
- (msg: string): boolean => msg !== set.message
349
- );
350
- this._messages = [ ...previousMessages, set.message ].filter(Boolean);
351
-
352
- if (
353
- -1 < highlightedErrorCodeIndex &&
354
- this._messages[highlightedErrorCodeIndex] &&
355
- this._messages[highlightedErrorCodeIndex] !== DyFM_error_defaults.message
356
- ) {
357
- this._message = this._messages[highlightedErrorCodeIndex];
358
- } else {
359
- this._message = this._messages?.[0];
360
- }
361
-
362
- /** @deprecated use _messages instead */
363
- let previousUserMessages: string[] = [];
364
-
365
- if ((set.error as DyFM_Error)?.__userMessages) {
366
- previousUserMessages.push(...((set.error as DyFM_Error)?.__userMessages ?? []));
367
- }
368
-
369
- if (!set.userMessage) {
370
- set.userMessage = DyFM_error_defaults.userMessage;
371
- }
372
-
373
- // BFR-FDPTOKENSERVICE-013: (1) a `DyFM_error_defaults.addECToUserMsg === false` globális
374
- // kill-switch minden utótagot letilt (a kód a `_errorCode`-ban úgyis ott van);
375
- // (2) ha a userMessage MÁR hordoz `ErrorCode:` sort (wrapper-lánc), nem fűzünk újra —
376
- // a dupla-fűzés a KÜLSŐ wrapper kódját mutatta a valódi `_errorCode` helyett.
377
- if (
378
- set.addECToUserMsg &&
379
- DyFM_error_defaults.addECToUserMsg !== false &&
380
- set.userMessage !== DyFM_error_defaults.userMessage &&
381
- set.errorCode &&
382
- !set.userMessage.includes('ErrorCode: ')
383
- ) {
384
- set.userMessage += `\n ErrorCode: ${set.errorCode}`;
385
- }
386
- previousUserMessages = previousUserMessages.filter(
387
- (msg: string): boolean => msg !== set.userMessage
388
- );
389
- this.__userMessages = [ ...previousUserMessages, set.userMessage ].filter(Boolean);
390
-
391
- if (
392
- -1 < highlightedErrorCodeIndex &&
393
- this.__userMessages[highlightedErrorCodeIndex] &&
394
- this.__userMessages[highlightedErrorCodeIndex] !== DyFM_error_defaults.userMessage
395
- ) {
396
- this.__userMessage = this.__userMessages[highlightedErrorCodeIndex];
397
- } else {
398
- this.__userMessage = this.__userMessages.filter(
399
- (msg: string): boolean => msg && msg !== DyFM_error_defaults.userMessage
400
- )?.[0];
401
- }
402
-
403
- /** set userMessageTranslateCode */
404
- set.userMessageTranslateCode =
405
- set.userMessageTranslateCode ??
406
- (set.error as DyFM_Error)?.__userMessageTranslateCode;
407
-
408
- /** set errors */
409
- let previousErrors: DyFM_AnyError[] = [];
410
-
411
- if ((set.error as DyFM_Error)?.errors?.length) {
412
- previousErrors.push(...(set.error as DyFM_Error).errors);
413
- } else if (typeof (set.error as DyFM_Error)?.errors == 'object') {
414
- this.additionalContent.errors = (set.error as DyFM_Error).errors;
415
- }
416
- previousErrors = previousErrors.filter(
417
- (error: DyFM_AnyError): boolean => error !== set.error
418
- );
419
- this.errors = [ ...previousErrors, set.error ].filter(Boolean);
420
-
421
- if (set.errors) {
422
- if (0 < this.errors.length) {
423
- this.errors.push(...(set.errors ?? []));
424
- } else {
425
- this.errors.push(
426
- new Error('there are multiple errors. check errors after this one'),
427
- ...(set.errors ?? []),
428
- );
429
- }
430
- }
431
- this.error = this.errors?.[0];
432
- this.errors = this.errors.map((subError: DyFM_AnyError): any => {
433
- if ((subError as DyFM_Error)?.errors) {
434
- subError = { ...subError } as DyFM_Error;
435
- delete subError.errors;
436
- delete subError.additionalContent;
437
- }
438
-
439
- if (((subError as DyFM_Error).error as DyFM_Error)?.errors) {
440
- (subError as DyFM_Error).error = { ...(subError as DyFM_Error).error } as DyFM_Error;
441
- delete ((subError as DyFM_Error).error as DyFM_Error).errors;
442
- delete ((subError as DyFM_Error).error as DyFM_Error).additionalContent;
443
- }
444
-
445
- return subError;
446
- });
447
-
448
- this.errors = this.errors.filter((error: DyFM_AnyError): boolean =>
449
- Boolean(error) && (error instanceof Error || Boolean(Object.keys(error).length))
450
- );
451
-
452
- // ─── `extends Error` szerializacios igazitasok ─────────────────────────
453
- // A natancsolt Error a stacket NON-ENUMERABLE own-property-kent kezeli, igy a
454
- // `{ ...this }` spread (getErrorsFlat) es a JSON.stringify (getParsable / perzisztalas)
455
- // elejtene. Enumerable-kent ujradefinialjuk, hogy a szerializacios utak megtartsak.
456
- if (this.stack !== undefined) {
457
- Object.defineProperty(this, 'stack', {
458
- value: this.stack,
459
- enumerable: true,
460
- writable: true,
461
- configurable: true,
462
- });
463
- }
464
-
465
- // A natancsolt Error.message-et a sajat _message-unkre allitjuk (NON-enumerable marad,
466
- // hogy a szerializalt shape valtozatlan legyen — a forras tovabbra is a _message): igy a
467
- // `(err as Error).message` fogyasztok ES a Node 22 unhandled-rejection printer a valodi
468
- // uzenetet latjak, nem ures stringet.
469
- Object.defineProperty(this, 'message', {
470
- value: this._message ?? this.__userMessage ?? '',
471
- enumerable: false,
472
- writable: true,
473
- configurable: true,
474
- });
475
-
476
- DyFM_Object.safeCleanObject(this);
477
-
478
- if (!set.allowCircular) {
479
- this.errors = this.errors.filter((subError: DyFM_AnyError): boolean => {
480
- if (subError instanceof Error) {
481
- return true;
482
- }
483
-
484
- try {
485
- JSON.stringify(subError);
486
-
487
- return true;
488
- } catch (error) {
489
- DyFM_Log.error(
490
- 'Internal Dynamo ERROR: error is not JSON.stringifyable... ' +
491
- '(it will be removed!)',
492
- '\nerrorCode:', (subError as DyFM_Error)?._errorCode,
493
- );
494
-
495
- return false;
496
- }
497
- });
498
- }
499
-
500
-
501
-
502
- if (set.modestLog) {
503
- console.error(this._message ?? this.__userMessage ?? this.error);
504
- }
505
-
506
- if (set.log) {
507
- console.error(this);
508
- }
509
- } catch (error) {
510
- DyFM_Log.H_error(
511
- 'Internal Dynamo ERROR: Failed to create DyFM_Error...' +
512
- 'error:\n', error,
513
- 'stack:', new Error().stack,
514
- 'set:', set
515
- );
516
- }
517
- }
518
-
519
- getErrorSimplified(): DyFM_Error_Settings {
520
- return {
521
- errorCode: this._errorCode,
522
- message: this._message,
523
- userMessage: this.__userMessage,
524
- stack: this.stack,
525
- };
526
- }
527
-
528
- getErrorsFlat(): DyFM_Error {
529
- const error: any = { ...this };
530
-
531
- if ((error.error as DyFM_Error)?.error) {
532
- delete (error.error as DyFM_Error).error;
533
- }
534
-
535
- if ((error.error as DyFM_Error)?.errors) {
536
- delete (error.error as DyFM_Error).errors;
537
- }
538
-
539
- error.errors = error.errors.map(
540
- (subError: DyFM_Error): Partial<DyFM_Error> =>
541
- error instanceof Error ? error : ({ ...subError })
542
- );
543
-
544
- error.errors.forEach((subError: DyFM_Error): void => {
545
- if (subError.errors) {
546
- delete subError.errors;
547
- }
548
-
549
- if ((subError.error as DyFM_Error)?.errors) {
550
- delete (subError.error as DyFM_Error).errors;
551
- }
552
-
553
- if ((subError.error as DyFM_Error)?.error) {
554
- delete (subError.error as DyFM_Error).error;
555
- }
556
-
557
- if (subError.additionalContent) {
558
- delete subError.additionalContent;
559
- }
560
- });
561
-
562
- return error;
563
- }
564
-
565
- logShort(
566
- title: string,
567
- setLog?: boolean,
568
- forceLog?: boolean,
569
- /* logType?: DyFM_Log_Type, */
570
- ): void {
571
- if (this.___logged && !forceLog) {
572
- DyFM_Log.warn(`logShort: already logged (${this._errorCode})`);
573
- return;
574
- }
575
-
576
- /* switch (logType) { */
577
- DyFM_Log.testError(
578
- title,
579
- '\n ErrorCode:', this._errorCode,
580
- '\n Message:', this._message?.replaceAll?.('\n', '\n '),
581
- );
582
-
583
- if (setLog) {
584
- this.___logged = true;
585
- }
586
- }
587
-
588
- warnShort(
589
- title: string,
590
- setLog?: boolean,
591
- forceLog?: boolean,
592
- ): void {
593
- if (this.___logged && !forceLog) {
594
- DyFM_Log.warn(`warnShort: already logged (${this._errorCode})`);
595
- return;
596
- }
597
-
598
- DyFM_Log.testWarn(
599
- title,
600
- '\n ErrorCode:', this._errorCode,
601
- '\n Message:', this._message?.replaceAll?.('\n', '\n '),
602
- );
603
-
604
- if (setLog) {
605
- this.___logged = true;
606
- }
607
- }
608
-
609
- logSimple(
610
- title: string,
611
- logAdditionalContent?: boolean,
612
- forceLog?: boolean,
613
- logNodeModules?: boolean
614
- ): void {
615
- if (this.___logged && !forceLog) {
616
- DyFM_Log.warn(`logSimple: already logged ${title} (${this._message}; ${this._errorCode})`);
617
- return;
618
- }
619
-
620
- // remove node_modules from stack and replace with '...'
621
- /* const stack: string = this.stack?.split?.('\n').map((line: string): string => {
622
- if (line.includes('node_modules')) {
623
- return '...';
624
- }
625
- return line;
626
- }).filter((line: string, index: number, array: string[]): boolean => {
627
- if (line === '...' && index < array.length - 1 && array[index + 1] === '...') {
628
- return false;
629
- }
630
- return true;
631
- }).join('\n'); */
632
-
633
- DyFM_Log.H_error(
634
- title,
635
- `\n${DyFM_Log.errorStyle}ErrorCode:`, this._errorCode,
636
- `\n${DyFM_Log.errorStyle}${DyFM_LogStyle.bold}Message:`,
637
- this._message?.replaceAll?.('\n', '\n '),
638
- `\n\n${DyFM_LogStyle.reset}${DyFM_Log.errorStyle}UserMessage:`,
639
- this.__userMessage?.replaceAll?.('\n', '\n '),
640
- this.__localStack ?
641
- `\n${DyFM_Log.errorStyle}LocalStack:\n ` + this.__localStack : '',
642
- `\n\n${DyFM_Log.errorStyle}Stack:`, this.stack?.replaceAll?.('\n', '\n '),
643
- logAdditionalContent && this.additionalContent ?
644
- `\n\n${DyFM_Log.errorStyle}AdditionalContent:\n` + this.additionalContent : '',
645
- );
646
-
647
- this.___logged = true;
648
- }
649
-
650
- /* static getSimpleLogContent(error: DyFM_Error): string {
651
- return `\n${DyFM_Log.errorStyle}ErrorCode:`, this._errorCode,
652
- `\n${DyFM_Log.errorStyle}${DyFM_LogStyle.bold}Message:`,
653
- this._message?.replaceAll?.('\n', '\n '),
654
- `\n\n${DyFM_LogStyle.reset}${DyFM_Log.errorStyle}UserMessage:`,
655
- this.__userMessage?.replaceAll?.('\n', '\n '),
656
- this.__localStack ?
657
- `\n${DyFM_Log.errorStyle}LocalStack:\n ` + this.__localStack : '',
658
- `\n\n${DyFM_Log.errorStyle}Stack:`, this.stack?.replaceAll?.('\n', '\n '),
659
- logAdditionalContent && this.additionalContent ?
660
- `\n\n${DyFM_Log.errorStyle}AdditionalContent:\n` + this.additionalContent : '' */
661
-
662
- /**
663
- * Checks if the error is parsable,
664
- * simplifies the error,
665
- * and returns the error as a string.
666
- */
667
- getParsable(): string {
668
- try {
669
- const flat = this.getErrorsFlat();
670
- return JSON.stringify(flat);
671
- } catch (error) {
672
- DyFM_Log.error('Error getting parsable error', error);
673
- return JSON.stringify(this.getErrorSimplified());
674
- }
675
- }
676
-
677
- static logSimple(message: string, error: DyFM_AnyError): void {
678
- if (error instanceof DyFM_Error) {
679
- error.logSimple(message);
680
- } else {
681
- DyFM_Log.T_error(message, error);
682
- }
683
- }
684
-
685
- static getErrorMessage(error: DyFM_AnyError): string {
686
- return (error as DyFM_Error)?._message ??
687
- (error as Error)?.message ??
688
- ((error as DyFM_HttpErrorResponse)?.error as DyFM_Error)?._message ??
689
- ((error as DyFM_HttpErrorResponse)?.error as Error)?.message;
690
- }
691
-
692
- /**
693
- * Returns the message of the error.
694
- * Returns the userMessage if the message is not set.
695
- * (prioritizes the message over the userMessage)
696
- */
697
- static getAnyMessage(error: DyFM_AnyError): string {
698
- return this.getErrorMessage(error) ?? this.getUserMessage(error);
699
- }
700
-
701
- static getUserMessage(error: DyFM_AnyError): string {
702
- return (error as DyFM_Error)?.__userMessage ??
703
- ((error as DyFM_HttpErrorResponse)?.error as DyFM_Error)?.__userMessage ??
704
- (error as DyFM_Error_Settings)?.userMessage;
705
- }
706
-
707
- /**
708
- * Returns the user message of the error.
709
- * Returns the message if the userMessage is not set.
710
- * (prioritizes the userMessage over the message)
711
- */
712
- static getAnyUserMessage(error: DyFM_AnyError): string {
713
- return this.getUserMessage(error) ?? this.getErrorMessage(error);
714
- }
715
-
716
- /**
717
- * A hiba szemantikus szöveges változata: saját üzenet + zárójelben a _messages lista első eleme
718
- * (gyökér Dynamo Error üzenete), ha van lánc. Nem az object láncon járunk végig, a _messages-t használjuk.
719
- */
720
- static getSemanticMessage(error: DyFM_AnyError): string {
721
- const ourMessage: string = this.getErrorMessage(error);
722
- if (!this.isDyFMError(error)) {
723
- return ourMessage;
724
- }
725
- const messages: string[] | undefined = (error as DyFM_Error)._messages;
726
- const firstMessage: string | undefined =
727
- messages && messages.length > 1 ? messages[0] : undefined;
728
- if (firstMessage && firstMessage !== ourMessage) {
729
- return `${ourMessage} (${firstMessage})`;
730
- }
731
- return ourMessage;
732
- }
733
-
734
- static getErrorStatus(error: DyFM_AnyError): number {
735
- return (error as DyFM_Error)?.___status ??
736
- (error as DyFM_HttpErrorResponse)?.status ??
737
- ((error as DyFM_HttpErrorResponse)?.error as DyFM_Error)?.___status ?? 500;
738
- }
739
-
740
- static getErrorCode(error: DyFM_AnyError): string {
741
- return (error as DyFM_Error)?._errorCode ??
742
- ((error as DyFM_HttpErrorResponse)?.error as DyFM_Error)?._errorCode ??
743
- (error as any)?.errorCode ??
744
- (error as any)?.error?.errorCode ??
745
- (error as any)?.code ??
746
- (error as any)?.error?.code;
747
- }
748
-
749
- static getErrorStack(error: DyFM_AnyError): string {
750
- return (error as DyFM_Error)?.stack ??
751
- ((error as DyFM_HttpErrorResponse)?.error as DyFM_NonHttpError)?.stack;
752
- }
753
-
754
- static isDyFMError(error: any): error is DyFM_Error {
755
- return (error as DyFM_Error)?.flag?.includes('DYNAMO');
756
- }
757
-
758
- static isAnyDyFMError(error: any): error is DyFM_AnyError {
759
- return this.isDyFMError(error) ||
760
- (error as DyFM_HttpErrorResponse)?.name === DyFM_httpErrorResponse_name ||
761
- error instanceof Error;
762
- }
763
-
764
- static deleteErrorContent(error: DyFM_Error): void {
765
- delete error.confidentialContent;
766
- delete error.additionalContent;
767
- delete error.error;
768
- delete error.errors;
769
- delete error.stack;
770
- }
771
-
772
- static getStatusText(status: number): string {
773
- switch (status) {
774
- case 100:
775
- return 'Continue';
776
- case 101:
777
- return 'Switching Protocols';
778
- case 102:
779
- return 'Processing';
780
- case 103:
781
- return 'Early Hints';
782
-
783
- case 200:
784
- return 'OK';
785
- case 201:
786
- return 'Created';
787
- case 202:
788
- return 'Accepted';
789
- case 203:
790
- return 'Non-Authoritative Information';
791
- case 204:
792
- return 'No Content';
793
- case 205:
794
- return 'Reset Content';
795
- case 206:
796
- return 'Partial Content';
797
- case 207:
798
- return 'Multi-Status';
799
- case 208:
800
- return 'Already Reported';
801
- case 226:
802
- return 'IM Used';
803
-
804
- case 300:
805
- return 'Multiple Choices';
806
- case 301:
807
- return 'Moved Permanently';
808
- case 302:
809
- return 'Found';
810
- case 303:
811
- return 'See Other';
812
- case 304:
813
- return 'Not Modified';
814
- case 305:
815
- return 'Use Proxy';
816
- case 306:
817
- return 'Switch Proxy';
818
- case 307:
819
- return 'Temporary Redirect';
820
- case 308:
821
- return 'Permanent Redirect';
822
-
823
- case 400:
824
- return 'Bad Request';
825
- case 401:
826
- return 'Unauthorized';
827
- case 402:
828
- return 'Payment Required';
829
- case 403:
830
- return 'Forbidden';
831
- case 404:
832
- return 'Not Found';
833
- case 405:
834
- return 'Method Not Allowed';
835
- case 406:
836
- return 'Not Acceptable';
837
- case 407:
838
- return 'Proxy Authentication Required';
839
- case 408:
840
- return 'Request Timeout';
841
- case 409:
842
- return 'Conflict';
843
- case 410:
844
- return 'Gone';
845
- case 411:
846
- return 'Length Required';
847
- case 412:
848
- return 'Precondition Failed';
849
- case 413:
850
- return 'Payload Too Large';
851
- case 414:
852
- return 'URI Too Long';
853
- case 415:
854
- return 'Unsupported Media Type';
855
- case 416:
856
- return 'Range Not Satisfiable';
857
- case 417:
858
- return 'Expectation Failed';
859
- case 418:
860
- return "I'm a teapot";
861
- case 421:
862
- return 'Misdirected Request';
863
- case 422:
864
- return 'Unprocessable Entity';
865
- case 423:
866
- return 'Locked';
867
- case 424:
868
- return 'Failed Dependency';
869
- case 425:
870
- return 'Too Early';
871
- case 426:
872
- return 'Upgrade Required';
873
- case 428:
874
- return 'Precondition Required';
875
- case 429:
876
- return 'Too Many Requests';
877
- case 431:
878
- return 'Request Header Fields Too Large';
879
- case 451:
880
- return 'Unavailable For Legal Reasons';
881
-
882
- case 500:
883
- return 'Internal Server Error';
884
- case 501:
885
- return 'Not Implemented';
886
- case 502:
887
- return 'Bad Gateway';
888
- case 503:
889
- return 'Service Unavailable';
890
- case 504:
891
- return 'Gateway Timeout';
892
- case 505:
893
- return 'HTTP Version Not Supported';
894
- case 506:
895
- return 'Variant Also Negotiates';
896
- case 507:
897
- return 'Insufficient Storage';
898
- case 508:
899
- return 'Loop Detected';
900
- case 510:
901
- return 'Not Extended';
902
- case 511:
903
- return 'Network Authentication Required';
904
-
905
- default:
906
- return 'Unknown';
907
- }
908
- }
909
- }
910
-
911
- /*
912
-
913
- // //
914
- // RESPONSE STATUS //
915
- // //
916
-
917
- 1XX informational response
918
-
919
- 100 Continue
920
- 101 Switching Protocols
921
- 102 Processing
922
- 103 Early Hints
923
-
924
-
925
- 2XX success
926
-
927
- 200 OK
928
- 201 Created
929
- 202 Accepted
930
- 203 Non-Authoritative Information
931
- 204 No Content
932
- 205 Reset Content
933
- 206 Partial Content
934
- 207 Multi-Status
935
- 208 Already Reported
936
- 226 IM Used
937
-
938
-
939
- 3XX redirection
940
-
941
- 300 Multiple Choices
942
- 301 Moved Permanently
943
- 302 Found
944
- 303 See Other
945
- 304 Not Modified
946
- 305 Use Proxy
947
- 306 Switch Proxy
948
- 307 Temporary Redirect
949
- 308 Permanent Redirect
950
-
951
-
952
- 4XX client n network errors
953
-
954
- 400 Bad Request
955
- 401 Unauthorized
956
- 402 Payment Required
957
- 403 Forbidden
958
- 404 Not Found
959
- 405 Method Not Allowed
960
- 406 Not Acceptable
961
- 407 Proxy Authentication Required
962
- 408 Request Timeout
963
- 409 Conflict
964
- 410 Gone
965
- 411 Length Required
966
- 412 Precondition Failed
967
- 413 Payload Too Large
968
- 414 URI Too Long
969
- 415 Unsupported Media Type
970
- 416 Range Not Satisfiable
971
- 417 Expectation Failed
972
- 418 I'm a teapot
973
- 421 Misdirected Request
974
- 422 Unprocessable Entity
975
- 423 Locked
976
- 424 Failed Dependency
977
- 425 Too Early
978
- 426 Upgrade Required
979
- 428 Precondition Required
980
- 429 Too Many Requests
981
- 431 Request Header Fields Too Large
982
- 451 Unavailable For Legal Reasons
983
-
984
-
985
- 5XX server errors
986
-
987
- 500 Internal Server Error
988
- 501 Not Implemented
989
- 502 Bad Gateway
990
- 503 Service Unavailable
991
- 504 Gateway Timeout
992
- 505 HTTP Version Not Supported
993
- 506 Variant Also Negotiates
994
- 507 Insufficient Storage
995
- 508 Loop Detected
996
- 510 Not Extended
997
- 511 Network Authentication Required
998
-
999
-
1000
- Unofficial codes
1001
-
1002
- 103 Checkpoint
1003
-
1004
- 218 This is fine (Apache Web Server)
1005
-
1006
- 419 Page Expired (Laravel Framework)
1007
- 420 Enhance Your Calm (Twitter)
1008
- 430 Request Header Fields Too Large (Shopify)
1009
- 440 Login Time-out
1010
- 444 No Response
1011
- 449 Retry With
1012
- 450 Blocked by Windows Parental Controls (Microsoft)
1013
- 451 Redirect
1014
- 494 Request header too large
1015
- 495 SSL Certificate Error
1016
- 496 SSL Certificate Required
1017
- 497 HTTP Request Sent to HTTPS Port
1018
- 498 Invalid Token (Esri)
1019
- 499 Client Closed Request
1020
- 499 Token Required (Esri)
1021
-
1022
- 509 Bandwidth Limit Exceeded (Apache Web Server/cPanel)
1023
- 520 Web Server Returned an any Error
1024
- 521 Web Server Is Down
1025
- 522 Connection Timed Out
1026
- 523 Origin Is Unreachable
1027
- 524 A Timeout Occurred
1028
- 525 SSL Handshake Failed
1029
- 526 Invalid SSL Certificate
1030
- 527 Railgun Error
1031
- 529 Site is overloaded
1032
- 530 Site is frozen
1033
- 598 (Informal convention) Network read timeout error
1034
-
1035
-
1036
-
1037
- 530
1038
-
1039
- 460
1040
- 463
1041
-
1042
- */
1043
-
1044
-
1045
-
1046
-
1047
- /**
1048
- * Returns the average of two numbers.
1049
- *
1050
- * @remarks
1051
- * This method is part of the {@link core-library#Statistics | Statistics subsystem}.
1052
- *
1053
- * @param x - The first input number
1054
- * @param y - The second input number
1055
- * @returns The arithmetic mean of `x` and `y`
1056
- *
1057
- * @beta
1058
- * @returns true if the specified tag is surrounded with `{`
1059
- * and `}` characters.
1060
- *
1061
- * @example
1062
- * Prints "true" for `{@link}` but "false" for `@internal`:
1063
- * ```ts
1064
- * console.log(isInlineTag('{@link}'));
1065
- * console.log(isInlineTag('@internal'));
1066
- * ```
1067
- *
1068
- *
1069
- * @alpha
1070
- * v
1071
- * sadfas d
1072
- * fs
1073
- * daf
1074
- * d as
1075
- * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1076
- * a
1077
- * @beta
1078
- * v
1079
- * sadfas d
1080
- * fs
1081
- * daf
1082
- * d as
1083
- * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1084
- * b
1085
- * @decorator
1086
- * v
1087
- * sadfas d
1088
- * fs
1089
- * daf
1090
- * d as
1091
- * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1092
- * dc
1093
- * @deprecated
1094
- * v
1095
- * sadfas d
1096
- * fs
1097
- * daf
1098
- * d as
1099
- * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1100
- * dp
1101
- * @defaultValue
1102
- * v
1103
- * sadfas d
1104
- * fs
1105
- * daf
1106
- * d as
1107
- * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1108
- * dv
1109
- * @eventProperty
1110
- * v
1111
- * sadfas d
1112
- * fs
1113
- * daf
1114
- * d as
1115
- * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1116
- * ep
1117
- * @example
1118
- * v
1119
- * sadfas d
1120
- * fs
1121
- * daf
1122
- * d as
1123
- * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1124
- * ex
1125
- * @experimental
1126
- * v
1127
- * sadfas d
1128
- * fs
1129
- * daf
1130
- * d as
1131
- * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1132
- * exp
1133
- * @inheritDoc
1134
- * v
1135
- * sadfas d
1136
- * fs
1137
- * daf
1138
- * d as
1139
- * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1140
- * in
1141
- * @internal
1142
- * v
1143
- * sadfas d
1144
- * fs
1145
- * daf
1146
- * d as
1147
- * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1148
- * int
1149
- * @label
1150
- * v
1151
- * sadfas d
1152
- * fs
1153
- * daf
1154
- * d as
1155
- * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1156
- * lab
1157
- * @link
1158
- * v
1159
- * sadfas d
1160
- * fs
1161
- * daf
1162
- * d as
1163
- * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1164
- * li
1165
- * @override
1166
- * v
1167
- * sadfas d
1168
- * fs
1169
- * daf
1170
- * d as
1171
- * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1172
- * v
1173
- * sadfas d
1174
- * fs
1175
- * daf
1176
- * d as
1177
- * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1178
- * ov
1179
- * @packageDocumentation
1180
- * v
1181
- * sadfas d
1182
- * fs
1183
- * daf
1184
- * d as
1185
- * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1186
- * pad
1187
- * @param
1188
- * v
1189
- * sadfas d
1190
- * fs
1191
- * daf
1192
- * d as
1193
- * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1194
- * par
1195
- * @privateRemarks
1196
- * v
1197
- * sadfas d
1198
- * fs
1199
- * daf
1200
- * d as
1201
- * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1202
- * pr
1203
- * @public
1204
- * v
1205
- * sadfas d
1206
- * fs
1207
- * daf
1208
- * d as
1209
- * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1210
- * p
1211
- * @readonly
1212
- * v
1213
- * sadfas d
1214
- * fs
1215
- * daf
1216
- * d as
1217
- * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1218
- * re
1219
- * @remarks
1220
- * v
1221
- * sadfas d
1222
- * fs
1223
- * daf
1224
- * d as
1225
- * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1226
- * rem
1227
- * @returns
1228
- * v
1229
- * sadfas d
1230
- * fs
1231
- * daf
1232
- * d as
1233
- * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1234
- * ret
1235
- * @sealed
1236
- * v
1237
- * sadfas d
1238
- * fs
1239
- * daf
1240
- * d as
1241
- * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1242
- * sea
1243
- * @see
1244
- * v
1245
- * sadfas d
1246
- * fs
1247
- * daf
1248
- * d as
1249
- * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1250
- * see
1251
- * @throws
1252
- * v
1253
- * sadfas d
1254
- * fs
1255
- * daf
1256
- * d as
1257
- * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1258
- * th
1259
- * @typeParam
1260
- * v
1261
- * sadfas d
1262
- * fs
1263
- * daf
1264
- * d as
1265
- * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1266
- * typ
1267
- * @virtual
1268
- * v
1269
- * sadfas d
1270
- * fs
1271
- * daf
1272
- * d as
1273
- * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1274
- *
1275
- *
1276
- * @see {@link http://example.com/@internal LINK}
1277
- * @see {@link http://example.com/@internal http://example.com/@internal}
1278
- */
1279
- export interface TestDocumentationComments {}
1280
-
1
+ import { DyFM_error_defaults } from '../../_collections/constants/error-defaults.const';
2
+ import { DyFM_Log } from '../../_collections/utils/log.util';
3
+ import { DyFM_Object } from '../../_collections/utils/object.util';
4
+ import { DyFM_getLocalStackLocation } from '../../_collections/utils/stack.util';
5
+ import { DyFM_ErrorLevel } from '../../_enums/error-level.enum';
6
+ import { DyFM_LogStyle } from '../../_enums/log-style.enum';
7
+ import { DyFM_Metadata } from '../data-models/metadata.data-model';
8
+ import { DyFM_HttpErrorResponse, DyFM_httpErrorResponse_name } from './http/http-error-response.control-model';
9
+
10
+ export const DyFM_errorFlag = 'DYNAMO-ERROR-OBJECT';
11
+ export const DyFM_errorĐFlagParts= [
12
+ 'DyNTS-',
13
+ 'DyFM-',
14
+ 'DyNX_',
15
+ 'DyNM_',
16
+ 'DyBu_',
17
+ 'DyCLI_',
18
+ ]
19
+
20
+ export interface DyFM_ValidationError {
21
+ message: string;
22
+ /** @deprecated use message instead */
23
+ userMessage?: string;
24
+ code: string;
25
+ }
26
+
27
+ export type DyFM_ValidationErrors = {
28
+ [key: string]: DyFM_ValidationError;
29
+ }
30
+
31
+ export type DyFM_AnyError = DyFM_Error | DyFM_HttpErrorResponse | Error | any | unknown;
32
+ export type DyFM_NonHttpError = DyFM_Error | Error;
33
+
34
+ export interface DyFM_Error_Settings {
35
+ _id?: string;
36
+
37
+ handled?: boolean;
38
+ status?: number;
39
+
40
+ errorCode?: string;
41
+ message?: string;
42
+ /** @deprecated use message instead */
43
+ userMessage?: string;
44
+ /** message translation code */
45
+ userMessageTranslateCode?: string;
46
+ addECToUserMsg?: boolean;
47
+
48
+ error?: DyFM_AnyError;
49
+ errors?: DyFM_AnyError[];
50
+ validationErrors?: DyFM_ValidationErrors;
51
+
52
+ issuer?: string;
53
+ issuerSystem?: string;
54
+ issuerService?: string;
55
+ systemVersion?: string;
56
+
57
+ level?: DyFM_ErrorLevel;
58
+
59
+ levelUpThis?: boolean;
60
+ additionalContent?: any;
61
+ confidentialContent?: any;
62
+ stack?: string;
63
+
64
+ allowCircular?: boolean;
65
+ modestLog?: boolean;
66
+ log?: boolean;
67
+
68
+ __localStack?: string;
69
+ __created?: Date;
70
+ __createdBy?: string;
71
+ __lastModified?: Date;
72
+ __lastModifiedBy?: string;
73
+ __v?: number;
74
+ }
75
+
76
+ export class DyFM_Error extends Error implements DyFM_Metadata {
77
+ readonly flag = DyFM_errorFlag + '-v2';
78
+
79
+ // ─── DyFM_Metadata mezok (implements DyFM_Metadata) ─────────────────────────
80
+ // A DyFM_Error mostantol `extends Error` — igy `err instanceof Error === true`, es a
81
+ // Node 22 strict unhandled-rejection riport a VALODI throw-site stacket mutatja (a korabbi
82
+ // `extends DyFM_Metadata` mellett a bare-object Promise rejection veletlen specet blame-elt).
83
+ // A metadata-orokles helyett strukturalisan IMPLEMENTALJUK a DyFM_Metadata-t: a mezoket itt
84
+ // deklaraljuk, az init-logikat a constructorban a DyFM_Metadata.applyMetadata statikus vegzi.
85
+ _id?: string;
86
+ __created?: Date;
87
+ __createdBy?: string;
88
+ __lastModified?: Date;
89
+ __lastModifiedBy?: string;
90
+ __v?: number;
91
+ _deleted?: Date;
92
+ _deletedBy?: string;
93
+ _archived?: Date;
94
+ _originalId?: string;
95
+
96
+ _errorCode?: string;
97
+ _errorCodes?: string[] = [];
98
+
99
+ /** contains all sub error messages, in reversed order */
100
+ _message?: string;
101
+ _messages?: string[] = [];
102
+
103
+ /** @deprecated use _message instead */
104
+ __userMessage?: string;
105
+ /** contains all sub error messages, in reversed order
106
+ * @deprecated use _messages instead
107
+ */
108
+ __userMessages?: string[] = [];
109
+ /** message translation code */
110
+ __userMessageTranslateCode?: string;
111
+
112
+ ___handled?: boolean;
113
+ ___logged?: boolean;
114
+ ___status?: number;
115
+
116
+ ___issuer?: string;
117
+ ___issuerSystem?: string;
118
+ ___issuerService?: string;
119
+ ___systemVersion?: string;
120
+
121
+ error?: DyFM_AnyError;
122
+ errors?: DyFM_AnyError[] = [];
123
+ validationErrors?: DyFM_ValidationErrors;
124
+
125
+ // `stack` az Error-bol jon (`extends Error`) — itt NEM deklaraljuk ujra, kulonben a
126
+ // class-field-init undefined-dal felulirna a natancsolt stacket a super() utan.
127
+ __localStack?: string;
128
+
129
+ level?: DyFM_ErrorLevel;
130
+
131
+ levelUpThis?: boolean;
132
+ additionalContent?: any = {};
133
+ confidentialContent?: any = {};
134
+
135
+ constructor(
136
+ set?: DyFM_Error_Settings
137
+ ) {
138
+ // az Error-constructort a nyers input-message-dzsel hivjuk (a vegleges _message kesobb all
139
+ // ossze; a natancsolt Error.message-et a constructor vegen allitjuk ra) — super() KOTELEZOEN
140
+ // az elso utasitas, a this- erintese elott.
141
+ super(set?.message);
142
+
143
+ // a natancsolt Error.name -> 'DyFM_Error' (non-enumerable, hogy a szerializalt shape ne
144
+ // valtozzon): igy a logok / Node-riport "DyFM_Error: ..."-kent jelennek meg, nem "Error: ...".
145
+ Object.defineProperty(this, 'name', {
146
+ value: 'DyFM_Error',
147
+ enumerable: false,
148
+ writable: true,
149
+ configurable: true,
150
+ });
151
+
152
+ // metadata-init: a korabbi `super(set, { issuer })` helyett (a super most az Error),
153
+ // target-alapon a DyFM_Metadata.applyMetadata statikuson at.
154
+ DyFM_Metadata.applyMetadata(
155
+ this,
156
+ set,
157
+ {
158
+ issuer: set?.issuerService ??
159
+ (set?.error as DyFM_Error)?.___issuerService ??
160
+ DyFM_error_defaults.issuerService,
161
+ }
162
+ );
163
+
164
+ try {
165
+ if (!set) {
166
+ set = {};
167
+ }
168
+
169
+ /** set simple properties */
170
+ this.___handled = Boolean(set.handled ?? (set.error as DyFM_Error)?.___handled);
171
+ this.___status = set.status ?? (set.error as DyFM_Error)?.___status;
172
+ this.___issuer = set.issuer ??
173
+ (set.error as DyFM_Error)?.___issuer ??
174
+ DyFM_error_defaults.issuer;
175
+ this.___issuerSystem = set.issuerSystem ??
176
+ (set.error as DyFM_Error)?.___issuerSystem ??
177
+ DyFM_error_defaults.issuerSystem;
178
+ this.___issuerService = set.issuerService ??
179
+ (set.error as DyFM_Error)?.___issuerService ??
180
+ DyFM_error_defaults.issuerService;
181
+ this.___systemVersion = set.systemVersion ??
182
+ (set.error as DyFM_Error)?.___systemVersion ??
183
+ DyFM_error_defaults.systemVersion;
184
+ this.__localStack = (set as DyFM_Error)?.__localStack ??
185
+ (set.error as DyFM_Error)?.__localStack ??
186
+ DyFM_getLocalStackLocation();
187
+
188
+ this.validationErrors = set.validationErrors ?? (set.error as DyFM_Error)?.validationErrors;
189
+
190
+ this.level = set.level ?? (set.error as DyFM_Error)?.level ?? DyFM_ErrorLevel.error;
191
+
192
+ this.levelUpThis = set.levelUpThis;
193
+
194
+ set.allowCircular = set.allowCircular ??
195
+ set.additionalContent?.allowCircular ??
196
+ (set.error as DyFM_Error)?.additionalContent?.allowCircular ??
197
+ false;
198
+
199
+ if (set.allowCircular) {
200
+ this.additionalContent.allowCircular = true;
201
+ }
202
+
203
+ if (((set as DyFM_Error)?.error as DyFM_Error)?.___logged) {
204
+ this.___logged = true;
205
+ }
206
+
207
+ if (
208
+ !set.allowCircular &&
209
+ set.additionalContent &&
210
+ Object.keys(set.additionalContent)?.length
211
+ ) {
212
+ try {
213
+ JSON.stringify(set.additionalContent);
214
+ } catch {
215
+ DyFM_Log.error(
216
+ 'Internal Dynamo ERROR: additionalContent is not JSON.stringifyable... ' +
217
+ '(it will be removed!)',
218
+ '\nerrorCode:', set.errorCode,
219
+ /* 'additionalContent:', set.additionalContent, */
220
+ );
221
+ delete set.additionalContent;
222
+ }
223
+ }
224
+
225
+ if (
226
+ !set.allowCircular &&
227
+ !set.additionalContent?.allowCircular &&
228
+ (set.error as DyFM_Error)?.additionalContent &&
229
+ !(set.error as DyFM_Error)?.additionalContent?.allowCircular &&
230
+ Object.keys((set.error as DyFM_Error)?.additionalContent)?.length
231
+ ) {
232
+ try {
233
+ JSON.stringify((set.error as DyFM_Error)?.additionalContent);
234
+ } catch {
235
+ DyFM_Log.error(
236
+ 'Internal Dynamo ERROR: additionalContent is not JSON.stringifyable... ' +
237
+ '(it will be removed!)',
238
+ '\nerrorCode:', set.errorCode,
239
+ /* 'additionalContent:', (set.error as DyFM_Error)?.additionalContent, */
240
+ );
241
+ delete (set.error as DyFM_Error)?.additionalContent;
242
+ }
243
+ }
244
+
245
+ // ADDITIONAL CONTENT
246
+ if ((set.error as DyFM_Error)?.additionalContent) {
247
+ Object.assign(this.additionalContent, (set.error as DyFM_Error)?.additionalContent);
248
+ }
249
+
250
+ if (set.additionalContent) {
251
+ Object.assign(this.additionalContent, set.additionalContent);
252
+ }
253
+
254
+ // CONFIDENTIAL CONTENT
255
+ if ((set.error as DyFM_Error)?.confidentialContent) {
256
+ Object.assign(this.confidentialContent, (set.error as DyFM_Error)?.confidentialContent);
257
+ }
258
+
259
+ if (set.confidentialContent) {
260
+ Object.assign(this.confidentialContent, set.confidentialContent);
261
+ }
262
+
263
+ // ERROR CODE
264
+ if (!set.errorCode) {
265
+ set.errorCode = DyFM_error_defaults.errorCode;
266
+ }
267
+
268
+ /** set default error (self defined) */
269
+ if (!set.error) {
270
+ set.error = new Error();
271
+ const errorStack: string[] = set.error.stack?.split('\n');
272
+
273
+ errorStack.splice(1, 1);
274
+ set.error.stack = errorStack.join('\n');
275
+ }
276
+
277
+ if ((set as DyFM_NonHttpError)?.stack) {
278
+ this.stack = (set as DyFM_NonHttpError)?.stack;
279
+ } else if ((set.error as DyFM_NonHttpError)?.stack) {
280
+ this.stack = (set.error as DyFM_NonHttpError)?.stack;
281
+ } else if (
282
+ (set.error as DyFM_HttpErrorResponse)?.name === DyFM_httpErrorResponse_name &&
283
+ (set.error as DyFM_HttpErrorResponse)?.error?.stack
284
+ ) {
285
+ this.stack = (set.error as DyFM_HttpErrorResponse)?.error?.stack;
286
+ } else {
287
+ this.stack = new Error().stack;
288
+ }
289
+
290
+ /** set errorCodes */
291
+ let previousErrorCodes: string[] = [];
292
+
293
+ if ((set.error as DyFM_Error)?._errorCodes) {
294
+ previousErrorCodes.push(...((set.error as DyFM_Error)?._errorCodes ?? []));
295
+ }
296
+
297
+ if (!set.errorCode) {
298
+ set.errorCode = DyFM_error_defaults.errorCode;
299
+ }
300
+ previousErrorCodes = previousErrorCodes.filter(
301
+ (code: string): boolean => code !== set.errorCode
302
+ );
303
+ this._errorCodes = [ ...previousErrorCodes, set.errorCode ].filter(Boolean);
304
+
305
+ /** bring up non NTS and non default first error */
306
+ const filteredErrorCodes: string[] = this._errorCodes.filter(
307
+ (code: string): boolean =>
308
+ code && code !== DyFM_error_defaults.errorCode &&
309
+ !DyFM_errorĐFlagParts.some((part: string): boolean => code.includes(part))
310
+ );
311
+
312
+ this._errorCode = filteredErrorCodes[0] ?? this._errorCodes?.[0];
313
+ const highlightedErrorCodeIndex: number = this._errorCodes.findIndex(
314
+ (code: string): boolean => code === filteredErrorCodes?.[0]
315
+ );
316
+
317
+ /** set message */
318
+ if (!set.message) {
319
+ if (typeof set.error === 'string') {
320
+ /** string error */
321
+ set.message = set.error;
322
+ } else if (
323
+ !(set.error as DyFM_Error)?.flag?.includes('DYNAMO') &&
324
+ (set.error as Error)?.message
325
+ ) {
326
+ /** simple - non-dynamo - error */
327
+ set.message = (set.error as Error)?.message;
328
+ } else if ((set.error as Error).stack) {
329
+ /** error not defined - self defining */
330
+ const posFull: string[] = (set.error as Error).stack?.split('\n')?.[1]?.split('\\');
331
+
332
+ if (posFull?.[posFull?.length - 1]) {
333
+ set.message = DyFM_error_defaults.message + '; ' + posFull[posFull.length - 1];
334
+ } else {
335
+ set.message = DyFM_error_defaults.message;
336
+ }
337
+ }
338
+ }
339
+ /** set messages */
340
+ let previousMessages: string[] = [];
341
+
342
+ if ((set.error as DyFM_Error)?._messages) {
343
+ previousMessages.push(...((set.error as DyFM_Error)?._messages ?? []));
344
+ } else if ((set.error as Error)?.message) {
345
+ previousErrorCodes.push((set.error as Error)?.message);
346
+ }
347
+ previousMessages = previousMessages.filter(
348
+ (msg: string): boolean => msg !== set.message
349
+ );
350
+ this._messages = [ ...previousMessages, set.message ].filter(Boolean);
351
+
352
+ if (
353
+ -1 < highlightedErrorCodeIndex &&
354
+ this._messages[highlightedErrorCodeIndex] &&
355
+ this._messages[highlightedErrorCodeIndex] !== DyFM_error_defaults.message
356
+ ) {
357
+ this._message = this._messages[highlightedErrorCodeIndex];
358
+ } else {
359
+ this._message = this._messages?.[0];
360
+ }
361
+
362
+ /** @deprecated use _messages instead */
363
+ let previousUserMessages: string[] = [];
364
+
365
+ if ((set.error as DyFM_Error)?.__userMessages) {
366
+ previousUserMessages.push(...((set.error as DyFM_Error)?.__userMessages ?? []));
367
+ }
368
+
369
+ if (!set.userMessage) {
370
+ set.userMessage = DyFM_error_defaults.userMessage;
371
+ }
372
+
373
+ // BFR-FDPTOKENSERVICE-013: (1) a `DyFM_error_defaults.addECToUserMsg === false` globális
374
+ // kill-switch minden utótagot letilt (a kód a `_errorCode`-ban úgyis ott van);
375
+ // (2) ha a userMessage MÁR hordoz `ErrorCode:` sort (wrapper-lánc), nem fűzünk újra —
376
+ // a dupla-fűzés a KÜLSŐ wrapper kódját mutatta a valódi `_errorCode` helyett.
377
+ if (
378
+ set.addECToUserMsg &&
379
+ DyFM_error_defaults.addECToUserMsg !== false &&
380
+ set.userMessage !== DyFM_error_defaults.userMessage &&
381
+ set.errorCode &&
382
+ !set.userMessage.includes('ErrorCode: ')
383
+ ) {
384
+ set.userMessage += `\n ErrorCode: ${set.errorCode}`;
385
+ }
386
+ previousUserMessages = previousUserMessages.filter(
387
+ (msg: string): boolean => msg !== set.userMessage
388
+ );
389
+ this.__userMessages = [ ...previousUserMessages, set.userMessage ].filter(Boolean);
390
+
391
+ if (
392
+ -1 < highlightedErrorCodeIndex &&
393
+ this.__userMessages[highlightedErrorCodeIndex] &&
394
+ this.__userMessages[highlightedErrorCodeIndex] !== DyFM_error_defaults.userMessage
395
+ ) {
396
+ this.__userMessage = this.__userMessages[highlightedErrorCodeIndex];
397
+ } else {
398
+ this.__userMessage = this.__userMessages.filter(
399
+ (msg: string): boolean => msg && msg !== DyFM_error_defaults.userMessage
400
+ )?.[0];
401
+ }
402
+
403
+ /** set userMessageTranslateCode */
404
+ set.userMessageTranslateCode =
405
+ set.userMessageTranslateCode ??
406
+ (set.error as DyFM_Error)?.__userMessageTranslateCode;
407
+
408
+ /** set errors */
409
+ let previousErrors: DyFM_AnyError[] = [];
410
+
411
+ if ((set.error as DyFM_Error)?.errors?.length) {
412
+ previousErrors.push(...(set.error as DyFM_Error).errors);
413
+ } else if (typeof (set.error as DyFM_Error)?.errors == 'object') {
414
+ this.additionalContent.errors = (set.error as DyFM_Error).errors;
415
+ }
416
+ previousErrors = previousErrors.filter(
417
+ (error: DyFM_AnyError): boolean => error !== set.error
418
+ );
419
+ this.errors = [ ...previousErrors, set.error ].filter(Boolean);
420
+
421
+ if (set.errors) {
422
+ if (0 < this.errors.length) {
423
+ this.errors.push(...(set.errors ?? []));
424
+ } else {
425
+ this.errors.push(
426
+ new Error('there are multiple errors. check errors after this one'),
427
+ ...(set.errors ?? []),
428
+ );
429
+ }
430
+ }
431
+ this.error = this.errors?.[0];
432
+ this.errors = this.errors.map((subError: DyFM_AnyError): any => {
433
+ if ((subError as DyFM_Error)?.errors) {
434
+ subError = { ...subError } as DyFM_Error;
435
+ delete subError.errors;
436
+ delete subError.additionalContent;
437
+ }
438
+
439
+ if (((subError as DyFM_Error).error as DyFM_Error)?.errors) {
440
+ (subError as DyFM_Error).error = { ...(subError as DyFM_Error).error } as DyFM_Error;
441
+ delete ((subError as DyFM_Error).error as DyFM_Error).errors;
442
+ delete ((subError as DyFM_Error).error as DyFM_Error).additionalContent;
443
+ }
444
+
445
+ return subError;
446
+ });
447
+
448
+ this.errors = this.errors.filter((error: DyFM_AnyError): boolean =>
449
+ Boolean(error) && (error instanceof Error || Boolean(Object.keys(error).length))
450
+ );
451
+
452
+ // ─── `extends Error` szerializacios igazitasok ─────────────────────────
453
+ // A natancsolt Error a stacket NON-ENUMERABLE own-property-kent kezeli, igy a
454
+ // `{ ...this }` spread (getErrorsFlat) es a JSON.stringify (getParsable / perzisztalas)
455
+ // elejtene. Enumerable-kent ujradefinialjuk, hogy a szerializacios utak megtartsak.
456
+ if (this.stack !== undefined) {
457
+ Object.defineProperty(this, 'stack', {
458
+ value: this.stack,
459
+ enumerable: true,
460
+ writable: true,
461
+ configurable: true,
462
+ });
463
+ }
464
+
465
+ // A natancsolt Error.message-et a sajat _message-unkre allitjuk (NON-enumerable marad,
466
+ // hogy a szerializalt shape valtozatlan legyen — a forras tovabbra is a _message): igy a
467
+ // `(err as Error).message` fogyasztok ES a Node 22 unhandled-rejection printer a valodi
468
+ // uzenetet latjak, nem ures stringet.
469
+ Object.defineProperty(this, 'message', {
470
+ value: this._message ?? this.__userMessage ?? '',
471
+ enumerable: false,
472
+ writable: true,
473
+ configurable: true,
474
+ });
475
+
476
+ DyFM_Object.safeCleanObject(this);
477
+
478
+ if (!set.allowCircular) {
479
+ this.errors = this.errors.filter((subError: DyFM_AnyError): boolean => {
480
+ if (subError instanceof Error) {
481
+ return true;
482
+ }
483
+
484
+ try {
485
+ JSON.stringify(subError);
486
+
487
+ return true;
488
+ } catch (error) {
489
+ DyFM_Log.error(
490
+ 'Internal Dynamo ERROR: error is not JSON.stringifyable... ' +
491
+ '(it will be removed!)',
492
+ '\nerrorCode:', (subError as DyFM_Error)?._errorCode,
493
+ );
494
+
495
+ return false;
496
+ }
497
+ });
498
+ }
499
+
500
+
501
+
502
+ if (set.modestLog) {
503
+ console.error(this._message ?? this.__userMessage ?? this.error);
504
+ }
505
+
506
+ if (set.log) {
507
+ console.error(this);
508
+ }
509
+ } catch (error) {
510
+ DyFM_Log.H_error(
511
+ 'Internal Dynamo ERROR: Failed to create DyFM_Error...' +
512
+ 'error:\n', error,
513
+ 'stack:', new Error().stack,
514
+ 'set:', set
515
+ );
516
+ }
517
+ }
518
+
519
+ getErrorSimplified(): DyFM_Error_Settings {
520
+ return {
521
+ errorCode: this._errorCode,
522
+ message: this._message,
523
+ userMessage: this.__userMessage,
524
+ stack: this.stack,
525
+ };
526
+ }
527
+
528
+ getErrorsFlat(): DyFM_Error {
529
+ const error: any = { ...this };
530
+
531
+ if ((error.error as DyFM_Error)?.error) {
532
+ delete (error.error as DyFM_Error).error;
533
+ }
534
+
535
+ if ((error.error as DyFM_Error)?.errors) {
536
+ delete (error.error as DyFM_Error).errors;
537
+ }
538
+
539
+ error.errors = error.errors.map(
540
+ (subError: DyFM_Error): Partial<DyFM_Error> =>
541
+ error instanceof Error ? error : ({ ...subError })
542
+ );
543
+
544
+ error.errors.forEach((subError: DyFM_Error): void => {
545
+ if (subError.errors) {
546
+ delete subError.errors;
547
+ }
548
+
549
+ if ((subError.error as DyFM_Error)?.errors) {
550
+ delete (subError.error as DyFM_Error).errors;
551
+ }
552
+
553
+ if ((subError.error as DyFM_Error)?.error) {
554
+ delete (subError.error as DyFM_Error).error;
555
+ }
556
+
557
+ if (subError.additionalContent) {
558
+ delete subError.additionalContent;
559
+ }
560
+ });
561
+
562
+ return error;
563
+ }
564
+
565
+ logShort(
566
+ title: string,
567
+ setLog?: boolean,
568
+ forceLog?: boolean,
569
+ /* logType?: DyFM_Log_Type, */
570
+ ): void {
571
+ if (this.___logged && !forceLog) {
572
+ DyFM_Log.warn(`logShort: already logged (${this._errorCode})`);
573
+ return;
574
+ }
575
+
576
+ /* switch (logType) { */
577
+ DyFM_Log.testError(
578
+ title,
579
+ '\n ErrorCode:', this._errorCode,
580
+ '\n Message:', this._message?.replaceAll?.('\n', '\n '),
581
+ );
582
+
583
+ if (setLog) {
584
+ this.___logged = true;
585
+ }
586
+ }
587
+
588
+ warnShort(
589
+ title: string,
590
+ setLog?: boolean,
591
+ forceLog?: boolean,
592
+ ): void {
593
+ if (this.___logged && !forceLog) {
594
+ DyFM_Log.warn(`warnShort: already logged (${this._errorCode})`);
595
+ return;
596
+ }
597
+
598
+ DyFM_Log.testWarn(
599
+ title,
600
+ '\n ErrorCode:', this._errorCode,
601
+ '\n Message:', this._message?.replaceAll?.('\n', '\n '),
602
+ );
603
+
604
+ if (setLog) {
605
+ this.___logged = true;
606
+ }
607
+ }
608
+
609
+ logSimple(
610
+ title: string,
611
+ logAdditionalContent?: boolean,
612
+ forceLog?: boolean,
613
+ logNodeModules?: boolean
614
+ ): void {
615
+ if (this.___logged && !forceLog) {
616
+ DyFM_Log.warn(`logSimple: already logged ${title} (${this._message}; ${this._errorCode})`);
617
+ return;
618
+ }
619
+
620
+ // remove node_modules from stack and replace with '...'
621
+ /* const stack: string = this.stack?.split?.('\n').map((line: string): string => {
622
+ if (line.includes('node_modules')) {
623
+ return '...';
624
+ }
625
+ return line;
626
+ }).filter((line: string, index: number, array: string[]): boolean => {
627
+ if (line === '...' && index < array.length - 1 && array[index + 1] === '...') {
628
+ return false;
629
+ }
630
+ return true;
631
+ }).join('\n'); */
632
+
633
+ DyFM_Log.H_error(
634
+ title,
635
+ `\n${DyFM_Log.errorStyle}ErrorCode:`, this._errorCode,
636
+ `\n${DyFM_Log.errorStyle}${DyFM_LogStyle.bold}Message:`,
637
+ this._message?.replaceAll?.('\n', '\n '),
638
+ `\n\n${DyFM_LogStyle.reset}${DyFM_Log.errorStyle}UserMessage:`,
639
+ this.__userMessage?.replaceAll?.('\n', '\n '),
640
+ this.__localStack ?
641
+ `\n${DyFM_Log.errorStyle}LocalStack:\n ` + this.__localStack : '',
642
+ `\n\n${DyFM_Log.errorStyle}Stack:`, this.stack?.replaceAll?.('\n', '\n '),
643
+ logAdditionalContent && this.additionalContent ?
644
+ `\n\n${DyFM_Log.errorStyle}AdditionalContent:\n` + this.additionalContent : '',
645
+ );
646
+
647
+ this.___logged = true;
648
+ }
649
+
650
+ /* static getSimpleLogContent(error: DyFM_Error): string {
651
+ return `\n${DyFM_Log.errorStyle}ErrorCode:`, this._errorCode,
652
+ `\n${DyFM_Log.errorStyle}${DyFM_LogStyle.bold}Message:`,
653
+ this._message?.replaceAll?.('\n', '\n '),
654
+ `\n\n${DyFM_LogStyle.reset}${DyFM_Log.errorStyle}UserMessage:`,
655
+ this.__userMessage?.replaceAll?.('\n', '\n '),
656
+ this.__localStack ?
657
+ `\n${DyFM_Log.errorStyle}LocalStack:\n ` + this.__localStack : '',
658
+ `\n\n${DyFM_Log.errorStyle}Stack:`, this.stack?.replaceAll?.('\n', '\n '),
659
+ logAdditionalContent && this.additionalContent ?
660
+ `\n\n${DyFM_Log.errorStyle}AdditionalContent:\n` + this.additionalContent : '' */
661
+
662
+ /**
663
+ * Checks if the error is parsable,
664
+ * simplifies the error,
665
+ * and returns the error as a string.
666
+ */
667
+ getParsable(): string {
668
+ try {
669
+ const flat = this.getErrorsFlat();
670
+ return JSON.stringify(flat);
671
+ } catch (error) {
672
+ DyFM_Log.error('Error getting parsable error', error);
673
+ return JSON.stringify(this.getErrorSimplified());
674
+ }
675
+ }
676
+
677
+ static logSimple(message: string, error: DyFM_AnyError): void {
678
+ if (error instanceof DyFM_Error) {
679
+ error.logSimple(message);
680
+ } else {
681
+ DyFM_Log.T_error(message, error);
682
+ }
683
+ }
684
+
685
+ static getErrorMessage(error: DyFM_AnyError): string {
686
+ return (error as DyFM_Error)?._message ??
687
+ (error as Error)?.message ??
688
+ ((error as DyFM_HttpErrorResponse)?.error as DyFM_Error)?._message ??
689
+ ((error as DyFM_HttpErrorResponse)?.error as Error)?.message;
690
+ }
691
+
692
+ /**
693
+ * Returns the message of the error.
694
+ * Returns the userMessage if the message is not set.
695
+ * (prioritizes the message over the userMessage)
696
+ */
697
+ static getAnyMessage(error: DyFM_AnyError): string {
698
+ return this.getErrorMessage(error) ?? this.getUserMessage(error);
699
+ }
700
+
701
+ static getUserMessage(error: DyFM_AnyError): string {
702
+ return (error as DyFM_Error)?.__userMessage ??
703
+ ((error as DyFM_HttpErrorResponse)?.error as DyFM_Error)?.__userMessage ??
704
+ (error as DyFM_Error_Settings)?.userMessage;
705
+ }
706
+
707
+ /**
708
+ * Returns the user message of the error.
709
+ * Returns the message if the userMessage is not set.
710
+ * (prioritizes the userMessage over the message)
711
+ */
712
+ static getAnyUserMessage(error: DyFM_AnyError): string {
713
+ return this.getUserMessage(error) ?? this.getErrorMessage(error);
714
+ }
715
+
716
+ /**
717
+ * A hiba szemantikus szöveges változata: saját üzenet + zárójelben a _messages lista első eleme
718
+ * (gyökér Dynamo Error üzenete), ha van lánc. Nem az object láncon járunk végig, a _messages-t használjuk.
719
+ */
720
+ static getSemanticMessage(error: DyFM_AnyError): string {
721
+ const ourMessage: string = this.getErrorMessage(error);
722
+ if (!this.isDyFMError(error)) {
723
+ return ourMessage;
724
+ }
725
+ const messages: string[] | undefined = (error as DyFM_Error)._messages;
726
+ const firstMessage: string | undefined =
727
+ messages && messages.length > 1 ? messages[0] : undefined;
728
+ if (firstMessage && firstMessage !== ourMessage) {
729
+ return `${ourMessage} (${firstMessage})`;
730
+ }
731
+ return ourMessage;
732
+ }
733
+
734
+ static getErrorStatus(error: DyFM_AnyError): number {
735
+ return (error as DyFM_Error)?.___status ??
736
+ (error as DyFM_HttpErrorResponse)?.status ??
737
+ ((error as DyFM_HttpErrorResponse)?.error as DyFM_Error)?.___status ?? 500;
738
+ }
739
+
740
+ static getErrorCode(error: DyFM_AnyError): string {
741
+ return (error as DyFM_Error)?._errorCode ??
742
+ ((error as DyFM_HttpErrorResponse)?.error as DyFM_Error)?._errorCode ??
743
+ (error as any)?.errorCode ??
744
+ (error as any)?.error?.errorCode ??
745
+ (error as any)?.code ??
746
+ (error as any)?.error?.code;
747
+ }
748
+
749
+ static getErrorStack(error: DyFM_AnyError): string {
750
+ return (error as DyFM_Error)?.stack ??
751
+ ((error as DyFM_HttpErrorResponse)?.error as DyFM_NonHttpError)?.stack;
752
+ }
753
+
754
+ static isDyFMError(error: any): error is DyFM_Error {
755
+ return (error as DyFM_Error)?.flag?.includes('DYNAMO');
756
+ }
757
+
758
+ static isAnyDyFMError(error: any): error is DyFM_AnyError {
759
+ return this.isDyFMError(error) ||
760
+ (error as DyFM_HttpErrorResponse)?.name === DyFM_httpErrorResponse_name ||
761
+ error instanceof Error;
762
+ }
763
+
764
+ static deleteErrorContent(error: DyFM_Error): void {
765
+ delete error.confidentialContent;
766
+ delete error.additionalContent;
767
+ delete error.error;
768
+ delete error.errors;
769
+ delete error.stack;
770
+ }
771
+
772
+ static getStatusText(status: number): string {
773
+ switch (status) {
774
+ case 100:
775
+ return 'Continue';
776
+ case 101:
777
+ return 'Switching Protocols';
778
+ case 102:
779
+ return 'Processing';
780
+ case 103:
781
+ return 'Early Hints';
782
+
783
+ case 200:
784
+ return 'OK';
785
+ case 201:
786
+ return 'Created';
787
+ case 202:
788
+ return 'Accepted';
789
+ case 203:
790
+ return 'Non-Authoritative Information';
791
+ case 204:
792
+ return 'No Content';
793
+ case 205:
794
+ return 'Reset Content';
795
+ case 206:
796
+ return 'Partial Content';
797
+ case 207:
798
+ return 'Multi-Status';
799
+ case 208:
800
+ return 'Already Reported';
801
+ case 226:
802
+ return 'IM Used';
803
+
804
+ case 300:
805
+ return 'Multiple Choices';
806
+ case 301:
807
+ return 'Moved Permanently';
808
+ case 302:
809
+ return 'Found';
810
+ case 303:
811
+ return 'See Other';
812
+ case 304:
813
+ return 'Not Modified';
814
+ case 305:
815
+ return 'Use Proxy';
816
+ case 306:
817
+ return 'Switch Proxy';
818
+ case 307:
819
+ return 'Temporary Redirect';
820
+ case 308:
821
+ return 'Permanent Redirect';
822
+
823
+ case 400:
824
+ return 'Bad Request';
825
+ case 401:
826
+ return 'Unauthorized';
827
+ case 402:
828
+ return 'Payment Required';
829
+ case 403:
830
+ return 'Forbidden';
831
+ case 404:
832
+ return 'Not Found';
833
+ case 405:
834
+ return 'Method Not Allowed';
835
+ case 406:
836
+ return 'Not Acceptable';
837
+ case 407:
838
+ return 'Proxy Authentication Required';
839
+ case 408:
840
+ return 'Request Timeout';
841
+ case 409:
842
+ return 'Conflict';
843
+ case 410:
844
+ return 'Gone';
845
+ case 411:
846
+ return 'Length Required';
847
+ case 412:
848
+ return 'Precondition Failed';
849
+ case 413:
850
+ return 'Payload Too Large';
851
+ case 414:
852
+ return 'URI Too Long';
853
+ case 415:
854
+ return 'Unsupported Media Type';
855
+ case 416:
856
+ return 'Range Not Satisfiable';
857
+ case 417:
858
+ return 'Expectation Failed';
859
+ case 418:
860
+ return "I'm a teapot";
861
+ case 421:
862
+ return 'Misdirected Request';
863
+ case 422:
864
+ return 'Unprocessable Entity';
865
+ case 423:
866
+ return 'Locked';
867
+ case 424:
868
+ return 'Failed Dependency';
869
+ case 425:
870
+ return 'Too Early';
871
+ case 426:
872
+ return 'Upgrade Required';
873
+ case 428:
874
+ return 'Precondition Required';
875
+ case 429:
876
+ return 'Too Many Requests';
877
+ case 431:
878
+ return 'Request Header Fields Too Large';
879
+ case 451:
880
+ return 'Unavailable For Legal Reasons';
881
+
882
+ case 500:
883
+ return 'Internal Server Error';
884
+ case 501:
885
+ return 'Not Implemented';
886
+ case 502:
887
+ return 'Bad Gateway';
888
+ case 503:
889
+ return 'Service Unavailable';
890
+ case 504:
891
+ return 'Gateway Timeout';
892
+ case 505:
893
+ return 'HTTP Version Not Supported';
894
+ case 506:
895
+ return 'Variant Also Negotiates';
896
+ case 507:
897
+ return 'Insufficient Storage';
898
+ case 508:
899
+ return 'Loop Detected';
900
+ case 510:
901
+ return 'Not Extended';
902
+ case 511:
903
+ return 'Network Authentication Required';
904
+
905
+ default:
906
+ return 'Unknown';
907
+ }
908
+ }
909
+ }
910
+
911
+ /*
912
+
913
+ // //
914
+ // RESPONSE STATUS //
915
+ // //
916
+
917
+ 1XX informational response
918
+
919
+ 100 Continue
920
+ 101 Switching Protocols
921
+ 102 Processing
922
+ 103 Early Hints
923
+
924
+
925
+ 2XX success
926
+
927
+ 200 OK
928
+ 201 Created
929
+ 202 Accepted
930
+ 203 Non-Authoritative Information
931
+ 204 No Content
932
+ 205 Reset Content
933
+ 206 Partial Content
934
+ 207 Multi-Status
935
+ 208 Already Reported
936
+ 226 IM Used
937
+
938
+
939
+ 3XX redirection
940
+
941
+ 300 Multiple Choices
942
+ 301 Moved Permanently
943
+ 302 Found
944
+ 303 See Other
945
+ 304 Not Modified
946
+ 305 Use Proxy
947
+ 306 Switch Proxy
948
+ 307 Temporary Redirect
949
+ 308 Permanent Redirect
950
+
951
+
952
+ 4XX client n network errors
953
+
954
+ 400 Bad Request
955
+ 401 Unauthorized
956
+ 402 Payment Required
957
+ 403 Forbidden
958
+ 404 Not Found
959
+ 405 Method Not Allowed
960
+ 406 Not Acceptable
961
+ 407 Proxy Authentication Required
962
+ 408 Request Timeout
963
+ 409 Conflict
964
+ 410 Gone
965
+ 411 Length Required
966
+ 412 Precondition Failed
967
+ 413 Payload Too Large
968
+ 414 URI Too Long
969
+ 415 Unsupported Media Type
970
+ 416 Range Not Satisfiable
971
+ 417 Expectation Failed
972
+ 418 I'm a teapot
973
+ 421 Misdirected Request
974
+ 422 Unprocessable Entity
975
+ 423 Locked
976
+ 424 Failed Dependency
977
+ 425 Too Early
978
+ 426 Upgrade Required
979
+ 428 Precondition Required
980
+ 429 Too Many Requests
981
+ 431 Request Header Fields Too Large
982
+ 451 Unavailable For Legal Reasons
983
+
984
+
985
+ 5XX server errors
986
+
987
+ 500 Internal Server Error
988
+ 501 Not Implemented
989
+ 502 Bad Gateway
990
+ 503 Service Unavailable
991
+ 504 Gateway Timeout
992
+ 505 HTTP Version Not Supported
993
+ 506 Variant Also Negotiates
994
+ 507 Insufficient Storage
995
+ 508 Loop Detected
996
+ 510 Not Extended
997
+ 511 Network Authentication Required
998
+
999
+
1000
+ Unofficial codes
1001
+
1002
+ 103 Checkpoint
1003
+
1004
+ 218 This is fine (Apache Web Server)
1005
+
1006
+ 419 Page Expired (Laravel Framework)
1007
+ 420 Enhance Your Calm (Twitter)
1008
+ 430 Request Header Fields Too Large (Shopify)
1009
+ 440 Login Time-out
1010
+ 444 No Response
1011
+ 449 Retry With
1012
+ 450 Blocked by Windows Parental Controls (Microsoft)
1013
+ 451 Redirect
1014
+ 494 Request header too large
1015
+ 495 SSL Certificate Error
1016
+ 496 SSL Certificate Required
1017
+ 497 HTTP Request Sent to HTTPS Port
1018
+ 498 Invalid Token (Esri)
1019
+ 499 Client Closed Request
1020
+ 499 Token Required (Esri)
1021
+
1022
+ 509 Bandwidth Limit Exceeded (Apache Web Server/cPanel)
1023
+ 520 Web Server Returned an any Error
1024
+ 521 Web Server Is Down
1025
+ 522 Connection Timed Out
1026
+ 523 Origin Is Unreachable
1027
+ 524 A Timeout Occurred
1028
+ 525 SSL Handshake Failed
1029
+ 526 Invalid SSL Certificate
1030
+ 527 Railgun Error
1031
+ 529 Site is overloaded
1032
+ 530 Site is frozen
1033
+ 598 (Informal convention) Network read timeout error
1034
+
1035
+
1036
+
1037
+ 530
1038
+
1039
+ 460
1040
+ 463
1041
+
1042
+ */
1043
+
1044
+
1045
+
1046
+
1047
+ /**
1048
+ * Returns the average of two numbers.
1049
+ *
1050
+ * @remarks
1051
+ * This method is part of the {@link core-library#Statistics | Statistics subsystem}.
1052
+ *
1053
+ * @param x - The first input number
1054
+ * @param y - The second input number
1055
+ * @returns The arithmetic mean of `x` and `y`
1056
+ *
1057
+ * @beta
1058
+ * @returns true if the specified tag is surrounded with `{`
1059
+ * and `}` characters.
1060
+ *
1061
+ * @example
1062
+ * Prints "true" for `{@link}` but "false" for `@internal`:
1063
+ * ```ts
1064
+ * console.log(isInlineTag('{@link}'));
1065
+ * console.log(isInlineTag('@internal'));
1066
+ * ```
1067
+ *
1068
+ *
1069
+ * @alpha
1070
+ * v
1071
+ * sadfas d
1072
+ * fs
1073
+ * daf
1074
+ * d as
1075
+ * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1076
+ * a
1077
+ * @beta
1078
+ * v
1079
+ * sadfas d
1080
+ * fs
1081
+ * daf
1082
+ * d as
1083
+ * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1084
+ * b
1085
+ * @decorator
1086
+ * v
1087
+ * sadfas d
1088
+ * fs
1089
+ * daf
1090
+ * d as
1091
+ * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1092
+ * dc
1093
+ * @deprecated
1094
+ * v
1095
+ * sadfas d
1096
+ * fs
1097
+ * daf
1098
+ * d as
1099
+ * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1100
+ * dp
1101
+ * @defaultValue
1102
+ * v
1103
+ * sadfas d
1104
+ * fs
1105
+ * daf
1106
+ * d as
1107
+ * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1108
+ * dv
1109
+ * @eventProperty
1110
+ * v
1111
+ * sadfas d
1112
+ * fs
1113
+ * daf
1114
+ * d as
1115
+ * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1116
+ * ep
1117
+ * @example
1118
+ * v
1119
+ * sadfas d
1120
+ * fs
1121
+ * daf
1122
+ * d as
1123
+ * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1124
+ * ex
1125
+ * @experimental
1126
+ * v
1127
+ * sadfas d
1128
+ * fs
1129
+ * daf
1130
+ * d as
1131
+ * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1132
+ * exp
1133
+ * @inheritDoc
1134
+ * v
1135
+ * sadfas d
1136
+ * fs
1137
+ * daf
1138
+ * d as
1139
+ * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1140
+ * in
1141
+ * @internal
1142
+ * v
1143
+ * sadfas d
1144
+ * fs
1145
+ * daf
1146
+ * d as
1147
+ * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1148
+ * int
1149
+ * @label
1150
+ * v
1151
+ * sadfas d
1152
+ * fs
1153
+ * daf
1154
+ * d as
1155
+ * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1156
+ * lab
1157
+ * @link
1158
+ * v
1159
+ * sadfas d
1160
+ * fs
1161
+ * daf
1162
+ * d as
1163
+ * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1164
+ * li
1165
+ * @override
1166
+ * v
1167
+ * sadfas d
1168
+ * fs
1169
+ * daf
1170
+ * d as
1171
+ * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1172
+ * v
1173
+ * sadfas d
1174
+ * fs
1175
+ * daf
1176
+ * d as
1177
+ * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1178
+ * ov
1179
+ * @packageDocumentation
1180
+ * v
1181
+ * sadfas d
1182
+ * fs
1183
+ * daf
1184
+ * d as
1185
+ * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1186
+ * pad
1187
+ * @param
1188
+ * v
1189
+ * sadfas d
1190
+ * fs
1191
+ * daf
1192
+ * d as
1193
+ * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1194
+ * par
1195
+ * @privateRemarks
1196
+ * v
1197
+ * sadfas d
1198
+ * fs
1199
+ * daf
1200
+ * d as
1201
+ * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1202
+ * pr
1203
+ * @public
1204
+ * v
1205
+ * sadfas d
1206
+ * fs
1207
+ * daf
1208
+ * d as
1209
+ * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1210
+ * p
1211
+ * @readonly
1212
+ * v
1213
+ * sadfas d
1214
+ * fs
1215
+ * daf
1216
+ * d as
1217
+ * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1218
+ * re
1219
+ * @remarks
1220
+ * v
1221
+ * sadfas d
1222
+ * fs
1223
+ * daf
1224
+ * d as
1225
+ * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1226
+ * rem
1227
+ * @returns
1228
+ * v
1229
+ * sadfas d
1230
+ * fs
1231
+ * daf
1232
+ * d as
1233
+ * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1234
+ * ret
1235
+ * @sealed
1236
+ * v
1237
+ * sadfas d
1238
+ * fs
1239
+ * daf
1240
+ * d as
1241
+ * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1242
+ * sea
1243
+ * @see
1244
+ * v
1245
+ * sadfas d
1246
+ * fs
1247
+ * daf
1248
+ * d as
1249
+ * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1250
+ * see
1251
+ * @throws
1252
+ * v
1253
+ * sadfas d
1254
+ * fs
1255
+ * daf
1256
+ * d as
1257
+ * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1258
+ * th
1259
+ * @typeParam
1260
+ * v
1261
+ * sadfas d
1262
+ * fs
1263
+ * daf
1264
+ * d as
1265
+ * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1266
+ * typ
1267
+ * @virtual
1268
+ * v
1269
+ * sadfas d
1270
+ * fs
1271
+ * daf
1272
+ * d as
1273
+ * dafs // asd"" sa `sadf ` sadf asd******* asdf asd"" f asd
1274
+ *
1275
+ *
1276
+ * @see {@link http://example.com/@internal LINK}
1277
+ * @see {@link http://example.com/@internal http://example.com/@internal}
1278
+ */
1279
+ export interface TestDocumentationComments {}
1280
+