@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,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 对数字进行四舍五入到指定精度
|
|
3
|
+
* @param num 要四舍五入的数字
|
|
4
|
+
* @param precision 小数点后保留的位数
|
|
5
|
+
* @returns 四舍五入后的数字
|
|
6
|
+
*/
|
|
7
|
+
function round(num, precision) {
|
|
8
|
+
const factor = Math.pow(10, precision);
|
|
9
|
+
return Math.round(num * factor) / factor;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* 根据指定格式格式化数字
|
|
13
|
+
* 0 - 用对应的数字(如果存在)替换零;否则,将在结果字符串中显示零。
|
|
14
|
+
* # - 用对应的数字(如果存在)替换"#"符号;否则,不会在结果字符串中显示任何数字
|
|
15
|
+
* . - 确定小数点分隔符在结果字符串中的位置。
|
|
16
|
+
* , - 用作组分隔符和数字比例换算说明符。 作为组分隔符时,它在各个组之间插入本地化的组分隔符字符。 作为数字比例换算说明符,对于每个指定的逗号,它将数字除以 1000
|
|
17
|
+
* % - 将数字乘以 100,并在结果字符串中插入本地化的百分比符号
|
|
18
|
+
* @param value 要格式化的数字
|
|
19
|
+
* @param format 格式字符串
|
|
20
|
+
* @returns 格式化后的字符串
|
|
21
|
+
*/
|
|
22
|
+
export function formatNumber(value, format) {
|
|
23
|
+
if (!isFinite(value))
|
|
24
|
+
return '';
|
|
25
|
+
const isPercent = format.includes('%');
|
|
26
|
+
const hasComma = format.includes(',');
|
|
27
|
+
const [intFmt, decFmt = ''] = format.replace(/%/g, '').split('.');
|
|
28
|
+
let num = isPercent ? value * 100 : value;
|
|
29
|
+
// 计算小数位
|
|
30
|
+
const decimalPlaces = decFmt.replace(/[^0#]/g, '').length;
|
|
31
|
+
num = round(num, decimalPlaces);
|
|
32
|
+
const [intPart, decPart = ''] = Math.abs(num).toFixed(decimalPlaces).split('.');
|
|
33
|
+
const formattedInt = formatInteger(intPart, intFmt, hasComma);
|
|
34
|
+
const formattedDec = formatDecimal(decPart, decFmt);
|
|
35
|
+
const sign = num < 0 ? '-' : '';
|
|
36
|
+
const result = formattedDec.length > 0
|
|
37
|
+
? `${sign}${formattedInt}.${formattedDec}`
|
|
38
|
+
: `${sign}${formattedInt}`;
|
|
39
|
+
return isPercent ? result + '%' : result;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* 格式化整数部分
|
|
43
|
+
* @param digits 整数部分字符串
|
|
44
|
+
* @param format 格式字符串
|
|
45
|
+
* @param useComma 是否使用千分位分隔符
|
|
46
|
+
* @returns 格式化后的整数部分
|
|
47
|
+
*/
|
|
48
|
+
function formatInteger(digits, format, useComma) {
|
|
49
|
+
const cleanFormat = format.replace(/,/g, '');
|
|
50
|
+
const minDigits = cleanFormat.replace(/#/g, '').length;
|
|
51
|
+
let result = digits.padStart(minDigits, '0');
|
|
52
|
+
if (useComma) {
|
|
53
|
+
result = addThousandsSeparator(result);
|
|
54
|
+
}
|
|
55
|
+
return result;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* 格式化小数部分
|
|
59
|
+
* @param digits 小数部分字符串
|
|
60
|
+
* @param format 格式字符串
|
|
61
|
+
* @returns 格式化后的小数部分
|
|
62
|
+
*/
|
|
63
|
+
function formatDecimal(digits, format) {
|
|
64
|
+
const max = format.length;
|
|
65
|
+
const min = format.replace(/#/g, '').length;
|
|
66
|
+
const trimmed = digits.slice(0, max);
|
|
67
|
+
return trimmed.padEnd(min, '0');
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* 为数字字符串添加千分位分隔符
|
|
71
|
+
* @param value 数字字符串
|
|
72
|
+
* @returns 添加千分位分隔符后的数字字符串
|
|
73
|
+
*/
|
|
74
|
+
function addThousandsSeparator(value) {
|
|
75
|
+
return value.replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* 根据指定货币符号和格式格式化货币
|
|
79
|
+
* @param number 要格式化的数字
|
|
80
|
+
* @param currency 货币符号
|
|
81
|
+
* @param format 格式字符串
|
|
82
|
+
* @returns 格式化后的货币字符串
|
|
83
|
+
*/
|
|
84
|
+
export function formatCurrency(number, currency, format) {
|
|
85
|
+
return currency + formatNumber(number, format);
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=format.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../../../src/utils/number/format.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,SAAS,KAAK,CAAC,GAAW,EAAE,SAAiB;IACzC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IACvC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC;AAC7C,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAAC,KAAa,EAAE,MAAc;IACtD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEhC,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACtC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAElE,IAAI,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;IAE1C,QAAQ;IACR,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;IAC1D,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAEhC,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEhF,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC9D,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAEpD,MAAM,IAAI,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAChC,MAAM,MAAM,GACR,YAAY,CAAC,MAAM,GAAG,CAAC;QACnB,CAAC,CAAC,GAAG,IAAI,GAAG,YAAY,IAAI,YAAY,EAAE;QAC1C,CAAC,CAAC,GAAG,IAAI,GAAG,YAAY,EAAE,CAAC;IAEnC,OAAO,SAAS,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;AAC7C,CAAC;AAED;;;;;;GAMG;AACH,SAAS,aAAa,CAAC,MAAc,EAAE,MAAc,EAAE,QAAiB;IACpE,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;IAEvD,IAAI,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAE7C,IAAI,QAAQ,EAAE,CAAC;QACX,MAAM,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,SAAS,aAAa,CAAC,MAAc,EAAE,MAAc;IACjD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;IAC1B,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;IAE5C,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACrC,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACpC,CAAC;AAED;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,KAAa;IACxC,OAAO,KAAK,CAAC,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;AACvD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,QAAgB,EAAE,MAAc;IAC3E,OAAO,QAAQ,GAAG,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACnD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/number/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 检查给定值是否为对象(非数组,非 null)
|
|
3
|
+
*
|
|
4
|
+
* @param obj 任意值,需要检查的值
|
|
5
|
+
* @returns boolean,如果是对象返回 true,否则返回 false
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* isObject({}); // true
|
|
9
|
+
* isObject([]); // false
|
|
10
|
+
* isObject(null); // false
|
|
11
|
+
* isObject('string'); // false
|
|
12
|
+
* isObject(123); // false
|
|
13
|
+
*/
|
|
14
|
+
function isObject(obj) {
|
|
15
|
+
return obj !== null && typeof obj === 'object' && !Array.isArray(obj);
|
|
16
|
+
}
|
|
17
|
+
export { isObject };
|
|
18
|
+
//# sourceMappingURL=base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/utils/object/base.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,SAAS,QAAQ,CAAC,GAAQ;IACtB,OAAO,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC1E,CAAC;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { isObject } from './base';
|
|
2
|
+
/**
|
|
3
|
+
* 深度克隆对象或数组
|
|
4
|
+
*
|
|
5
|
+
* 该函数会创建一个对象或数组的深度副本,确保克隆后的内容与原始内容完全独立
|
|
6
|
+
* 支持以下类型的深度克隆:null, undefined, 基本类型, 数组, 日期, 正则表达式, 普通对象
|
|
7
|
+
*
|
|
8
|
+
* @param obj 需要克隆的对象或数组
|
|
9
|
+
* @returns 返回对象或数组的深度副本
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* const original = { a: 1, b: { c: 2 } };
|
|
13
|
+
* const cloned = clone(original);
|
|
14
|
+
* cloned.b.c = 99;
|
|
15
|
+
* console.log(original.b.c); // 输出: 2 (原对象未被修改)
|
|
16
|
+
*/
|
|
17
|
+
export function clone(obj) {
|
|
18
|
+
// 如果是 null 或 undefined,直接返回
|
|
19
|
+
if (obj === null || obj === undefined) {
|
|
20
|
+
return obj;
|
|
21
|
+
}
|
|
22
|
+
// 如果不是对象,直接返回
|
|
23
|
+
if (typeof obj !== 'object') {
|
|
24
|
+
return obj;
|
|
25
|
+
}
|
|
26
|
+
// 如果是数组,创建一个新的数组
|
|
27
|
+
if (Array.isArray(obj)) {
|
|
28
|
+
return obj.map(item => clone(item));
|
|
29
|
+
}
|
|
30
|
+
// 如果是日期对象,创建新的日期对象
|
|
31
|
+
if (obj instanceof Date) {
|
|
32
|
+
return new Date(obj.getTime());
|
|
33
|
+
}
|
|
34
|
+
// 如果是正则表达式,创建新的正则表达式
|
|
35
|
+
if (obj instanceof RegExp) {
|
|
36
|
+
return new RegExp(obj);
|
|
37
|
+
}
|
|
38
|
+
// 如果是对象,递归克隆每个属性
|
|
39
|
+
const result = {};
|
|
40
|
+
for (const key in obj) {
|
|
41
|
+
if (obj.hasOwnProperty(key)) {
|
|
42
|
+
result[key] = clone(obj[key]);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return result;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* 深度合并两个对象
|
|
49
|
+
*
|
|
50
|
+
* 将源对象的属性合并到目标对象中,如果目标对象和源对象有相同的属性,
|
|
51
|
+
* 且两者都是对象,则递归合并这些属性。否则,源对象的值将覆盖目标对象的值。
|
|
52
|
+
*
|
|
53
|
+
* @param target 目标对象,将被修改并接收源对象的属性
|
|
54
|
+
* @param source 源对象,其属性将被合并到目标对象
|
|
55
|
+
* @returns 返回合并后的目标对象
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* const target = { a: 1, b: { c: 2 } };
|
|
59
|
+
* const source = { b: { d: 3 }, e: 4 };
|
|
60
|
+
* const result = deepMerge(target, source);
|
|
61
|
+
* console.log(result); // { a: 1, b: { c: 2, d: 3 }, e: 4 }
|
|
62
|
+
*/
|
|
63
|
+
export function deepMerge(target, source) {
|
|
64
|
+
// 创建目标对象的浅拷贝作为输出对象
|
|
65
|
+
const output = { ...target };
|
|
66
|
+
// 遍历源对象的所有自有属性
|
|
67
|
+
for (const key in source) {
|
|
68
|
+
if (source.hasOwnProperty(key)) {
|
|
69
|
+
// 如果源对象和目标对象的属性都是对象,则递归合并
|
|
70
|
+
if (isObject(source[key]) && isObject(target[key])) {
|
|
71
|
+
output[key] = deepMerge(target[key], source[key]);
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
// 否则直接用源对象的属性覆盖目标对象的属性
|
|
75
|
+
output[key] = source[key];
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return output;
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=clone.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clone.js","sourceRoot":"","sources":["../../../../src/utils/object/clone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,KAAK,CAAI,GAAM;IAC3B,4BAA4B;IAC5B,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO,GAAG,CAAC;IACf,CAAC;IAED,cAAc;IACd,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO,GAAG,CAAC;IACf,CAAC;IAED,iBAAiB;IACjB,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAQ,CAAC;IAC/C,CAAC;IAED,mBAAmB;IACnB,IAAI,GAAG,YAAY,IAAI,EAAE,CAAC;QACtB,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAQ,CAAC;IAC1C,CAAC;IAED,qBAAqB;IACrB,IAAI,GAAG,YAAY,MAAM,EAAE,CAAC;QACxB,OAAO,IAAI,MAAM,CAAC,GAAG,CAAQ,CAAC;IAClC,CAAC;IAED,iBAAiB;IACjB,MAAM,MAAM,GAAG,EAAO,CAAC;IACvB,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACpB,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,MAAc,CAAC,GAAG,CAAC,GAAG,KAAK,CAAE,GAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QACpD,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,SAAS,CACrB,MAA2B,EAC3B,MAA2B;IAE3B,mBAAmB;IACnB,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;IAE7B,eAAe;IACf,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,0BAA0B;YAC1B,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACjD,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACJ,uBAAuB;gBACvB,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC;QACL,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/object/index.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 遍历对象的属性并执行回调函数
|
|
3
|
+
*
|
|
4
|
+
* 该函数会遍历对象的所有自有属性(不包括继承的属性),对每个属性执行回调函数
|
|
5
|
+
* 如果回调函数返回 false,则遍历会提前终止
|
|
6
|
+
*
|
|
7
|
+
* @param obj 要遍历的对象
|
|
8
|
+
* @param callback 回调函数,接收值和键作为参数,返回 false 可以终止遍历
|
|
9
|
+
* @param scope 回调函数执行时的 this 上下文
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* const obj = { a: 1, b: 2, c: 3 };
|
|
13
|
+
* each(obj, (value, key) => {
|
|
14
|
+
* console.log(key, value);
|
|
15
|
+
* if (key === 'b') return false; // 提前终止遍历
|
|
16
|
+
* });
|
|
17
|
+
* // 输出:
|
|
18
|
+
* // a 1
|
|
19
|
+
* // b 2
|
|
20
|
+
*/
|
|
21
|
+
export function each(obj, callback, scope) {
|
|
22
|
+
for (const key in obj) {
|
|
23
|
+
if (obj.hasOwnProperty(key)) {
|
|
24
|
+
// 使用 call 方法设置回调函数的 this 上下文
|
|
25
|
+
if (callback.call(scope, obj[key], key) === false) {
|
|
26
|
+
return; // 如果回调返回 false,则提前终止遍历
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=iterate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iterate.js","sourceRoot":"","sources":["../../../../src/utils/object/iterate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,IAAI,CAChB,GAAwB,EACxB,QAA8C,EAC9C,KAAW;IAEX,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACpB,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,6BAA6B;YAC7B,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC;gBAChD,OAAO,CAAC,uBAAuB;YACnC,CAAC;QACL,CAAC;IACL,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { isObject } from './base';
|
|
2
|
+
/**
|
|
3
|
+
* 将源对象中的定义值复制到目标对象
|
|
4
|
+
*
|
|
5
|
+
* 此函数会遍历源对象的属性,如果属性值不是 undefined,
|
|
6
|
+
* 则将其复制到目标对象中。对于对象类型的属性,会进行递归复制。
|
|
7
|
+
*
|
|
8
|
+
* @param source 源对象,从中复制属性
|
|
9
|
+
* @param target 目标对象,接收源对象的属性
|
|
10
|
+
* @returns 返回更新后的目标对象
|
|
11
|
+
*/
|
|
12
|
+
export function copyIfDefined(source, target) {
|
|
13
|
+
for (const key in source) {
|
|
14
|
+
if (source.hasOwnProperty(key)) {
|
|
15
|
+
if (isObject(source[key])) {
|
|
16
|
+
if (!target.hasOwnProperty(key)) {
|
|
17
|
+
target[key] = {};
|
|
18
|
+
}
|
|
19
|
+
copyIfDefined(source[key], target[key]);
|
|
20
|
+
}
|
|
21
|
+
else if (source[key] !== undefined) {
|
|
22
|
+
target[key] = source[key];
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return target;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* 递归替换目标对象的成员
|
|
30
|
+
*
|
|
31
|
+
* 该函数用于将源对象中的所有成员递归地替换到目标对象中。如果遇到相同名称的成员,
|
|
32
|
+
* 且两者都是对象,则会递归地进行替换;否则,会直接用源对象的成员覆盖目标对象的成员
|
|
33
|
+
*
|
|
34
|
+
* @param source 源对象,其成员将被复制到目标对象中
|
|
35
|
+
* @param target 目标对象,其成员将被源对象的成员替换
|
|
36
|
+
* @param maxDepth 最大递归深度,默认为10,以防止无限递归
|
|
37
|
+
* @param currentDepth 当前递归深度,初始调用时通常不需要设置
|
|
38
|
+
* @throws 如果超过最大递归深度或源和目标不是对象,将抛出错误
|
|
39
|
+
*/
|
|
40
|
+
export function replaceMembers(source, target, maxDepth = 10, currentDepth = 0) {
|
|
41
|
+
for (const key in source) {
|
|
42
|
+
if (source.hasOwnProperty(key)) {
|
|
43
|
+
// 如果源和目标的当前成员都是对象,则递归替换成员
|
|
44
|
+
if (isObject(source[key]) && isObject(target[key])) {
|
|
45
|
+
replaceMembers(source[key], target[key], maxDepth, currentDepth + 1);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
// 直接用源对象的成员覆盖目标对象的成员
|
|
49
|
+
target[key] = source[key];
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* 从对象中获取嵌套值
|
|
56
|
+
*
|
|
57
|
+
* 根据提供的路径字符串从对象中获取嵌套的值,路径使用点号分隔
|
|
58
|
+
*
|
|
59
|
+
* @param obj 要从中获取值的对象
|
|
60
|
+
* @param path 属性路径,例如 "a.b.c" 表示 obj.a.b.c
|
|
61
|
+
* @returns 如果路径存在则返回对应的值,否则返回 undefined
|
|
62
|
+
*/
|
|
63
|
+
export function getNestedValue(obj, path) {
|
|
64
|
+
const keys = path.split('.');
|
|
65
|
+
let result = obj;
|
|
66
|
+
for (const key of keys) {
|
|
67
|
+
if (result && result.hasOwnProperty(key)) {
|
|
68
|
+
result = result[key];
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
return undefined;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return result;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* 设置对象的嵌套值
|
|
78
|
+
*
|
|
79
|
+
* 根据提供的路径字符串在对象中设置嵌套的值,路径使用点号分隔
|
|
80
|
+
* 如果路径中的中间属性不存在,会自动创建对象
|
|
81
|
+
*
|
|
82
|
+
* @param obj 要设置值的对象
|
|
83
|
+
* @param path 属性路径,例如 "a.b.c" 表示 obj.a.b.c
|
|
84
|
+
* @param value 要设置的值
|
|
85
|
+
*
|
|
86
|
+
* @example
|
|
87
|
+
* const obj = {};
|
|
88
|
+
* setNestedValue(obj, 'a.b.c', 'value');
|
|
89
|
+
* console.log(obj); // { a: { b: { c: 'value' } } }
|
|
90
|
+
*/
|
|
91
|
+
export function setNestedValue(obj, path, value) {
|
|
92
|
+
const keys = path.split('.');
|
|
93
|
+
let result = obj;
|
|
94
|
+
for (let i = 0; i < keys.length - 1; i++) {
|
|
95
|
+
const key = keys[i];
|
|
96
|
+
// 如果当前键不存在或不是对象,则创建一个新对象
|
|
97
|
+
if (!result.hasOwnProperty(key) ||
|
|
98
|
+
result[key] === null ||
|
|
99
|
+
typeof result[key] !== 'object') {
|
|
100
|
+
result[key] = {};
|
|
101
|
+
}
|
|
102
|
+
result = result[key];
|
|
103
|
+
}
|
|
104
|
+
// 设置最后一个键的值
|
|
105
|
+
result[keys[keys.length - 1]] = value;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* 销毁对象的成员
|
|
109
|
+
*
|
|
110
|
+
* 遍历指定的成员列表,对每个成员执行销毁操作(如果存在 destroy 方法),
|
|
111
|
+
* 然后递归销毁其子对象的成员,最后删除该成员
|
|
112
|
+
*
|
|
113
|
+
* @param obj 要销毁成员的对象
|
|
114
|
+
* @param members 要销毁的成员名称列表
|
|
115
|
+
*/
|
|
116
|
+
export function destroyMembers(obj, members) {
|
|
117
|
+
members.forEach(member => {
|
|
118
|
+
if (obj.hasOwnProperty(member)) {
|
|
119
|
+
const memberValue = obj[member];
|
|
120
|
+
// 如果成员有 destroy 方法,则调用它
|
|
121
|
+
if (isObject(memberValue) && typeof memberValue.destroy === 'function') {
|
|
122
|
+
memberValue.destroy();
|
|
123
|
+
}
|
|
124
|
+
// 如果成员是对象,则递归销毁其所有成员
|
|
125
|
+
if (isObject(memberValue)) {
|
|
126
|
+
destroyMembers(memberValue, Object.keys(memberValue));
|
|
127
|
+
}
|
|
128
|
+
// 删除成员
|
|
129
|
+
delete obj[member];
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=properties.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"properties.js","sourceRoot":"","sources":["../../../../src/utils/object/properties.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/package.json
CHANGED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 字符串基础操作工具函数
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* 去除字符串首尾空格
|
|
6
|
+
* @param str 输入字符串
|
|
7
|
+
* @returns 去除首尾空格后的字符串
|
|
8
|
+
*/
|
|
9
|
+
export function trim(str) {
|
|
10
|
+
return str.trim();
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* 将字符串首字母大写
|
|
14
|
+
* @param str 输入字符串
|
|
15
|
+
* @returns 首字母大写的字符串
|
|
16
|
+
*/
|
|
17
|
+
export function capitalize(str) {
|
|
18
|
+
return str.charAt(0).toUpperCase() + str.slice(1);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* 将字符串首字母小写
|
|
22
|
+
* @param str 输入字符串
|
|
23
|
+
* @returns 首字母小写的字符串
|
|
24
|
+
*/
|
|
25
|
+
export function uncapitalize(str) {
|
|
26
|
+
return str.charAt(0).toLowerCase() + str.slice(1);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* 将字符串转换为驼峰命名法
|
|
30
|
+
* @param str 输入字符串
|
|
31
|
+
* @returns 驼峰命名的字符串
|
|
32
|
+
*/
|
|
33
|
+
export function camelCase(str) {
|
|
34
|
+
// 将字符串转换为小写并按空格、连字符、下划线分割
|
|
35
|
+
if (!str.includes('-') && !str.includes('_') && !str.includes(' '))
|
|
36
|
+
return uncapitalize(str);
|
|
37
|
+
const words = str.toLowerCase().split(/[-_\s]+/);
|
|
38
|
+
let result = '';
|
|
39
|
+
for (let i = 0; i < words.length; i++) {
|
|
40
|
+
const word = words[i].toLocaleLowerCase();
|
|
41
|
+
if (i === 0) {
|
|
42
|
+
result += word; // 第一个单词保持小写
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
result += capitalize(word);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return result;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* 将驼峰式命名的字符串转换为连接符命名的全小写字符串
|
|
52
|
+
* @param str 输入的驼峰式字符串
|
|
53
|
+
* @returns 用连接符分隔的全小写字符串
|
|
54
|
+
*/
|
|
55
|
+
export function camelCaseToDash(str) {
|
|
56
|
+
let result = str.replace(/([A-Z])/g, '-$1').toLowerCase();
|
|
57
|
+
if (result.startsWith('-'))
|
|
58
|
+
result = result.slice(1);
|
|
59
|
+
return result;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/utils/string/base.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;GAIG;AACH,MAAM,UAAU,IAAI,CAAC,GAAW;IAC5B,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;AACtB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,GAAW;IAClC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW;IACpC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,GAAW;IACjC,0BAA0B;IAC1B,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;IAC7F,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACjD,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;QAC1C,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACV,MAAM,IAAI,IAAI,CAAC,CAAC,YAAY;QAChC,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,GAAW;IACvC,IAAI,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1D,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrD,OAAO,MAAM,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CSS单位处理工具函数
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* 将CSS单位值标准化为字符串
|
|
6
|
+
* @param value CSS单位值
|
|
7
|
+
* @returns 标准化后的CSS单位字符串
|
|
8
|
+
*/
|
|
9
|
+
export function normalizeCssUnit(value) {
|
|
10
|
+
if (value === 0)
|
|
11
|
+
return '0';
|
|
12
|
+
if (typeof value === 'number')
|
|
13
|
+
return value + 'px';
|
|
14
|
+
if (value === null)
|
|
15
|
+
return 'null';
|
|
16
|
+
if (value === undefined)
|
|
17
|
+
return 'undefined';
|
|
18
|
+
return value;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* 将CSS单位字符串转换为数值
|
|
22
|
+
* @param value CSS单位字符串或数值
|
|
23
|
+
* @returns 解析出的数值
|
|
24
|
+
*/
|
|
25
|
+
export function cssUnitTypeToNumber(value) {
|
|
26
|
+
if (typeof value === 'number')
|
|
27
|
+
return value;
|
|
28
|
+
const match = value.match(/^(\d+(\.\d+)?)(px|em|rem|%|pt|pc|ex|ch|vw|vh|vmin|vmax)?$/);
|
|
29
|
+
if (match) {
|
|
30
|
+
const num = parseFloat(match[1]);
|
|
31
|
+
return num;
|
|
32
|
+
}
|
|
33
|
+
return 0;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"css.js","sourceRoot":"","sources":["../../../../src/utils/string/css.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAkB;IAC/C,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,GAAG,IAAI,CAAC;IACnD,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IAClC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,WAAW,CAAC;IAC5C,OAAO,KAAe,CAAC;AAC3B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAkB;IAClD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,KAAK,GAAG,KAAM,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;IACxF,IAAI,KAAK,EAAE,CAAC;QACR,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,OAAO,GAAG,CAAC;IACf,CAAC;IACD,OAAO,CAAC,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 文本替换和格式化工具函数
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* 使用提供的选项对象替换字符串中的占位符
|
|
6
|
+
* @param str 包含占位符的字符串
|
|
7
|
+
* @param options 替换选项对象,键为占位符名称,值为替换内容
|
|
8
|
+
* @returns 替换后的字符串
|
|
9
|
+
*/
|
|
10
|
+
export function replace(str, options) {
|
|
11
|
+
for (const key in options) {
|
|
12
|
+
if (options.hasOwnProperty(key)) {
|
|
13
|
+
const value = options[key];
|
|
14
|
+
str = replaceAll(str, `{${key}}`, value);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
return str;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* 替换字符串中所有匹配项
|
|
21
|
+
* @param str 源字符串
|
|
22
|
+
* @param search 要查找的字符串
|
|
23
|
+
* @param replace 用于替换的字符串
|
|
24
|
+
* @returns 替换后的字符串
|
|
25
|
+
*/
|
|
26
|
+
export function replaceAll(str, search, replace) {
|
|
27
|
+
// 转义特殊正则字符,然后创建大小写不敏感的正则表达式
|
|
28
|
+
const escapedSearch = search.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
29
|
+
return str.replace(new RegExp(escapedSearch, 'gi'), replace);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* 高亮文本中匹配的搜索词
|
|
33
|
+
* @param text 原始文本
|
|
34
|
+
* @param search 要高亮的搜索词
|
|
35
|
+
* @param additionalClass 额外添加的CSS类名(可选),默认类名始终存在
|
|
36
|
+
* @returns 包含高亮HTML标签的文本
|
|
37
|
+
*/
|
|
38
|
+
export function highlightText(text, search, additionalClass = '') {
|
|
39
|
+
// 如果text为空,则直接返回原文本
|
|
40
|
+
if (!text)
|
|
41
|
+
return text;
|
|
42
|
+
// 转义特殊正则字符,然后创建大小写不敏感的正则表达式
|
|
43
|
+
const escapedSearch = search.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
44
|
+
// 创建正则表达式,忽略大小写
|
|
45
|
+
const regex = new RegExp(`(${escapedSearch})`, 'gi');
|
|
46
|
+
// 合并默认类名和额外类名
|
|
47
|
+
const defaultClass = 'text-danger font-bold';
|
|
48
|
+
const combinedClass = additionalClass ? `${defaultClass} ${additionalClass}` : defaultClass;
|
|
49
|
+
// 替换匹配的文本,并添加高亮 HTML
|
|
50
|
+
return text.replace(regex, match => `<span class="${combinedClass}">${match}</span>`);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* 将文本转换为HTML格式,每个换行使用P标签包裹
|
|
54
|
+
* @param text 要转换的文本或文本数组
|
|
55
|
+
* @param className 应用于段落的CSS类名
|
|
56
|
+
* @returns 转换后的HTML字符串
|
|
57
|
+
*/
|
|
58
|
+
export function textToHtml(text, className = '') {
|
|
59
|
+
if (Array.isArray(text)) {
|
|
60
|
+
return text.map(t => textToHtml(t, className)).join('');
|
|
61
|
+
}
|
|
62
|
+
return (`<p class="${className}">` + text.replace(/\n/g, `</p><p class="${className}">`) + '</p>');
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* 将字符串按指定分隔符分割,并支持分隔符的转义
|
|
66
|
+
* 例如:splitWithEscaping("a,b,,c,d", ",") => ["a", "b,c", "d"]
|
|
67
|
+
* @param str 要分割的字符串
|
|
68
|
+
* @param separator 分隔符
|
|
69
|
+
* @returns 分割后的字符串数组
|
|
70
|
+
*/
|
|
71
|
+
export function splitWithEscaping(str, separator) {
|
|
72
|
+
// 此函数用于将字符串按指定分隔符分割,并支持分隔符的转义
|
|
73
|
+
if (separator === '')
|
|
74
|
+
return [str];
|
|
75
|
+
// 首先替换所有转义分隔符(两个连续的分隔符)为临时标记
|
|
76
|
+
const escapedSeparator = separator + separator;
|
|
77
|
+
const tempMarker = '\u0001'; // 使用一个不太可能出现在普通文本中的字符作为临时标记
|
|
78
|
+
let processedStr = str;
|
|
79
|
+
let index = 0;
|
|
80
|
+
// 替换所有转义分隔符为临时标记
|
|
81
|
+
while ((index = processedStr.indexOf(escapedSeparator, index)) !== -1) {
|
|
82
|
+
processedStr =
|
|
83
|
+
processedStr.substring(0, index) +
|
|
84
|
+
tempMarker +
|
|
85
|
+
processedStr.substring(index + escapedSeparator.length);
|
|
86
|
+
// 移动索引到替换后的位置之后,避免重复匹配
|
|
87
|
+
index++;
|
|
88
|
+
}
|
|
89
|
+
// 按正常分隔符分割字符串
|
|
90
|
+
const parts = processedStr.split(separator);
|
|
91
|
+
// 将临时标记替换回实际的分隔符字符
|
|
92
|
+
return parts.map(part => part.replace(new RegExp(tempMarker, 'g'), separator));
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=format.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../../../../src/utils/string/format.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ID生成和唯一性处理工具函数
|
|
3
|
+
*/
|
|
4
|
+
let idSeed = 0;
|
|
5
|
+
/**
|
|
6
|
+
* 生成唯一ID
|
|
7
|
+
* @param prefix ID前缀,默认为"id"
|
|
8
|
+
* @returns 生成的唯一ID字符串
|
|
9
|
+
*/
|
|
10
|
+
export function getId(prefix = 'id') {
|
|
11
|
+
idSeed += 1;
|
|
12
|
+
return `${prefix}-${Date.now()}-${idSeed}`;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* 生成分布式追踪ID (traceId)
|
|
16
|
+
* @returns 生成的唯一追踪ID字符串,格式为16位十六进制字符串
|
|
17
|
+
*/
|
|
18
|
+
export function generateTraceId() {
|
|
19
|
+
// 生成16位十六进制字符串作为traceId
|
|
20
|
+
return Array.from({ length: 16 }, () => Math.floor(Math.random() * 256)
|
|
21
|
+
.toString(16)
|
|
22
|
+
.padStart(2, '0')).join('');
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* 空字符串的表示(非断开空格字符)
|
|
26
|
+
*/
|
|
27
|
+
export const emptyString = '\u00A0';
|
|
28
|
+
/**
|
|
29
|
+
* 标准化语言代码
|
|
30
|
+
* @param language 语言代码
|
|
31
|
+
* @returns 标准化的语言代码
|
|
32
|
+
*/
|
|
33
|
+
export function normalizedLanguage(language) {
|
|
34
|
+
if (language === 'zh-Hans')
|
|
35
|
+
language = 'zh-CN';
|
|
36
|
+
if (language === 'zh-Hant')
|
|
37
|
+
language = 'zh-TW';
|
|
38
|
+
return language;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=id.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"id.js","sourceRoot":"","sources":["../../../../src/utils/string/id.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,IAAI,MAAM,GAAG,CAAC,CAAC;AAEf;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAC,SAAiB,IAAI;IACvC,MAAM,IAAI,CAAC,CAAC;IACZ,OAAO,GAAG,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,MAAM,EAAE,CAAC;AAC/C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe;IAC3B,wBAAwB;IACxB,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CACnC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;SAC1B,QAAQ,CAAC,EAAE,CAAC;SACZ,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CACxB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC;AAEpC;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAgB;IAC/C,IAAI,QAAQ,KAAK,SAAS;QAAE,QAAQ,GAAG,OAAO,CAAC;IAC/C,IAAI,QAAQ,KAAK,SAAS;QAAE,QAAQ,GAAG,OAAO,CAAC;IAC/C,OAAO,QAAQ,CAAC;AACpB,CAAC"}
|