@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,431 @@
1
+ import { day, hour, minute, month, second, week, year } from '../constants/times.const';
2
+ import { DyFM_Month } from '../../_enums/time/month.enum';
3
+ import { DyFM_DayOfWeek } from '../../_enums/time/day-of-week.enum';
4
+ import { DyFM_RelativeDate } from '../../_enums/time/relative-date.enum';
5
+ import { DyFM_Math } from './math/math.util';
6
+ /* export type DyFM_T = DyFM_Time; */
7
+ /**
8
+ * Time utility class
9
+ */
10
+ export class DyFM_Time {
11
+ /**
12
+ * The number of milliseconds in a second
13
+ */
14
+ static second = second;
15
+ /**
16
+ * The number of milliseconds in a minute
17
+ */
18
+ static minute = minute;
19
+ /**
20
+ * The number of milliseconds in an hour
21
+ */
22
+ static hour = hour;
23
+ /**
24
+ * The number of milliseconds in a day
25
+ */
26
+ static day = day;
27
+ /**
28
+ * The number of milliseconds in a week
29
+ */
30
+ static week = week;
31
+ /**
32
+ * The number of milliseconds in a month
33
+ */
34
+ static month = month;
35
+ /**
36
+ * The number of milliseconds in a year
37
+ */
38
+ static year = year;
39
+ /**
40
+ * Get the age of a person
41
+ * @param birthDate - The birth date of the person
42
+ * @returns The age of the person
43
+ *
44
+ * @example
45
+ * ```ts
46
+ * const birthDate = new Date('1990-01-01');
47
+ * const age = DyFM_Time.getAge(birthDate);
48
+ * console.log(age); // 31
49
+ * ```
50
+ */
51
+ static getAge(birthDate) {
52
+ return this.getYear(+new Date() - +new Date(birthDate));
53
+ }
54
+ /**
55
+ * returns the date as a number of years
56
+ * @param date
57
+ * @returns
58
+ *
59
+ * @example
60
+ * ```ts
61
+ * const date = new Date('2025-01-01');
62
+ * const year = DyFM_Time.getYear(date);
63
+ * console.log(year); // 2025
64
+ * ```
65
+ */
66
+ static getYear(date) {
67
+ if (typeof date === 'string') {
68
+ date = new Date(date);
69
+ }
70
+ return (+date / year);
71
+ }
72
+ /**
73
+ * returns the date as a number of hours
74
+ * @param date
75
+ * @returns
76
+ *
77
+ * @example
78
+ * ```ts
79
+ * const date = new Date('2025-01-01');
80
+ * const hour = DyFM_Time.getHour(date);
81
+ * console.log(hour); // 1
82
+ * ```
83
+ */
84
+ static getHour(date) {
85
+ if (typeof date === 'string') {
86
+ date = new Date(date);
87
+ }
88
+ return (+date / hour);
89
+ }
90
+ /**
91
+ * calculates the birthdate from the age
92
+ * (with current date so this wont be accurate for days or months, only years)
93
+ * @param date
94
+ * @returns
95
+ *
96
+ * @example
97
+ * ```ts
98
+ * const age = 31;
99
+ * const date = DyFM_Time.getDateByAge(age);
100
+ * console.log(date); // 1990-01-01
101
+ * ```
102
+ */
103
+ static getDateByAge(age) {
104
+ return new Date(+new Date() - (year * age));
105
+ }
106
+ /**
107
+ * returns the date x before the current date
108
+ * @param relativeDate
109
+ * @returns
110
+ *
111
+ * @example
112
+ * ```ts
113
+ * const date = DyFM_Time.getDateByRelativeDate(DyFM_RelativeDate.lastDay);
114
+ * ```
115
+ */
116
+ static getDateByRelativeDate(relativeDate, comparedTo) {
117
+ switch (relativeDate) {
118
+ case DyFM_RelativeDate.lastDay:
119
+ return this.oneDayAgo(comparedTo);
120
+ case DyFM_RelativeDate.lastWeek:
121
+ return this.oneWeekAgo(comparedTo);
122
+ case DyFM_RelativeDate.lastMonth:
123
+ return this.oneMonthAgo(comparedTo);
124
+ case DyFM_RelativeDate.lastYear:
125
+ return this.oneYearAgo(comparedTo);
126
+ case DyFM_RelativeDate.last10Years:
127
+ return this.tenYearsAgo(comparedTo);
128
+ case DyFM_RelativeDate.allTime:
129
+ return new Date(0);
130
+ default:
131
+ return new Date(0);
132
+ }
133
+ }
134
+ /**
135
+ * returns the date one hour ago
136
+ * @returns
137
+ *
138
+ * @example
139
+ * ```ts
140
+ * const comparedTo = new Date('2025-01-01');
141
+ * const date = DyFM_Time.oneHourAgo(comparedTo);
142
+ * console.log(date); // 2024-12-31 23:00:00
143
+ * ```
144
+ */
145
+ static oneHourAgo(comparedTo = new Date()) {
146
+ return new Date(+comparedTo - hour);
147
+ }
148
+ /**
149
+ * returns the date one day ago
150
+ * @returns
151
+ *
152
+ * @example
153
+ * ```ts
154
+ * const comparedTo = new Date('2025-01-01');
155
+ * const date = DyFM_Time.oneDayAgo(comparedTo);
156
+ * console.log(date); // 2024-12-31
157
+ * ```
158
+ */
159
+ static oneDayAgo(comparedTo = new Date()) {
160
+ return new Date(+comparedTo - day);
161
+ }
162
+ /**
163
+ * returns the date one week ago
164
+ * @returns
165
+ *
166
+ * @example
167
+ * ```ts
168
+ * const comparedTo = new Date('2025-01-01');
169
+ * const date = DyFM_Time.oneWeekAgo(comparedTo);
170
+ * console.log(date); // 2024-12-25
171
+ * ```
172
+ */
173
+ static oneWeekAgo(comparedTo = new Date()) {
174
+ return new Date(+comparedTo - week);
175
+ }
176
+ /**
177
+ * returns the date one month ago
178
+ * @returns
179
+ *
180
+ * @example
181
+ * ```ts
182
+ * const comparedTo = new Date('2025-01-01');
183
+ * const date = DyFM_Time.oneMonthAgo(comparedTo);
184
+ * console.log(date); // 2024-12-01
185
+ * ```
186
+ */
187
+ static oneMonthAgo(comparedTo = new Date()) {
188
+ return new Date(+comparedTo - month);
189
+ }
190
+ /**
191
+ * returns the date one year ago
192
+ * @returns
193
+ *
194
+ * @example
195
+ * ```ts
196
+ * const comparedTo = new Date('2025-01-01');
197
+ * const date = DyFM_Time.oneYearAgo(comparedTo);
198
+ * console.log(date); // 2024-01-01
199
+ * ```
200
+ */
201
+ static oneYearAgo(comparedTo = new Date()) {
202
+ return new Date(+comparedTo - year);
203
+ }
204
+ /**
205
+ * returns the date ten years ago
206
+ * @returns
207
+ *
208
+ * @example
209
+ * ```ts
210
+ * const comparedTo = new Date('2025-01-01');
211
+ * const date = DyFM_Time.tenYearsAgo(comparedTo);
212
+ * console.log(date); // 2015-01-01
213
+ * ```
214
+ */
215
+ static tenYearsAgo(comparedTo = new Date()) {
216
+ return new Date(+comparedTo - (10 * year));
217
+ }
218
+ /**
219
+ * returns the DyFM_DayOfWeek type of the current day
220
+ * @returns
221
+ *
222
+ * @example
223
+ * ```ts
224
+ * const today = DyFM_Time.getTodayOfWeek();
225
+ * console.log(today); // DyFM_DayOfWeek.monday
226
+ * ```
227
+ */
228
+ static getTodayOfWeek() {
229
+ return DyFM_DayOfWeek[new Date().toLocaleString('en-us', { weekday: 'long' }).toLocaleLowerCase()];
230
+ }
231
+ /**
232
+ * returns the days of the week from today to the end of the week in DyFM_DayOfWeek format
233
+ * @returns
234
+ *
235
+ * @example
236
+ * ```ts
237
+ * const daysOfWeek = DyFM_Time.getDaysOfWeekFromToday();
238
+ * console.log(daysOfWeek); // [ DyFM_DayOfWeek.monday, DyFM_DayOfWeek.tuesday, DyFM_DayOfWeek.wednesday, DyFM_DayOfWeek.thursday, DyFM_DayOfWeek.friday, DyFM_DayOfWeek.saturday, DyFM_DayOfWeek.sunday ]
239
+ * ```
240
+ */
241
+ static getDaysOfWeekFromToday() {
242
+ const today = this.getTodayOfWeek();
243
+ const daysOfWeek = Object.values(DyFM_DayOfWeek);
244
+ const todayIndex = daysOfWeek.indexOf(today);
245
+ return daysOfWeek.slice(todayIndex).concat(daysOfWeek.slice(0, todayIndex));
246
+ }
247
+ /**
248
+ * returns the days of the week to today to the end of the week in DyFM_DayOfWeek format
249
+ * @returns
250
+ *
251
+ * @example
252
+ * ```ts
253
+ * const daysOfWeek = DyFM_Time.getDaysOfWeekToToday();
254
+ * console.log(daysOfWeek); // [ DyFM_DayOfWeek.sunday, DyFM_DayOfWeek.saturday, DyFM_DayOfWeek.friday, DyFM_DayOfWeek.thursday, DyFM_DayOfWeek.wednesday, DyFM_DayOfWeek.tuesday, DyFM_DayOfWeek.monday ]
255
+ * ```
256
+ */
257
+ static getDaysOfWeekToToday() {
258
+ const today = this.getTodayOfWeek();
259
+ const daysOfWeek = Object.values(DyFM_DayOfWeek);
260
+ const todayIndex = daysOfWeek.indexOf(today);
261
+ return daysOfWeek.slice(0, todayIndex).reverse().concat(daysOfWeek.slice(todayIndex).reverse());
262
+ }
263
+ /**
264
+ * returns the DyFM_Month type of the current month
265
+ * @returns
266
+ *
267
+ * @example
268
+ * ```ts
269
+ * const month = DyFM_Time.getCurrentMonth();
270
+ * console.log(month); // DyFM_Month.january
271
+ * ```
272
+ */
273
+ static getCurrentMonth() {
274
+ return DyFM_Month[new Date().toLocaleString('en-us', { month: 'long' }).toLocaleLowerCase()];
275
+ }
276
+ /**
277
+ * returns the number of days in the month
278
+ * @param inYear this value is important for february if you want to know if it is a leap year
279
+ * @returns
280
+ *
281
+ * @example
282
+ * ```ts
283
+ * const monthLength = DyFM_Time.getMonthLength(DyFM_Month.january);
284
+ * console.log(monthLength); // 31
285
+ * ```
286
+ */
287
+ static getMonthLength(month, inYear) {
288
+ switch (month) {
289
+ case DyFM_Month.january:
290
+ case DyFM_Month.march:
291
+ case DyFM_Month.may:
292
+ case DyFM_Month.june:
293
+ case DyFM_Month.august:
294
+ case DyFM_Month.october:
295
+ return 31;
296
+ case DyFM_Month.april:
297
+ case DyFM_Month.july:
298
+ case DyFM_Month.september:
299
+ case DyFM_Month.november:
300
+ case DyFM_Month.december:
301
+ return 30;
302
+ case DyFM_Month.february:
303
+ return this.isLeapYear(inYear ?? new Date().getFullYear()) ? 29 : 28;
304
+ }
305
+ }
306
+ /**
307
+ * returns year is leap or not
308
+ * @param year
309
+ * @returns
310
+ *
311
+ * @example
312
+ * ```ts
313
+ * const isLeapYear = DyFM_Time.isLeapYear(2024);
314
+ * console.log(isLeapYear); // true
315
+ * ```
316
+ */
317
+ static isLeapYear(year) {
318
+ return year % 4 === 0;
319
+ }
320
+ /**
321
+ * returns the duration string
322
+ * @param duration
323
+ * @param full
324
+ * @returns
325
+ *
326
+ * @example
327
+ * ```ts
328
+ * const duration = 1000;
329
+ * const durationString = DyFM_Time.getDurationString(duration);
330
+ * console.log(durationString); // 1s
331
+ * ```
332
+ */
333
+ static getDurationString(duration, full) {
334
+ // Ha 0ms az idő, akkor rögtön visszaadjuk
335
+ if (duration === 0) {
336
+ return '0ms';
337
+ }
338
+ if (!duration) {
339
+ return 'N/A';
340
+ }
341
+ // Nagyon rövid idő: < 100ms → ms-ben mutatjuk
342
+ if (duration < (second / 10)) {
343
+ return `${duration}ms`;
344
+ }
345
+ // < 1s → másodperc két tizedesjeggyel (jobb olvashatóság)
346
+ if (duration < second) {
347
+ return `${DyFM_Math.round(duration / second, 2)}s`;
348
+ }
349
+ // < 1m → csak másodperc (és opcionálisan ms, ha full=true)
350
+ if (duration < minute) {
351
+ const secondsWhole = DyFM_Math.round(duration / second, 0);
352
+ if (full) {
353
+ const remainingMs = duration % second;
354
+ return `${secondsWhole}s ${remainingMs}ms`;
355
+ }
356
+ return `${secondsWhole}s`;
357
+ }
358
+ // < 1h → perc + másodperc (helyes egység-átváltással)
359
+ if (duration < hour) {
360
+ const minutesWhole = DyFM_Math.round(duration / minute, 0);
361
+ const remainingSeconds = DyFM_Math.round((duration % minute) / second, 0);
362
+ return `${minutesWhole}m ${remainingSeconds}s`;
363
+ }
364
+ // < 1d → óra + perc
365
+ if (duration < day) {
366
+ const hoursWhole = DyFM_Math.round(duration / hour, 0);
367
+ const remainingMinutes = DyFM_Math.round((duration % hour) / minute, 0);
368
+ return `${hoursWhole}h ${remainingMinutes}m`;
369
+ }
370
+ // < 1w → nap + óra
371
+ if (duration < week) {
372
+ const daysWhole = DyFM_Math.round(duration / day, 0);
373
+ const remainingHours = DyFM_Math.round((duration % day) / hour, 0);
374
+ return `${daysWhole}d ${remainingHours}h`;
375
+ }
376
+ // < 1 month → hét + nap
377
+ if (duration < month) {
378
+ const weeksWhole = DyFM_Math.round(duration / week, 0);
379
+ const remainingDays = DyFM_Math.round((duration % week) / day, 0);
380
+ return `${weeksWhole}w ${remainingDays}d`;
381
+ }
382
+ // < 1y → month + hét
383
+ if (duration < year) {
384
+ const monthsWhole = DyFM_Math.round(duration / month, 0);
385
+ const remainingWeeks = DyFM_Math.round((duration % month) / week, 0);
386
+ return `${monthsWhole}m ${remainingWeeks}w`;
387
+ }
388
+ // ≥ 1y → év + hónap
389
+ const yearsWhole = DyFM_Math.round(duration / year, 0);
390
+ const remainingMonths = DyFM_Math.round((duration % year) / month, 0);
391
+ return `${yearsWhole}y ${remainingMonths}m`;
392
+ }
393
+ /**
394
+ * returns the time in the shortest string
395
+ * @param time
396
+ * @returns
397
+ *
398
+ * @example
399
+ * ```ts
400
+ * const time = 345;
401
+ * const timeString = DyFM_Time.getTimeInShortestString(time);
402
+ * console.log(timeString); // 345ms
403
+ * ```
404
+ */
405
+ static getTimeInShortestString(time) {
406
+ if (time % year === 0) {
407
+ return `${time / year}y`;
408
+ }
409
+ else if (time % month === 0) {
410
+ return `${time / month}m`;
411
+ }
412
+ else if (time % week === 0) {
413
+ return `${time / week}w`;
414
+ }
415
+ else if (time % day === 0) {
416
+ return `${time / day}d`;
417
+ }
418
+ else if (time % hour === 0) {
419
+ return `${time / hour}h`;
420
+ }
421
+ else if (time % minute === 0) {
422
+ return `${time / minute}m`;
423
+ }
424
+ else if (time % second === 0) {
425
+ return `${time / second}s`;
426
+ }
427
+ else {
428
+ return `${time}ms`;
429
+ }
430
+ }
431
+ }
@@ -0,0 +1,122 @@
1
+ /**
2
+ *
3
+ * This functions should be able to clone any object,
4
+ * even if it contains circular references.
5
+ *
6
+ * if the object has a clone() function, it will be used.
7
+ * if the object has any getter or setter, it will be ignored,
8
+ * therefore it should have a clone() function.
9
+ *
10
+ * WARNING: this function will clone all connected objects!
11
+ *
12
+ * */
13
+ export class DyFM_TypeCloningFacility {
14
+ /**
15
+ * Clone an object
16
+ * @param object - The object to clone
17
+ * @param skip - An array of keys to skip
18
+ * @param affectedObjects - An array of objects that have already been cloned
19
+ * @param debug - Whether to log debug information
20
+ * @returns The cloned object
21
+ */
22
+ static clone(object, skip = [], affectedObjects = [], debug = false) {
23
+ const result = {};
24
+ for (const key in object) {
25
+ if (debug) {
26
+ console.log('clone DEBUG; key:', key);
27
+ }
28
+ if (object && typeof object === 'object' /* object.hasOwnProperty(key) */) {
29
+ const type = typeof object[key];
30
+ if (skip.includes(key)) {
31
+ continue;
32
+ }
33
+ else if (type === 'object') {
34
+ const alreadyAffected = affectedObjects?.find((affectedObject) => affectedObject.id === object[key]);
35
+ if (alreadyAffected) {
36
+ result[key] = alreadyAffected.clonedObject;
37
+ }
38
+ else {
39
+ const newAffectedObject = {
40
+ id: object[key]
41
+ };
42
+ affectedObjects.push(newAffectedObject);
43
+ if (Array.isArray(object[key])) {
44
+ newAffectedObject.clonedObject = this.cloneArray(object[key], skip, affectedObjects, debug);
45
+ }
46
+ else if (object[key]?.clone &&
47
+ typeof object[key]?.clone === 'function') {
48
+ newAffectedObject.clonedObject = object[key].clone();
49
+ }
50
+ else {
51
+ newAffectedObject.clonedObject = this.clone(object[key], skip, affectedObjects, debug);
52
+ }
53
+ result[key] = newAffectedObject.clonedObject;
54
+ }
55
+ }
56
+ else {
57
+ result[key] = object[key];
58
+ }
59
+ }
60
+ }
61
+ return result;
62
+ }
63
+ /**
64
+ * Clone an array
65
+ * @param array - The array to clone
66
+ * @param skip - An array of keys to skip
67
+ * @param affectedObjects - An array of objects that have already been cloned
68
+ * @param debug - Whether to log debug information
69
+ * @returns The cloned array
70
+ */
71
+ static cloneArray(array, skip = [], affectedObjects = [], debug = false) {
72
+ const result = [];
73
+ array.forEach((element, index) => {
74
+ if (debug) {
75
+ console.log('cloneArrayDEBUG; index', index);
76
+ }
77
+ if (typeof element === 'object') {
78
+ result.push(this.clone(element, skip, affectedObjects, debug));
79
+ }
80
+ else {
81
+ result.push(element);
82
+ }
83
+ });
84
+ return result;
85
+ }
86
+ /**
87
+ * Store the circulation of an object
88
+ * @param object - The object to store the circulation of
89
+ * @returns The serialized object
90
+ */
91
+ static storeCirculation(object) {
92
+ const cache = new Map();
93
+ const result = JSON.stringify(object, (key, value) => {
94
+ if (typeof value === 'object' && value !== null) {
95
+ if (cache.has(value)) {
96
+ return `__cycle__${cache.get(value)}`;
97
+ }
98
+ cache.set(value, cache.size);
99
+ }
100
+ return value;
101
+ });
102
+ return result;
103
+ }
104
+ /**
105
+ * Restore the circulation of an object
106
+ * @param serialized - The serialized object
107
+ * @returns The restored object
108
+ */
109
+ static restoreCirculation(serialized) {
110
+ const cache = new Map();
111
+ const result = JSON.parse(serialized, (key, value) => {
112
+ if (typeof value === 'string' && value.startsWith('__cycle__')) {
113
+ return cache.get(parseInt(value.slice(9), 10));
114
+ }
115
+ if (typeof value === 'object' && value !== null) {
116
+ cache.set(cache.size, value);
117
+ }
118
+ return value;
119
+ });
120
+ return result;
121
+ }
122
+ }
@@ -0,0 +1,61 @@
1
+ import { DyFM_BasicProperty_Type } from '../../_enums/basic-property-type.enum';
2
+ /**
3
+ * checks if the value is not null or undefined
4
+ * @param value - The value to check
5
+ * @returns True if the value is not null or undefined, false otherwise
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * const value = 'test';
10
+ * const result = DyFM_notNull(value);
11
+ * console.log(result); // true
12
+ */
13
+ export function DyFM_notNull(value) {
14
+ return value !== null && value !== undefined;
15
+ }
16
+ /**
17
+ * get the basic property type of the value
18
+ * @param type - The type to check
19
+ * @returns The basic property type of the value
20
+ *
21
+ * @example
22
+ * ```ts
23
+ * const type = 'string';
24
+ * const result = DyFM_getBasicPropertyType(type);
25
+ * console.log(result); // DyFM_BasicProperty_Type.string
26
+ */
27
+ export function DyFM_getBasicPropertyType(type) {
28
+ if (!type) {
29
+ throw new Error('Type is missing');
30
+ }
31
+ switch (type.toLocaleLowerCase()) {
32
+ case DyFM_BasicProperty_Type.string:
33
+ case 'string':
34
+ return DyFM_BasicProperty_Type.string;
35
+ case DyFM_BasicProperty_Type.number:
36
+ case 'number':
37
+ return DyFM_BasicProperty_Type.number;
38
+ case DyFM_BasicProperty_Type.boolean:
39
+ case 'boolean':
40
+ return DyFM_BasicProperty_Type.boolean;
41
+ case DyFM_BasicProperty_Type.date:
42
+ case 'date':
43
+ return DyFM_BasicProperty_Type.date;
44
+ case DyFM_BasicProperty_Type.object:
45
+ case 'object':
46
+ return DyFM_BasicProperty_Type.object;
47
+ case DyFM_BasicProperty_Type.array:
48
+ case 'array':
49
+ return DyFM_BasicProperty_Type.array;
50
+ default:
51
+ if (type.includes('[]') || type.includes('array')) {
52
+ return DyFM_BasicProperty_Type.array;
53
+ }
54
+ else if (type.includes('=>') || type.includes('function')) {
55
+ return DyFM_BasicProperty_Type.function;
56
+ }
57
+ else {
58
+ return DyFM_BasicProperty_Type.object;
59
+ }
60
+ }
61
+ }
@@ -0,0 +1,33 @@
1
+ /* let UUID: any;
2
+
3
+ try {
4
+ UUID = import('uuid');
5
+ } catch {
6
+ console.log(
7
+ '❌ uuid package not found, please install it with: pnpm add uuid'
8
+ );
9
+ } */
10
+ import * as UUID from 'uuid';
11
+ export class DyFM_UUID {
12
+ /* static readonly getUUID = UUID.v4; */
13
+ /**
14
+ * generates a UUID
15
+ * @param reserved - an array of reserved UUIDs
16
+ * @returns a UUID
17
+ *
18
+ * @example
19
+ * ```ts
20
+ * const uuid = DyFM_UUID.generate();
21
+ * console.log(uuid); // 123e4567-e89b-12d3-a456-426614174000
22
+ * ```
23
+ */
24
+ static generate(reserved) {
25
+ let uuid = UUID.v4();
26
+ if (reserved) {
27
+ while (reserved.includes(uuid)) {
28
+ uuid = UUID.v4();
29
+ }
30
+ }
31
+ return uuid;
32
+ }
33
+ }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Basic property types used by the framework.
3
+ *
4
+ * @example
5
+ * ```ts
6
+ * const type: DyFM_BasicProperty_Type = DyFM_BasicProperty_Type.string;
7
+ * ```
8
+ */
9
+ export var DyFM_BasicProperty_Type;
10
+ (function (DyFM_BasicProperty_Type) {
11
+ DyFM_BasicProperty_Type["string"] = "string";
12
+ DyFM_BasicProperty_Type["number"] = "number";
13
+ DyFM_BasicProperty_Type["boolean"] = "boolean";
14
+ DyFM_BasicProperty_Type["date"] = "date";
15
+ DyFM_BasicProperty_Type["object"] = "object";
16
+ DyFM_BasicProperty_Type["array"] = "array";
17
+ DyFM_BasicProperty_Type["function"] = "function";
18
+ })(DyFM_BasicProperty_Type || (DyFM_BasicProperty_Type = {}));
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Indicates in which layer a given structure is used based on its model type.
3
+ *
4
+ * @example
5
+ * ```ts
6
+ * const type = DyFM_DataModel_Type.data;
7
+ * ```
8
+ */
9
+ export var DyFM_DataModel_Type;
10
+ (function (DyFM_DataModel_Type) {
11
+ DyFM_DataModel_Type["data"] = "data-model";
12
+ DyFM_DataModel_Type["control"] = "control-model";
13
+ DyFM_DataModel_Type["interface"] = "interface";
14
+ })(DyFM_DataModel_Type || (DyFM_DataModel_Type = {}));
15
+ /**
16
+ * Array containing every available data model type.
17
+ *
18
+ * @example
19
+ * ```ts
20
+ * const dataModelTypes = DyFM_allDataModelTypes;
21
+ * console.log(dataModelTypes); // [ DyFM_DataModel_Type.data, DyFM_DataModel_Type.control, DyFM_DataModel_Type.interface ]
22
+ * ```
23
+ */
24
+ export const DyFM_allDataModelTypes = Object.values(DyFM_DataModel_Type);