@futdevpro/fsm-dynamo 1.20.88 → 1.20.93

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 (462) hide show
  1. package/build/_models/control-models/data-model-params.control-model.d.ts +0 -1
  2. package/build/_models/control-models/data-model-params.control-model.d.ts.map +1 -1
  3. package/build/_models/control-models/data-model-params.control-model.js +1 -4
  4. package/build/_models/control-models/data-model-params.control-model.js.map +1 -1
  5. package/build/_models/control-models/data-property-params.control-model.d.ts +0 -1
  6. package/build/_models/control-models/data-property-params.control-model.d.ts.map +1 -1
  7. package/build/_models/control-models/data-property-params.control-model.js +1 -4
  8. package/build/_models/control-models/data-property-params.control-model.js.map +1 -1
  9. package/build/_models/control-models/service-endpoint-settings-base.control-model.d.ts +0 -1
  10. package/build/_models/control-models/service-endpoint-settings-base.control-model.d.ts.map +1 -1
  11. package/build/_models/control-models/service-endpoint-settings-base.control-model.js +4 -4
  12. package/build/_models/control-models/service-endpoint-settings-base.control-model.js.map +1 -1
  13. package/build/_modules/data-handler/_models/data-handler-settings.control-model.d.ts +0 -3
  14. package/build/_modules/data-handler/_models/data-handler-settings.control-model.d.ts.map +1 -1
  15. package/build/_modules/data-handler/_models/data-handler-settings.control-model.js +4 -10
  16. package/build/_modules/data-handler/_models/data-handler-settings.control-model.js.map +1 -1
  17. package/build/_modules/data-handler/_models/data-handler.control-model.d.ts.map +1 -1
  18. package/build/_modules/data-handler/_models/data-handler.control-model.js +10 -4
  19. package/build/_modules/data-handler/_models/data-handler.control-model.js.map +1 -1
  20. package/build/_modules/data-handler/_models/data-list-handler.control-model.d.ts +1 -1
  21. package/build/_modules/data-handler/_models/data-list-handler.control-model.d.ts.map +1 -1
  22. package/build/_modules/data-handler/_models/data-search-handler.control-model.d.ts +1 -1
  23. package/build/_modules/data-handler/_models/data-search-handler.control-model.d.ts.map +1 -1
  24. package/build/_modules/data-handler/_models/list-collector-data-handler.control-model.d.ts +1 -1
  25. package/build/_modules/data-handler/_models/list-collector-data-handler.control-model.d.ts.map +1 -1
  26. package/build/_modules/data-handler/index.d.ts +3 -0
  27. package/build/_modules/data-handler/index.d.ts.map +1 -1
  28. package/build/_modules/data-handler/index.js +3 -0
  29. package/build/_modules/data-handler/index.js.map +1 -1
  30. package/build/_modules/game/_models/flying-effect.control-model.d.ts +34 -0
  31. package/build/_modules/game/_models/flying-effect.control-model.d.ts.map +1 -0
  32. package/build/_modules/game/_models/flying-effect.control-model.js +217 -0
  33. package/build/_modules/game/_models/flying-effect.control-model.js.map +1 -0
  34. package/build/_modules/game/_models/flying-effect.interface.d.ts +53 -0
  35. package/build/_modules/game/_models/flying-effect.interface.d.ts.map +1 -0
  36. package/build/_modules/game/_models/flying-effect.interface.js +3 -0
  37. package/build/_modules/game/_models/flying-effect.interface.js.map +1 -0
  38. package/build/_modules/game/index.d.ts +2 -0
  39. package/build/_modules/game/index.d.ts.map +1 -1
  40. package/build/_modules/game/index.js +2 -0
  41. package/build/_modules/game/index.js.map +1 -1
  42. package/build/_modules/ngx-models/_models/control-models/data-handler-settings.control-model.d.ts +0 -3
  43. package/build/_modules/ngx-models/_models/control-models/data-handler-settings.control-model.d.ts.map +1 -1
  44. package/build/_modules/ngx-models/_models/control-models/data-handler-settings.control-model.js +4 -10
  45. package/build/_modules/ngx-models/_models/control-models/data-handler-settings.control-model.js.map +1 -1
  46. package/build/_modules/ngx-models/_models/control-models/data-handler.control-model.d.ts.map +1 -1
  47. package/build/_modules/ngx-models/_models/control-models/data-handler.control-model.js +10 -4
  48. package/build/_modules/ngx-models/_models/control-models/data-handler.control-model.js.map +1 -1
  49. package/build/_modules/ngx-models/index.d.ts +3 -0
  50. package/build/_modules/ngx-models/index.d.ts.map +1 -1
  51. package/build/_modules/ngx-models/index.js +3 -0
  52. package/build/_modules/ngx-models/index.js.map +1 -1
  53. package/build/_modules/sandbox-runtime/_collections/zero-egress-receipt.util.d.ts.map +1 -1
  54. package/build/_modules/sandbox-runtime/_collections/zero-egress-receipt.util.js +2 -0
  55. package/build/_modules/sandbox-runtime/_collections/zero-egress-receipt.util.js.map +1 -1
  56. package/build/_modules/sandbox-runtime/_collections/zero-egress-result-code.const.d.ts +2 -0
  57. package/build/_modules/sandbox-runtime/_collections/zero-egress-result-code.const.d.ts.map +1 -1
  58. package/build/_modules/sandbox-runtime/_collections/zero-egress-result-code.const.js +2 -0
  59. package/build/_modules/sandbox-runtime/_collections/zero-egress-result-code.const.js.map +1 -1
  60. package/build/index.d.ts +3 -0
  61. package/build/index.d.ts.map +1 -1
  62. package/build/index.js +3 -0
  63. package/build/index.js.map +1 -1
  64. package/build-esm/_collections/constants/data-sizes.const.js +37 -0
  65. package/build-esm/_collections/constants/error-defaults.const.js +17 -0
  66. package/build-esm/_collections/constants/global-settings.const.js +17 -0
  67. package/build-esm/_collections/constants/numbers.const.js +36 -0
  68. package/build-esm/_collections/constants/times.const.js +38 -0
  69. package/build-esm/_collections/utils/array.util.js +632 -0
  70. package/build-esm/_collections/utils/async.util.js +183 -0
  71. package/build-esm/_collections/utils/data.util.js +203 -0
  72. package/build-esm/_collections/utils/extract-error-message.util.js +183 -0
  73. package/build-esm/_collections/utils/json-error-helper.util.js +251 -0
  74. package/build-esm/_collections/utils/log.util.js +555 -0
  75. package/build-esm/_collections/utils/math/box-bounds.util.js +159 -0
  76. package/build-esm/_collections/utils/math/math.util.js +183 -0
  77. package/build-esm/_collections/utils/math/random.util.js +117 -0
  78. package/build-esm/_collections/utils/math/trigonometry.util.js +89 -0
  79. package/build-esm/_collections/utils/math/vector2.util.js +587 -0
  80. package/build-esm/_collections/utils/object.util.js +591 -0
  81. package/build-esm/_collections/utils/operation-authz.util.js +136 -0
  82. package/build-esm/_collections/utils/operation-guardrails.util.js +220 -0
  83. package/build-esm/_collections/utils/operation-run.util.js +81 -0
  84. package/build-esm/_collections/utils/operation-schema.util.js +159 -0
  85. package/build-esm/_collections/utils/regex/password-regex.util.js +56 -0
  86. package/build-esm/_collections/utils/regex/regex.util.js +1 -0
  87. package/build-esm/_collections/utils/regex/username-regex.util.js +28 -0
  88. package/build-esm/_collections/utils/require-env.util.js +90 -0
  89. package/build-esm/_collections/utils/round-list.util.js +108 -0
  90. package/build-esm/_collections/utils/secret-mask.util.js +219 -0
  91. package/build-esm/_collections/utils/stack.util.js +126 -0
  92. package/build-esm/_collections/utils/string-case.util.js +332 -0
  93. package/build-esm/_collections/utils/string.util.js +366 -0
  94. package/build-esm/_collections/utils/time.util.js +431 -0
  95. package/build-esm/_collections/utils/type-cloning-facility.util.js +122 -0
  96. package/build-esm/_collections/utils/utilities.util.js +61 -0
  97. package/build-esm/_collections/utils/uuid.util.js +33 -0
  98. package/build-esm/_enums/basic-property-type.enum.js +18 -0
  99. package/build-esm/_enums/data-model-type.enum.js +24 -0
  100. package/build-esm/_enums/environment-flag.enum.js +26 -0
  101. package/build-esm/_enums/error-level.enum.js +35 -0
  102. package/build-esm/_enums/error-status.enum.js +28 -0
  103. package/build-esm/_enums/http/http-call-type.enum.js +42 -0
  104. package/build-esm/_enums/http/http-event-type.enum.js +39 -0
  105. package/build-esm/_enums/http/http-response-type.enum.js +18 -0
  106. package/build-esm/_enums/log-style.enum.js +38 -0
  107. package/build-esm/_enums/operation-auth.type-enum.js +19 -0
  108. package/build-esm/_enums/operation-if-match.type-enum.js +17 -0
  109. package/build-esm/_enums/operation-patch-field.type-enum.js +40 -0
  110. package/build-esm/_enums/server-connection-status.enum.js +5 -0
  111. package/build-esm/_enums/time/day-of-week.enum.js +47 -0
  112. package/build-esm/_enums/time/month.enum.js +23 -0
  113. package/build-esm/_enums/time/relative-date.enum.js +19 -0
  114. package/build-esm/_models/control-models/data-model-params.control-model.js +259 -0
  115. package/build-esm/_models/control-models/data-model-settings.control-model.js +63 -0
  116. package/build-esm/_models/control-models/data-property-params.control-model.js +101 -0
  117. package/build-esm/_models/control-models/data-property-settings.control-model.js +61 -0
  118. package/build-esm/_models/control-models/error.control-model.js +787 -0
  119. package/build-esm/_models/control-models/http/http-error-response.control-model.js +48 -0
  120. package/build-esm/_models/control-models/http/http-headers.control-model.js +43 -0
  121. package/build-esm/_models/control-models/http/http-response.model-base.js +62 -0
  122. package/build-esm/_models/control-models/operation-context.control-model.js +110 -0
  123. package/build-esm/_models/control-models/operation-settings.control-model.js +184 -0
  124. package/build-esm/_models/control-models/poll.control-model.js +202 -0
  125. package/build-esm/_models/control-models/range-value.control-model.js +247 -0
  126. package/build-esm/_models/control-models/server-route-settings-base.control-model.js +19 -0
  127. package/build-esm/_models/control-models/server-status.control-model.js +73 -0
  128. package/build-esm/_models/control-models/service-endpoint-settings-base.control-model.js +110 -0
  129. package/build-esm/_models/data-models/errors.data-model.js +156 -0
  130. package/build-esm/_models/data-models/metadata.data-model.js +120 -0
  131. package/build-esm/_models/interfaces/box-bounds.interface.js +1 -0
  132. package/build-esm/_models/interfaces/environment/global-log-settings.interface.js +1 -0
  133. package/build-esm/_models/interfaces/environment/global-settings.interface.js +1 -0
  134. package/build-esm/_models/interfaces/error-defaults.interface.js +1 -0
  135. package/build-esm/_models/interfaces/operation-authz-result.interface.js +1 -0
  136. package/build-esm/_models/interfaces/operation-authz.interface.js +1 -0
  137. package/build-esm/_models/interfaces/operation-exposure.interface.js +1 -0
  138. package/build-esm/_models/interfaces/operation-guardrails.interface.js +1 -0
  139. package/build-esm/_models/interfaces/operation-input-settings.interface.js +1 -0
  140. package/build-esm/_models/interfaces/operation-json-schema.interface.js +1 -0
  141. package/build-esm/_models/interfaces/operation-patch-field.interface.js +1 -0
  142. package/build-esm/_models/interfaces/operation-patch-result.interface.js +1 -0
  143. package/build-esm/_models/interfaces/operation-patch-violation.interface.js +1 -0
  144. package/build-esm/_models/interfaces/operation-run-result.interface.js +1 -0
  145. package/build-esm/_models/interfaces/paged.interface.js +1 -0
  146. package/build-esm/_models/interfaces/poll-handle.interface.js +1 -0
  147. package/build-esm/_models/interfaces/random-weight.interface.js +1 -0
  148. package/build-esm/_models/interfaces/route-settings.interface.js +1 -0
  149. package/build-esm/_models/interfaces/search-query.interface.js +1 -0
  150. package/build-esm/_models/interfaces/search-result.interface.js +1 -0
  151. package/build-esm/_models/interfaces/server-error-statistics.interface.js +1 -0
  152. package/build-esm/_models/interfaces/vector2.interface.js +1 -0
  153. package/build-esm/_models/types/db-filter.type.js +1 -0
  154. package/build-esm/_models/types/db-sort.type.js +1 -0
  155. package/build-esm/_models/types/deprecated-boolean-alias.type.js +1 -0
  156. package/build-esm/_models/types/ds-filter.type.js +15 -0
  157. package/build-esm/_models/types/ds-sort.type.js +1 -0
  158. package/build-esm/_modules/ai/_collections/ai-media-provenance.util.js +24 -0
  159. package/build-esm/_modules/ai/_collections/ai-model-ref.util.js +70 -0
  160. package/build-esm/_modules/ai/_collections/ai-model-registry.util.js +37 -0
  161. package/build-esm/_modules/ai/_enums/ai-message-role.enum.js +8 -0
  162. package/build-esm/_modules/ai/_enums/ai-model-type.enum.js +8 -0
  163. package/build-esm/_modules/ai/_enums/ai-provider.enum.js +8 -0
  164. package/build-esm/_modules/ai/_models/ai-call-settings.interface.js +88 -0
  165. package/build-esm/_modules/ai/_models/ai-config.interface.js +1 -0
  166. package/build-esm/_modules/ai/_models/ai-embedding-request.interface.js +1 -0
  167. package/build-esm/_modules/ai/_models/ai-embedding-response.interface.js +1 -0
  168. package/build-esm/_modules/ai/_models/ai-image-request.interface.js +1 -0
  169. package/build-esm/_modules/ai/_models/ai-image-response.interface.js +1 -0
  170. package/build-esm/_modules/ai/_models/ai-llm-request.interface.js +1 -0
  171. package/build-esm/_modules/ai/_models/ai-llm-response.interface.js +1 -0
  172. package/build-esm/_modules/ai/_models/ai-media-file.interface.js +1 -0
  173. package/build-esm/_modules/ai/_models/ai-media-provenance.interface.js +1 -0
  174. package/build-esm/_modules/ai/_models/ai-message.interface.js +1 -0
  175. package/build-esm/_modules/ai/_models/ai-model-capabilities.interface.js +1 -0
  176. package/build-esm/_modules/ai/_models/ai-model-info.interface.js +1 -0
  177. package/build-esm/_modules/ai/_models/ai-model-settings-schema.interface.js +1 -0
  178. package/build-esm/_modules/ai/_models/ai-model3d-request.interface.js +1 -0
  179. package/build-esm/_modules/ai/_models/ai-model3d-response.interface.js +1 -0
  180. package/build-esm/_modules/ai/_models/ai-provider-capabilities.interface.js +1 -0
  181. package/build-esm/_modules/ai/_models/ai-settings.interface.js +10 -0
  182. package/build-esm/_modules/ai/_models/ai-speech-request.interface.js +1 -0
  183. package/build-esm/_modules/ai/_models/ai-speech-response.interface.js +1 -0
  184. package/build-esm/_modules/ai/_models/ai-tool-call.interface.js +1 -0
  185. package/build-esm/_modules/ai/_models/ai-tool-handler.type.js +1 -0
  186. package/build-esm/_modules/ai/_models/ai-tool-result.interface.js +1 -0
  187. package/build-esm/_modules/ai/_models/ai-tool.interface.js +1 -0
  188. package/build-esm/_modules/ai/_models/ai-user-provider-config.control-model.js +31 -0
  189. package/build-esm/_modules/ai/_modules/anthropic/_collections/aai-models.const.js +130 -0
  190. package/build-esm/_modules/ai/_modules/anthropic/_enums/aai-model.enum.js +17 -0
  191. package/build-esm/_modules/ai/_modules/anthropic/_models/aai-call-settings.control-model.js +23 -0
  192. package/build-esm/_modules/ai/_modules/anthropic/_models/aai-client-options.interface.js +1 -0
  193. package/build-esm/_modules/ai/_modules/anthropic/_models/aai-settings.control-model.js +25 -0
  194. package/build-esm/_modules/ai/_modules/anthropic/_models/aai-user-provider-config.control-model.js +22 -0
  195. package/build-esm/_modules/ai/_modules/anthropic/index.js +9 -0
  196. package/build-esm/_modules/ai/_modules/document-ai/_models/dai-embedding-info.interface.js +1 -0
  197. package/build-esm/_modules/ai/_modules/document-ai/_models/dai-vector-search-params.interface.js +1 -0
  198. package/build-esm/_modules/ai/_modules/document-ai/index.js +3 -0
  199. package/build-esm/_modules/ai/_modules/fdp-ai/_collections/fdpai-models.const.js +38 -0
  200. package/build-esm/_modules/ai/_modules/fdp-ai/_enums/fdpai-model.enum.js +7 -0
  201. package/build-esm/_modules/ai/_modules/fdp-ai/_models/fdpai-call-settings.control-model.js +21 -0
  202. package/build-esm/_modules/ai/_modules/fdp-ai/_models/fdpai-client-options.interface.js +1 -0
  203. package/build-esm/_modules/ai/_modules/fdp-ai/_models/fdpai-settings.control-model.js +24 -0
  204. package/build-esm/_modules/ai/_modules/fdp-ai/_models/fdpai-user-provider-config.control-model.js +22 -0
  205. package/build-esm/_modules/ai/_modules/fdp-ai/index.js +9 -0
  206. package/build-esm/_modules/ai/_modules/google-ai/_collections/gai-models.const.js +155 -0
  207. package/build-esm/_modules/ai/_modules/google-ai/_enums/gai-model.enum.js +14 -0
  208. package/build-esm/_modules/ai/_modules/google-ai/_models/gai-call-settings.control-model.js +23 -0
  209. package/build-esm/_modules/ai/_modules/google-ai/_models/gai-client-options.interface.js +1 -0
  210. package/build-esm/_modules/ai/_modules/google-ai/_models/gai-settings.control-model.js +25 -0
  211. package/build-esm/_modules/ai/_modules/google-ai/_models/gai-user-provider-config.control-model.js +22 -0
  212. package/build-esm/_modules/ai/_modules/google-ai/index.js +9 -0
  213. package/build-esm/_modules/ai/_modules/local-ai/_collections/lai-models.const.js +57 -0
  214. package/build-esm/_modules/ai/_modules/local-ai/_enums/lai-model.enum.js +5 -0
  215. package/build-esm/_modules/ai/_modules/local-ai/_models/lai-call-settings.control-model.js +19 -0
  216. package/build-esm/_modules/ai/_modules/local-ai/_models/lai-client-options.interface.js +1 -0
  217. package/build-esm/_modules/ai/_modules/local-ai/_models/lai-settings.control-model.js +22 -0
  218. package/build-esm/_modules/ai/_modules/local-ai/index.js +8 -0
  219. package/build-esm/_modules/ai/_modules/open-ai/_collections/oai-embedding-model-dimensions.const.js +6 -0
  220. package/build-esm/_modules/ai/_modules/open-ai/_collections/oai-models.const.js +455 -0
  221. package/build-esm/_modules/ai/_modules/open-ai/_enums/oai-model.enum.js +146 -0
  222. package/build-esm/_modules/ai/_modules/open-ai/_models/oai-call-settings.control-model.js +23 -0
  223. package/build-esm/_modules/ai/_modules/open-ai/_models/oai-client-options.interface.js +1 -0
  224. package/build-esm/_modules/ai/_modules/open-ai/_models/oai-embedding-info.interface.js +1 -0
  225. package/build-esm/_modules/ai/_modules/open-ai/_models/oai-settings.control-model.js +25 -0
  226. package/build-esm/_modules/ai/_modules/open-ai/_models/oai-user-provider-config.control-model.js +23 -0
  227. package/build-esm/_modules/ai/_modules/open-ai/index.js +19 -0
  228. package/build-esm/_modules/ai/index.js +34 -0
  229. package/build-esm/_modules/application-alert/_collections/application-alert-envelope.util.js +267 -0
  230. package/build-esm/_modules/application-alert/_enums/application-alert-evaluation-state.type-enum.js +6 -0
  231. package/build-esm/_modules/application-alert/_enums/application-alert-severity.type-enum.js +8 -0
  232. package/build-esm/_modules/application-alert/_models/application-alert.interface.js +1 -0
  233. package/build-esm/_modules/application-alert/index.js +4 -0
  234. package/build-esm/_modules/ci-tools/_enums/cit-ci-result-code.enum.js +9 -0
  235. package/build-esm/_modules/ci-tools/_enums/cit-ci-step-result-code.enum.js +9 -0
  236. package/build-esm/_modules/ci-tools/_models/cit-ci-result-info.data-models.js +63 -0
  237. package/build-esm/_modules/ci-tools/_models/cit-ci-step-result.interface.js +1 -0
  238. package/build-esm/_modules/ci-tools/index.js +6 -0
  239. package/build-esm/_modules/crypto/_collections/crypto-v1.util.js +199 -0
  240. package/build-esm/_modules/crypto/_collections/crypto-v2.util.js +273 -0
  241. package/build-esm/_modules/crypto/_collections/crypto-v4.util.js +605 -0
  242. package/build-esm/_modules/crypto/_collections/crypto.util.js +651 -0
  243. package/build-esm/_modules/crypto/_models/artifact-signature.interface.js +1 -0
  244. package/build-esm/_modules/crypto/_services/artifact-signature.control-service.js +276 -0
  245. package/build-esm/_modules/crypto/index.js +11 -0
  246. package/build-esm/_modules/custom-data/_collections/cud-module-settings.const.js +18 -0
  247. package/build-esm/_modules/custom-data/_models/cud.data-model.js +30 -0
  248. package/build-esm/_modules/custom-data/index.js +4 -0
  249. package/build-esm/_modules/data-handler/_models/data-handler-settings.control-model.js +78 -0
  250. package/build-esm/_modules/data-handler/_models/data-handler.control-model.js +386 -0
  251. package/build-esm/_modules/data-handler/_models/data-list-handler-settings.control-model.js +11 -0
  252. package/build-esm/_modules/data-handler/_models/data-list-handler.control-model.js +222 -0
  253. package/build-esm/_modules/data-handler/_models/data-search-handler-settings.control-model.js +25 -0
  254. package/build-esm/_modules/data-handler/_models/data-search-handler.control-model.js +334 -0
  255. package/build-esm/_modules/data-handler/_models/list-collector-data-handler-settings.control-model.js +12 -0
  256. package/build-esm/_modules/data-handler/_models/list-collector-data-handler.control-model.js +243 -0
  257. package/build-esm/_modules/data-handler/index.js +9 -0
  258. package/build-esm/_modules/deployment/_collections/atomic-rollback-manifest.util.js +348 -0
  259. package/build-esm/_modules/deployment/_models/atomic-rollback-manifest.interface.js +1 -0
  260. package/build-esm/_modules/deployment/index.js +2 -0
  261. package/build-esm/_modules/game/_collections/audio-mixer.util.js +109 -0
  262. package/build-esm/_modules/game/_collections/audio-scale.util.js +100 -0
  263. package/build-esm/_modules/game/_enums/audio-channel.enum.js +21 -0
  264. package/build-esm/_modules/game/_models/audio-mixer-config.interface.js +1 -0
  265. package/build-esm/_modules/game/_models/audio-mixer-settings.interface.js +1 -0
  266. package/build-esm/_modules/game/_models/audio-mixer-state.interface.js +1 -0
  267. package/build-esm/_modules/game/_models/audio-mixer.control-model.js +337 -0
  268. package/build-esm/_modules/game/_models/audio-scale.interface.js +1 -0
  269. package/build-esm/_modules/game/_models/flying-effect.control-model.js +212 -0
  270. package/build-esm/_modules/game/_models/flying-effect.interface.js +1 -0
  271. package/build-esm/_modules/game/_models/seeded-random-registry.control-model.js +124 -0
  272. package/build-esm/_modules/game/_models/seeded-random-registry.interface.js +1 -0
  273. package/build-esm/_modules/game/_models/seeded-random-state.interface.js +1 -0
  274. package/build-esm/_modules/game/_models/seeded-random.control-model.js +261 -0
  275. package/build-esm/_modules/game/index.js +17 -0
  276. package/build-esm/_modules/location/_collections/assets/country-codes-ISO-3166.json +3239 -0
  277. package/build-esm/_modules/location/_collections/assets/country-divisions-ISO-3166-all-list.json +19036 -0
  278. package/build-esm/_modules/location/_collections/assets/country-phone-codes.json +1202 -0
  279. package/build-esm/_modules/location/_collections/loc-country-divisions.const.js +3 -0
  280. package/build-esm/_modules/location/_collections/loc-country-isos.const.js +2 -0
  281. package/build-esm/_modules/location/_collections/loc-regions.util.js +107 -0
  282. package/build-esm/_modules/location/_collections/loc.util.js +56 -0
  283. package/build-esm/_modules/location/_enums/loc-region.enum.js +11 -0
  284. package/build-esm/_modules/location/_enums/loc-sub-region.enum.js +23 -0
  285. package/build-esm/_modules/location/_enums/loc-subdivision-region-type.enum.js +45 -0
  286. package/build-esm/_modules/location/_models/loc-coordinates.interface.js +1 -0
  287. package/build-esm/_modules/location/_models/loc-country-division.interface.js +1 -0
  288. package/build-esm/_modules/location/_models/loc-country-iso.interface.js +1 -0
  289. package/build-esm/_modules/location/_models/loc-country-phone-code.interface.js +1 -0
  290. package/build-esm/_modules/location/_models/loc-division-collection.interface.js +1 -0
  291. package/build-esm/_modules/location/_models/loc-division-region-data.interface.js +1 -0
  292. package/build-esm/_modules/location/_models/loc-geo-ip-location.interface.js +1 -0
  293. package/build-esm/_modules/location/index.js +17 -0
  294. package/build-esm/_modules/messaging/_collections/msg-module-settings.const.js +44 -0
  295. package/build-esm/_modules/messaging/_enums/msg-attachment-type.enum.js +21 -0
  296. package/build-esm/_modules/messaging/_enums/msg-conversation-type.enum.js +17 -0
  297. package/build-esm/_modules/messaging/_enums/msg-delivery-status.enum.js +15 -0
  298. package/build-esm/_modules/messaging/_enums/msg-event-key.enum.js +28 -0
  299. package/build-esm/_modules/messaging/_enums/msg-participant-role.enum.js +17 -0
  300. package/build-esm/_modules/messaging/_enums/msg-provider-type.enum.js +8 -0
  301. package/build-esm/_modules/messaging/_enums/msg-status.enum.js +21 -0
  302. package/build-esm/_modules/messaging/_enums/msg-type.enum.js +19 -0
  303. package/build-esm/_modules/messaging/_models/msg-attachment.interface.js +1 -0
  304. package/build-esm/_modules/messaging/_models/msg-conversation.data-model.js +80 -0
  305. package/build-esm/_modules/messaging/_models/msg-mention.interface.js +1 -0
  306. package/build-esm/_modules/messaging/_models/msg-message.data-model.js +102 -0
  307. package/build-esm/_modules/messaging/_models/msg-participant.interface.js +1 -0
  308. package/build-esm/_modules/messaging/_models/msg-reaction.interface.js +1 -0
  309. package/build-esm/_modules/messaging/_models/msg-thread-info.interface.js +1 -0
  310. package/build-esm/_modules/messaging/_modules/agent/_enums/agt-process-step-type.enum.js +27 -0
  311. package/build-esm/_modules/messaging/_modules/agent/_enums/agt-tool-status.enum.js +19 -0
  312. package/build-esm/_modules/messaging/_modules/agent/_models/agt-process-step.interface.js +1 -0
  313. package/build-esm/_modules/messaging/_modules/agent/_models/agt-reasoning-info.interface.js +1 -0
  314. package/build-esm/_modules/messaging/_modules/agent/_models/agt-tool-usage.interface.js +1 -0
  315. package/build-esm/_modules/messaging/_modules/agent/index.js +7 -0
  316. package/build-esm/_modules/messaging/index.js +25 -0
  317. package/build-esm/_modules/ngx-models/_collections/angular-placeholders.js +1 -0
  318. package/build-esm/_modules/ngx-models/_collections/button-new-style-settings-presets.const.js +170 -0
  319. package/build-esm/_modules/ngx-models/_collections/dynamo-global.settings.js +88 -0
  320. package/build-esm/_modules/ngx-models/_enums/button-new/button-new-border-radius.enum.js +14 -0
  321. package/build-esm/_modules/ngx-models/_enums/button-new/button-new-icon-style-type.enum.js +12 -0
  322. package/build-esm/_modules/ngx-models/_enums/button-new/button-new-size.enum.js +15 -0
  323. package/build-esm/_modules/ngx-models/_enums/button-new/button-new-style-type.enum.js +17 -0
  324. package/build-esm/_modules/ngx-models/_enums/button-type.enum.js +35 -0
  325. package/build-esm/_modules/ngx-models/_enums/checkbox-label-position.enum.js +8 -0
  326. package/build-esm/_modules/ngx-models/_enums/container-type.enum.js +11 -0
  327. package/build-esm/_modules/ngx-models/_enums/errors/error-level.enum.js +14 -0
  328. package/build-esm/_modules/ngx-models/_enums/errors/error-notification-color.enum.js +14 -0
  329. package/build-esm/_modules/ngx-models/_enums/errors/error-ui-mode.enum.js +14 -0
  330. package/build-esm/_modules/ngx-models/_enums/field-appearance.enum.js +13 -0
  331. package/build-esm/_modules/ngx-models/_enums/field-type.enum.js +49 -0
  332. package/build-esm/_modules/ngx-models/_enums/file-type.enum.js +12 -0
  333. package/build-esm/_modules/ngx-models/_enums/flex/flex-layout-align.enum.js +21 -0
  334. package/build-esm/_modules/ngx-models/_enums/flex/flex-layout.enum.js +6 -0
  335. package/build-esm/_modules/ngx-models/_enums/form-access.enum.js +9 -0
  336. package/build-esm/_modules/ngx-models/_enums/form-reset-data.enum.js +12 -0
  337. package/build-esm/_modules/ngx-models/_enums/form-store-on.enum.js +8 -0
  338. package/build-esm/_modules/ngx-models/_enums/forms-new/field-new-validator-type.enum.js +21 -0
  339. package/build-esm/_modules/ngx-models/_enums/frames/header-item-type.enum.js +16 -0
  340. package/build-esm/_modules/ngx-models/_enums/frames/header-position.enum.js +11 -0
  341. package/build-esm/_modules/ngx-models/_enums/frames/side-nav-badge-color.enum.js +14 -0
  342. package/build-esm/_modules/ngx-models/_enums/html/input-types.enum.js +26 -0
  343. package/build-esm/_modules/ngx-models/_enums/material-color.enum.js +14 -0
  344. package/build-esm/_modules/ngx-models/_enums/material-tooltip-position.enum.js +13 -0
  345. package/build-esm/_modules/ngx-models/_enums/preconfigured-field-type.enum.js +8 -0
  346. package/build-esm/_modules/ngx-models/_enums/storage-type.enum.js +13 -0
  347. package/build-esm/_modules/ngx-models/_enums/validator-type.enum.js +7 -0
  348. package/build-esm/_modules/ngx-models/_enums/voice/audio-mime-type.enum.js +15 -0
  349. package/build-esm/_modules/ngx-models/_enums/voice/voice-provider-type.enum.js +32 -0
  350. package/build-esm/_modules/ngx-models/_enums/voice/voice-recorder-state.enum.js +21 -0
  351. package/build-esm/_modules/ngx-models/_models/control-models/button-new-style-settings.control-model.js +44 -0
  352. package/build-esm/_modules/ngx-models/_models/control-models/button-params.control-model.js +304 -0
  353. package/build-esm/_modules/ngx-models/_models/control-models/chat/chat-column-layout-settings.control-model.js +59 -0
  354. package/build-esm/_modules/ngx-models/_models/control-models/data-handler-settings.control-model.js +94 -0
  355. package/build-esm/_modules/ngx-models/_models/control-models/data-handler.control-model.js +407 -0
  356. package/build-esm/_modules/ngx-models/_models/control-models/errors/error-notification.control-model.js +43 -0
  357. package/build-esm/_modules/ngx-models/_models/control-models/errors/error-settings.control-model.js +64 -0
  358. package/build-esm/_modules/ngx-models/_models/control-models/errors/errors-settings.control-model.js +52 -0
  359. package/build-esm/_modules/ngx-models/_models/control-models/field-settings.control-model.js +207 -0
  360. package/build-esm/_modules/ngx-models/_models/control-models/form-settings.control-model.js +275 -0
  361. package/build-esm/_modules/ngx-models/_models/control-models/forms-new/checkbox-field-new-settings.control-model.js +29 -0
  362. package/build-esm/_modules/ngx-models/_models/control-models/forms-new/color-picker-field-new-settings.control-model.js +36 -0
  363. package/build-esm/_modules/ngx-models/_models/control-models/forms-new/date-field-new-settings.control-model.js +31 -0
  364. package/build-esm/_modules/ngx-models/_models/control-models/forms-new/date-range-field-new-settings.control-model.js +46 -0
  365. package/build-esm/_modules/ngx-models/_models/control-models/forms-new/datetime-field-new-settings.control-model.js +38 -0
  366. package/build-esm/_modules/ngx-models/_models/control-models/forms-new/datetime-range-field-new-settings.control-model.js +48 -0
  367. package/build-esm/_modules/ngx-models/_models/control-models/forms-new/emoji-picker-field-new-settings.control-model.js +21 -0
  368. package/build-esm/_modules/ngx-models/_models/control-models/forms-new/field-new-settings.control-model.js +91 -0
  369. package/build-esm/_modules/ngx-models/_models/control-models/forms-new/field-new-types.js +1 -0
  370. package/build-esm/_modules/ngx-models/_models/control-models/forms-new/form-new-settings.control-model.js +39 -0
  371. package/build-esm/_modules/ngx-models/_models/control-models/forms-new/icon-picker-field-new-settings.control-model.js +39 -0
  372. package/build-esm/_modules/ngx-models/_models/control-models/forms-new/index.js +23 -0
  373. package/build-esm/_modules/ngx-models/_models/control-models/forms-new/multiselect-field-new-settings.control-model.js +31 -0
  374. package/build-esm/_modules/ngx-models/_models/control-models/forms-new/number-field-new-settings.control-model.js +29 -0
  375. package/build-esm/_modules/ngx-models/_models/control-models/forms-new/password-field-new-settings.control-model.js +51 -0
  376. package/build-esm/_modules/ngx-models/_models/control-models/forms-new/picker-field-new-option.interface.js +1 -0
  377. package/build-esm/_modules/ngx-models/_models/control-models/forms-new/radio-select-field-new-settings.control-model.js +38 -0
  378. package/build-esm/_modules/ngx-models/_models/control-models/forms-new/select-field-new-settings.control-model.js +35 -0
  379. package/build-esm/_modules/ngx-models/_models/control-models/forms-new/slider-field-new-settings.control-model.js +50 -0
  380. package/build-esm/_modules/ngx-models/_models/control-models/forms-new/slider-range-field-new-settings.control-model.js +47 -0
  381. package/build-esm/_modules/ngx-models/_models/control-models/forms-new/text-field-new-settings.control-model.js +35 -0
  382. package/build-esm/_modules/ngx-models/_models/control-models/forms-new/textarea-field-new-settings.control-model.js +27 -0
  383. package/build-esm/_modules/ngx-models/_models/control-models/frames/header-item-settings.control-model.js +44 -0
  384. package/build-esm/_modules/ngx-models/_models/control-models/frames/main-frame-settings.control-model.js +56 -0
  385. package/build-esm/_modules/ngx-models/_models/control-models/frames/side-nav-item-settings.control-model.js +58 -0
  386. package/build-esm/_modules/ngx-models/_models/control-models/frames/side-nav-settings.control-model.js +38 -0
  387. package/build-esm/_modules/ngx-models/_models/control-models/select.control-model.js +27 -0
  388. package/build-esm/_modules/ngx-models/_models/control-models/signal-data-list-handler-settings.control-model.js +23 -0
  389. package/build-esm/_modules/ngx-models/_models/control-models/signal-data-search-handler-settings.control-model.js +25 -0
  390. package/build-esm/_modules/ngx-models/_models/control-models/signal-list-collector-data-handler-settings.control-model.js +12 -0
  391. package/build-esm/_modules/ngx-models/_models/control-models/voice/voice-providers-settings.control-model.js +22 -0
  392. package/build-esm/_modules/ngx-models/_models/control-models/voice/voice-record-button-settings.control-model.js +91 -0
  393. package/build-esm/_modules/ngx-models/_models/control-models/voice/voice-recorder-settings.control-model.js +42 -0
  394. package/build-esm/_modules/ngx-models/_models/interfaces/button-new-settings.interface.js +1 -0
  395. package/build-esm/_modules/ngx-models/_models/interfaces/confirm-settings.interface.js +1 -0
  396. package/build-esm/_modules/ngx-models/_models/interfaces/global-settings.interface.js +1 -0
  397. package/build-esm/_modules/ngx-models/_models/interfaces/select-options-custom-constructor.interface.js +1 -0
  398. package/build-esm/_modules/ngx-models/_models/interfaces/storage.service.js +40 -0
  399. package/build-esm/_modules/ngx-models/_models/interfaces/voice/speak-options.interface.js +1 -0
  400. package/build-esm/_modules/ngx-models/_models/interfaces/voice/speak-result.interface.js +1 -0
  401. package/build-esm/_modules/ngx-models/_models/interfaces/voice/transcribe-options.interface.js +1 -0
  402. package/build-esm/_modules/ngx-models/_models/interfaces/voice/transcribe-result.interface.js +1 -0
  403. package/build-esm/_modules/ngx-models/_models/interfaces/voice/voice-profile.interface.js +1 -0
  404. package/build-esm/_modules/ngx-models/_models/interfaces/voice/voice-provider-init.interface.js +1 -0
  405. package/build-esm/_modules/ngx-models/_utils/shared.service.js +407 -0
  406. package/build-esm/_modules/ngx-models/index.js +89 -0
  407. package/build-esm/_modules/operation-control/_collections/operation-lease.util.js +323 -0
  408. package/build-esm/_modules/operation-control/_enums/operation-decision-code.type-enum.js +22 -0
  409. package/build-esm/_modules/operation-control/_enums/operation-state.type-enum.js +9 -0
  410. package/build-esm/_modules/operation-control/_models/operation-lease.interface.js +1 -0
  411. package/build-esm/_modules/operation-control/index.js +4 -0
  412. package/build-esm/_modules/pipe/_collections/pip-transforms.const.js +32 -0
  413. package/build-esm/_modules/pipe/_collections/utils/pip-country-pipe.util.js +29 -0
  414. package/build-esm/_modules/pipe/_collections/utils/pip-custom-pipe.util.js +22 -0
  415. package/build-esm/_modules/pipe/_collections/utils/pip-division-pipe.util.js +21 -0
  416. package/build-esm/_modules/pipe/_collections/utils/pip-json-pipe.util.js +18 -0
  417. package/build-esm/_modules/pipe/_collections/utils/pip-list-pipe.util.js +19 -0
  418. package/build-esm/_modules/pipe/_collections/utils/pip-multi-pipe-pipe.util.js +164 -0
  419. package/build-esm/_modules/pipe/_collections/utils/pip-obj-key-pipe.util.js +16 -0
  420. package/build-esm/_modules/pipe/_collections/utils/pip-range-pipe.util.js +64 -0
  421. package/build-esm/_modules/pipe/_collections/utils/pip-region-pipe.util.js +22 -0
  422. package/build-esm/_modules/pipe/_collections/utils/pip-replace-pipe.util.js +15 -0
  423. package/build-esm/_modules/pipe/_collections/utils/pip-slider-pipe.util.js +26 -0
  424. package/build-esm/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.js +40 -0
  425. package/build-esm/_modules/pipe/_enums/pip-range-pipe-setting.enum.js +14 -0
  426. package/build-esm/_modules/pipe/_enums/pip.enum.js +48 -0
  427. package/build-esm/_modules/pipe/_models/pip-multi-pipe-settings.type.js +1 -0
  428. package/build-esm/_modules/pipe/_models/pip-transforms.interface.js +1 -0
  429. package/build-esm/_modules/pipe/index.js +22 -0
  430. package/build-esm/_modules/request-safety/_collections/request-safety-inspector.util.js +317 -0
  431. package/build-esm/_modules/request-safety/_enums/request-safety-finding.type-enum.js +39 -0
  432. package/build-esm/_modules/request-safety/_models/request-safety.interface.js +1 -0
  433. package/build-esm/_modules/request-safety/index.js +3 -0
  434. package/build-esm/_modules/sandbox-runtime/_collections/zero-egress-receipt.util.js +154 -0
  435. package/build-esm/_modules/sandbox-runtime/_collections/zero-egress-result-code.const.js +36 -0
  436. package/build-esm/_modules/sandbox-runtime/_enums/zero-egress-outcome.type-enum.js +11 -0
  437. package/build-esm/_modules/sandbox-runtime/_models/zero-egress-receipt.interface.js +1 -0
  438. package/build-esm/_modules/sandbox-runtime/index.js +4 -0
  439. package/build-esm/_modules/security/_collections/stored-secret.util.js +68 -0
  440. package/build-esm/_modules/security/_models/stored-secret.control-model.js +52 -0
  441. package/build-esm/_modules/security/index.js +7 -0
  442. package/build-esm/_modules/socket/_enums/sck-event-key.enum.js +18 -0
  443. package/build-esm/_modules/socket/_models/sck-client-params.control-model.js +47 -0
  444. package/build-esm/_modules/socket/_models/sck-socket-event.control-model.js +133 -0
  445. package/build-esm/_modules/socket/_services/sck-client.service-base.js +314 -0
  446. package/build-esm/_modules/socket/index.js +7 -0
  447. package/build-esm/_modules/state-machine/_models/state-machine-config.interface.js +1 -0
  448. package/build-esm/_modules/state-machine/_models/state-machine-event.interface.js +1 -0
  449. package/build-esm/_modules/state-machine/_models/state-machine.control-model.js +262 -0
  450. package/build-esm/_modules/state-machine/_models/state-transition-result.interface.js +1 -0
  451. package/build-esm/_modules/state-machine/_models/state-transition.interface.js +1 -0
  452. package/build-esm/_modules/state-machine/index.js +6 -0
  453. package/build-esm/_modules/test/_collections/tst-module-settings.const.js +38 -0
  454. package/build-esm/_modules/test/index.js +2 -0
  455. package/build-esm/_modules/usage/_collections/usg-module-settings.const.js +16 -0
  456. package/build-esm/_modules/usage/_models/usg-action.control-model.js +25 -0
  457. package/build-esm/_modules/usage/_models/usg-daily-usage-data.control-model.js +30 -0
  458. package/build-esm/_modules/usage/_models/usg-data.control-model.js +30 -0
  459. package/build-esm/_modules/usage/_models/usg-session.data-model.js +60 -0
  460. package/build-esm/_modules/usage/index.js +7 -0
  461. package/build-esm/index.js +108 -0
  462. package/package.json +86 -85
