@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.
- package/build/_models/control-models/data-model-params.control-model.d.ts +0 -1
- package/build/_models/control-models/data-model-params.control-model.d.ts.map +1 -1
- package/build/_models/control-models/data-model-params.control-model.js +1 -4
- package/build/_models/control-models/data-model-params.control-model.js.map +1 -1
- package/build/_models/control-models/data-property-params.control-model.d.ts +0 -1
- package/build/_models/control-models/data-property-params.control-model.d.ts.map +1 -1
- package/build/_models/control-models/data-property-params.control-model.js +1 -4
- package/build/_models/control-models/data-property-params.control-model.js.map +1 -1
- package/build/_models/control-models/service-endpoint-settings-base.control-model.d.ts +0 -1
- package/build/_models/control-models/service-endpoint-settings-base.control-model.d.ts.map +1 -1
- package/build/_models/control-models/service-endpoint-settings-base.control-model.js +4 -4
- package/build/_models/control-models/service-endpoint-settings-base.control-model.js.map +1 -1
- package/build/_modules/data-handler/_models/data-handler-settings.control-model.d.ts +0 -3
- package/build/_modules/data-handler/_models/data-handler-settings.control-model.d.ts.map +1 -1
- package/build/_modules/data-handler/_models/data-handler-settings.control-model.js +4 -10
- package/build/_modules/data-handler/_models/data-handler-settings.control-model.js.map +1 -1
- package/build/_modules/data-handler/_models/data-handler.control-model.d.ts.map +1 -1
- package/build/_modules/data-handler/_models/data-handler.control-model.js +10 -4
- package/build/_modules/data-handler/_models/data-handler.control-model.js.map +1 -1
- package/build/_modules/data-handler/_models/data-list-handler.control-model.d.ts +1 -1
- package/build/_modules/data-handler/_models/data-list-handler.control-model.d.ts.map +1 -1
- package/build/_modules/data-handler/_models/data-search-handler.control-model.d.ts +1 -1
- package/build/_modules/data-handler/_models/data-search-handler.control-model.d.ts.map +1 -1
- package/build/_modules/data-handler/_models/list-collector-data-handler.control-model.d.ts +1 -1
- package/build/_modules/data-handler/_models/list-collector-data-handler.control-model.d.ts.map +1 -1
- package/build/_modules/data-handler/index.d.ts +3 -0
- package/build/_modules/data-handler/index.d.ts.map +1 -1
- package/build/_modules/data-handler/index.js +3 -0
- package/build/_modules/data-handler/index.js.map +1 -1
- package/build/_modules/game/_models/flying-effect.control-model.d.ts +34 -0
- package/build/_modules/game/_models/flying-effect.control-model.d.ts.map +1 -0
- package/build/_modules/game/_models/flying-effect.control-model.js +217 -0
- package/build/_modules/game/_models/flying-effect.control-model.js.map +1 -0
- package/build/_modules/game/_models/flying-effect.interface.d.ts +53 -0
- package/build/_modules/game/_models/flying-effect.interface.d.ts.map +1 -0
- package/build/_modules/game/_models/flying-effect.interface.js +3 -0
- package/build/_modules/game/_models/flying-effect.interface.js.map +1 -0
- package/build/_modules/game/index.d.ts +2 -0
- package/build/_modules/game/index.d.ts.map +1 -1
- package/build/_modules/game/index.js +2 -0
- package/build/_modules/game/index.js.map +1 -1
- package/build/_modules/ngx-models/_models/control-models/data-handler-settings.control-model.d.ts +0 -3
- package/build/_modules/ngx-models/_models/control-models/data-handler-settings.control-model.d.ts.map +1 -1
- package/build/_modules/ngx-models/_models/control-models/data-handler-settings.control-model.js +4 -10
- package/build/_modules/ngx-models/_models/control-models/data-handler-settings.control-model.js.map +1 -1
- package/build/_modules/ngx-models/_models/control-models/data-handler.control-model.d.ts.map +1 -1
- package/build/_modules/ngx-models/_models/control-models/data-handler.control-model.js +10 -4
- package/build/_modules/ngx-models/_models/control-models/data-handler.control-model.js.map +1 -1
- package/build/_modules/ngx-models/index.d.ts +3 -0
- package/build/_modules/ngx-models/index.d.ts.map +1 -1
- package/build/_modules/ngx-models/index.js +3 -0
- package/build/_modules/ngx-models/index.js.map +1 -1
- package/build/_modules/sandbox-runtime/_collections/zero-egress-receipt.util.d.ts.map +1 -1
- package/build/_modules/sandbox-runtime/_collections/zero-egress-receipt.util.js +2 -0
- package/build/_modules/sandbox-runtime/_collections/zero-egress-receipt.util.js.map +1 -1
- package/build/_modules/sandbox-runtime/_collections/zero-egress-result-code.const.d.ts +2 -0
- package/build/_modules/sandbox-runtime/_collections/zero-egress-result-code.const.d.ts.map +1 -1
- package/build/_modules/sandbox-runtime/_collections/zero-egress-result-code.const.js +2 -0
- package/build/_modules/sandbox-runtime/_collections/zero-egress-result-code.const.js.map +1 -1
- package/build/index.d.ts +3 -0
- package/build/index.d.ts.map +1 -1
- package/build/index.js +3 -0
- package/build/index.js.map +1 -1
- package/build-esm/_collections/constants/data-sizes.const.js +37 -0
- package/build-esm/_collections/constants/error-defaults.const.js +17 -0
- package/build-esm/_collections/constants/global-settings.const.js +17 -0
- package/build-esm/_collections/constants/numbers.const.js +36 -0
- package/build-esm/_collections/constants/times.const.js +38 -0
- package/build-esm/_collections/utils/array.util.js +632 -0
- package/build-esm/_collections/utils/async.util.js +183 -0
- package/build-esm/_collections/utils/data.util.js +203 -0
- package/build-esm/_collections/utils/extract-error-message.util.js +183 -0
- package/build-esm/_collections/utils/json-error-helper.util.js +251 -0
- package/build-esm/_collections/utils/log.util.js +555 -0
- package/build-esm/_collections/utils/math/box-bounds.util.js +159 -0
- package/build-esm/_collections/utils/math/math.util.js +183 -0
- package/build-esm/_collections/utils/math/random.util.js +117 -0
- package/build-esm/_collections/utils/math/trigonometry.util.js +89 -0
- package/build-esm/_collections/utils/math/vector2.util.js +587 -0
- package/build-esm/_collections/utils/object.util.js +591 -0
- package/build-esm/_collections/utils/operation-authz.util.js +136 -0
- package/build-esm/_collections/utils/operation-guardrails.util.js +220 -0
- package/build-esm/_collections/utils/operation-run.util.js +81 -0
- package/build-esm/_collections/utils/operation-schema.util.js +159 -0
- package/build-esm/_collections/utils/regex/password-regex.util.js +56 -0
- package/build-esm/_collections/utils/regex/regex.util.js +1 -0
- package/build-esm/_collections/utils/regex/username-regex.util.js +28 -0
- package/build-esm/_collections/utils/require-env.util.js +90 -0
- package/build-esm/_collections/utils/round-list.util.js +108 -0
- package/build-esm/_collections/utils/secret-mask.util.js +219 -0
- package/build-esm/_collections/utils/stack.util.js +126 -0
- package/build-esm/_collections/utils/string-case.util.js +332 -0
- package/build-esm/_collections/utils/string.util.js +366 -0
- package/build-esm/_collections/utils/time.util.js +431 -0
- package/build-esm/_collections/utils/type-cloning-facility.util.js +122 -0
- package/build-esm/_collections/utils/utilities.util.js +61 -0
- package/build-esm/_collections/utils/uuid.util.js +33 -0
- package/build-esm/_enums/basic-property-type.enum.js +18 -0
- package/build-esm/_enums/data-model-type.enum.js +24 -0
- package/build-esm/_enums/environment-flag.enum.js +26 -0
- package/build-esm/_enums/error-level.enum.js +35 -0
- package/build-esm/_enums/error-status.enum.js +28 -0
- package/build-esm/_enums/http/http-call-type.enum.js +42 -0
- package/build-esm/_enums/http/http-event-type.enum.js +39 -0
- package/build-esm/_enums/http/http-response-type.enum.js +18 -0
- package/build-esm/_enums/log-style.enum.js +38 -0
- package/build-esm/_enums/operation-auth.type-enum.js +19 -0
- package/build-esm/_enums/operation-if-match.type-enum.js +17 -0
- package/build-esm/_enums/operation-patch-field.type-enum.js +40 -0
- package/build-esm/_enums/server-connection-status.enum.js +5 -0
- package/build-esm/_enums/time/day-of-week.enum.js +47 -0
- package/build-esm/_enums/time/month.enum.js +23 -0
- package/build-esm/_enums/time/relative-date.enum.js +19 -0
- package/build-esm/_models/control-models/data-model-params.control-model.js +259 -0
- package/build-esm/_models/control-models/data-model-settings.control-model.js +63 -0
- package/build-esm/_models/control-models/data-property-params.control-model.js +101 -0
- package/build-esm/_models/control-models/data-property-settings.control-model.js +61 -0
- package/build-esm/_models/control-models/error.control-model.js +787 -0
- package/build-esm/_models/control-models/http/http-error-response.control-model.js +48 -0
- package/build-esm/_models/control-models/http/http-headers.control-model.js +43 -0
- package/build-esm/_models/control-models/http/http-response.model-base.js +62 -0
- package/build-esm/_models/control-models/operation-context.control-model.js +110 -0
- package/build-esm/_models/control-models/operation-settings.control-model.js +184 -0
- package/build-esm/_models/control-models/poll.control-model.js +202 -0
- package/build-esm/_models/control-models/range-value.control-model.js +247 -0
- package/build-esm/_models/control-models/server-route-settings-base.control-model.js +19 -0
- package/build-esm/_models/control-models/server-status.control-model.js +73 -0
- package/build-esm/_models/control-models/service-endpoint-settings-base.control-model.js +110 -0
- package/build-esm/_models/data-models/errors.data-model.js +156 -0
- package/build-esm/_models/data-models/metadata.data-model.js +120 -0
- package/build-esm/_models/interfaces/box-bounds.interface.js +1 -0
- package/build-esm/_models/interfaces/environment/global-log-settings.interface.js +1 -0
- package/build-esm/_models/interfaces/environment/global-settings.interface.js +1 -0
- package/build-esm/_models/interfaces/error-defaults.interface.js +1 -0
- package/build-esm/_models/interfaces/operation-authz-result.interface.js +1 -0
- package/build-esm/_models/interfaces/operation-authz.interface.js +1 -0
- package/build-esm/_models/interfaces/operation-exposure.interface.js +1 -0
- package/build-esm/_models/interfaces/operation-guardrails.interface.js +1 -0
- package/build-esm/_models/interfaces/operation-input-settings.interface.js +1 -0
- package/build-esm/_models/interfaces/operation-json-schema.interface.js +1 -0
- package/build-esm/_models/interfaces/operation-patch-field.interface.js +1 -0
- package/build-esm/_models/interfaces/operation-patch-result.interface.js +1 -0
- package/build-esm/_models/interfaces/operation-patch-violation.interface.js +1 -0
- package/build-esm/_models/interfaces/operation-run-result.interface.js +1 -0
- package/build-esm/_models/interfaces/paged.interface.js +1 -0
- package/build-esm/_models/interfaces/poll-handle.interface.js +1 -0
- package/build-esm/_models/interfaces/random-weight.interface.js +1 -0
- package/build-esm/_models/interfaces/route-settings.interface.js +1 -0
- package/build-esm/_models/interfaces/search-query.interface.js +1 -0
- package/build-esm/_models/interfaces/search-result.interface.js +1 -0
- package/build-esm/_models/interfaces/server-error-statistics.interface.js +1 -0
- package/build-esm/_models/interfaces/vector2.interface.js +1 -0
- package/build-esm/_models/types/db-filter.type.js +1 -0
- package/build-esm/_models/types/db-sort.type.js +1 -0
- package/build-esm/_models/types/deprecated-boolean-alias.type.js +1 -0
- package/build-esm/_models/types/ds-filter.type.js +15 -0
- package/build-esm/_models/types/ds-sort.type.js +1 -0
- package/build-esm/_modules/ai/_collections/ai-media-provenance.util.js +24 -0
- package/build-esm/_modules/ai/_collections/ai-model-ref.util.js +70 -0
- package/build-esm/_modules/ai/_collections/ai-model-registry.util.js +37 -0
- package/build-esm/_modules/ai/_enums/ai-message-role.enum.js +8 -0
- package/build-esm/_modules/ai/_enums/ai-model-type.enum.js +8 -0
- package/build-esm/_modules/ai/_enums/ai-provider.enum.js +8 -0
- package/build-esm/_modules/ai/_models/ai-call-settings.interface.js +88 -0
- package/build-esm/_modules/ai/_models/ai-config.interface.js +1 -0
- package/build-esm/_modules/ai/_models/ai-embedding-request.interface.js +1 -0
- package/build-esm/_modules/ai/_models/ai-embedding-response.interface.js +1 -0
- package/build-esm/_modules/ai/_models/ai-image-request.interface.js +1 -0
- package/build-esm/_modules/ai/_models/ai-image-response.interface.js +1 -0
- package/build-esm/_modules/ai/_models/ai-llm-request.interface.js +1 -0
- package/build-esm/_modules/ai/_models/ai-llm-response.interface.js +1 -0
- package/build-esm/_modules/ai/_models/ai-media-file.interface.js +1 -0
- package/build-esm/_modules/ai/_models/ai-media-provenance.interface.js +1 -0
- package/build-esm/_modules/ai/_models/ai-message.interface.js +1 -0
- package/build-esm/_modules/ai/_models/ai-model-capabilities.interface.js +1 -0
- package/build-esm/_modules/ai/_models/ai-model-info.interface.js +1 -0
- package/build-esm/_modules/ai/_models/ai-model-settings-schema.interface.js +1 -0
- package/build-esm/_modules/ai/_models/ai-model3d-request.interface.js +1 -0
- package/build-esm/_modules/ai/_models/ai-model3d-response.interface.js +1 -0
- package/build-esm/_modules/ai/_models/ai-provider-capabilities.interface.js +1 -0
- package/build-esm/_modules/ai/_models/ai-settings.interface.js +10 -0
- package/build-esm/_modules/ai/_models/ai-speech-request.interface.js +1 -0
- package/build-esm/_modules/ai/_models/ai-speech-response.interface.js +1 -0
- package/build-esm/_modules/ai/_models/ai-tool-call.interface.js +1 -0
- package/build-esm/_modules/ai/_models/ai-tool-handler.type.js +1 -0
- package/build-esm/_modules/ai/_models/ai-tool-result.interface.js +1 -0
- package/build-esm/_modules/ai/_models/ai-tool.interface.js +1 -0
- package/build-esm/_modules/ai/_models/ai-user-provider-config.control-model.js +31 -0
- package/build-esm/_modules/ai/_modules/anthropic/_collections/aai-models.const.js +130 -0
- package/build-esm/_modules/ai/_modules/anthropic/_enums/aai-model.enum.js +17 -0
- package/build-esm/_modules/ai/_modules/anthropic/_models/aai-call-settings.control-model.js +23 -0
- package/build-esm/_modules/ai/_modules/anthropic/_models/aai-client-options.interface.js +1 -0
- package/build-esm/_modules/ai/_modules/anthropic/_models/aai-settings.control-model.js +25 -0
- package/build-esm/_modules/ai/_modules/anthropic/_models/aai-user-provider-config.control-model.js +22 -0
- package/build-esm/_modules/ai/_modules/anthropic/index.js +9 -0
- package/build-esm/_modules/ai/_modules/document-ai/_models/dai-embedding-info.interface.js +1 -0
- package/build-esm/_modules/ai/_modules/document-ai/_models/dai-vector-search-params.interface.js +1 -0
- package/build-esm/_modules/ai/_modules/document-ai/index.js +3 -0
- package/build-esm/_modules/ai/_modules/fdp-ai/_collections/fdpai-models.const.js +38 -0
- package/build-esm/_modules/ai/_modules/fdp-ai/_enums/fdpai-model.enum.js +7 -0
- package/build-esm/_modules/ai/_modules/fdp-ai/_models/fdpai-call-settings.control-model.js +21 -0
- package/build-esm/_modules/ai/_modules/fdp-ai/_models/fdpai-client-options.interface.js +1 -0
- package/build-esm/_modules/ai/_modules/fdp-ai/_models/fdpai-settings.control-model.js +24 -0
- package/build-esm/_modules/ai/_modules/fdp-ai/_models/fdpai-user-provider-config.control-model.js +22 -0
- package/build-esm/_modules/ai/_modules/fdp-ai/index.js +9 -0
- package/build-esm/_modules/ai/_modules/google-ai/_collections/gai-models.const.js +155 -0
- package/build-esm/_modules/ai/_modules/google-ai/_enums/gai-model.enum.js +14 -0
- package/build-esm/_modules/ai/_modules/google-ai/_models/gai-call-settings.control-model.js +23 -0
- package/build-esm/_modules/ai/_modules/google-ai/_models/gai-client-options.interface.js +1 -0
- package/build-esm/_modules/ai/_modules/google-ai/_models/gai-settings.control-model.js +25 -0
- package/build-esm/_modules/ai/_modules/google-ai/_models/gai-user-provider-config.control-model.js +22 -0
- package/build-esm/_modules/ai/_modules/google-ai/index.js +9 -0
- package/build-esm/_modules/ai/_modules/local-ai/_collections/lai-models.const.js +57 -0
- package/build-esm/_modules/ai/_modules/local-ai/_enums/lai-model.enum.js +5 -0
- package/build-esm/_modules/ai/_modules/local-ai/_models/lai-call-settings.control-model.js +19 -0
- package/build-esm/_modules/ai/_modules/local-ai/_models/lai-client-options.interface.js +1 -0
- package/build-esm/_modules/ai/_modules/local-ai/_models/lai-settings.control-model.js +22 -0
- package/build-esm/_modules/ai/_modules/local-ai/index.js +8 -0
- package/build-esm/_modules/ai/_modules/open-ai/_collections/oai-embedding-model-dimensions.const.js +6 -0
- package/build-esm/_modules/ai/_modules/open-ai/_collections/oai-models.const.js +455 -0
- package/build-esm/_modules/ai/_modules/open-ai/_enums/oai-model.enum.js +146 -0
- package/build-esm/_modules/ai/_modules/open-ai/_models/oai-call-settings.control-model.js +23 -0
- package/build-esm/_modules/ai/_modules/open-ai/_models/oai-client-options.interface.js +1 -0
- package/build-esm/_modules/ai/_modules/open-ai/_models/oai-embedding-info.interface.js +1 -0
- package/build-esm/_modules/ai/_modules/open-ai/_models/oai-settings.control-model.js +25 -0
- package/build-esm/_modules/ai/_modules/open-ai/_models/oai-user-provider-config.control-model.js +23 -0
- package/build-esm/_modules/ai/_modules/open-ai/index.js +19 -0
- package/build-esm/_modules/ai/index.js +34 -0
- package/build-esm/_modules/application-alert/_collections/application-alert-envelope.util.js +267 -0
- package/build-esm/_modules/application-alert/_enums/application-alert-evaluation-state.type-enum.js +6 -0
- package/build-esm/_modules/application-alert/_enums/application-alert-severity.type-enum.js +8 -0
- package/build-esm/_modules/application-alert/_models/application-alert.interface.js +1 -0
- package/build-esm/_modules/application-alert/index.js +4 -0
- package/build-esm/_modules/ci-tools/_enums/cit-ci-result-code.enum.js +9 -0
- package/build-esm/_modules/ci-tools/_enums/cit-ci-step-result-code.enum.js +9 -0
- package/build-esm/_modules/ci-tools/_models/cit-ci-result-info.data-models.js +63 -0
- package/build-esm/_modules/ci-tools/_models/cit-ci-step-result.interface.js +1 -0
- package/build-esm/_modules/ci-tools/index.js +6 -0
- package/build-esm/_modules/crypto/_collections/crypto-v1.util.js +199 -0
- package/build-esm/_modules/crypto/_collections/crypto-v2.util.js +273 -0
- package/build-esm/_modules/crypto/_collections/crypto-v4.util.js +605 -0
- package/build-esm/_modules/crypto/_collections/crypto.util.js +651 -0
- package/build-esm/_modules/crypto/_models/artifact-signature.interface.js +1 -0
- package/build-esm/_modules/crypto/_services/artifact-signature.control-service.js +276 -0
- package/build-esm/_modules/crypto/index.js +11 -0
- package/build-esm/_modules/custom-data/_collections/cud-module-settings.const.js +18 -0
- package/build-esm/_modules/custom-data/_models/cud.data-model.js +30 -0
- package/build-esm/_modules/custom-data/index.js +4 -0
- package/build-esm/_modules/data-handler/_models/data-handler-settings.control-model.js +78 -0
- package/build-esm/_modules/data-handler/_models/data-handler.control-model.js +386 -0
- package/build-esm/_modules/data-handler/_models/data-list-handler-settings.control-model.js +11 -0
- package/build-esm/_modules/data-handler/_models/data-list-handler.control-model.js +222 -0
- package/build-esm/_modules/data-handler/_models/data-search-handler-settings.control-model.js +25 -0
- package/build-esm/_modules/data-handler/_models/data-search-handler.control-model.js +334 -0
- package/build-esm/_modules/data-handler/_models/list-collector-data-handler-settings.control-model.js +12 -0
- package/build-esm/_modules/data-handler/_models/list-collector-data-handler.control-model.js +243 -0
- package/build-esm/_modules/data-handler/index.js +9 -0
- package/build-esm/_modules/deployment/_collections/atomic-rollback-manifest.util.js +348 -0
- package/build-esm/_modules/deployment/_models/atomic-rollback-manifest.interface.js +1 -0
- package/build-esm/_modules/deployment/index.js +2 -0
- package/build-esm/_modules/game/_collections/audio-mixer.util.js +109 -0
- package/build-esm/_modules/game/_collections/audio-scale.util.js +100 -0
- package/build-esm/_modules/game/_enums/audio-channel.enum.js +21 -0
- package/build-esm/_modules/game/_models/audio-mixer-config.interface.js +1 -0
- package/build-esm/_modules/game/_models/audio-mixer-settings.interface.js +1 -0
- package/build-esm/_modules/game/_models/audio-mixer-state.interface.js +1 -0
- package/build-esm/_modules/game/_models/audio-mixer.control-model.js +337 -0
- package/build-esm/_modules/game/_models/audio-scale.interface.js +1 -0
- package/build-esm/_modules/game/_models/flying-effect.control-model.js +212 -0
- package/build-esm/_modules/game/_models/flying-effect.interface.js +1 -0
- package/build-esm/_modules/game/_models/seeded-random-registry.control-model.js +124 -0
- package/build-esm/_modules/game/_models/seeded-random-registry.interface.js +1 -0
- package/build-esm/_modules/game/_models/seeded-random-state.interface.js +1 -0
- package/build-esm/_modules/game/_models/seeded-random.control-model.js +261 -0
- package/build-esm/_modules/game/index.js +17 -0
- package/build-esm/_modules/location/_collections/assets/country-codes-ISO-3166.json +3239 -0
- package/build-esm/_modules/location/_collections/assets/country-divisions-ISO-3166-all-list.json +19036 -0
- package/build-esm/_modules/location/_collections/assets/country-phone-codes.json +1202 -0
- package/build-esm/_modules/location/_collections/loc-country-divisions.const.js +3 -0
- package/build-esm/_modules/location/_collections/loc-country-isos.const.js +2 -0
- package/build-esm/_modules/location/_collections/loc-regions.util.js +107 -0
- package/build-esm/_modules/location/_collections/loc.util.js +56 -0
- package/build-esm/_modules/location/_enums/loc-region.enum.js +11 -0
- package/build-esm/_modules/location/_enums/loc-sub-region.enum.js +23 -0
- package/build-esm/_modules/location/_enums/loc-subdivision-region-type.enum.js +45 -0
- package/build-esm/_modules/location/_models/loc-coordinates.interface.js +1 -0
- package/build-esm/_modules/location/_models/loc-country-division.interface.js +1 -0
- package/build-esm/_modules/location/_models/loc-country-iso.interface.js +1 -0
- package/build-esm/_modules/location/_models/loc-country-phone-code.interface.js +1 -0
- package/build-esm/_modules/location/_models/loc-division-collection.interface.js +1 -0
- package/build-esm/_modules/location/_models/loc-division-region-data.interface.js +1 -0
- package/build-esm/_modules/location/_models/loc-geo-ip-location.interface.js +1 -0
- package/build-esm/_modules/location/index.js +17 -0
- package/build-esm/_modules/messaging/_collections/msg-module-settings.const.js +44 -0
- package/build-esm/_modules/messaging/_enums/msg-attachment-type.enum.js +21 -0
- package/build-esm/_modules/messaging/_enums/msg-conversation-type.enum.js +17 -0
- package/build-esm/_modules/messaging/_enums/msg-delivery-status.enum.js +15 -0
- package/build-esm/_modules/messaging/_enums/msg-event-key.enum.js +28 -0
- package/build-esm/_modules/messaging/_enums/msg-participant-role.enum.js +17 -0
- package/build-esm/_modules/messaging/_enums/msg-provider-type.enum.js +8 -0
- package/build-esm/_modules/messaging/_enums/msg-status.enum.js +21 -0
- package/build-esm/_modules/messaging/_enums/msg-type.enum.js +19 -0
- package/build-esm/_modules/messaging/_models/msg-attachment.interface.js +1 -0
- package/build-esm/_modules/messaging/_models/msg-conversation.data-model.js +80 -0
- package/build-esm/_modules/messaging/_models/msg-mention.interface.js +1 -0
- package/build-esm/_modules/messaging/_models/msg-message.data-model.js +102 -0
- package/build-esm/_modules/messaging/_models/msg-participant.interface.js +1 -0
- package/build-esm/_modules/messaging/_models/msg-reaction.interface.js +1 -0
- package/build-esm/_modules/messaging/_models/msg-thread-info.interface.js +1 -0
- package/build-esm/_modules/messaging/_modules/agent/_enums/agt-process-step-type.enum.js +27 -0
- package/build-esm/_modules/messaging/_modules/agent/_enums/agt-tool-status.enum.js +19 -0
- package/build-esm/_modules/messaging/_modules/agent/_models/agt-process-step.interface.js +1 -0
- package/build-esm/_modules/messaging/_modules/agent/_models/agt-reasoning-info.interface.js +1 -0
- package/build-esm/_modules/messaging/_modules/agent/_models/agt-tool-usage.interface.js +1 -0
- package/build-esm/_modules/messaging/_modules/agent/index.js +7 -0
- package/build-esm/_modules/messaging/index.js +25 -0
- package/build-esm/_modules/ngx-models/_collections/angular-placeholders.js +1 -0
- package/build-esm/_modules/ngx-models/_collections/button-new-style-settings-presets.const.js +170 -0
- package/build-esm/_modules/ngx-models/_collections/dynamo-global.settings.js +88 -0
- package/build-esm/_modules/ngx-models/_enums/button-new/button-new-border-radius.enum.js +14 -0
- package/build-esm/_modules/ngx-models/_enums/button-new/button-new-icon-style-type.enum.js +12 -0
- package/build-esm/_modules/ngx-models/_enums/button-new/button-new-size.enum.js +15 -0
- package/build-esm/_modules/ngx-models/_enums/button-new/button-new-style-type.enum.js +17 -0
- package/build-esm/_modules/ngx-models/_enums/button-type.enum.js +35 -0
- package/build-esm/_modules/ngx-models/_enums/checkbox-label-position.enum.js +8 -0
- package/build-esm/_modules/ngx-models/_enums/container-type.enum.js +11 -0
- package/build-esm/_modules/ngx-models/_enums/errors/error-level.enum.js +14 -0
- package/build-esm/_modules/ngx-models/_enums/errors/error-notification-color.enum.js +14 -0
- package/build-esm/_modules/ngx-models/_enums/errors/error-ui-mode.enum.js +14 -0
- package/build-esm/_modules/ngx-models/_enums/field-appearance.enum.js +13 -0
- package/build-esm/_modules/ngx-models/_enums/field-type.enum.js +49 -0
- package/build-esm/_modules/ngx-models/_enums/file-type.enum.js +12 -0
- package/build-esm/_modules/ngx-models/_enums/flex/flex-layout-align.enum.js +21 -0
- package/build-esm/_modules/ngx-models/_enums/flex/flex-layout.enum.js +6 -0
- package/build-esm/_modules/ngx-models/_enums/form-access.enum.js +9 -0
- package/build-esm/_modules/ngx-models/_enums/form-reset-data.enum.js +12 -0
- package/build-esm/_modules/ngx-models/_enums/form-store-on.enum.js +8 -0
- package/build-esm/_modules/ngx-models/_enums/forms-new/field-new-validator-type.enum.js +21 -0
- package/build-esm/_modules/ngx-models/_enums/frames/header-item-type.enum.js +16 -0
- package/build-esm/_modules/ngx-models/_enums/frames/header-position.enum.js +11 -0
- package/build-esm/_modules/ngx-models/_enums/frames/side-nav-badge-color.enum.js +14 -0
- package/build-esm/_modules/ngx-models/_enums/html/input-types.enum.js +26 -0
- package/build-esm/_modules/ngx-models/_enums/material-color.enum.js +14 -0
- package/build-esm/_modules/ngx-models/_enums/material-tooltip-position.enum.js +13 -0
- package/build-esm/_modules/ngx-models/_enums/preconfigured-field-type.enum.js +8 -0
- package/build-esm/_modules/ngx-models/_enums/storage-type.enum.js +13 -0
- package/build-esm/_modules/ngx-models/_enums/validator-type.enum.js +7 -0
- package/build-esm/_modules/ngx-models/_enums/voice/audio-mime-type.enum.js +15 -0
- package/build-esm/_modules/ngx-models/_enums/voice/voice-provider-type.enum.js +32 -0
- package/build-esm/_modules/ngx-models/_enums/voice/voice-recorder-state.enum.js +21 -0
- package/build-esm/_modules/ngx-models/_models/control-models/button-new-style-settings.control-model.js +44 -0
- package/build-esm/_modules/ngx-models/_models/control-models/button-params.control-model.js +304 -0
- package/build-esm/_modules/ngx-models/_models/control-models/chat/chat-column-layout-settings.control-model.js +59 -0
- package/build-esm/_modules/ngx-models/_models/control-models/data-handler-settings.control-model.js +94 -0
- package/build-esm/_modules/ngx-models/_models/control-models/data-handler.control-model.js +407 -0
- package/build-esm/_modules/ngx-models/_models/control-models/errors/error-notification.control-model.js +43 -0
- package/build-esm/_modules/ngx-models/_models/control-models/errors/error-settings.control-model.js +64 -0
- package/build-esm/_modules/ngx-models/_models/control-models/errors/errors-settings.control-model.js +52 -0
- package/build-esm/_modules/ngx-models/_models/control-models/field-settings.control-model.js +207 -0
- package/build-esm/_modules/ngx-models/_models/control-models/form-settings.control-model.js +275 -0
- package/build-esm/_modules/ngx-models/_models/control-models/forms-new/checkbox-field-new-settings.control-model.js +29 -0
- package/build-esm/_modules/ngx-models/_models/control-models/forms-new/color-picker-field-new-settings.control-model.js +36 -0
- package/build-esm/_modules/ngx-models/_models/control-models/forms-new/date-field-new-settings.control-model.js +31 -0
- package/build-esm/_modules/ngx-models/_models/control-models/forms-new/date-range-field-new-settings.control-model.js +46 -0
- package/build-esm/_modules/ngx-models/_models/control-models/forms-new/datetime-field-new-settings.control-model.js +38 -0
- package/build-esm/_modules/ngx-models/_models/control-models/forms-new/datetime-range-field-new-settings.control-model.js +48 -0
- package/build-esm/_modules/ngx-models/_models/control-models/forms-new/emoji-picker-field-new-settings.control-model.js +21 -0
- package/build-esm/_modules/ngx-models/_models/control-models/forms-new/field-new-settings.control-model.js +91 -0
- package/build-esm/_modules/ngx-models/_models/control-models/forms-new/field-new-types.js +1 -0
- package/build-esm/_modules/ngx-models/_models/control-models/forms-new/form-new-settings.control-model.js +39 -0
- package/build-esm/_modules/ngx-models/_models/control-models/forms-new/icon-picker-field-new-settings.control-model.js +39 -0
- package/build-esm/_modules/ngx-models/_models/control-models/forms-new/index.js +23 -0
- package/build-esm/_modules/ngx-models/_models/control-models/forms-new/multiselect-field-new-settings.control-model.js +31 -0
- package/build-esm/_modules/ngx-models/_models/control-models/forms-new/number-field-new-settings.control-model.js +29 -0
- package/build-esm/_modules/ngx-models/_models/control-models/forms-new/password-field-new-settings.control-model.js +51 -0
- package/build-esm/_modules/ngx-models/_models/control-models/forms-new/picker-field-new-option.interface.js +1 -0
- package/build-esm/_modules/ngx-models/_models/control-models/forms-new/radio-select-field-new-settings.control-model.js +38 -0
- package/build-esm/_modules/ngx-models/_models/control-models/forms-new/select-field-new-settings.control-model.js +35 -0
- package/build-esm/_modules/ngx-models/_models/control-models/forms-new/slider-field-new-settings.control-model.js +50 -0
- package/build-esm/_modules/ngx-models/_models/control-models/forms-new/slider-range-field-new-settings.control-model.js +47 -0
- package/build-esm/_modules/ngx-models/_models/control-models/forms-new/text-field-new-settings.control-model.js +35 -0
- package/build-esm/_modules/ngx-models/_models/control-models/forms-new/textarea-field-new-settings.control-model.js +27 -0
- package/build-esm/_modules/ngx-models/_models/control-models/frames/header-item-settings.control-model.js +44 -0
- package/build-esm/_modules/ngx-models/_models/control-models/frames/main-frame-settings.control-model.js +56 -0
- package/build-esm/_modules/ngx-models/_models/control-models/frames/side-nav-item-settings.control-model.js +58 -0
- package/build-esm/_modules/ngx-models/_models/control-models/frames/side-nav-settings.control-model.js +38 -0
- package/build-esm/_modules/ngx-models/_models/control-models/select.control-model.js +27 -0
- package/build-esm/_modules/ngx-models/_models/control-models/signal-data-list-handler-settings.control-model.js +23 -0
- package/build-esm/_modules/ngx-models/_models/control-models/signal-data-search-handler-settings.control-model.js +25 -0
- package/build-esm/_modules/ngx-models/_models/control-models/signal-list-collector-data-handler-settings.control-model.js +12 -0
- package/build-esm/_modules/ngx-models/_models/control-models/voice/voice-providers-settings.control-model.js +22 -0
- package/build-esm/_modules/ngx-models/_models/control-models/voice/voice-record-button-settings.control-model.js +91 -0
- package/build-esm/_modules/ngx-models/_models/control-models/voice/voice-recorder-settings.control-model.js +42 -0
- package/build-esm/_modules/ngx-models/_models/interfaces/button-new-settings.interface.js +1 -0
- package/build-esm/_modules/ngx-models/_models/interfaces/confirm-settings.interface.js +1 -0
- package/build-esm/_modules/ngx-models/_models/interfaces/global-settings.interface.js +1 -0
- package/build-esm/_modules/ngx-models/_models/interfaces/select-options-custom-constructor.interface.js +1 -0
- package/build-esm/_modules/ngx-models/_models/interfaces/storage.service.js +40 -0
- package/build-esm/_modules/ngx-models/_models/interfaces/voice/speak-options.interface.js +1 -0
- package/build-esm/_modules/ngx-models/_models/interfaces/voice/speak-result.interface.js +1 -0
- package/build-esm/_modules/ngx-models/_models/interfaces/voice/transcribe-options.interface.js +1 -0
- package/build-esm/_modules/ngx-models/_models/interfaces/voice/transcribe-result.interface.js +1 -0
- package/build-esm/_modules/ngx-models/_models/interfaces/voice/voice-profile.interface.js +1 -0
- package/build-esm/_modules/ngx-models/_models/interfaces/voice/voice-provider-init.interface.js +1 -0
- package/build-esm/_modules/ngx-models/_utils/shared.service.js +407 -0
- package/build-esm/_modules/ngx-models/index.js +89 -0
- package/build-esm/_modules/operation-control/_collections/operation-lease.util.js +323 -0
- package/build-esm/_modules/operation-control/_enums/operation-decision-code.type-enum.js +22 -0
- package/build-esm/_modules/operation-control/_enums/operation-state.type-enum.js +9 -0
- package/build-esm/_modules/operation-control/_models/operation-lease.interface.js +1 -0
- package/build-esm/_modules/operation-control/index.js +4 -0
- package/build-esm/_modules/pipe/_collections/pip-transforms.const.js +32 -0
- package/build-esm/_modules/pipe/_collections/utils/pip-country-pipe.util.js +29 -0
- package/build-esm/_modules/pipe/_collections/utils/pip-custom-pipe.util.js +22 -0
- package/build-esm/_modules/pipe/_collections/utils/pip-division-pipe.util.js +21 -0
- package/build-esm/_modules/pipe/_collections/utils/pip-json-pipe.util.js +18 -0
- package/build-esm/_modules/pipe/_collections/utils/pip-list-pipe.util.js +19 -0
- package/build-esm/_modules/pipe/_collections/utils/pip-multi-pipe-pipe.util.js +164 -0
- package/build-esm/_modules/pipe/_collections/utils/pip-obj-key-pipe.util.js +16 -0
- package/build-esm/_modules/pipe/_collections/utils/pip-range-pipe.util.js +64 -0
- package/build-esm/_modules/pipe/_collections/utils/pip-region-pipe.util.js +22 -0
- package/build-esm/_modules/pipe/_collections/utils/pip-replace-pipe.util.js +15 -0
- package/build-esm/_modules/pipe/_collections/utils/pip-slider-pipe.util.js +26 -0
- package/build-esm/_modules/pipe/_collections/utils/pip-smart-replace-pipe.util.js +40 -0
- package/build-esm/_modules/pipe/_enums/pip-range-pipe-setting.enum.js +14 -0
- package/build-esm/_modules/pipe/_enums/pip.enum.js +48 -0
- package/build-esm/_modules/pipe/_models/pip-multi-pipe-settings.type.js +1 -0
- package/build-esm/_modules/pipe/_models/pip-transforms.interface.js +1 -0
- package/build-esm/_modules/pipe/index.js +22 -0
- package/build-esm/_modules/request-safety/_collections/request-safety-inspector.util.js +317 -0
- package/build-esm/_modules/request-safety/_enums/request-safety-finding.type-enum.js +39 -0
- package/build-esm/_modules/request-safety/_models/request-safety.interface.js +1 -0
- package/build-esm/_modules/request-safety/index.js +3 -0
- package/build-esm/_modules/sandbox-runtime/_collections/zero-egress-receipt.util.js +154 -0
- package/build-esm/_modules/sandbox-runtime/_collections/zero-egress-result-code.const.js +36 -0
- package/build-esm/_modules/sandbox-runtime/_enums/zero-egress-outcome.type-enum.js +11 -0
- package/build-esm/_modules/sandbox-runtime/_models/zero-egress-receipt.interface.js +1 -0
- package/build-esm/_modules/sandbox-runtime/index.js +4 -0
- package/build-esm/_modules/security/_collections/stored-secret.util.js +68 -0
- package/build-esm/_modules/security/_models/stored-secret.control-model.js +52 -0
- package/build-esm/_modules/security/index.js +7 -0
- package/build-esm/_modules/socket/_enums/sck-event-key.enum.js +18 -0
- package/build-esm/_modules/socket/_models/sck-client-params.control-model.js +47 -0
- package/build-esm/_modules/socket/_models/sck-socket-event.control-model.js +133 -0
- package/build-esm/_modules/socket/_services/sck-client.service-base.js +314 -0
- package/build-esm/_modules/socket/index.js +7 -0
- package/build-esm/_modules/state-machine/_models/state-machine-config.interface.js +1 -0
- package/build-esm/_modules/state-machine/_models/state-machine-event.interface.js +1 -0
- package/build-esm/_modules/state-machine/_models/state-machine.control-model.js +262 -0
- package/build-esm/_modules/state-machine/_models/state-transition-result.interface.js +1 -0
- package/build-esm/_modules/state-machine/_models/state-transition.interface.js +1 -0
- package/build-esm/_modules/state-machine/index.js +6 -0
- package/build-esm/_modules/test/_collections/tst-module-settings.const.js +38 -0
- package/build-esm/_modules/test/index.js +2 -0
- package/build-esm/_modules/usage/_collections/usg-module-settings.const.js +16 -0
- package/build-esm/_modules/usage/_models/usg-action.control-model.js +25 -0
- package/build-esm/_modules/usage/_models/usg-daily-usage-data.control-model.js +30 -0
- package/build-esm/_modules/usage/_models/usg-data.control-model.js +30 -0
- package/build-esm/_modules/usage/_models/usg-session.data-model.js +60 -0
- package/build-esm/_modules/usage/index.js +7 -0
- package/build-esm/index.js +108 -0
- 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);
|