@qimen-lab/core 0.1.4 → 0.1.5
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/dist/async/package.json +1 -1
- package/dist/cache/package.json +3 -3
- package/dist/cache/types/cache.esm.js +2 -0
- package/dist/cache/types/cache.esm.js.map +1 -0
- package/dist/cache/types/index.esm.js +5 -0
- package/dist/cache/types/index.esm.js.map +1 -0
- package/dist/composable/package.json +3 -3
- package/dist/composable/types/composable.esm.js +5 -0
- package/dist/composable/types/composable.esm.js.map +1 -0
- package/dist/context/base/BaseContext.esm.js +120 -0
- package/dist/context/base/BaseContext.esm.js.map +1 -0
- package/dist/context/base/ExecutionStep.esm.js +9 -0
- package/dist/context/base/ExecutionStep.esm.js.map +1 -0
- package/dist/context/base/index.esm.js +7 -0
- package/dist/context/base/index.esm.js.map +1 -0
- package/dist/context/package.json +2 -2
- package/dist/context/types/index.esm.js +5 -0
- package/dist/context/types/index.esm.js.map +1 -0
- package/dist/context/types/request-context.esm.js +10 -0
- package/dist/context/types/request-context.esm.js.map +1 -0
- package/dist/crypto/package.json +1 -1
- package/dist/data-processor/DataProcessorRegistrar.d.ts +1 -1
- package/dist/data-processor/DataProcessorRegistrar.esm.js +1 -1
- package/dist/data-processor/DataProcessorRegistrar.js +1 -1
- package/dist/data-processor/errors/index.esm.js +57 -0
- package/dist/data-processor/errors/index.esm.js.map +1 -0
- package/dist/data-processor/package.json +4 -4
- package/dist/data-processor-abp/package.json +3 -3
- package/dist/data-processor-abp/post.d.ts +1 -1
- package/dist/data-processor-abp/post.esm.js +1 -1
- package/dist/data-processor-abp/post.js +1 -1
- package/dist/data-processor-abp/pre.d.ts +1 -1
- package/dist/data-processor-abp/pre.esm.js +1 -1
- package/dist/data-processor-abp/pre.js +1 -1
- package/dist/data-processor-spring/package.json +3 -3
- package/dist/data-processor-spring/post.d.ts +1 -1
- package/dist/data-processor-spring/post.esm.js +1 -1
- package/dist/data-processor-spring/post.js +1 -1
- package/dist/data-processor-spring/pre.d.ts +1 -1
- package/dist/data-processor-spring/pre.esm.js +1 -1
- package/dist/data-processor-spring/pre.js +1 -1
- package/dist/entity/abilities/SchemaAbility.esm.js +85 -0
- package/dist/entity/abilities/SchemaAbility.esm.js.map +1 -0
- package/dist/entity/abilities/core/CacheAbility.esm.js +77 -0
- package/dist/entity/abilities/core/CacheAbility.esm.js.map +1 -0
- package/dist/entity/abilities/core/DirtyAbility.esm.js +58 -0
- package/dist/entity/abilities/core/DirtyAbility.esm.js.map +1 -0
- package/dist/entity/abilities/core/SchemaProxyAbility.esm.js +99 -0
- package/dist/entity/abilities/core/SchemaProxyAbility.esm.js.map +1 -0
- package/dist/entity/abilities/core/index.esm.js +4 -0
- package/dist/entity/abilities/core/index.esm.js.map +1 -0
- package/dist/entity/abilities/index.esm.js +8 -0
- package/dist/entity/abilities/index.esm.js.map +1 -0
- package/dist/entity/abilities/local/FlatLocalDeleteAbility.esm.js +27 -0
- package/dist/entity/abilities/local/FlatLocalDeleteAbility.esm.js.map +1 -0
- package/dist/entity/abilities/local/FlatLocalMutationAbility.esm.js +53 -0
- package/dist/entity/abilities/local/FlatLocalMutationAbility.esm.js.map +1 -0
- package/dist/entity/abilities/local/FlatLocalStateAbility.esm.js +489 -0
- package/dist/entity/abilities/local/FlatLocalStateAbility.esm.js.map +1 -0
- package/dist/entity/abilities/local/LocalGetAbility.esm.js +23 -0
- package/dist/entity/abilities/local/LocalGetAbility.esm.js.map +1 -0
- package/dist/entity/abilities/local/LocalListAbility.esm.js +29 -0
- package/dist/entity/abilities/local/LocalListAbility.esm.js.map +1 -0
- package/dist/entity/abilities/local/index.esm.js +6 -0
- package/dist/entity/abilities/local/index.esm.js.map +1 -0
- package/dist/entity/abilities/mutation/LocalMutationAbility.esm.js +164 -0
- package/dist/entity/abilities/mutation/LocalMutationAbility.esm.js.map +1 -0
- package/dist/entity/abilities/mutation/index.esm.js +2 -0
- package/dist/entity/abilities/mutation/index.esm.js.map +1 -0
- package/dist/entity/abilities/remote/FlatRemoteGetAllAbility.esm.js +20 -0
- package/dist/entity/abilities/remote/FlatRemoteGetAllAbility.esm.js.map +1 -0
- package/dist/entity/abilities/remote/FlatRemoteListAbility.esm.js +47 -0
- package/dist/entity/abilities/remote/FlatRemoteListAbility.esm.js.map +1 -0
- package/dist/entity/abilities/remote/FlatRemoteQueryAbility.esm.js +70 -0
- package/dist/entity/abilities/remote/FlatRemoteQueryAbility.esm.js.map +1 -0
- package/dist/entity/abilities/remote/FlatRemoteStateAbility.esm.js +78 -0
- package/dist/entity/abilities/remote/FlatRemoteStateAbility.esm.js.map +1 -0
- package/dist/entity/abilities/remote/RemoteCreateAbility.esm.js +33 -0
- package/dist/entity/abilities/remote/RemoteCreateAbility.esm.js.map +1 -0
- package/dist/entity/abilities/remote/RemoteDeleteAbility.esm.js +34 -0
- package/dist/entity/abilities/remote/RemoteDeleteAbility.esm.js.map +1 -0
- package/dist/entity/abilities/remote/RemoteGetAbility.esm.js +23 -0
- package/dist/entity/abilities/remote/RemoteGetAbility.esm.js.map +1 -0
- package/dist/entity/abilities/remote/RemoteToggleAbility.esm.js +40 -0
- package/dist/entity/abilities/remote/RemoteToggleAbility.esm.js.map +1 -0
- package/dist/entity/abilities/remote/RemoteUpdateAbility.esm.js +34 -0
- package/dist/entity/abilities/remote/RemoteUpdateAbility.esm.js.map +1 -0
- package/dist/entity/abilities/remote/TreeManagerAbility.esm.js +69 -0
- package/dist/entity/abilities/remote/TreeManagerAbility.esm.js.map +1 -0
- package/dist/entity/abilities/remote/TreeRemoteStateAbility.esm.js +33 -0
- package/dist/entity/abilities/remote/TreeRemoteStateAbility.esm.js.map +1 -0
- package/dist/entity/abilities/remote/index.esm.js +12 -0
- package/dist/entity/abilities/remote/index.esm.js.map +1 -0
- package/dist/entity/abilities/search/SearchAbility.esm.js +67 -0
- package/dist/entity/abilities/search/SearchAbility.esm.js.map +1 -0
- package/dist/entity/abilities/search/index.esm.js +2 -0
- package/dist/entity/abilities/search/index.esm.js.map +1 -0
- package/dist/entity/abilities/tree/TreeLifecycleAbility.esm.js +85 -0
- package/dist/entity/abilities/tree/TreeLifecycleAbility.esm.js.map +1 -0
- package/dist/entity/abilities/tree/TreePathAbility.esm.js +76 -0
- package/dist/entity/abilities/tree/TreePathAbility.esm.js.map +1 -0
- package/dist/entity/abilities/tree/TreeSearchAbility.esm.js +46 -0
- package/dist/entity/abilities/tree/TreeSearchAbility.esm.js.map +1 -0
- package/dist/entity/abilities/tree/TreeViewAbility.esm.js +48 -0
- package/dist/entity/abilities/tree/TreeViewAbility.esm.js.map +1 -0
- package/dist/entity/abilities/tree/index.esm.js +5 -0
- package/dist/entity/abilities/tree/index.esm.js.map +1 -0
- package/dist/entity/manager/BaseEntityManager.d.ts +3 -3
- package/dist/entity/manager/BaseEntityManager.esm.js +138 -0
- package/dist/entity/manager/BaseEntityManager.esm.js.map +1 -0
- package/dist/entity/manager/CoreEntityManager.d.ts +2 -2
- package/dist/entity/manager/CoreEntityManager.esm.js +147 -0
- package/dist/entity/manager/CoreEntityManager.esm.js.map +1 -0
- package/dist/entity/manager/CoreEntityManager.js +1 -1
- package/dist/entity/manager/index.esm.js +4 -0
- package/dist/entity/manager/index.esm.js.map +1 -0
- package/dist/entity/manager/managers.d.ts +1 -1
- package/dist/entity/manager/managers.esm.js +209 -0
- package/dist/entity/manager/managers.esm.js.map +1 -0
- package/dist/entity/manager/managers.js +23 -23
- package/dist/entity/package.json +11 -11
- package/dist/entity/types/index.esm.js +29 -0
- package/dist/entity/types/index.esm.js.map +1 -0
- package/dist/error/package.json +1 -1
- package/dist/event-dom/adapters/createEventAdapter.esm.js +28 -0
- package/dist/event-dom/adapters/createEventAdapter.esm.js.map +1 -0
- package/dist/event-dom/adapters/dom/DomEventAdapter.esm.js +241 -0
- package/dist/event-dom/adapters/dom/DomEventAdapter.esm.js.map +1 -0
- package/dist/event-dom/adapters/dom/index.esm.js +2 -0
- package/dist/event-dom/adapters/dom/index.esm.js.map +1 -0
- package/dist/event-dom/adapters/index.esm.js +6 -0
- package/dist/event-dom/adapters/index.esm.js.map +1 -0
- package/dist/event-dom/adapters/processors/ContextMenuProcessor.esm.js +70 -0
- package/dist/event-dom/adapters/processors/ContextMenuProcessor.esm.js.map +1 -0
- package/dist/event-dom/adapters/processors/DoubleTapProcessor.esm.js +85 -0
- package/dist/event-dom/adapters/processors/DoubleTapProcessor.esm.js.map +1 -0
- package/dist/event-dom/adapters/processors/DragProcessor.esm.js +127 -0
- package/dist/event-dom/adapters/processors/DragProcessor.esm.js.map +1 -0
- package/dist/event-dom/adapters/processors/GestureProcessor.esm.js +164 -0
- package/dist/event-dom/adapters/processors/GestureProcessor.esm.js.map +1 -0
- package/dist/event-dom/adapters/processors/GestureProcessor.js +2 -2
- package/dist/event-dom/adapters/processors/HoverProcessor.esm.js +39 -0
- package/dist/event-dom/adapters/processors/HoverProcessor.esm.js.map +1 -0
- package/dist/event-dom/adapters/processors/LongPressProcessor.esm.js +96 -0
- package/dist/event-dom/adapters/processors/LongPressProcessor.esm.js.map +1 -0
- package/dist/event-dom/adapters/processors/SubmitProcessor.esm.js +35 -0
- package/dist/event-dom/adapters/processors/SubmitProcessor.esm.js.map +1 -0
- package/dist/event-dom/adapters/processors/SwipeProcessor.esm.js +72 -0
- package/dist/event-dom/adapters/processors/SwipeProcessor.esm.js.map +1 -0
- package/dist/event-dom/adapters/processors/TapProcessor.esm.js +60 -0
- package/dist/event-dom/adapters/processors/TapProcessor.esm.js.map +1 -0
- package/dist/event-dom/adapters/processors/factory.esm.js +58 -0
- package/dist/event-dom/adapters/processors/factory.esm.js.map +1 -0
- package/dist/event-dom/adapters/processors/factory.js +2 -2
- package/dist/event-dom/adapters/processors/index.esm.js +22 -0
- package/dist/event-dom/adapters/processors/index.esm.js.map +1 -0
- package/dist/event-dom/adapters/semantic-map/base.esm.js +73 -0
- package/dist/event-dom/adapters/semantic-map/base.esm.js.map +1 -0
- package/dist/event-dom/adapters/semantic-map/gesture.esm.js +95 -0
- package/dist/event-dom/adapters/semantic-map/gesture.esm.js.map +1 -0
- package/dist/event-dom/adapters/semantic-map/index.esm.js +8 -0
- package/dist/event-dom/adapters/semantic-map/index.esm.js.map +1 -0
- package/dist/event-dom/adapters/semantic-map/keyboard.esm.js +20 -0
- package/dist/event-dom/adapters/semantic-map/keyboard.esm.js.map +1 -0
- package/dist/event-dom/adapters/semantic-map/mouse.esm.js +35 -0
- package/dist/event-dom/adapters/semantic-map/mouse.esm.js.map +1 -0
- package/dist/event-dom/adapters/semantic-map/pointer.esm.js +38 -0
- package/dist/event-dom/adapters/semantic-map/pointer.esm.js.map +1 -0
- package/dist/event-dom/adapters/semantic-map/resolve.esm.js +49 -0
- package/dist/event-dom/adapters/semantic-map/resolve.esm.js.map +1 -0
- package/dist/event-dom/adapters/semantic-map/touch.esm.js +26 -0
- package/dist/event-dom/adapters/semantic-map/touch.esm.js.map +1 -0
- package/dist/event-dom/adapters/utils/index.esm.js +2 -0
- package/dist/event-dom/adapters/utils/index.esm.js.map +1 -0
- package/dist/event-dom/adapters/utils/validation.esm.js +67 -0
- package/dist/event-dom/adapters/utils/validation.esm.js.map +1 -0
- package/dist/event-dom/package.json +7 -7
- package/dist/event-dom/types/adapters/base.esm.js +2 -0
- package/dist/event-dom/types/adapters/base.esm.js.map +1 -0
- package/dist/event-dom/types/adapters/index.esm.js +4 -0
- package/dist/event-dom/types/adapters/index.esm.js.map +1 -0
- package/dist/event-dom/types/adapters/map.esm.js +5 -0
- package/dist/event-dom/types/adapters/map.esm.js.map +1 -0
- package/dist/event-dom/types/adapters/processors.esm.js +10 -0
- package/dist/event-dom/types/adapters/processors.esm.js.map +1 -0
- package/dist/event-dom/types/index.esm.js +10 -0
- package/dist/event-dom/types/index.esm.js.map +1 -0
- package/dist/events/package.json +3 -3
- package/dist/events/types/bus.esm.js +2 -0
- package/dist/events/types/bus.esm.js.map +1 -0
- package/dist/events/types/core.esm.js +2 -0
- package/dist/events/types/core.esm.js.map +1 -0
- package/dist/events/types/index.esm.js +9 -0
- package/dist/events/types/index.esm.js.map +1 -0
- package/dist/events/types/scope.esm.js +2 -0
- package/dist/events/types/scope.esm.js.map +1 -0
- package/dist/http/actions/align/DownloadInterceptor.esm.js +27 -0
- package/dist/http/actions/align/DownloadInterceptor.esm.js.map +1 -0
- package/dist/http/actions/align/index.esm.js +2 -0
- package/dist/http/actions/align/index.esm.js.map +1 -0
- package/dist/http/actions/exchange/FetchTransport.esm.js +56 -0
- package/dist/http/actions/exchange/FetchTransport.esm.js.map +1 -0
- package/dist/http/actions/exchange/XhrTransport.esm.js +82 -0
- package/dist/http/actions/exchange/XhrTransport.esm.js.map +1 -0
- package/dist/http/actions/exchange/index.esm.js +3 -0
- package/dist/http/actions/exchange/index.esm.js.map +1 -0
- package/dist/http/actions/prepare/CommonParamsEnricher.esm.js +29 -0
- package/dist/http/actions/prepare/CommonParamsEnricher.esm.js.map +1 -0
- package/dist/http/actions/prepare/TokenInjector.esm.js +34 -0
- package/dist/http/actions/prepare/TokenInjector.esm.js.map +1 -0
- package/dist/http/actions/prepare/UrlBuilder.esm.js +38 -0
- package/dist/http/actions/prepare/UrlBuilder.esm.js.map +1 -0
- package/dist/http/actions/prepare/index.esm.js +4 -0
- package/dist/http/actions/prepare/index.esm.js.map +1 -0
- package/dist/http/actions/process/DataParser.esm.js +39 -0
- package/dist/http/actions/process/DataParser.esm.js.map +1 -0
- package/dist/http/actions/process/ResponseAnalyzer.esm.js +40 -0
- package/dist/http/actions/process/ResponseAnalyzer.esm.js.map +1 -0
- package/dist/http/actions/process/index.esm.js +3 -0
- package/dist/http/actions/process/index.esm.js.map +1 -0
- package/dist/http/actions/register.esm.js +89 -0
- package/dist/http/actions/register.esm.js.map +1 -0
- package/dist/http/package.json +5 -5
- package/dist/http/types/http-context.esm.js +7 -0
- package/dist/http/types/http-context.esm.js.map +1 -0
- package/dist/http/types/http.esm.js +2 -0
- package/dist/http/types/http.esm.js.map +1 -0
- package/dist/http/types/index.esm.js +5 -0
- package/dist/http/types/index.esm.js.map +1 -0
- package/dist/i18n/package.json +1 -1
- package/dist/i18n/types/index.esm.js +5 -0
- package/dist/i18n/types/index.esm.js.map +1 -0
- package/dist/logger/package.json +1 -1
- package/dist/logger/sinks/console.esm.js +37 -0
- package/dist/logger/sinks/console.esm.js.map +1 -0
- package/dist/mime/package.json +2 -2
- package/dist/oauth2/OAuth2Manager.esm.js +1 -1
- package/dist/oauth2/OAuth2Manager.js +1 -1
- package/dist/oauth2/TokenRefreshHandler.esm.js +1 -1
- package/dist/oauth2/TokenRefreshHandler.js +1 -1
- package/dist/oauth2/package.json +5 -5
- package/dist/pattern/package.json +2 -2
- package/dist/pipeline/package.json +3 -3
- package/dist/registry/package.json +2 -2
- package/dist/registry/registrars/DomainRegistrar.esm.js +116 -0
- package/dist/registry/registrars/DomainRegistrar.esm.js.map +1 -0
- package/dist/registry/registrars/HtmlTemplateRegistrar.esm.js +56 -0
- package/dist/registry/registrars/HtmlTemplateRegistrar.esm.js.map +1 -0
- package/dist/registry/registrars/RegistrarBase.esm.js +88 -0
- package/dist/registry/registrars/RegistrarBase.esm.js.map +1 -0
- package/dist/registry/registrars/SystemRegistrar.esm.js +101 -0
- package/dist/registry/registrars/SystemRegistrar.esm.js.map +1 -0
- package/dist/registry/registrars/errors.esm.js +122 -0
- package/dist/registry/registrars/errors.esm.js.map +1 -0
- package/dist/registry/registrars/index.esm.js +6 -0
- package/dist/registry/registrars/index.esm.js.map +1 -0
- package/dist/runtime/package.json +1 -1
- package/dist/schema/package.json +2 -2
- package/dist/schema/types/index.esm.js +8 -0
- package/dist/schema/types/index.esm.js.map +1 -0
- package/dist/schema/types/rule.esm.js +32 -0
- package/dist/schema/types/rule.esm.js.map +1 -0
- package/dist/schema/types/schema.esm.js +2 -0
- package/dist/schema/types/schema.esm.js.map +1 -0
- package/dist/system-abilities/interfaces/index.esm.js +7 -0
- package/dist/system-abilities/interfaces/index.esm.js.map +1 -0
- package/dist/system-abilities/package.json +5 -5
- package/dist/system-abilities/system/DomEventsAbility.esm.js +17 -0
- package/dist/system-abilities/system/DomEventsAbility.esm.js.map +1 -0
- package/dist/system-abilities/system/DomainAbility.esm.js +30 -0
- package/dist/system-abilities/system/DomainAbility.esm.js.map +1 -0
- package/dist/system-abilities/system/EventAbility.esm.js +42 -0
- package/dist/system-abilities/system/EventAbility.esm.js.map +1 -0
- package/dist/system-abilities/system/SystemAbility.esm.js +22 -0
- package/dist/system-abilities/system/SystemAbility.esm.js.map +1 -0
- package/dist/system-abilities/system/index.esm.js +5 -0
- package/dist/system-abilities/system/index.esm.js.map +1 -0
- package/dist/system-abilities/types/abilities.esm.js +8 -0
- package/dist/system-abilities/types/abilities.esm.js.map +1 -0
- package/dist/system-abilities/types/index.esm.js +2 -0
- package/dist/system-abilities/types/index.esm.js.map +1 -0
- package/dist/task/errors/WorkerError.esm.js +21 -0
- package/dist/task/errors/WorkerError.esm.js.map +1 -0
- package/dist/task/errors/WorkerInitializationError.esm.js +33 -0
- package/dist/task/errors/WorkerInitializationError.esm.js.map +1 -0
- package/dist/task/errors/index.esm.js +8 -0
- package/dist/task/errors/index.esm.js.map +1 -0
- package/dist/task/hash-task/chunk/BrowserFileChunkProvider.esm.js +56 -0
- package/dist/task/hash-task/chunk/BrowserFileChunkProvider.esm.js.map +1 -0
- package/dist/task/hash-task/chunk/FileChunkProvider.esm.js +85 -0
- package/dist/task/hash-task/chunk/FileChunkProvider.esm.js.map +1 -0
- package/dist/task/hash-task/chunk/StreamChunkProvider.esm.js +55 -0
- package/dist/task/hash-task/chunk/StreamChunkProvider.esm.js.map +1 -0
- package/dist/task/hash-task/chunk/index.esm.js +4 -0
- package/dist/task/hash-task/chunk/index.esm.js.map +1 -0
- package/dist/task/hash-task/errors/ResourceNotAcquiredError.esm.js +21 -0
- package/dist/task/hash-task/errors/ResourceNotAcquiredError.esm.js.map +1 -0
- package/dist/task/hash-task/errors/ResourceUnavailableError.esm.js +21 -0
- package/dist/task/hash-task/errors/ResourceUnavailableError.esm.js.map +1 -0
- package/dist/task/hash-task/errors/TaskStateError.esm.js +22 -0
- package/dist/task/hash-task/errors/TaskStateError.esm.js.map +1 -0
- package/dist/task/hash-task/errors/index.esm.js +4 -0
- package/dist/task/hash-task/errors/index.esm.js.map +1 -0
- package/dist/task/hash-task/factory.esm.js +50 -0
- package/dist/task/hash-task/factory.esm.js.map +1 -0
- package/dist/task/hash-task/hash/HashTask.esm.js +148 -0
- package/dist/task/hash-task/hash/HashTask.esm.js.map +1 -0
- package/dist/task/hash-task/hash/HashTaskHealthMonitor.esm.js +129 -0
- package/dist/task/hash-task/hash/HashTaskHealthMonitor.esm.js.map +1 -0
- package/dist/task/hash-task/hash/HashTaskProgress.esm.js +58 -0
- package/dist/task/hash-task/hash/HashTaskProgress.esm.js.map +1 -0
- package/dist/task/hash-task/hash/HashTaskResources.esm.js +158 -0
- package/dist/task/hash-task/hash/HashTaskResources.esm.js.map +1 -0
- package/dist/task/hash-task/hash/HashTaskRunner.esm.js +234 -0
- package/dist/task/hash-task/hash/HashTaskRunner.esm.js.map +1 -0
- package/dist/task/hash-task/hash/HashTaskState.esm.js +203 -0
- package/dist/task/hash-task/hash/HashTaskState.esm.js.map +1 -0
- package/dist/task/hash-task/hash/index.esm.js +13 -0
- package/dist/task/hash-task/hash/index.esm.js.map +1 -0
- package/dist/task/hash-task/index.esm.js +13 -0
- package/dist/task/hash-task/index.esm.js.map +1 -0
- package/dist/task/hash-task/types/algorithm.esm.js +2 -0
- package/dist/task/hash-task/types/algorithm.esm.js.map +1 -0
- package/dist/task/hash-task/types/chunk.esm.js +2 -0
- package/dist/task/hash-task/types/chunk.esm.js.map +1 -0
- package/dist/task/hash-task/types/index.esm.js +5 -0
- package/dist/task/hash-task/types/index.esm.js.map +1 -0
- package/dist/task/hash-task/types/task.esm.js +2 -0
- package/dist/task/hash-task/types/task.esm.js.map +1 -0
- package/dist/task/hash-task/types/worker.esm.js +2 -0
- package/dist/task/hash-task/types/worker.esm.js.map +1 -0
- package/dist/task/hash-task/worker/BrowserWorkerHandle.esm.js +71 -0
- package/dist/task/hash-task/worker/BrowserWorkerHandle.esm.js.map +1 -0
- package/dist/task/hash-task/worker/BrowserWorkerPool.esm.js +24 -0
- package/dist/task/hash-task/worker/BrowserWorkerPool.esm.js.map +1 -0
- package/dist/task/hash-task/worker/DefaultWorkerHandle.esm.js +93 -0
- package/dist/task/hash-task/worker/DefaultWorkerHandle.esm.js.map +1 -0
- package/dist/task/hash-task/worker/DefaultWorkerPool.esm.js +96 -0
- package/dist/task/hash-task/worker/DefaultWorkerPool.esm.js.map +1 -0
- package/dist/task/hash-task/worker/HashWorker.esm.js +99 -0
- package/dist/task/hash-task/worker/HashWorker.esm.js.map +1 -0
- package/dist/task/hash-task/worker/HashWorkerProtocol.esm.js +2 -0
- package/dist/task/hash-task/worker/HashWorkerProtocol.esm.js.map +1 -0
- package/dist/task/hash-task/worker/WorkerHandle.esm.js +2 -0
- package/dist/task/hash-task/worker/WorkerHandle.esm.js.map +1 -0
- package/dist/task/hash-task/worker/WorkerPool.esm.js +2 -0
- package/dist/task/hash-task/worker/WorkerPool.esm.js.map +1 -0
- package/dist/task/hash-task/worker/WorkerScriptBuilder.esm.js +70 -0
- package/dist/task/hash-task/worker/WorkerScriptBuilder.esm.js.map +1 -0
- package/dist/task/hash-task/worker/index.esm.js +23 -0
- package/dist/task/hash-task/worker/index.esm.js.map +1 -0
- package/dist/task/package.json +5 -5
- package/dist/task/task/TaskQueue.esm.js +176 -0
- package/dist/task/task/TaskQueue.esm.js.map +1 -0
- package/dist/task/task/index.esm.js +8 -0
- package/dist/task/task/index.esm.js.map +1 -0
- package/dist/task/task/types.esm.js +2 -0
- package/dist/task/task/types.esm.js.map +1 -0
- package/dist/task/worker/SimpleWorkerManager.esm.js +57 -0
- package/dist/task/worker/SimpleWorkerManager.esm.js.map +1 -0
- package/dist/task/worker/WorkerManagerBase.esm.js +87 -0
- package/dist/task/worker/WorkerManagerBase.esm.js.map +1 -0
- package/dist/task/worker/index.esm.js +9 -0
- package/dist/task/worker/index.esm.js.map +1 -0
- package/dist/task/worker/types.esm.js +2 -0
- package/dist/task/worker/types.esm.js.map +1 -0
- package/dist/types/package.json +1 -1
- package/dist/utils/array/base/duplicates.esm.js +36 -0
- package/dist/utils/array/base/duplicates.esm.js.map +1 -0
- package/dist/utils/array/base/index.esm.js +3 -0
- package/dist/utils/array/base/index.esm.js.map +1 -0
- package/dist/utils/array/base/transform.esm.js +40 -0
- package/dist/utils/array/base/transform.esm.js.map +1 -0
- package/dist/utils/array/collection/chunk.esm.js +19 -0
- package/dist/utils/array/collection/chunk.esm.js.map +1 -0
- package/dist/utils/array/collection/flatten.esm.js +31 -0
- package/dist/utils/array/collection/flatten.esm.js.map +1 -0
- package/dist/utils/array/collection/groupBy.esm.js +34 -0
- package/dist/utils/array/collection/groupBy.esm.js.map +1 -0
- package/dist/utils/array/collection/index.esm.js +4 -0
- package/dist/utils/array/collection/index.esm.js.map +1 -0
- package/dist/utils/array/index.esm.js +7 -0
- package/dist/utils/array/index.esm.js.map +1 -0
- package/dist/utils/array/random/index.esm.js +3 -0
- package/dist/utils/array/random/index.esm.js.map +1 -0
- package/dist/utils/array/random/sample.esm.js +29 -0
- package/dist/utils/array/random/sample.esm.js.map +1 -0
- package/dist/utils/array/random/shuffle.esm.js +19 -0
- package/dist/utils/array/random/shuffle.esm.js.map +1 -0
- package/dist/utils/array/search/find.esm.js +26 -0
- package/dist/utils/array/search/find.esm.js.map +1 -0
- package/dist/utils/array/search/includes.esm.js +21 -0
- package/dist/utils/array/search/includes.esm.js.map +1 -0
- package/dist/utils/array/search/index.esm.js +3 -0
- package/dist/utils/array/search/index.esm.js.map +1 -0
- package/dist/utils/array/set/difference.esm.js +106 -0
- package/dist/utils/array/set/difference.esm.js.map +1 -0
- package/dist/utils/array/set/index.esm.js +4 -0
- package/dist/utils/array/set/index.esm.js.map +1 -0
- package/dist/utils/array/set/intersection.esm.js +31 -0
- package/dist/utils/array/set/intersection.esm.js.map +1 -0
- package/dist/utils/array/set/union.esm.js +35 -0
- package/dist/utils/array/set/union.esm.js.map +1 -0
- package/dist/utils/array/sort/index.esm.js +3 -0
- package/dist/utils/array/sort/index.esm.js.map +1 -0
- package/dist/utils/array/sort/sort.esm.js +84 -0
- package/dist/utils/array/sort/sort.esm.js.map +1 -0
- package/dist/utils/array/sort/tree.esm.js +67 -0
- package/dist/utils/array/sort/tree.esm.js.map +1 -0
- package/dist/utils/color/generateColorShades.esm.js +23 -0
- package/dist/utils/color/generateColorShades.esm.js.map +1 -0
- package/dist/utils/color/hexToHsl.esm.js +43 -0
- package/dist/utils/color/hexToHsl.esm.js.map +1 -0
- package/dist/utils/color/hexToRgb.esm.js +22 -0
- package/dist/utils/color/hexToRgb.esm.js.map +1 -0
- package/dist/utils/color/hslToHex.esm.js +23 -0
- package/dist/utils/color/hslToHex.esm.js.map +1 -0
- package/dist/utils/color/hslToRgb.esm.js +39 -0
- package/dist/utils/color/hslToRgb.esm.js.map +1 -0
- package/dist/utils/color/index.esm.js +8 -0
- package/dist/utils/color/index.esm.js.map +1 -0
- package/dist/utils/color/rgbToHex.esm.js +15 -0
- package/dist/utils/color/rgbToHex.esm.js.map +1 -0
- package/dist/utils/color/rgbToHsl.esm.js +62 -0
- package/dist/utils/color/rgbToHsl.esm.js.map +1 -0
- package/dist/utils/cookie/get.esm.js +11 -0
- package/dist/utils/cookie/get.esm.js.map +1 -0
- package/dist/utils/cookie/getAll.esm.js +19 -0
- package/dist/utils/cookie/getAll.esm.js.map +1 -0
- package/dist/utils/cookie/getBoolean.esm.js +17 -0
- package/dist/utils/cookie/getBoolean.esm.js.map +1 -0
- package/dist/utils/cookie/getNumber.esm.js +17 -0
- package/dist/utils/cookie/getNumber.esm.js.map +1 -0
- package/dist/utils/cookie/has.esm.js +13 -0
- package/dist/utils/cookie/has.esm.js.map +1 -0
- package/dist/utils/cookie/index.esm.js +9 -0
- package/dist/utils/cookie/index.esm.js.map +1 -0
- package/dist/utils/cookie/remove.esm.js +22 -0
- package/dist/utils/cookie/remove.esm.js.map +1 -0
- package/dist/utils/cookie/set.esm.js +54 -0
- package/dist/utils/cookie/set.esm.js.map +1 -0
- package/dist/utils/cookie/setJson.esm.js +17 -0
- package/dist/utils/cookie/setJson.esm.js.map +1 -0
- package/dist/utils/date/calculation/days.esm.js +70 -0
- package/dist/utils/date/calculation/days.esm.js.map +1 -0
- package/dist/utils/date/calculation/index.esm.js +9 -0
- package/dist/utils/date/calculation/index.esm.js.map +1 -0
- package/dist/utils/date/calculation/months.esm.js +42 -0
- package/dist/utils/date/calculation/months.esm.js.map +1 -0
- package/dist/utils/date/calculation/quarters.esm.js +10 -0
- package/dist/utils/date/calculation/quarters.esm.js.map +1 -0
- package/dist/utils/date/calculation/years.esm.js +52 -0
- package/dist/utils/date/calculation/years.esm.js.map +1 -0
- package/dist/utils/date/calendar.esm.js +95 -0
- package/dist/utils/date/calendar.esm.js.map +1 -0
- package/dist/utils/date/format.esm.js +171 -0
- package/dist/utils/date/format.esm.js.map +1 -0
- package/dist/utils/date/index.esm.js +9 -0
- package/dist/utils/date/index.esm.js.map +1 -0
- package/dist/utils/date/utils.esm.js +113 -0
- package/dist/utils/date/utils.esm.js.map +1 -0
- package/dist/utils/geometry/align.esm.js +95 -0
- package/dist/utils/geometry/align.esm.js.map +1 -0
- package/dist/utils/geometry/clamp.esm.js +26 -0
- package/dist/utils/geometry/clamp.esm.js.map +1 -0
- package/dist/utils/geometry/index.esm.js +9 -0
- package/dist/utils/geometry/index.esm.js.map +1 -0
- package/dist/utils/geometry/point.esm.js +50 -0
- package/dist/utils/geometry/point.esm.js.map +1 -0
- package/dist/utils/geometry/rect.esm.js +21 -0
- package/dist/utils/geometry/rect.esm.js.map +1 -0
- package/dist/utils/geometry/snap.esm.js +28 -0
- package/dist/utils/geometry/snap.esm.js.map +1 -0
- package/dist/utils/geometry/transform/apply.esm.js +36 -0
- package/dist/utils/geometry/transform/apply.esm.js.map +1 -0
- package/dist/utils/geometry/transform/index.esm.js +6 -0
- package/dist/utils/geometry/transform/index.esm.js.map +1 -0
- package/dist/utils/geometry/transform/matrix.esm.js +24 -0
- package/dist/utils/geometry/transform/matrix.esm.js.map +1 -0
- package/dist/utils/geometry/transform/rotate.esm.js +8 -0
- package/dist/utils/geometry/transform/rotate.esm.js.map +1 -0
- package/dist/utils/geometry/transform/scale.esm.js +6 -0
- package/dist/utils/geometry/transform/scale.esm.js.map +1 -0
- package/dist/utils/geometry/transform/translate.esm.js +4 -0
- package/dist/utils/geometry/transform/translate.esm.js.map +1 -0
- package/dist/utils/geometry/types.esm.js +2 -0
- package/dist/utils/geometry/types.esm.js.map +1 -0
- package/dist/utils/geometry/vector.esm.js +28 -0
- package/dist/utils/geometry/vector.esm.js.map +1 -0
- package/dist/utils/number/base.esm.js +25 -0
- package/dist/utils/number/base.esm.js.map +1 -0
- package/dist/utils/number/format.esm.js +87 -0
- package/dist/utils/number/format.esm.js.map +1 -0
- package/dist/utils/number/index.esm.js +3 -0
- package/dist/utils/number/index.esm.js.map +1 -0
- package/dist/utils/object/base.esm.js +18 -0
- package/dist/utils/object/base.esm.js.map +1 -0
- package/dist/utils/object/clone.esm.js +81 -0
- package/dist/utils/object/clone.esm.js.map +1 -0
- package/dist/utils/object/index.esm.js +5 -0
- package/dist/utils/object/index.esm.js.map +1 -0
- package/dist/utils/object/iterate.esm.js +31 -0
- package/dist/utils/object/iterate.esm.js.map +1 -0
- package/dist/utils/object/properties.esm.js +133 -0
- package/dist/utils/object/properties.esm.js.map +1 -0
- package/dist/utils/package.json +1 -1
- package/dist/utils/string/base.esm.js +61 -0
- package/dist/utils/string/base.esm.js.map +1 -0
- package/dist/utils/string/css.esm.js +35 -0
- package/dist/utils/string/css.esm.js.map +1 -0
- package/dist/utils/string/format.esm.js +94 -0
- package/dist/utils/string/format.esm.js.map +1 -0
- package/dist/utils/string/id.esm.js +40 -0
- package/dist/utils/string/id.esm.js.map +1 -0
- package/dist/utils/string/index.esm.js +12 -0
- package/dist/utils/string/index.esm.js.map +1 -0
- package/dist/utils/string/plural.esm.js +68 -0
- package/dist/utils/string/plural.esm.js.map +1 -0
- package/dist/utils/time/after.esm.js +35 -0
- package/dist/utils/time/after.esm.js.map +1 -0
- package/dist/utils/time/delay.esm.js +12 -0
- package/dist/utils/time/delay.esm.js.map +1 -0
- package/dist/utils/time/index.esm.js +9 -0
- package/dist/utils/time/index.esm.js.map +1 -0
- package/dist/utils/time/repeat.esm.js +34 -0
- package/dist/utils/time/repeat.esm.js.map +1 -0
- package/dist/utils/time/types.esm.js +2 -0
- package/dist/utils/time/types.esm.js.map +1 -0
- package/dist/utils/units/angle.esm.js +17 -0
- package/dist/utils/units/angle.esm.js.map +1 -0
- package/dist/utils/units/format.esm.js +41 -0
- package/dist/utils/units/format.esm.js.map +1 -0
- package/dist/utils/units/index.esm.js +9 -0
- package/dist/utils/units/index.esm.js.map +1 -0
- package/dist/utils/units/length.esm.js +54 -0
- package/dist/utils/units/length.esm.js.map +1 -0
- package/dist/utils/units/parse.esm.js +16 -0
- package/dist/utils/units/parse.esm.js.map +1 -0
- package/dist/utils/units/percent.esm.js +19 -0
- package/dist/utils/units/percent.esm.js.map +1 -0
- package/dist/utils/units/resolve.esm.js +49 -0
- package/dist/utils/units/resolve.esm.js.map +1 -0
- package/dist/utils/units/time.esm.js +17 -0
- package/dist/utils/units/time.esm.js.map +1 -0
- package/dist/utils/units/types.esm.js +2 -0
- package/dist/utils/units/types.esm.js.map +1 -0
- package/dist/validation/core/ValidatorRegistrar.esm.js +78 -0
- package/dist/validation/core/ValidatorRegistrar.esm.js.map +1 -0
- package/dist/validation/core/executor.esm.js +87 -0
- package/dist/validation/core/executor.esm.js.map +1 -0
- package/dist/validation/core/index.esm.js +4 -0
- package/dist/validation/core/index.esm.js.map +1 -0
- package/dist/validation/core/validate.esm.js +61 -0
- package/dist/validation/core/validate.esm.js.map +1 -0
- package/dist/validation/engine/index.esm.js +2 -0
- package/dist/validation/engine/index.esm.js.map +1 -0
- package/dist/validation/engine/validate.esm.js +48 -0
- package/dist/validation/engine/validate.esm.js.map +1 -0
- package/dist/validation/errors/DuplicateValidatorError.esm.js +30 -0
- package/dist/validation/errors/DuplicateValidatorError.esm.js.map +1 -0
- package/dist/validation/errors/ValidationError.esm.js +64 -0
- package/dist/validation/errors/ValidationError.esm.js.map +1 -0
- package/dist/validation/errors/ValidationTypeNotDefinedError.esm.js +26 -0
- package/dist/validation/errors/ValidationTypeNotDefinedError.esm.js.map +1 -0
- package/dist/validation/errors/ValidatorNotFoundError.esm.js +31 -0
- package/dist/validation/errors/ValidatorNotFoundError.esm.js.map +1 -0
- package/dist/validation/errors/builder.esm.js +306 -0
- package/dist/validation/errors/builder.esm.js.map +1 -0
- package/dist/validation/errors/codes.esm.js +28 -0
- package/dist/validation/errors/codes.esm.js.map +1 -0
- package/dist/validation/errors/index.esm.js +7 -0
- package/dist/validation/errors/index.esm.js.map +1 -0
- package/dist/validation/package.json +4 -4
- package/dist/validation/processors/array/children.esm.js +36 -0
- package/dist/validation/processors/array/children.esm.js.map +1 -0
- package/dist/validation/processors/array/entries.esm.js +58 -0
- package/dist/validation/processors/array/entries.esm.js.map +1 -0
- package/dist/validation/processors/array/excludes.esm.js +36 -0
- package/dist/validation/processors/array/excludes.esm.js.map +1 -0
- package/dist/validation/processors/array/includes.esm.js +36 -0
- package/dist/validation/processors/array/includes.esm.js.map +1 -0
- package/dist/validation/processors/array/index.esm.js +2 -0
- package/dist/validation/processors/array/index.esm.js.map +1 -0
- package/dist/validation/processors/array/length.esm.js +23 -0
- package/dist/validation/processors/array/length.esm.js.map +1 -0
- package/dist/validation/processors/array/type.esm.js +11 -0
- package/dist/validation/processors/array/type.esm.js.map +1 -0
- package/dist/validation/processors/array/unique.esm.js +22 -0
- package/dist/validation/processors/array/unique.esm.js.map +1 -0
- package/dist/validation/processors/array/uniqueBy.esm.js +42 -0
- package/dist/validation/processors/array/uniqueBy.esm.js.map +1 -0
- package/dist/validation/processors/boolean/entries.esm.js +10 -0
- package/dist/validation/processors/boolean/entries.esm.js.map +1 -0
- package/dist/validation/processors/boolean/index.esm.js +2 -0
- package/dist/validation/processors/boolean/index.esm.js.map +1 -0
- package/dist/validation/processors/boolean/type.esm.js +12 -0
- package/dist/validation/processors/boolean/type.esm.js.map +1 -0
- package/dist/validation/processors/common/context.esm.js +22 -0
- package/dist/validation/processors/common/context.esm.js.map +1 -0
- package/dist/validation/processors/common/entries.esm.js +42 -0
- package/dist/validation/processors/common/entries.esm.js.map +1 -0
- package/dist/validation/processors/common/index.esm.js +2 -0
- package/dist/validation/processors/common/index.esm.js.map +1 -0
- package/dist/validation/processors/common/presence.esm.js +26 -0
- package/dist/validation/processors/common/presence.esm.js.map +1 -0
- package/dist/validation/processors/common/rule-align.esm.js +28 -0
- package/dist/validation/processors/common/rule-align.esm.js.map +1 -0
- package/dist/validation/processors/common/transform.esm.js +20 -0
- package/dist/validation/processors/common/transform.esm.js.map +1 -0
- package/dist/validation/processors/common/trim.esm.js +19 -0
- package/dist/validation/processors/common/trim.esm.js.map +1 -0
- package/dist/validation/processors/compare/compare.esm.js +34 -0
- package/dist/validation/processors/compare/compare.esm.js.map +1 -0
- package/dist/validation/processors/compare/entries.esm.js +10 -0
- package/dist/validation/processors/compare/entries.esm.js.map +1 -0
- package/dist/validation/processors/compare/index.esm.js +2 -0
- package/dist/validation/processors/compare/index.esm.js.map +1 -0
- package/dist/validation/processors/date/entries.esm.js +42 -0
- package/dist/validation/processors/date/entries.esm.js.map +1 -0
- package/dist/validation/processors/date/excludes.esm.js +20 -0
- package/dist/validation/processors/date/excludes.esm.js.map +1 -0
- package/dist/validation/processors/date/includes.esm.js +20 -0
- package/dist/validation/processors/date/includes.esm.js.map +1 -0
- package/dist/validation/processors/date/index.esm.js +2 -0
- package/dist/validation/processors/date/index.esm.js.map +1 -0
- package/dist/validation/processors/date/is.esm.js +63 -0
- package/dist/validation/processors/date/is.esm.js.map +1 -0
- package/dist/validation/processors/date/type.esm.js +14 -0
- package/dist/validation/processors/date/type.esm.js.map +1 -0
- package/dist/validation/processors/date/weekend.esm.js +22 -0
- package/dist/validation/processors/date/weekend.esm.js.map +1 -0
- package/dist/validation/processors/file/entries.esm.js +10 -0
- package/dist/validation/processors/file/entries.esm.js.map +1 -0
- package/dist/validation/processors/file/file.esm.js +69 -0
- package/dist/validation/processors/file/file.esm.js.map +1 -0
- package/dist/validation/processors/file/index.esm.js +2 -0
- package/dist/validation/processors/file/index.esm.js.map +1 -0
- package/dist/validation/processors/format/entries.esm.js +11 -0
- package/dist/validation/processors/format/entries.esm.js.map +1 -0
- package/dist/validation/processors/format/format.esm.js +30 -0
- package/dist/validation/processors/format/format.esm.js.map +1 -0
- package/dist/validation/processors/format/index.esm.js +2 -0
- package/dist/validation/processors/format/index.esm.js.map +1 -0
- package/dist/validation/processors/index.esm.js +12 -0
- package/dist/validation/processors/index.esm.js.map +1 -0
- package/dist/validation/processors/number/entries.esm.js +47 -0
- package/dist/validation/processors/number/entries.esm.js.map +1 -0
- package/dist/validation/processors/number/excludes.esm.js +18 -0
- package/dist/validation/processors/number/excludes.esm.js.map +1 -0
- package/dist/validation/processors/number/includes.esm.js +18 -0
- package/dist/validation/processors/number/includes.esm.js.map +1 -0
- package/dist/validation/processors/number/index.esm.js +2 -0
- package/dist/validation/processors/number/index.esm.js.map +1 -0
- package/dist/validation/processors/number/is.esm.js +29 -0
- package/dist/validation/processors/number/is.esm.js.map +1 -0
- package/dist/validation/processors/number/range.esm.js +14 -0
- package/dist/validation/processors/number/range.esm.js.map +1 -0
- package/dist/validation/processors/number/type.esm.js +21 -0
- package/dist/validation/processors/number/type.esm.js.map +1 -0
- package/dist/validation/processors/object/entries.esm.js +29 -0
- package/dist/validation/processors/object/entries.esm.js.map +1 -0
- package/dist/validation/processors/object/index.esm.js +2 -0
- package/dist/validation/processors/object/index.esm.js.map +1 -0
- package/dist/validation/processors/object/properties.esm.js +40 -0
- package/dist/validation/processors/object/properties.esm.js.map +1 -0
- package/dist/validation/processors/object/required-fields.esm.js +27 -0
- package/dist/validation/processors/object/required-fields.esm.js.map +1 -0
- package/dist/validation/processors/object/type.esm.js +15 -0
- package/dist/validation/processors/object/type.esm.js.map +1 -0
- package/dist/validation/processors/password/entries.d.ts +2 -2
- package/dist/validation/processors/password/entries.esm.js +10 -0
- package/dist/validation/processors/password/entries.esm.js.map +1 -0
- package/dist/validation/processors/password/entries.js +1 -1
- package/dist/validation/processors/password/index.esm.js +2 -0
- package/dist/validation/processors/password/index.esm.js.map +1 -0
- package/dist/validation/processors/password/password.esm.js +21 -0
- package/dist/validation/processors/password/password.esm.js.map +1 -0
- package/dist/validation/processors/split/entries.esm.js +11 -0
- package/dist/validation/processors/split/entries.esm.js.map +1 -0
- package/dist/validation/processors/split/index.esm.js +2 -0
- package/dist/validation/processors/split/index.esm.js.map +1 -0
- package/dist/validation/processors/split/split.esm.js +40 -0
- package/dist/validation/processors/split/split.esm.js.map +1 -0
- package/dist/validation/processors/string/entries.esm.js +38 -0
- package/dist/validation/processors/string/entries.esm.js.map +1 -0
- package/dist/validation/processors/string/excludes.esm.js +18 -0
- package/dist/validation/processors/string/excludes.esm.js.map +1 -0
- package/dist/validation/processors/string/includes.esm.js +18 -0
- package/dist/validation/processors/string/includes.esm.js.map +1 -0
- package/dist/validation/processors/string/index.esm.js +2 -0
- package/dist/validation/processors/string/index.esm.js.map +1 -0
- package/dist/validation/processors/string/length.esm.js +18 -0
- package/dist/validation/processors/string/length.esm.js.map +1 -0
- package/dist/validation/processors/string/type.esm.js +12 -0
- package/dist/validation/processors/string/type.esm.js.map +1 -0
- package/dist/validation/types/base.esm.js +29 -0
- package/dist/validation/types/base.esm.js.map +1 -0
- package/dist/validation/types/context.esm.js +2 -0
- package/dist/validation/types/context.esm.js.map +1 -0
- package/dist/validation/types/index.esm.js +13 -0
- package/dist/validation/types/index.esm.js.map +1 -0
- package/dist/validation/types/processor.esm.js +23 -0
- package/dist/validation/types/processor.esm.js.map +1 -0
- package/dist/validation/types/validate.esm.js +2 -0
- package/dist/validation/types/validate.esm.js.map +1 -0
- package/dist/validation/utils/compare.esm.js +144 -0
- package/dist/validation/utils/compare.esm.js.map +1 -0
- package/dist/validation/utils/index.esm.js +3 -0
- package/dist/validation/utils/index.esm.js.map +1 -0
- package/dist/validation/utils/pattern.esm.js +15 -0
- package/dist/validation/utils/pattern.esm.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/string/index.ts"],"names":[],"mappings":"AAAA,YAAY;AAEZ,UAAU;AACV,cAAc,QAAQ,CAAC;AAEvB,WAAW;AACX,cAAc,UAAU,CAAC;AAEzB,UAAU;AACV,cAAc,OAAO,CAAC;AAEtB,aAAa;AACb,cAAc,MAAM,CAAC;AAErB,SAAS;AACT,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
const DEFAULT_IRREGULAR = {
|
|
2
|
+
child: 'children',
|
|
3
|
+
man: 'men',
|
|
4
|
+
woman: 'women',
|
|
5
|
+
tooth: 'teeth',
|
|
6
|
+
foot: 'feet',
|
|
7
|
+
goose: 'geese',
|
|
8
|
+
mouse: 'mice',
|
|
9
|
+
person: 'people',
|
|
10
|
+
};
|
|
11
|
+
const DEFAULT_RULES = [
|
|
12
|
+
// 处理以 'fe' 结尾的词 (如: knife -> knives)
|
|
13
|
+
{
|
|
14
|
+
test: w => w.endsWith('fe'),
|
|
15
|
+
apply: w => w.slice(0, -2) + 'ves',
|
|
16
|
+
},
|
|
17
|
+
// 处理以 'f' 结尾的词 (如: leaf -> leaves)
|
|
18
|
+
{
|
|
19
|
+
test: w => w.endsWith('f'),
|
|
20
|
+
apply: w => w.slice(0, -1) + 'ves',
|
|
21
|
+
},
|
|
22
|
+
// 处理以 'y' 结尾且前面是辅音的词 (如: city -> cities)
|
|
23
|
+
{
|
|
24
|
+
test: w => /[^aeiou]y$/i.test(w),
|
|
25
|
+
apply: w => w.slice(0, -1) + 'ies',
|
|
26
|
+
},
|
|
27
|
+
// 处理以 'sh', 'ch', 'x' 结尾的词 (如: box -> boxes)
|
|
28
|
+
{
|
|
29
|
+
test: w => /(sh|ch|x)$/i.test(w),
|
|
30
|
+
apply: w => w + 'es',
|
|
31
|
+
},
|
|
32
|
+
// 处理以 'z' 结尾的词 (如: quiz -> quizzes)
|
|
33
|
+
{
|
|
34
|
+
test: w => w.endsWith('z'),
|
|
35
|
+
apply: w => w + 'zes',
|
|
36
|
+
},
|
|
37
|
+
// 处理以 's' 结尾的词 (如: cats -> cats)
|
|
38
|
+
{
|
|
39
|
+
test: w => w.endsWith('s'),
|
|
40
|
+
apply: w => w,
|
|
41
|
+
},
|
|
42
|
+
// 处理其他以辅音字母结尾的词 (如: cat -> cats)
|
|
43
|
+
{
|
|
44
|
+
test: w => !/[aeiou]$/i.test(w),
|
|
45
|
+
apply: w => w + 's',
|
|
46
|
+
},
|
|
47
|
+
];
|
|
48
|
+
export function pluralize(word, options) {
|
|
49
|
+
var _a, _b;
|
|
50
|
+
const irregular = (_a = options === null || options === void 0 ? void 0 : options.irregular) !== null && _a !== void 0 ? _a : DEFAULT_IRREGULAR;
|
|
51
|
+
const rules = (_b = options === null || options === void 0 ? void 0 : options.rules) !== null && _b !== void 0 ? _b : DEFAULT_RULES;
|
|
52
|
+
if (irregular[word])
|
|
53
|
+
return irregular[word];
|
|
54
|
+
for (const rule of rules) {
|
|
55
|
+
if (rule.test(word)) {
|
|
56
|
+
return rule.apply(word);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
// 默认添加 s
|
|
60
|
+
return word + 's';
|
|
61
|
+
}
|
|
62
|
+
export function plural(count, singular, pluralForm) {
|
|
63
|
+
return count === 1 ? singular : pluralForm;
|
|
64
|
+
}
|
|
65
|
+
export function pluralWithCount(count, singular, pluralForm) {
|
|
66
|
+
return `${count} ${plural(count, singular, pluralForm)}`;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=plural.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plural.js","sourceRoot":"","sources":["../../../../src/utils/string/plural.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 在指定延迟时间后执行回调函数,返回一个可取消的对象
|
|
3
|
+
*
|
|
4
|
+
* @param delay - 延迟执行的时间(毫秒)
|
|
5
|
+
* @param callback - 延迟时间结束后要执行的回调函数
|
|
6
|
+
* @returns 一个包含cancel和isActive方法的Cancelable对象
|
|
7
|
+
*/
|
|
8
|
+
export function after(delay, callback) {
|
|
9
|
+
let active = true;
|
|
10
|
+
const id = setTimeout(() => {
|
|
11
|
+
if (!active)
|
|
12
|
+
return;
|
|
13
|
+
callback();
|
|
14
|
+
active = false;
|
|
15
|
+
}, Math.max(0, delay));
|
|
16
|
+
return {
|
|
17
|
+
/**
|
|
18
|
+
* 取消函数执行
|
|
19
|
+
*/
|
|
20
|
+
cancel() {
|
|
21
|
+
if (!active)
|
|
22
|
+
return;
|
|
23
|
+
active = false;
|
|
24
|
+
clearTimeout(id);
|
|
25
|
+
},
|
|
26
|
+
/**
|
|
27
|
+
* 检查函数是否仍处于活跃状态(未执行且未被取消)
|
|
28
|
+
* @returns 如果函数仍在等待执行则返回true,否则返回false
|
|
29
|
+
*/
|
|
30
|
+
isActive() {
|
|
31
|
+
return active;
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=after.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"after.js","sourceRoot":"","sources":["../../../../src/utils/time/after.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,UAAU,KAAK,CAAC,KAAa,EAAE,QAAoB;IACrD,IAAI,MAAM,GAAG,IAAI,CAAC;IAElB,MAAM,EAAE,GAAG,UAAU,CACjB,GAAG,EAAE;QACD,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,QAAQ,EAAE,CAAC;QACX,MAAM,GAAG,KAAK,CAAC;IACnB,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CACrB,CAAC;IAEF,OAAO;QACH;;WAEG;QACH,MAAM;YACF,IAAI,CAAC,MAAM;gBAAE,OAAO;YACpB,MAAM,GAAG,KAAK,CAAC;YACf,YAAY,CAAC,EAAE,CAAC,CAAC;QACrB,CAAC;QAED;;;WAGG;QACH,QAAQ;YACJ,OAAO,MAAM,CAAC;QAClB,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 返回一个Promise,在指定的毫秒数后解析
|
|
3
|
+
*
|
|
4
|
+
* @param ms - 延迟的毫秒数
|
|
5
|
+
* @returns Promise<void> 在指定时间后解析的Promise
|
|
6
|
+
*/
|
|
7
|
+
export function delay(ms) {
|
|
8
|
+
return new Promise(resolve => {
|
|
9
|
+
setTimeout(resolve, Math.max(0, ms));
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=delay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delay.js","sourceRoot":"","sources":["../../../../src/utils/time/delay.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,UAAU,KAAK,CAAC,EAAU;IAC5B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QACzB,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/time/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 重复执行指定函数指定次数,每次间隔指定时间
|
|
3
|
+
*
|
|
4
|
+
* @param times - 重复执行的次数
|
|
5
|
+
* @param interval - 每次执行之间的时间间隔(毫秒)
|
|
6
|
+
* @param fn - 需要重复执行的函数
|
|
7
|
+
* @returns 一个包含cancel方法的对象,用于取消重复执行
|
|
8
|
+
*/
|
|
9
|
+
export function repeat(times, interval, fn) {
|
|
10
|
+
let count = 0;
|
|
11
|
+
let active = true;
|
|
12
|
+
const id = setInterval(() => {
|
|
13
|
+
if (!active)
|
|
14
|
+
return;
|
|
15
|
+
fn();
|
|
16
|
+
count++;
|
|
17
|
+
if (count >= times) {
|
|
18
|
+
clearInterval(id);
|
|
19
|
+
active = false;
|
|
20
|
+
}
|
|
21
|
+
}, interval);
|
|
22
|
+
return {
|
|
23
|
+
/**
|
|
24
|
+
* 取消重复执行
|
|
25
|
+
*/
|
|
26
|
+
cancel() {
|
|
27
|
+
if (!active)
|
|
28
|
+
return;
|
|
29
|
+
active = false;
|
|
30
|
+
clearInterval(id);
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=repeat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repeat.js","sourceRoot":"","sources":["../../../../src/utils/time/repeat.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,UAAU,MAAM,CAAC,KAAa,EAAE,QAAgB,EAAE,EAAc;IAClE,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,MAAM,GAAG,IAAI,CAAC;IAElB,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE;QACxB,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,EAAE,EAAE,CAAC;QACL,KAAK,EAAE,CAAC;QACR,IAAI,KAAK,IAAI,KAAK,EAAE,CAAC;YACjB,aAAa,CAAC,EAAE,CAAC,CAAC;YAClB,MAAM,GAAG,KAAK,CAAC;QACnB,CAAC;IACL,CAAC,EAAE,QAAQ,CAAC,CAAC;IAEb,OAAO;QACH;;WAEG;QACH,MAAM;YACF,IAAI,CAAC,MAAM;gBAAE,OAAO;YACpB,MAAM,GAAG,KAAK,CAAC;YACf,aAAa,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC;KACJ,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/utils/time/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 将角度值转换为弧度值
|
|
3
|
+
* @param deg 角度值
|
|
4
|
+
* @returns 对应的弧度值
|
|
5
|
+
*/
|
|
6
|
+
export function degToRad(deg) {
|
|
7
|
+
return (deg * Math.PI) / 180;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* 将弧度值转换为角度值
|
|
11
|
+
* @param rad 弧度值
|
|
12
|
+
* @returns 对应的角度值
|
|
13
|
+
*/
|
|
14
|
+
export function radToDeg(rad) {
|
|
15
|
+
return (rad * 180) / Math.PI;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=angle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"angle.js","sourceRoot":"","sources":["../../../../src/utils/units/angle.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAW;IAChC,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;AACjC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAW;IAChC,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AACjC,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 将数值根据指定单位格式化为字符串
|
|
3
|
+
* @param value 要格式化的数值
|
|
4
|
+
* @param unit 单位(px/rem/em)
|
|
5
|
+
* @param ctx 上下文对象,包含根字体大小和字体大小
|
|
6
|
+
* @returns 格式化后的带单位字符串
|
|
7
|
+
*/
|
|
8
|
+
export function formatPx(value, unit, ctx) {
|
|
9
|
+
switch (unit) {
|
|
10
|
+
case 'px':
|
|
11
|
+
return `${value}px`;
|
|
12
|
+
case 'rem':
|
|
13
|
+
if (!ctx.rootFontSize) {
|
|
14
|
+
throw new Error('rootFontSize required for rem');
|
|
15
|
+
}
|
|
16
|
+
return `${value / ctx.rootFontSize}rem`;
|
|
17
|
+
case 'em':
|
|
18
|
+
if (!ctx.fontSize) {
|
|
19
|
+
throw new Error('fontSize required for em');
|
|
20
|
+
}
|
|
21
|
+
return `${value / ctx.fontSize}em`;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* 将数字转换为百分比格式
|
|
26
|
+
* @param value 要转换的数字
|
|
27
|
+
* @returns 百分比格式的字符串
|
|
28
|
+
*/
|
|
29
|
+
export function percent(value) {
|
|
30
|
+
return `${value * 100}%`;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* 将值保留到指定精度的小数位数
|
|
34
|
+
* @param value 要处理的值
|
|
35
|
+
* @param precision 保留的小数位数
|
|
36
|
+
* @returns 保留指定精度后的字符串
|
|
37
|
+
*/
|
|
38
|
+
export function toFixed(value, precision) {
|
|
39
|
+
return value.toFixed(precision);
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=format.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../../../src/utils/units/format.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CACpB,KAAa,EACb,IAAyB,EACzB,GAAiD;IAEjD,QAAQ,IAAI,EAAE,CAAC;QACX,KAAK,IAAI;YACL,OAAO,GAAG,KAAK,IAAI,CAAC;QACxB,KAAK,KAAK;YACN,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACrD,CAAC;YACD,OAAO,GAAG,KAAK,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC;QAC5C,KAAK,IAAI;YACL,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAChD,CAAC;YACD,OAAO,GAAG,KAAK,GAAG,GAAG,CAAC,QAAQ,IAAI,CAAC;IAC3C,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,KAAa;IACjC,OAAO,GAAG,KAAK,GAAG,GAAG,GAAG,CAAC;AAC7B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CAAC,KAAa,EAAE,SAAiB;IACpD,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACpC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/units/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 将像素值转换为rem值
|
|
3
|
+
* @param px 像素值
|
|
4
|
+
* @param root 根字体大小
|
|
5
|
+
* @returns 对应的rem值
|
|
6
|
+
*/
|
|
7
|
+
export function pxToRem(px, root) {
|
|
8
|
+
return px / root;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* 将rem值转换为像素值
|
|
12
|
+
* @param rem rem值
|
|
13
|
+
* @param root 根字体大小
|
|
14
|
+
* @returns 对应的像素值
|
|
15
|
+
*/
|
|
16
|
+
export function remToPx(rem, root) {
|
|
17
|
+
return rem * root;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* 将像素值转换为视窗宽度单位值
|
|
21
|
+
* @param px 像素值
|
|
22
|
+
* @param vw 视窗宽度
|
|
23
|
+
* @returns 对应的vw值
|
|
24
|
+
*/
|
|
25
|
+
export function pxToVw(px, vw) {
|
|
26
|
+
return (px / vw) * 100;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* 将长度值转换为像素值
|
|
30
|
+
* @param length 长度值对象,包含值和单位
|
|
31
|
+
* @param ctx 长度转换上下文,包含各种参考尺寸
|
|
32
|
+
* @returns 转换后的像素值
|
|
33
|
+
*/
|
|
34
|
+
export function toPx(length, ctx) {
|
|
35
|
+
const { value, unit } = length;
|
|
36
|
+
switch (unit) {
|
|
37
|
+
case 'px':
|
|
38
|
+
return value;
|
|
39
|
+
case 'rem':
|
|
40
|
+
return value * ctx.rootFontSize;
|
|
41
|
+
case 'em':
|
|
42
|
+
return value * ctx.fontSize;
|
|
43
|
+
case 'vw':
|
|
44
|
+
return (value / 100) * ctx.viewportWidth;
|
|
45
|
+
case 'vh':
|
|
46
|
+
return (value / 100) * ctx.viewportHeight;
|
|
47
|
+
case '%':
|
|
48
|
+
if (ctx.percentBase == null) {
|
|
49
|
+
throw new Error('percentBase is required for % unit');
|
|
50
|
+
}
|
|
51
|
+
return (value / 100) * ctx.percentBase;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=length.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"length.js","sourceRoot":"","sources":["../../../../src/utils/units/length.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CAAC,EAAU,EAAE,IAAY;IAC5C,OAAO,EAAE,GAAG,IAAI,CAAC;AACrB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CAAC,GAAW,EAAE,IAAY;IAC7C,OAAO,GAAG,GAAG,IAAI,CAAC;AACtB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAAC,EAAU,EAAE,EAAU;IACzC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC;AAC3B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,IAAI,CAAC,MAAmB,EAAE,GAAkB;IACxD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAE/B,QAAQ,IAAI,EAAE,CAAC;QACX,KAAK,IAAI;YACL,OAAO,KAAK,CAAC;QACjB,KAAK,KAAK;YACN,OAAO,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC;QACpC,KAAK,IAAI;YACL,OAAO,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC;QAChC,KAAK,IAAI;YACL,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,aAAa,CAAC;QAC7C,KAAK,IAAI;YACL,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,cAAc,CAAC;QAC9C,KAAK,GAAG;YACJ,IAAI,GAAG,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;YAC1D,CAAC;YACD,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC;IAC/C,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
const LENGTH_RE = /^(-?\d+(?:\.\d+)?)(px|em|rem|%|vw|vh)$/;
|
|
2
|
+
/**
|
|
3
|
+
* 解析长度字符串,提取数值和单位
|
|
4
|
+
* @param input 长度字符串,如 "16px", "2rem"
|
|
5
|
+
* @returns 解析后的长度值对象,如果解析失败则返回null
|
|
6
|
+
*/
|
|
7
|
+
export function parseLength(input) {
|
|
8
|
+
const match = input.trim().match(LENGTH_RE);
|
|
9
|
+
if (!match)
|
|
10
|
+
return null;
|
|
11
|
+
return {
|
|
12
|
+
value: parseFloat(match[1]),
|
|
13
|
+
unit: match[2],
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=parse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../../src/utils/units/parse.ts"],"names":[],"mappings":"AAOA,MAAM,SAAS,GAAG,wCAAwC,CAAC;AAE3D;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa;IACrC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC5C,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,OAAO;QACH,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,EAAE,KAAK,CAAC,CAAC,CAAe;KAC/B,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 计算数值在基数中的百分比值
|
|
3
|
+
* @param value 百分比值(如0.5表示50%)
|
|
4
|
+
* @param base 基数值
|
|
5
|
+
* @returns 百分比对应的数值
|
|
6
|
+
*/
|
|
7
|
+
export function unitsPercent(value, base) {
|
|
8
|
+
return base * value;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* 计算两个数值之间的比率
|
|
12
|
+
* @param value 数值
|
|
13
|
+
* @param base 基数值
|
|
14
|
+
* @returns value与base的比率
|
|
15
|
+
*/
|
|
16
|
+
export function unitsRatio(value, base) {
|
|
17
|
+
return value / base;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=percent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"percent.js","sourceRoot":"","sources":["../../../../src/utils/units/percent.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa,EAAE,IAAY;IACpD,OAAO,IAAI,GAAG,KAAK,CAAC;AACxB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa,EAAE,IAAY;IAClD,OAAO,KAAK,GAAG,IAAI,CAAC;AACxB,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { parseLength } from './parse';
|
|
2
|
+
import { toPx } from './length';
|
|
3
|
+
/**
|
|
4
|
+
* 将长度值(字符串或数字)解析并转换为像素值
|
|
5
|
+
* @param input 长度值,可以是数字或带单位的字符串(如 '16px', '2rem')
|
|
6
|
+
* @param element 用于获取字体大小的DOM元素(可选,默认使用document.documentElement)
|
|
7
|
+
* @returns 转换后的像素值
|
|
8
|
+
*/
|
|
9
|
+
export function resolveLengthToPx(input, element) {
|
|
10
|
+
if (typeof input === 'number') {
|
|
11
|
+
return input;
|
|
12
|
+
}
|
|
13
|
+
const parsed = parseLength(input);
|
|
14
|
+
if (!parsed) {
|
|
15
|
+
throw new Error(`Invalid length: ${input}`);
|
|
16
|
+
}
|
|
17
|
+
const rootFontSize = parseFloat(getComputedStyle(document.documentElement).fontSize);
|
|
18
|
+
const fontSize = element ? parseFloat(getComputedStyle(element).fontSize) : rootFontSize;
|
|
19
|
+
const ctx = {
|
|
20
|
+
rootFontSize,
|
|
21
|
+
fontSize,
|
|
22
|
+
viewportWidth: window.innerWidth,
|
|
23
|
+
viewportHeight: window.innerHeight,
|
|
24
|
+
};
|
|
25
|
+
try {
|
|
26
|
+
// Try to convert using our standard conversion logic
|
|
27
|
+
return toPx(parsed, ctx);
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
// If standard conversion fails (e.g., for units not supported by toPx),
|
|
31
|
+
// fallback to browser-based resolution
|
|
32
|
+
return resolveByBrowser(input, element || document.body);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* 使用浏览器原生解析能力将长度字符串转换为像素值
|
|
37
|
+
* @param value 长度字符串
|
|
38
|
+
* @param el DOM元素,用于创建临时元素进行解析
|
|
39
|
+
* @returns 解析后的像素值
|
|
40
|
+
*/
|
|
41
|
+
function resolveByBrowser(value, el) {
|
|
42
|
+
const div = document.createElement('div');
|
|
43
|
+
div.style.width = value;
|
|
44
|
+
el.appendChild(div);
|
|
45
|
+
const px = div.getBoundingClientRect().width;
|
|
46
|
+
el.removeChild(div);
|
|
47
|
+
return px;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=resolve.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../../src/utils/units/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAsB,EAAE,OAAqB;IAC3E,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,mBAAmB,KAAK,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,MAAM,YAAY,GAAG,UAAU,CAAC,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC;IAErF,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;IAEzF,MAAM,GAAG,GAAG;QACR,YAAY;QACZ,QAAQ;QACR,aAAa,EAAE,MAAM,CAAC,UAAU;QAChC,cAAc,EAAE,MAAM,CAAC,WAAW;KACrC,CAAC;IAEF,IAAI,CAAC;QACD,qDAAqD;QACrD,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,wEAAwE;QACxE,uCAAuC;QACvC,OAAO,gBAAgB,CAAC,KAAK,EAAE,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,KAAa,EAAE,EAAe;IACpD,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1C,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IACxB,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACpB,MAAM,EAAE,GAAG,GAAG,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;IAC7C,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACpB,OAAO,EAAE,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 将毫秒转换为秒
|
|
3
|
+
* @param ms 毫秒值
|
|
4
|
+
* @returns 对应的秒值
|
|
5
|
+
*/
|
|
6
|
+
export function msToSec(ms) {
|
|
7
|
+
return ms / 1000;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* 将秒转换为毫秒
|
|
11
|
+
* @param sec 秒值
|
|
12
|
+
* @returns 对应的毫秒值
|
|
13
|
+
*/
|
|
14
|
+
export function secToMs(sec) {
|
|
15
|
+
return sec * 1000;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=time.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"time.js","sourceRoot":"","sources":["../../../../src/utils/units/time.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,EAAU;IAC9B,OAAO,EAAE,GAAG,IAAI,CAAC;AACrB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,GAAW;IAC/B,OAAO,GAAG,GAAG,IAAI,CAAC;AACtB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/utils/units/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { RegistrarBase } from '../../registry/index.esm.js';
|
|
2
|
+
import { ValidatorRegistrarName } from '../types/validate';
|
|
3
|
+
export class ValidatorRegistrar extends RegistrarBase {
|
|
4
|
+
constructor() {
|
|
5
|
+
super(...arguments);
|
|
6
|
+
// 实现基类要求的 name 属性
|
|
7
|
+
this.name = ValidatorRegistrarName;
|
|
8
|
+
// 存储验证处理器
|
|
9
|
+
this.storage = [];
|
|
10
|
+
}
|
|
11
|
+
/** 编码期注入:Presets 使用此方法 */
|
|
12
|
+
register(entry) {
|
|
13
|
+
this.checkLock();
|
|
14
|
+
this.storage.push(entry);
|
|
15
|
+
// 数据变更,必须清空缓存
|
|
16
|
+
ValidatorRegistrar.chainCache.clear();
|
|
17
|
+
}
|
|
18
|
+
unregister(processorName) {
|
|
19
|
+
this.checkLock();
|
|
20
|
+
this.storage = this.storage.filter(p => p.name !== processorName);
|
|
21
|
+
ValidatorRegistrar.chainCache.clear();
|
|
22
|
+
}
|
|
23
|
+
/** * 获取排序后的流水线
|
|
24
|
+
* 对应你原来的 getSortedProcessors
|
|
25
|
+
*/
|
|
26
|
+
get(type) {
|
|
27
|
+
const ruleType = type || 'any';
|
|
28
|
+
if (ValidatorRegistrar.chainCache.has(ruleType)) {
|
|
29
|
+
return ValidatorRegistrar.chainCache.get(ruleType);
|
|
30
|
+
}
|
|
31
|
+
const sorted = this.storage
|
|
32
|
+
.filter(p => p.tags.includes(ruleType) || p.tags.includes('any'))
|
|
33
|
+
.sort((a, b) => a.weight + a.offset - (b.weight + b.offset));
|
|
34
|
+
ValidatorRegistrar.chainCache.set(ruleType, sorted);
|
|
35
|
+
return sorted;
|
|
36
|
+
}
|
|
37
|
+
lock() {
|
|
38
|
+
this.checkLock();
|
|
39
|
+
this.isLocked = true;
|
|
40
|
+
console.log('🔒 [ValidatorRegistrar] Pipeline is now immutable.');
|
|
41
|
+
}
|
|
42
|
+
/** * 完美的自省:按阶段展示所有流水线
|
|
43
|
+
*/
|
|
44
|
+
doInspect() {
|
|
45
|
+
console.log('%c === Validation Engine Blueprint === ', 'color: white; background: #222; font-weight: bold;');
|
|
46
|
+
// 获取所有涉及到的 Tags
|
|
47
|
+
const allTags = new Set();
|
|
48
|
+
this.storage.forEach(p => p.tags.forEach(t => allTags.add(t)));
|
|
49
|
+
allTags.forEach(tag => {
|
|
50
|
+
const pipeline = this.get(tag);
|
|
51
|
+
if (pipeline.length > 0) {
|
|
52
|
+
console.log(`\n%c [Pipeline: ${tag.toUpperCase()}] `, 'color: #2196F3; font-weight: bold;');
|
|
53
|
+
console.table(pipeline.map(p => ({
|
|
54
|
+
Priority: p.weight + p.offset,
|
|
55
|
+
'Station Name': p.name,
|
|
56
|
+
Stage: this.getStageName(p.weight),
|
|
57
|
+
Offset: p.offset,
|
|
58
|
+
})));
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
getStageName(weight) {
|
|
63
|
+
if (weight < 100)
|
|
64
|
+
return 'PREPARATION';
|
|
65
|
+
if (weight < 200)
|
|
66
|
+
return 'PRESENCE';
|
|
67
|
+
if (weight < 300)
|
|
68
|
+
return 'SEMANTIC';
|
|
69
|
+
if (weight < 400)
|
|
70
|
+
return 'QUANTITY';
|
|
71
|
+
if (weight < 500)
|
|
72
|
+
return 'RELATION';
|
|
73
|
+
return 'STRUCTURAL';
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
// 静态存储,确保 Presets 可以在加载时直接注入
|
|
77
|
+
ValidatorRegistrar.chainCache = new Map();
|
|
78
|
+
//# sourceMappingURL=ValidatorRegistrar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ValidatorRegistrar.js","sourceRoot":"","sources":["../../../../src/validation/core/ValidatorRegistrar.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 验证执行器
|
|
3
|
+
*
|
|
4
|
+
* 使用统一的 pipeline 执行器
|
|
5
|
+
* 避免重复实现监控、日志等功能
|
|
6
|
+
*
|
|
7
|
+
* @module validation/executor
|
|
8
|
+
*/
|
|
9
|
+
import { Pipeline } from '../../pipeline/index.esm.js';
|
|
10
|
+
/**
|
|
11
|
+
* 验证执行器
|
|
12
|
+
*
|
|
13
|
+
* @description 简单封装 pipeline,提供验证专用的执行接口
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* import { ValidationExecutor } from '@/validation';
|
|
17
|
+
*
|
|
18
|
+
* const executor = new ValidationExecutor();
|
|
19
|
+
*
|
|
20
|
+
* // 执行验证管道
|
|
21
|
+
* const result = await executor.execute(context, processors);
|
|
22
|
+
*
|
|
23
|
+
* // 打印报告
|
|
24
|
+
* executor.printReport(result);
|
|
25
|
+
*/
|
|
26
|
+
export class ValidationExecutor {
|
|
27
|
+
constructor() {
|
|
28
|
+
/**
|
|
29
|
+
* 管道执行器实例
|
|
30
|
+
*/
|
|
31
|
+
this.pipeline = new Pipeline();
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* 执行验证管道
|
|
35
|
+
*
|
|
36
|
+
* @param context 验证上下文
|
|
37
|
+
* @param processors 处理器列表
|
|
38
|
+
* @param ruleType 规则类型(用于日志)
|
|
39
|
+
* @returns 执行结果
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* const processors = Validator.get('string');
|
|
43
|
+
* const result = await executor.execute(context, processors, 'string');
|
|
44
|
+
*/
|
|
45
|
+
async execute(context, processors, ruleType) {
|
|
46
|
+
// 转换为 pipeline 的处理器格式
|
|
47
|
+
const pipelineProcessors = processors.map(processor => ({
|
|
48
|
+
name: processor.name,
|
|
49
|
+
weight: processor.weight,
|
|
50
|
+
offset: processor.offset,
|
|
51
|
+
description: processor.description,
|
|
52
|
+
execute: async (ctx) => {
|
|
53
|
+
await processor.execute(ctx);
|
|
54
|
+
},
|
|
55
|
+
}));
|
|
56
|
+
// 直接使用 pipeline 执行
|
|
57
|
+
return await this.pipeline.execute(context, pipelineProcessors, {
|
|
58
|
+
enableTracking: true,
|
|
59
|
+
enableTiming: true,
|
|
60
|
+
breakOnError: false, // 验证不中断,收集所有错误
|
|
61
|
+
pipelineName: ruleType ? `Validation:${ruleType}` : 'Validation',
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* 获取执行统计
|
|
66
|
+
*/
|
|
67
|
+
getStats() {
|
|
68
|
+
return this.pipeline.getStats();
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* 重置统计
|
|
72
|
+
*/
|
|
73
|
+
resetStats() {
|
|
74
|
+
this.pipeline.resetStats();
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* 打印执行报告
|
|
78
|
+
*/
|
|
79
|
+
printReport(result) {
|
|
80
|
+
this.pipeline.printReport(result);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* 默认验证执行器实例
|
|
85
|
+
*/
|
|
86
|
+
export const validationExecutor = new ValidationExecutor();
|
|
87
|
+
//# sourceMappingURL=executor.js.map
|