@@ -0,0 +1,591 @@
1
+ import { DyFM_Log } from './log.util';
2
+ import { DyFM_JsonErrorHelper } from './json-error-helper.util';
3
+ import { DyFM_String } from './string.util';
4
+ export class DyFM_Object {
5
+ static defaultErrorMsg = ' failed. ' +
6
+ '\nThis might be happening because the object you trying to clone, ' +
7
+ 'contains object hooks for its own objects, therefore its creating an object loop. ' +
8
+ 'See further information in the detailed error:\n\n';
9
+ /**
10
+ * returns remapped object list by path list
11
+ * @param objList object list to map
12
+ * @param paths string list of path etc.:
13
+ * ```ts
14
+ * [ [ 'first', 'sub', 'label' ], [ 'first', 'dif', 'name' ] ]
15
+ * ```
16
+ * will be...
17
+ * from
18
+ * ```ts
19
+ * {
20
+ * first: {
21
+ * sub: {
22
+ * label: 'vlmi'
23
+ * },
24
+ * dif: {
25
+ * name: 'asd'
26
+ * }
27
+ * }
28
+ * }[]
29
+ * ```
30
+ * to
31
+ * ```
32
+ * { label: 'vlmi', name: 'asd' }[]
33
+ * ```
34
+ * @returns remapped object list (the final obj will use the deepest keys)
35
+ */
36
+ static mapObjList(objList, paths) {
37
+ let newObjList = [...objList];
38
+ newObjList = newObjList.map((obj) => {
39
+ const newObj = {};
40
+ paths.forEach((path) => {
41
+ newObj[path[path.length - 1]] = this.getNestedData(obj, path);
42
+ });
43
+ return newObj;
44
+ });
45
+ return newObjList;
46
+ }
47
+ /**
48
+ * returns nested value from object
49
+ * @param parentObj data source object
50
+ * @param nestedDataKeys path of value as string list
51
+ * etc.: ['nestLvl1', 'nestLvl2', 'nestLvl3'] as parentObj.nestLvl1.nestLvl2.nestLvl3
52
+ * @returns data from object by path
53
+ */
54
+ static getNestedData(parentObj, nestedDataKeys) {
55
+ let newData = this.clone(parentObj); // {...parentObj};
56
+ nestedDataKeys.forEach((dk) => {
57
+ if (newData) {
58
+ newData = newData[dk];
59
+ }
60
+ });
61
+ return newData;
62
+ }
63
+ /**
64
+ * recursive function that nests data
65
+ * @param newData the object that that is needed to be updated
66
+ * @param nestKeys the path where the data should be updated
67
+ * @param dataToSet the actual value that will be setted
68
+ * @returns modified data
69
+ */
70
+ static nestData(parentObj, nestKeys, dataToSet) {
71
+ const newData = this.clone(parentObj); // {...parentObj};
72
+ if (nestKeys.length > 1) {
73
+ const keys = [...nestKeys];
74
+ const nextNestKey = keys.shift();
75
+ newData[nextNestKey] = this.nestData(newData[nextNestKey], keys, dataToSet);
76
+ }
77
+ else {
78
+ newData[nestKeys[0]] = dataToSet;
79
+ }
80
+ return newData;
81
+ }
82
+ /**
83
+ * recursive function that adds to nested data
84
+ * @param newData the object that that is needed to be updated
85
+ * @param nestKeys the path where the data should be updated
86
+ * @param dataToAdd the actual value that will be setted
87
+ * @returns modified data
88
+ */
89
+ static addToNestedData(parentObj, nestKeys, dataToAdd) {
90
+ const newData = this.clone(parentObj); // {...parentObj};
91
+ if (nestKeys.length > 1) {
92
+ const keys = [...nestKeys];
93
+ const nextNestKey = keys.shift();
94
+ newData[nextNestKey] = this.addToNestedData(newData[nextNestKey], keys, dataToAdd);
95
+ }
96
+ else {
97
+ newData[nestKeys[0]] += dataToAdd;
98
+ }
99
+ return newData;
100
+ }
101
+ /**
102
+ * recursive function that pushes to nested data
103
+ * @param newData the object that that is needed to be updated
104
+ * @param nestKeys the path where the data should be updated
105
+ * @param dataToPush the actual value that will be setted
106
+ * @returns modified data
107
+ */
108
+ static pushToNestedData(parentObj, nestKeys, dataToPush) {
109
+ const newData = this.clone(parentObj); // {...parentObj};
110
+ if (nestKeys.length > 1) {
111
+ const keys = [...nestKeys];
112
+ const nextNestKey = keys.shift();
113
+ newData[nextNestKey] = this.pushToNestedData(newData[nextNestKey], keys, dataToPush);
114
+ }
115
+ else {
116
+ if (Array.isArray(newData[nestKeys[0]])) {
117
+ newData[nestKeys[0]].push(dataToPush);
118
+ }
119
+ else {
120
+ newData[nestKeys[0]] = [dataToPush];
121
+ }
122
+ }
123
+ return newData;
124
+ }
125
+ /**
126
+ * recursive function that nests data on recursive data structure etc.: xData: { ..., 'nestedListKey': xData[] }
127
+ * @param newData the object that that is needed to be updated
128
+ * @param nestedListKey the location of nested dataList
129
+ * @param nestIndexes path to the subject ect.: xData.listKey[1].listKey[4].listKey[0] will be [1, 4, 0]
130
+ * @param dataToSet the actual value that will be seted on location
131
+ * @returns modified data
132
+ */
133
+ static nestRecursiveListedData(parentObj, nestedListKey, nestIndexes, dataToSet) {
134
+ const newData = this.clone(parentObj); // parentObj; // {...parentObj};
135
+ if (nestIndexes.length > 1) {
136
+ const indexes = [...nestIndexes];
137
+ const nextLevelKey = indexes.shift();
138
+ newData[nestedListKey][nextLevelKey] = this.nestRecursiveListedData(newData[nestedListKey][nextLevelKey], nestedListKey, indexes, dataToSet);
139
+ }
140
+ else {
141
+ newData[nestedListKey][nestIndexes[0]] = dataToSet;
142
+ }
143
+ return newData;
144
+ }
145
+ static removeCirculation = this.resolveCirculation;
146
+ /**
147
+ * THIS STILL NOT WORKING AS IT SHOULD
148
+ *
149
+ * recursive function that returns mutated data structure,
150
+ * with locations at which circular references are found
151
+ */
152
+ static resolveCirculation(data, location = [('ROOT;' + data?.constructor?.name)], objs = []) {
153
+ if (!data || typeof data !== 'object') {
154
+ return data;
155
+ }
156
+ else if (objs.includes(data)) {
157
+ return 'CIRCULATION:' + location.join('.');
158
+ }
159
+ let newData;
160
+ if (Array.isArray(data)) {
161
+ newData = [];
162
+ }
163
+ else {
164
+ newData = {};
165
+ }
166
+ // using the utility that Object.keys will return array keys if the data is an array
167
+ Object.keys(data).forEach((key) => {
168
+ newData[key] = this.resolveCirculation(data[key], [...location, key], [...objs, data]);
169
+ });
170
+ return newData;
171
+ }
172
+ /**
173
+ * looks for circular references in object
174
+ * returns duplicated object's all location paths and the object itself
175
+ *
176
+ * {
177
+ * object: any,
178
+ * pathsOfAllDuplications: string[],
179
+ * }[]
180
+ *
181
+ * paths are in a single string, separated by '.'
182
+ */
183
+ static findCirculations(data, location = [('ROOT;' + data?.constructor?.name)], objs = [], duplications = []) {
184
+ if (!data || typeof data !== 'object') {
185
+ return duplications;
186
+ }
187
+ else if (objs.includes(data)) {
188
+ duplications.push({
189
+ object: data,
190
+ pathsOfAllDuplications: location,
191
+ });
192
+ }
193
+ Object.keys(data).forEach((key) => {
194
+ this.findCirculations(data[key], [...location, key], [...objs, data], duplications);
195
+ });
196
+ return duplications;
197
+ }
198
+ /**
199
+ * removes all undefined (will keep all null, false, 0, '', NaN etc.)
200
+ *
201
+ * (not supports lists in lists!)
202
+ *
203
+ * (this also modifies the original object in place)
204
+ */
205
+ static safeCleanObject(obj) {
206
+ try {
207
+ return this.cleanObject(obj);
208
+ }
209
+ catch (error) {
210
+ DyFM_Log.error('Error cleaning object:', error);
211
+ return obj;
212
+ }
213
+ }
214
+ /**
215
+ * cleans the object, by removing all undefined values (but keeps all null, false, 0, '', NaN etc.)
216
+ * (this is a deep clean)
217
+ *
218
+ * (this also modifies the original object in place)
219
+ */
220
+ static cleanObject(obj, cleanings = []) {
221
+ if (!obj || typeof obj !== 'object' || cleanings.includes(obj)) {
222
+ return obj;
223
+ }
224
+ cleanings.push(obj);
225
+ Object.keys(obj).forEach((key) => {
226
+ if (obj[key] === undefined) {
227
+ delete obj[key];
228
+ }
229
+ else if (Array.isArray(obj[key])) {
230
+ obj[key].forEach((item) => {
231
+ if (typeof item === 'object') {
232
+ this.cleanObject(item, cleanings);
233
+ }
234
+ });
235
+ }
236
+ else if (typeof obj[key] === 'object') {
237
+ this.cleanObject(obj[key], cleanings);
238
+ }
239
+ });
240
+ return obj;
241
+ }
242
+ /**
243
+ * merges two objects, if the target object is not an object, it will be replaced by the source object
244
+ * it will iterate through the source object
245
+ * and will set the values to the target object
246
+ * (like a patch, with deep merge)
247
+ *
248
+ * (this also modifies the original target object in place)
249
+ */
250
+ static mergeObjects(target, source) {
251
+ if (typeof source === 'object') {
252
+ target ??= {};
253
+ for (const key in source) {
254
+ if (source[key] instanceof Object) {
255
+ target[key] = this.mergeObjects(target[key], source[key]);
256
+ }
257
+ else if (Array.isArray(source[key])) {
258
+ target[key] ??= [];
259
+ source[key].forEach(item => {
260
+ if (!target[key].includes(item) &&
261
+ !(target[key].some(targetItem => this.sameObjects(item, targetItem)))) {
262
+ target[key].push(item);
263
+ }
264
+ });
265
+ }
266
+ else {
267
+ target[key] = source[key];
268
+ }
269
+ }
270
+ }
271
+ return target;
272
+ }
273
+ /**
274
+ * cleans the source object and merges it to the target object
275
+ *
276
+ * (this also modifies the original objects in place! (source AND target))
277
+ */
278
+ static patchObject(target, source) {
279
+ this.cleanObject(source);
280
+ return this.mergeObjects(target, source);
281
+ }
282
+ /**
283
+ * parses the JSON list, if it fails, it returns the answer as a single item in an array
284
+ *
285
+ * (uses {@link DyFM_safeParseJSON})
286
+ */
287
+ static safeParseList(textedJSON, disableErrorLog) {
288
+ const parsed = this.safeParseJSON(textedJSON, true);
289
+ if (Array.isArray(parsed)) {
290
+ return parsed;
291
+ }
292
+ else if (typeof parsed === 'object') {
293
+ if (!disableErrorLog) {
294
+ DyFM_Log.warn('DyFM_Object.safeParseList result is an object, returning its values', {
295
+ parsed: parsed,
296
+ });
297
+ }
298
+ return Object.values(parsed);
299
+ }
300
+ else {
301
+ if (!disableErrorLog) {
302
+ DyFM_Log.warn('DyFM_Object.safeParseList result is not an array or object, returning it as a single item', {
303
+ parsed: parsed,
304
+ });
305
+ }
306
+ return [parsed];
307
+ }
308
+ }
309
+ /**
310
+ * parses the JSON, if it fails, it returns { unparsableResult: textedJSON }
311
+ *
312
+ * (uses {@link DyFM_failableSafeParseJSON})
313
+ */
314
+ static safeParseJSON(textedJSON, disableErrorLog) {
315
+ try {
316
+ return this.failableSafeParseJSON(textedJSON);
317
+ }
318
+ catch (error) {
319
+ if (!disableErrorLog) {
320
+ DyFM_Log.error('Unable to parse JSON answer:', {
321
+ unparsedJSON: textedJSON,
322
+ error: error,
323
+ });
324
+ }
325
+ return { unparsableResult: textedJSON };
326
+ }
327
+ }
328
+ /**
329
+ * parses the JSON, if it fails, it throws an error
330
+ * (also will extract the JSON from "```json ... ```" wrapper)
331
+ * Uses enhanced error reporting with line context
332
+ */
333
+ static failableSafeParseJSON_old(textedJSON) {
334
+ if (!textedJSON) {
335
+ throw new Error(`No content provided to JSON parse ("${textedJSON}")`);
336
+ }
337
+ const match = textedJSON.match(/```json(.*)```/s);
338
+ // TODO; ez nem lesz az igazi, mert kiszedi a tartalmakból is a sortöréseket!!! (ugyan ez pár sorral lejjebb)
339
+ const cleanedTextedJSON = textedJSON.replaceAll('\n', '');
340
+ if (match) {
341
+ return DyFM_JsonErrorHelper.parseJsonWithEnhancedError(match[1].replaceAll('\n', ''));
342
+ }
343
+ else {
344
+ return DyFM_JsonErrorHelper.parseJsonWithEnhancedError(cleanedTextedJSON.replaceAll('```json', '').replaceAll('```', ''));
345
+ }
346
+ }
347
+ /**
348
+ * parses the JSON, if it fails, it throws an error
349
+ * (also will extract the JSON from "```json ... ```" wrapper)
350
+ * Uses enhanced error reporting with line context
351
+ */
352
+ static failableSafeParseJSON(textedJSON) {
353
+ if (!textedJSON) {
354
+ throw new Error(`No content provided to JSON parse ("${textedJSON}")`);
355
+ }
356
+ if (textedJSON.includes('```json')) {
357
+ // Extract content from code block, preserving newlines for error context
358
+ /* const extractedJson = match[1].trim(); */
359
+ const extractedJson = DyFM_String.multiBracketSplitDetailed(textedJSON, [
360
+ { opening: '```json', closing: '```' },
361
+ { opening: '{', closing: '}' },
362
+ { opening: '[', closing: ']' },
363
+ ], 1);
364
+ // Check if we have extracted content and handle undefined cases
365
+ if (extractedJson.length > 1 && extractedJson[1] && extractedJson[1].brackets?.opening === '```json') {
366
+ return DyFM_JsonErrorHelper.parseJsonWithEnhancedError(extractedJson[1].content);
367
+ }
368
+ else if (extractedJson.length > 0 && extractedJson[0]) {
369
+ return DyFM_JsonErrorHelper.parseJsonWithEnhancedError(extractedJson[0].content);
370
+ }
371
+ else {
372
+ // Fallback if extraction fails - use original text minus markdown wrapper
373
+ const cleanedText = textedJSON.replace(/```json\s*/, '').replace(/\s*```$/, '').trim();
374
+ return DyFM_JsonErrorHelper.parseJsonWithEnhancedError(cleanedText);
375
+ }
376
+ }
377
+ else {
378
+ return DyFM_JsonErrorHelper.parseJsonWithEnhancedError(textedJSON.trim());
379
+ }
380
+ }
381
+ /**
382
+ * Clone an object
383
+ * @param object - The object to clone
384
+ * @returns The cloned object
385
+ */
386
+ static clone(object) {
387
+ try {
388
+ return object ? JSON.parse(JSON.stringify(object)) : object;
389
+ }
390
+ catch (error) {
391
+ DyFM_Log.error('clone()' + this.defaultErrorMsg, error);
392
+ throw error;
393
+ }
394
+ }
395
+ static copy = this.clone;
396
+ /**
397
+ * Surface clone an object
398
+ * @param object - The object to surface clone
399
+ * @returns The surface cloned object
400
+ */
401
+ static surfaceClone(object) {
402
+ try {
403
+ const result = {};
404
+ Object.keys(object).forEach((key) => {
405
+ result[key] = object[key];
406
+ });
407
+ return result;
408
+ }
409
+ catch (error) {
410
+ DyFM_Log.error('surfaceClone()' + this.defaultErrorMsg, error);
411
+ throw error;
412
+ }
413
+ }
414
+ static surfaceCopy = this.surfaceClone;
415
+ /**
416
+ * Deep clone an object
417
+ * @param object - The object to deep clone
418
+ * @returns The deep cloned object
419
+ */
420
+ static deepClone(object) {
421
+ try {
422
+ const result = {};
423
+ if (!object) {
424
+ return result;
425
+ }
426
+ Object.keys(object).forEach((key) => {
427
+ if (typeof object[key] === 'object') {
428
+ result[key] = this.deepClone(object[key]);
429
+ }
430
+ else if (Array.isArray(object[key])) {
431
+ result[key] = object[key].map((item) => this.deepClone(item));
432
+ }
433
+ else {
434
+ result[key] = object[key];
435
+ }
436
+ });
437
+ return result;
438
+ }
439
+ catch (error) {
440
+ DyFM_Log.error('deepClone()' + this.defaultErrorMsg, error);
441
+ throw error;
442
+ }
443
+ }
444
+ /**
445
+ * A simple object comparison function that uses JSON.stringify() to compare objects.
446
+ *
447
+ * We experienced that sameObjects() function is not working properly for cases when
448
+ * deleting a key from the objects (to prevent strict results).
449
+ * So, we created orderedSameObject() function to prevent that issue.
450
+ * But be aware that, that function is not as fast as sameObjects() function.
451
+ */
452
+ static sameObjects(objA, objB) {
453
+ try {
454
+ return JSON.stringify(objA) === JSON.stringify(objB);
455
+ }
456
+ catch (error) {
457
+ DyFM_Log.error('sameObjects()' + this.defaultErrorMsg, error);
458
+ throw error;
459
+ }
460
+ }
461
+ /**
462
+ * We experienced that sameObjects() function is not working properly for cases when
463
+ * deleting a key from the objects (to prevent strict results).
464
+ *
465
+ * This function is created to prevent that issue.
466
+ * But be aware that this function is not as fast as sameObjects() function.
467
+ */
468
+ static orderedSameObject(objA, objB) {
469
+ try {
470
+ if (typeof objA !== 'object' ||
471
+ typeof objB !== 'object' ||
472
+ Array.isArray(objA) ||
473
+ Array.isArray(objB) ||
474
+ objA === null ||
475
+ objB === null ||
476
+ objA === undefined ||
477
+ objB === undefined) {
478
+ return JSON.stringify(objA) === JSON.stringify(objB);
479
+ }
480
+ const keysA = Object.keys(objA);
481
+ const keysB = Object.keys(objB);
482
+ if (keysA.length !== keysB.length) {
483
+ return false;
484
+ }
485
+ keysA.sort();
486
+ keysB.sort();
487
+ for (let i = 0; i < keysA.length; i++) {
488
+ if (JSON.stringify(keysA[i]) !== JSON.stringify(keysB[i])) {
489
+ return false;
490
+ }
491
+ }
492
+ return true;
493
+ }
494
+ catch (error) {
495
+ /* try {
496
+ return DyFM_Object.orderedSameObject2(objA, objB);
497
+ } catch (error) { */
498
+ DyFM_Log.error('orderedSameObject()' + this.defaultErrorMsg, error);
499
+ throw error;
500
+ /* } */
501
+ }
502
+ }
503
+ /**
504
+ * We experienced that sameObjects() function is not working properly for cases when
505
+ * deleting a key from the objects (to prevent strict results).
506
+ *
507
+ * This function is created to prevent that issue.
508
+ * But be aware that this function is not as fast as sameObjects() function.
509
+ */
510
+ static orderedSameObject2(objA, objB) {
511
+ try {
512
+ console.log('using orderedSameObject2');
513
+ if (typeof objA !== 'object' ||
514
+ typeof objB !== 'object' ||
515
+ Array.isArray(objA) ||
516
+ Array.isArray(objB) ||
517
+ objA === null ||
518
+ objB === null ||
519
+ objA === undefined ||
520
+ objB === undefined) {
521
+ return JSON.stringify(objA) === JSON.stringify(objB);
522
+ }
523
+ return JSON.stringify(objA, Object.keys(objA).sort()) === JSON.stringify(objB, Object.keys(objB).sort());
524
+ }
525
+ catch (error) {
526
+ DyFM_Log.error('sameObjects()' + this.defaultErrorMsg, error);
527
+ throw error;
528
+ }
529
+ }
530
+ /**
531
+ * compares the surface of two objects
532
+ * @param objA
533
+ * @param objB
534
+ * @returns
535
+ */
536
+ static sameObjectSurface(objA, objB) {
537
+ let result = true;
538
+ for (const key in objA) {
539
+ if (objA[key] !== objB[key]) {
540
+ result = false;
541
+ break;
542
+ }
543
+ }
544
+ return result;
545
+ }
546
+ /**
547
+ * sets values if its existing on To, even if its null (but if undefined)
548
+ * @param setOn
549
+ * @param setTo
550
+ */
551
+ static setExistingValuesOnly(setOn, setTo) {
552
+ for (const key in setTo) {
553
+ if (setTo[key] != undefined) {
554
+ setOn[key] = setTo[key];
555
+ }
556
+ }
557
+ }
558
+ /**
559
+ * converts a JSONList to an array
560
+ * @param JSONList
561
+ * @returns
562
+ */
563
+ static JSONListify(JSONList) {
564
+ const result = [];
565
+ for (let i = 0; JSONList[i]; i++) {
566
+ result.push(JSONList[i]);
567
+ }
568
+ return result;
569
+ }
570
+ static cleanAssign(target, source) {
571
+ source = this.cleanObject(source);
572
+ return Object.assign(target, source);
573
+ }
574
+ static hardParseJSON(input) {
575
+ try {
576
+ return JSON.parse(input);
577
+ }
578
+ catch (error) {
579
+ try {
580
+ return this.failableSafeParseJSON(input);
581
+ }
582
+ catch (error) {
583
+ const result = this.safeParseJSON(input);
584
+ if (result.unparsableResult) {
585
+ return result.unparsableResult;
586
+ }
587
+ return result;
588
+ }
589
+ }
590
+ }
591
+ }