@duplojs/utils 1.3.20 → 1.3.22
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/README.md +21 -1
- package/dist/array/index.cjs +3 -0
- package/dist/array/index.d.ts +1 -0
- package/dist/array/index.mjs +1 -0
- package/dist/array/select.cjs +35 -0
- package/dist/array/select.d.ts +18 -0
- package/dist/array/select.mjs +32 -0
- package/dist/clean/constraint/base.d.ts +1 -1
- package/dist/clean/constraint/defaultConstraint/number.d.ts +4 -4
- package/dist/clean/constraint/defaultConstraint/string.d.ts +3 -3
- package/dist/clean/entity.cjs +4 -0
- package/dist/clean/entity.d.ts +1 -0
- package/dist/clean/entity.mjs +4 -0
- package/dist/clean/flag.d.ts +1 -0
- package/dist/clean/repository.d.ts +4 -4
- package/dist/clean/useCase.cjs +4 -3
- package/dist/clean/useCase.d.ts +2 -2
- package/dist/clean/useCase.mjs +4 -3
- package/dist/common/index.d.ts +1 -1
- package/dist/common/{toJson.d.ts → toJSON.d.ts} +1 -1
- package/dist/dataParser/extended/object.cjs +16 -4
- package/dist/dataParser/extended/object.d.ts +13 -5
- package/dist/dataParser/extended/object.mjs +20 -8
- package/dist/dataParser/identifier.d.ts +2 -2
- package/dist/dataParser/index.cjs +4 -0
- package/dist/dataParser/index.mjs +4 -4
- package/dist/dataParser/parsers/array/index.d.ts +1 -1
- package/dist/dataParser/parsers/object/omit.cjs +5 -1
- package/dist/dataParser/parsers/object/omit.d.ts +2 -1
- package/dist/dataParser/parsers/object/omit.mjs +5 -2
- package/dist/dataParser/parsers/object/partial.cjs +5 -1
- package/dist/dataParser/parsers/object/partial.d.ts +1 -0
- package/dist/dataParser/parsers/object/partial.mjs +5 -2
- package/dist/dataParser/parsers/object/pick.cjs +6 -2
- package/dist/dataParser/parsers/object/pick.d.ts +3 -2
- package/dist/dataParser/parsers/object/pick.mjs +6 -3
- package/dist/dataParser/parsers/object/required.cjs +5 -1
- package/dist/dataParser/parsers/object/required.d.ts +1 -0
- package/dist/dataParser/parsers/object/required.mjs +5 -2
- package/dist/dataParser/parsers/refine.cjs +1 -1
- package/dist/dataParser/parsers/refine.d.ts +1 -1
- package/dist/dataParser/parsers/refine.mjs +1 -1
- package/dist/either/future/create.d.ts +1 -1
- package/dist/generator/asyncChunk.cjs +24 -0
- package/dist/generator/asyncChunk.d.ts +2 -0
- package/dist/generator/asyncChunk.mjs +22 -0
- package/dist/generator/asyncLoop.d.ts +3 -10
- package/dist/generator/asyncMap.cjs +1 -1
- package/dist/generator/asyncMap.d.ts +2 -2
- package/dist/generator/asyncMap.mjs +1 -1
- package/dist/generator/index.cjs +2 -0
- package/dist/generator/index.d.ts +1 -0
- package/dist/generator/index.mjs +1 -0
- package/dist/generator/loop.d.ts +4 -5
- package/dist/index.cjs +2 -2
- package/dist/index.mjs +1 -1
- package/dist/metadata.json +4419 -0
- package/dist/object/omit.d.ts +2 -2
- package/dist/object/pick.d.ts +2 -2
- package/dist/string/capitalize.cjs +1 -1
- package/dist/string/capitalize.mjs +1 -1
- package/dist/string/uncapitalize.cjs +1 -1
- package/dist/string/uncapitalize.mjs +1 -1
- package/package.json +37 -5
- /package/dist/common/{toJson.cjs → toJSON.cjs} +0 -0
- /package/dist/common/{toJson.mjs → toJSON.mjs} +0 -0
package/README.md
CHANGED
|
@@ -1,2 +1,22 @@
|
|
|
1
1
|
# @duplojs/utils
|
|
2
|
-
[](https://www.npmjs.com/package/@duplojs/utils)
|
|
2
|
+
[](https://www.npmjs.com/package/@duplojs/utils)
|
|
3
|
+
|
|
4
|
+
`@duplojs/utils` is the TypeScript utility toolbox used across the DuploJS ecosystem. It focuses on **strong typing**, **god DX**, and **small composable primitives** that scale from simple helpers to full validation pipelines.
|
|
5
|
+
|
|
6
|
+
## What’s inside?
|
|
7
|
+
|
|
8
|
+
- **Common functional utilities**: `pipe`/`asyncPipe`, `when`, `memo`, `clone`, `escapeRegExp`, etc.
|
|
9
|
+
- **Typed runtime tagging**: `kind` helpers to discriminate data without polluting public shapes.
|
|
10
|
+
- **Either**: a typed success/error container with mandatory “information” for precise pattern matching.
|
|
11
|
+
- **DataParser**: schema-based validation with checkers, coercion (`DP.coerce.*`), transforms, async support, and a fluent “extended” API (`DPE`).
|
|
12
|
+
- **Clean-domain building blocks**: `newType`, `entity`, constraints, repositories, and use-cases.
|
|
13
|
+
- **Pure helpers by domain**: `array`, `object`, `string`, `number`, `date`, `generator`, `pattern` (match/exhaustive).
|
|
14
|
+
|
|
15
|
+
## Documentation
|
|
16
|
+
- https://utils.duplojs.dev/v1/en
|
|
17
|
+
|
|
18
|
+
## Install
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
npm install @duplojs/utils
|
|
22
|
+
```
|
package/dist/array/index.cjs
CHANGED
|
@@ -42,6 +42,7 @@ var notIncludes = require('./notIncludes.cjs');
|
|
|
42
42
|
var chunk = require('./chunk.cjs');
|
|
43
43
|
var insert$2 = require('./insert.cjs');
|
|
44
44
|
var isLastIndex = require('./isLastIndex.cjs');
|
|
45
|
+
var select = require('./select.cjs');
|
|
45
46
|
var _delete = require('./splice/delete.cjs');
|
|
46
47
|
var insert = require('./splice/insert.cjs');
|
|
47
48
|
var replace = require('./splice/replace.cjs');
|
|
@@ -101,6 +102,8 @@ exports.notIncludes = notIncludes.notIncludes;
|
|
|
101
102
|
exports.chunk = chunk.chunk;
|
|
102
103
|
exports.insert = insert$2.insert;
|
|
103
104
|
exports.isLastIndex = isLastIndex.isLastIndex;
|
|
105
|
+
exports.select = select.select;
|
|
106
|
+
exports.selectTools = select.selectTools;
|
|
104
107
|
exports.spliceDelete = _delete.spliceDelete;
|
|
105
108
|
exports.spliceInsert = insert.spliceInsert;
|
|
106
109
|
exports.spliceReplace = replace.spliceReplace;
|
package/dist/array/index.d.ts
CHANGED
package/dist/array/index.mjs
CHANGED
|
@@ -40,6 +40,7 @@ export { notIncludes } from './notIncludes.mjs';
|
|
|
40
40
|
export { chunk } from './chunk.mjs';
|
|
41
41
|
export { insert } from './insert.mjs';
|
|
42
42
|
export { isLastIndex } from './isLastIndex.mjs';
|
|
43
|
+
export { select, selectTools } from './select.mjs';
|
|
43
44
|
export { spliceDelete } from './splice/delete.mjs';
|
|
44
45
|
export { spliceInsert } from './splice/insert.mjs';
|
|
45
46
|
export { spliceReplace } from './splice/replace.mjs';
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const selectTools = {
|
|
4
|
+
skip() {
|
|
5
|
+
return { "-skip": null };
|
|
6
|
+
},
|
|
7
|
+
select(output) {
|
|
8
|
+
return { "-select": output };
|
|
9
|
+
},
|
|
10
|
+
};
|
|
11
|
+
function select(...args) {
|
|
12
|
+
if (args.length === 1) {
|
|
13
|
+
const [theFunction] = args;
|
|
14
|
+
return (input) => select(input, theFunction);
|
|
15
|
+
}
|
|
16
|
+
const [input, theFunction] = args;
|
|
17
|
+
const outputArray = [];
|
|
18
|
+
for (let index = 0; index < input.length; index++) {
|
|
19
|
+
const element = input[index];
|
|
20
|
+
const result = theFunction({
|
|
21
|
+
element,
|
|
22
|
+
index,
|
|
23
|
+
self: input,
|
|
24
|
+
...selectTools,
|
|
25
|
+
});
|
|
26
|
+
if ("-skip" in result) {
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
outputArray.push(result["-select"]);
|
|
30
|
+
}
|
|
31
|
+
return outputArray;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
exports.select = select;
|
|
35
|
+
exports.selectTools = selectTools;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type AnyValue } from "../common";
|
|
2
|
+
export interface ArraySelectSelect<GenericOutput extends unknown = unknown> {
|
|
3
|
+
"-select": GenericOutput;
|
|
4
|
+
}
|
|
5
|
+
export interface ArraySelectSkip {
|
|
6
|
+
"-skip": null;
|
|
7
|
+
}
|
|
8
|
+
interface ArraySelectParams<GenericInputArray extends readonly unknown[]> {
|
|
9
|
+
element: GenericInputArray[number];
|
|
10
|
+
index: number;
|
|
11
|
+
self: GenericInputArray;
|
|
12
|
+
skip(): ArraySelectSkip;
|
|
13
|
+
select<GenericOutput extends AnyValue = AnyValue>(output: GenericOutput): ArraySelectSelect<GenericOutput>;
|
|
14
|
+
}
|
|
15
|
+
export declare const selectTools: Pick<ArraySelectParams<any>, "skip" | "select">;
|
|
16
|
+
export declare function select<GenericInput extends readonly unknown[], GenericSelect extends ArraySelectSelect>(theFunction: (params: ArraySelectParams<GenericInput>) => GenericSelect | ArraySelectSkip): (input: GenericInput) => GenericSelect["-select"][];
|
|
17
|
+
export declare function select<GenericInput extends readonly unknown[], GenericSelect extends ArraySelectSelect>(input: GenericInput, theFunction: (params: ArraySelectParams<GenericInput>) => GenericSelect | ArraySelectSkip): GenericSelect["-select"][];
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
const selectTools = {
|
|
2
|
+
skip() {
|
|
3
|
+
return { "-skip": null };
|
|
4
|
+
},
|
|
5
|
+
select(output) {
|
|
6
|
+
return { "-select": output };
|
|
7
|
+
},
|
|
8
|
+
};
|
|
9
|
+
function select(...args) {
|
|
10
|
+
if (args.length === 1) {
|
|
11
|
+
const [theFunction] = args;
|
|
12
|
+
return (input) => select(input, theFunction);
|
|
13
|
+
}
|
|
14
|
+
const [input, theFunction] = args;
|
|
15
|
+
const outputArray = [];
|
|
16
|
+
for (let index = 0; index < input.length; index++) {
|
|
17
|
+
const element = input[index];
|
|
18
|
+
const result = theFunction({
|
|
19
|
+
element,
|
|
20
|
+
index,
|
|
21
|
+
self: input,
|
|
22
|
+
...selectTools,
|
|
23
|
+
});
|
|
24
|
+
if ("-skip" in result) {
|
|
25
|
+
continue;
|
|
26
|
+
}
|
|
27
|
+
outputArray.push(result["-select"]);
|
|
28
|
+
}
|
|
29
|
+
return outputArray;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export { select, selectTools };
|
|
@@ -32,5 +32,5 @@ export declare function createConstraint<GenericName extends string, GenericPrim
|
|
|
32
32
|
DDataParser.DataParserChecker<DDataParser.DataParserCheckerDefinition, GenericPrimitiveValue>,
|
|
33
33
|
...DDataParser.DataParserChecker<DDataParser.DataParserCheckerDefinition, GenericPrimitiveValue>[]
|
|
34
34
|
]) = never>(name: GenericName, primitiveHandler: PrimitiveHandler<GenericPrimitiveValue>, checker: GenericChecker): ConstraintHandler<GenericName, GenericPrimitiveValue, DArray.ArrayCoalescing<GenericChecker>>;
|
|
35
|
-
export type
|
|
35
|
+
export type GetConstraint<GenericConstrainHandler extends ConstraintHandler, GenericValue extends DDataParser.InputChecker<GenericConstrainHandler["checkers"][number]> = DDataParser.InputChecker<GenericConstrainHandler["checkers"][number]>> = Extract<ConstrainedType<GenericConstrainHandler["name"], GenericValue>, any>;
|
|
36
36
|
export {};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type GetConstraint } from "../base";
|
|
2
2
|
import * as DDataParser from "../../../dataParser";
|
|
3
3
|
export declare const Int: import("..").ConstraintHandler<"int", number, readonly [DDataParser.DataParserCheckerInt]>;
|
|
4
|
-
export type Int =
|
|
4
|
+
export type Int = GetConstraint<typeof Int>;
|
|
5
5
|
export declare const Positive: import("..").ConstraintHandler<"positive", number, readonly [DDataParser.DataParserCheckerNumberMin]>;
|
|
6
|
-
export type Positive =
|
|
6
|
+
export type Positive = GetConstraint<typeof Positive>;
|
|
7
7
|
export declare const Negative: import("..").ConstraintHandler<"negative", number, readonly [DDataParser.DataParserCheckerNumberMax]>;
|
|
8
|
-
export type Negative =
|
|
8
|
+
export type Negative = GetConstraint<typeof Negative>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type GetConstraint } from "../base";
|
|
2
2
|
import * as DDataParser from "../../../dataParser";
|
|
3
3
|
export declare const Email: import("..").ConstraintHandler<"email", string, readonly [DDataParser.DataParserCheckerEmail]>;
|
|
4
|
-
export type Email =
|
|
4
|
+
export type Email = GetConstraint<typeof Email>;
|
|
5
5
|
export declare const Url: import("..").ConstraintHandler<"url", string, readonly [DDataParser.DataParserCheckerUrl]>;
|
|
6
|
-
export type Url =
|
|
6
|
+
export type Url = GetConstraint<typeof Url>;
|
package/dist/clean/entity.cjs
CHANGED
|
@@ -110,6 +110,9 @@ function createEntity(name, getPropertiesDefinition) {
|
|
|
110
110
|
}
|
|
111
111
|
return unwrap.unwrap(result);
|
|
112
112
|
}
|
|
113
|
+
function is$1(input) {
|
|
114
|
+
return entityKind.has(input) && entityKind.getValue(input) === name;
|
|
115
|
+
}
|
|
113
116
|
return entityHandlerKind.setTo({
|
|
114
117
|
name,
|
|
115
118
|
propertiesDefinition,
|
|
@@ -117,6 +120,7 @@ function createEntity(name, getPropertiesDefinition) {
|
|
|
117
120
|
new: theNew,
|
|
118
121
|
map: map$1,
|
|
119
122
|
mapOrThrow,
|
|
123
|
+
is: is$1,
|
|
120
124
|
});
|
|
121
125
|
}
|
|
122
126
|
|
package/dist/clean/entity.d.ts
CHANGED
|
@@ -43,6 +43,7 @@ export interface EntityHandler<GenericName extends string = string, GenericPrope
|
|
|
43
43
|
"new"<GenericProperties extends EntityProperties<GenericPropertiesDefinition>>(properties: GenericProperties): Entity<GenericName> & GenericProperties;
|
|
44
44
|
map(rawProperties: EntityRawProperties<GenericPropertiesDefinition>): (DEither.EitherRight<"createEntity", Entity<GenericName> & EntityProperties<GenericPropertiesDefinition>> | DEither.EitherLeft<"createEntityError", DDataParser.DataParserError>);
|
|
45
45
|
mapOrThrow(rawProperties: EntityRawProperties<GenericPropertiesDefinition>): Entity<GenericName> & EntityProperties<GenericPropertiesDefinition>;
|
|
46
|
+
is<GenericInput extends unknown>(input: GenericInput): input is Extract<GenericInput, Entity<GenericName>>;
|
|
46
47
|
}
|
|
47
48
|
declare const CreateEntityError_base: new (params: {
|
|
48
49
|
"@DuplojsUtilsError/create-entity-error"?: unknown;
|
package/dist/clean/entity.mjs
CHANGED
|
@@ -108,6 +108,9 @@ function createEntity(name, getPropertiesDefinition) {
|
|
|
108
108
|
}
|
|
109
109
|
return unwrap(result);
|
|
110
110
|
}
|
|
111
|
+
function is(input) {
|
|
112
|
+
return entityKind.has(input) && entityKind.getValue(input) === name;
|
|
113
|
+
}
|
|
111
114
|
return entityHandlerKind.setTo({
|
|
112
115
|
name,
|
|
113
116
|
propertiesDefinition,
|
|
@@ -115,6 +118,7 @@ function createEntity(name, getPropertiesDefinition) {
|
|
|
115
118
|
new: theNew,
|
|
116
119
|
map: map$1,
|
|
117
120
|
mapOrThrow,
|
|
121
|
+
is,
|
|
118
122
|
});
|
|
119
123
|
}
|
|
120
124
|
|
package/dist/clean/flag.d.ts
CHANGED
|
@@ -13,4 +13,5 @@ export declare function createFlag<GenericEntity extends Entity = never, Generic
|
|
|
13
13
|
IsEqual<GenericEntity, never>,
|
|
14
14
|
IsEqual<GenericName, never>
|
|
15
15
|
]> extends true ? never : NoInfer<GenericName>): FlagHandler<GenericEntity, GenericName, GenericValue>;
|
|
16
|
+
export type GetFlag<GenericHandler extends FlagHandler<any, any, any>> = Extract<Flag<GenericHandler["name"], ReturnType<GenericHandler["getValue"]>>, any>;
|
|
16
17
|
export {};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { type AnyFunction, type Kind } from "../common";
|
|
1
|
+
import { type SimplifyTopLevel, type AnyFunction, type Kind } from "../common";
|
|
2
2
|
export declare const repositoryHandlerKind: import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsClean/repository-handler", unknown>>;
|
|
3
3
|
export interface RepositoryHandler<GenericRepository extends object = object> extends Kind<typeof repositoryHandlerKind.definition> {
|
|
4
|
-
createImplementation(implementation: {
|
|
5
|
-
[Prop in keyof GenericRepository]: GenericRepository[Prop] extends AnyFunction ?
|
|
6
|
-
}): GenericRepository;
|
|
4
|
+
createImplementation(implementation: SimplifyTopLevel<{
|
|
5
|
+
[Prop in keyof GenericRepository]: GenericRepository[Prop] extends AnyFunction ? (...args: Parameters<GenericRepository[Prop]>) => ReturnType<GenericRepository[Prop]> : GenericRepository[Prop];
|
|
6
|
+
}>): GenericRepository;
|
|
7
7
|
}
|
|
8
8
|
export declare function createRepository<GenericRepository extends object>(): RepositoryHandler<GenericRepository>;
|
package/dist/clean/useCase.cjs
CHANGED
|
@@ -4,6 +4,7 @@ var kind = require('./kind.cjs');
|
|
|
4
4
|
var pipe = require('../common/pipe.cjs');
|
|
5
5
|
var map = require('../array/map.cjs');
|
|
6
6
|
var entry = require('../object/entry.cjs');
|
|
7
|
+
var uncapitalize = require('../string/uncapitalize.cjs');
|
|
7
8
|
var entries = require('../object/entries.cjs');
|
|
8
9
|
var fromEntries = require('../object/fromEntries.cjs');
|
|
9
10
|
|
|
@@ -11,13 +12,13 @@ const useCaseHandlerKind = kind.createCleanKind("use-case-handler");
|
|
|
11
12
|
function createUseCase(dependencies, getUseCase) {
|
|
12
13
|
return useCaseHandlerKind.setTo({
|
|
13
14
|
dependencies,
|
|
14
|
-
getUseCase: (repositories) => getUseCase(pipe.pipe(dependencies, entries.entries, map.map(([key, value]) => entry.entry(key, useCaseHandlerKind.has(value)
|
|
15
|
+
getUseCase: (repositories) => getUseCase(pipe.pipe(dependencies, entries.entries, map.map(([key, value]) => entry.entry(uncapitalize.uncapitalize(key), useCaseHandlerKind.has(value)
|
|
15
16
|
? value.getUseCase(repositories)
|
|
16
|
-
: repositories[key])), fromEntries.fromEntries)),
|
|
17
|
+
: repositories[uncapitalize.uncapitalize(key)])), fromEntries.fromEntries)),
|
|
17
18
|
});
|
|
18
19
|
}
|
|
19
20
|
function useCaseInstances(useCases, repositories) {
|
|
20
|
-
return pipe.pipe(useCases, entries.entries, map.map(([key, useCase]) => entry.entry(key, useCase.getUseCase(repositories))), fromEntries.fromEntries);
|
|
21
|
+
return pipe.pipe(useCases, entries.entries, map.map(([key, useCase]) => entry.entry(uncapitalize.uncapitalize(key), useCase.getUseCase(repositories))), fromEntries.fromEntries);
|
|
21
22
|
}
|
|
22
23
|
|
|
23
24
|
exports.createUseCase = createUseCase;
|
package/dist/clean/useCase.d.ts
CHANGED
|
@@ -2,11 +2,11 @@ import { type ObjectEntry, type Kind, type SimplifyTopLevel, type UnionToInterse
|
|
|
2
2
|
import { type RepositoryHandler } from "./repository";
|
|
3
3
|
export type UseCaseDependencies = Record<string, RepositoryHandler | UseCaseHandler>;
|
|
4
4
|
export type UseCaseDependenciesValue<GenericDependencies extends UseCaseDependencies> = SimplifyTopLevel<{
|
|
5
|
-
[Prop in keyof GenericDependencies]: GenericDependencies[Prop] extends RepositoryHandler ? ReturnType<GenericDependencies[Prop]["createImplementation"]> : GenericDependencies[Prop] extends UseCaseHandler ? ReturnType<GenericDependencies[Prop]["getUseCase"]> : never;
|
|
5
|
+
[Prop in keyof GenericDependencies as (Prop extends string ? Uncapitalize<Prop> : Prop)]: GenericDependencies[Prop] extends RepositoryHandler ? ReturnType<GenericDependencies[Prop]["createImplementation"]> : GenericDependencies[Prop] extends UseCaseHandler ? ReturnType<GenericDependencies[Prop]["getUseCase"]> : never;
|
|
6
6
|
}>;
|
|
7
7
|
export type GetAllRepositories<GenericDependenciesValue extends UseCaseDependencies> = GenericDependenciesValue extends any ? ({
|
|
8
8
|
[Prop in keyof GenericDependenciesValue]: (GenericDependenciesValue[Prop] extends RepositoryHandler ? [
|
|
9
|
-
Prop,
|
|
9
|
+
(Prop extends string ? Uncapitalize<Prop> : Prop),
|
|
10
10
|
ReturnType<GenericDependenciesValue[Prop]["createImplementation"]>
|
|
11
11
|
] : GenericDependenciesValue[Prop] extends UseCaseHandler ? GetAllRepositories<GenericDependenciesValue[Prop]["dependencies"]> : never);
|
|
12
12
|
})[keyof GenericDependenciesValue] : never;
|
package/dist/clean/useCase.mjs
CHANGED
|
@@ -2,6 +2,7 @@ import { createCleanKind } from './kind.mjs';
|
|
|
2
2
|
import { pipe } from '../common/pipe.mjs';
|
|
3
3
|
import { map } from '../array/map.mjs';
|
|
4
4
|
import { entry } from '../object/entry.mjs';
|
|
5
|
+
import { uncapitalize } from '../string/uncapitalize.mjs';
|
|
5
6
|
import { entries } from '../object/entries.mjs';
|
|
6
7
|
import { fromEntries } from '../object/fromEntries.mjs';
|
|
7
8
|
|
|
@@ -9,13 +10,13 @@ const useCaseHandlerKind = createCleanKind("use-case-handler");
|
|
|
9
10
|
function createUseCase(dependencies, getUseCase) {
|
|
10
11
|
return useCaseHandlerKind.setTo({
|
|
11
12
|
dependencies,
|
|
12
|
-
getUseCase: (repositories) => getUseCase(pipe(dependencies, entries, map(([key, value]) => entry(key, useCaseHandlerKind.has(value)
|
|
13
|
+
getUseCase: (repositories) => getUseCase(pipe(dependencies, entries, map(([key, value]) => entry(uncapitalize(key), useCaseHandlerKind.has(value)
|
|
13
14
|
? value.getUseCase(repositories)
|
|
14
|
-
: repositories[key])), fromEntries)),
|
|
15
|
+
: repositories[uncapitalize(key)])), fromEntries)),
|
|
15
16
|
});
|
|
16
17
|
}
|
|
17
18
|
function useCaseInstances(useCases, repositories) {
|
|
18
|
-
return pipe(useCases, entries, map(([key, useCase]) => entry(key, useCase.getUseCase(repositories))), fromEntries);
|
|
19
|
+
return pipe(useCases, entries, map(([key, useCase]) => entry(uncapitalize(key), useCase.getUseCase(repositories))), fromEntries);
|
|
19
20
|
}
|
|
20
21
|
|
|
21
22
|
export { createUseCase, useCaseHandlerKind, useCaseInstances };
|
package/dist/common/index.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export * from "./simpleClone";
|
|
|
13
13
|
export * from "./sleep";
|
|
14
14
|
export * from "./stringToBytes";
|
|
15
15
|
export * from "./stringToMillisecond";
|
|
16
|
-
export * from "./
|
|
16
|
+
export * from "./toJSON";
|
|
17
17
|
export * from "./toTransform";
|
|
18
18
|
export * from "./toWrappedValue";
|
|
19
19
|
export * from "./unwrap";
|
|
@@ -5,7 +5,7 @@ export type ToJSON<GenericValue extends unknown> = GenericValue extends number |
|
|
|
5
5
|
}) ? ReturnType<GenericValue["toJSON"]> : GenericValue extends [infer InferredFirst, ...infer InferredRest] ? [
|
|
6
6
|
ToJSON<InferredFirst>,
|
|
7
7
|
...(ToJSON<InferredRest> extends infer InferredSubRest extends any[] ? IsEqual<InferredSubRest, never[]> extends false ? InferredSubRest : [] : [])
|
|
8
|
-
] : GenericValue extends any[] ? ToJSON<GenericValue[number]>[] : GenericValue extends
|
|
8
|
+
] : GenericValue extends any[] ? ToJSON<GenericValue[number]>[] : GenericValue extends object ? {
|
|
9
9
|
[Prop in keyof GenericValue as GenericValue[Prop] extends AnyFunction ? never : Prop]: ToJSON<GenericValue[Prop]>;
|
|
10
10
|
} : undefined;
|
|
11
11
|
export declare function toJSON<GenericValue extends unknown>(value: GenericValue): ToJSON<GenericValue>;
|
|
@@ -10,10 +10,22 @@ var override = require('../../common/override.cjs');
|
|
|
10
10
|
|
|
11
11
|
function object(shape, definition) {
|
|
12
12
|
const self = baseExtended.dataParserExtendedInit(index.object(shape, definition), {
|
|
13
|
-
omit: (self, omitObject, definition) =>
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
omit: (self, omitObject, definition) => {
|
|
14
|
+
const newShape = omit.omitShape(self.definition.shape, omitObject);
|
|
15
|
+
return object(newShape, definition);
|
|
16
|
+
},
|
|
17
|
+
pick: (self, pickObject, definition) => {
|
|
18
|
+
const newShape = pick.pickShape(self.definition.shape, pickObject);
|
|
19
|
+
return object(newShape, definition);
|
|
20
|
+
},
|
|
21
|
+
partial: (self, definition) => {
|
|
22
|
+
const newShape = partial.partialShape(self.definition.shape);
|
|
23
|
+
return object(newShape, definition);
|
|
24
|
+
},
|
|
25
|
+
required: (self, definition) => {
|
|
26
|
+
const newShape = required.requiredShape(self.definition.shape);
|
|
27
|
+
return object(newShape, definition);
|
|
28
|
+
},
|
|
17
29
|
});
|
|
18
30
|
return object.overrideHandler.apply(self);
|
|
19
31
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type FixDeepFunctionInfer, type Kind, type NeverCoalescing } from "../../common";
|
|
1
|
+
import { type Adaptor, type FixDeepFunctionInfer, type Kind, type NeverCoalescing, type SimplifyTopLevel } from "../../common";
|
|
2
2
|
import { type DataParserExtended } from "../baseExtended";
|
|
3
3
|
import { type AddCheckersToDefinition, type MergeDefinition } from "../types";
|
|
4
4
|
import * as dataParsers from "../parsers";
|
|
@@ -16,10 +16,18 @@ export interface DataParserObjectExtended<GenericDefinition extends dataParsers.
|
|
|
16
16
|
refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserObjectExtended<AddCheckersToDefinition<GenericDefinition, [
|
|
17
17
|
dataParsers.CheckerRefineImplementation<Output<this>>
|
|
18
18
|
]>>;
|
|
19
|
-
omit<const GenericOmitObject extends Partial<Record<keyof GenericDefinition["shape"], true>>, const GenericSubDefinition extends Partial<Omit<dataParsers.DataParserDefinitionObject, "shape" | "optimizedShape">> = never>(omitObject: GenericOmitObject, definition?: GenericDefinition):
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
omit<const GenericOmitObject extends Partial<Record<keyof GenericDefinition["shape"], true>>, const GenericSubDefinition extends Partial<Omit<dataParsers.DataParserDefinitionObject, "shape" | "optimizedShape">> = never>(omitObject: GenericOmitObject, definition?: GenericDefinition): DataParserObjectExtended<MergeDefinition<dataParsers.DataParserDefinitionObject, NeverCoalescing<GenericSubDefinition, {}> & {
|
|
20
|
+
readonly shape: SimplifyTopLevel<Omit<GenericDefinition["shape"], keyof GenericOmitObject>>;
|
|
21
|
+
}>>;
|
|
22
|
+
pick<const GenericPickObject extends Partial<Record<keyof GenericDefinition["shape"], true>>, const GenericSubDefinition extends Partial<Omit<dataParsers.DataParserDefinitionObject, "shape" | "optimizedShape">> = never>(pickObject: GenericPickObject, definition?: GenericDefinition): DataParserObjectExtended<MergeDefinition<dataParsers.DataParserDefinitionObject, NeverCoalescing<GenericSubDefinition, {}> & {
|
|
23
|
+
readonly shape: SimplifyTopLevel<Pick<GenericDefinition["shape"], Adaptor<keyof GenericPickObject, keyof GenericDefinition["shape"]>>>;
|
|
24
|
+
}>>;
|
|
25
|
+
partial<const GenericSubDefinition extends Partial<Omit<dataParsers.DataParserDefinitionObject, "shape" | "optimizedShape">> = never>(definition?: GenericDefinition): DataParserObjectExtended<MergeDefinition<dataParsers.DataParserDefinitionObject, NeverCoalescing<GenericSubDefinition, {}> & {
|
|
26
|
+
readonly shape: dataParsers.PartialDataParserObject<GenericDefinition["shape"]>;
|
|
27
|
+
}>>;
|
|
28
|
+
required<const GenericSubDefinition extends Partial<Omit<dataParsers.DataParserDefinitionObject, "shape" | "optimizedShape">> = never>(definition?: GenericDefinition): DataParserObjectExtended<MergeDefinition<dataParsers.DataParserDefinitionObject, NeverCoalescing<GenericSubDefinition, {}> & {
|
|
29
|
+
readonly shape: dataParsers.RequireDataParserObject<GenericDefinition["shape"]>;
|
|
30
|
+
}>>;
|
|
23
31
|
}
|
|
24
32
|
export declare function object<const GenericShape extends dataParsers.DataParserObjectShape, const GenericDefinition extends Partial<Omit<dataParsers.DataParserDefinitionObject, "shape">> = never>(shape: GenericShape, definition?: GenericDefinition): DataParserObjectExtended<MergeDefinition<dataParsers.DataParserDefinitionObject, NeverCoalescing<GenericDefinition, {}> & {
|
|
25
33
|
shape: GenericShape;
|
|
@@ -1,17 +1,29 @@
|
|
|
1
1
|
import { dataParserExtendedInit } from '../baseExtended.mjs';
|
|
2
2
|
import { object as object$1 } from '../parsers/object/index.mjs';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
3
|
+
import { requiredShape } from '../parsers/object/required.mjs';
|
|
4
|
+
import { partialShape } from '../parsers/object/partial.mjs';
|
|
5
|
+
import { pickShape } from '../parsers/object/pick.mjs';
|
|
6
|
+
import { omitShape } from '../parsers/object/omit.mjs';
|
|
7
7
|
import { createOverride } from '../../common/override.mjs';
|
|
8
8
|
|
|
9
9
|
function object(shape, definition) {
|
|
10
10
|
const self = dataParserExtendedInit(object$1(shape, definition), {
|
|
11
|
-
omit: (self, omitObject, definition) =>
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
omit: (self, omitObject, definition) => {
|
|
12
|
+
const newShape = omitShape(self.definition.shape, omitObject);
|
|
13
|
+
return object(newShape, definition);
|
|
14
|
+
},
|
|
15
|
+
pick: (self, pickObject, definition) => {
|
|
16
|
+
const newShape = pickShape(self.definition.shape, pickObject);
|
|
17
|
+
return object(newShape, definition);
|
|
18
|
+
},
|
|
19
|
+
partial: (self, definition) => {
|
|
20
|
+
const newShape = partialShape(self.definition.shape);
|
|
21
|
+
return object(newShape, definition);
|
|
22
|
+
},
|
|
23
|
+
required: (self, definition) => {
|
|
24
|
+
const newShape = requiredShape(self.definition.shape);
|
|
25
|
+
return object(newShape, definition);
|
|
26
|
+
},
|
|
15
27
|
});
|
|
16
28
|
return object.overrideHandler.apply(self);
|
|
17
29
|
}
|
|
@@ -8,7 +8,7 @@ import { type DataParser } from "./base";
|
|
|
8
8
|
* parsers, the correct type can be retrieved.
|
|
9
9
|
*/
|
|
10
10
|
export declare const identifier: {
|
|
11
|
-
<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/bigint", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/extended", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/boolean", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/date", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/empty", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/nil", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/number", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/string", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/array", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/transform", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/union", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/pipe", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/nullable", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/optional", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/recover", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/lazy", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/literal", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/object", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/
|
|
11
|
+
<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/bigint", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/extended", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/boolean", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/date", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/empty", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/nil", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/number", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/string", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/array", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/transform", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/union", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/pipe", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/nullable", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/optional", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/recover", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/lazy", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/literal", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/object", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/tuple", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/template-literal", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/unknown", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/record", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/base", {
|
|
12
12
|
input: string;
|
|
13
13
|
output: string;
|
|
14
14
|
}>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/base", {
|
|
@@ -57,7 +57,7 @@ export declare const identifier: {
|
|
|
57
57
|
input: unknown[];
|
|
58
58
|
output: unknown[];
|
|
59
59
|
}>>, GenericInput extends DataParser<import("./base").DataParserDefinition<import("./base").DataParserChecker<import("./base").DataParserCheckerDefinition, unknown>>, unknown, unknown>, GenericResult extends Extract<DataParser<import("./base").DataParserDefinition<import("./base").DataParserChecker<import("./base").DataParserCheckerDefinition, unknown>>, unknown, unknown>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./parsers").DataParserString<import("./parsers").DataParserDefinitionString>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./parsers").DataParserObject<import("./parsers").DataParserDefinitionObject>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./parsers").DataParserNumber<import("./parsers").DataParserDefinitionNumber>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./parsers").DataParserLiteral<import("./parsers").DataParserDefinitionLiteral>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./parsers").DataParserUnion<import("./parsers").DataParserDefinitionUnion>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./parsers").DataParserArray<import("./parsers").DataParserDefinitionArray>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./parsers").DataParserBigInt<import("./parsers").DataParserDefinitionBigInt>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./parsers").DataParserTuple<import("./parsers").DataParserDefinitionTuple>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./parsers").DataParserTransform<import("./parsers").DataParserDefinitionTransform>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./parsers").DataParserBoolean<import("./parsers").DataParserDefinitionBoolean>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./parsers").DataParserDate<import("./parsers").DataParserDefinitionDate>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./parsers").DataParserNil<import("./parsers").DataParserDefinitionNil>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./parsers").DataParserEmpty<import("./parsers").DataParserDefinitionEmpty>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./parsers").DataParserTemplateLiteral<import("./parsers").DataParserDefinitionTemplateLiteral>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./parsers").DataParserPipe<import("./parsers").DataParserDefinitionPipe>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./parsers").DataParserNullable<import("./parsers").DataParserDefinitionNullable<unknown>>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./parsers").DataParserOptional<import("./parsers").DataParserDefinitionOptional<unknown>>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./parsers").DataParserLazy<import("./parsers").DataParserDefinitionLazy>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./parsers").DataParserUnknown<import("./parsers").DataParserDefinitionUnknown>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./parsers").DataParserRecord<import("./parsers").DataParserDefinitionRecord>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./parsers").DataParserRecover<import("./parsers").DataParserDefinitionRecover>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./baseExtended").DataParserExtended<import("./base").DataParserDefinition<import("./base").DataParserChecker<import("./base").DataParserCheckerDefinition, unknown>>, unknown, unknown>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./extended").DataParserStringExtended<import("./parsers").DataParserDefinitionString>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./extended").DataParserObjectExtended<import("./parsers").DataParserDefinitionObject>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./extended").DataParserNumberExtended<import("./parsers").DataParserDefinitionNumber>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./extended").DataParserLiteralExtended<import("./parsers").DataParserDefinitionLiteral>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./extended").DataParserUnionExtended<import("./parsers").DataParserDefinitionUnion>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./extended").DataParserArrayExtended<import("./parsers").DataParserDefinitionArray>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./extended").DataParserBigIntExtended<import("./parsers").DataParserDefinitionBigInt>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./extended").DataParserTupleExtended<import("./parsers").DataParserDefinitionTuple>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./extended").DataParserTransformExtended<import("./parsers").DataParserDefinitionTransform>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./extended").DataParserBooleanExtended<import("./parsers").DataParserDefinitionBoolean>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./extended").DataParserDateExtended<import("./parsers").DataParserDefinitionDate>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./extended").DataParserNilExtended<import("./parsers").DataParserDefinitionNil>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./extended").DataParserEmptyExtended<import("./parsers").DataParserDefinitionEmpty>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./extended").DataParserTemplateLiteralExtended<import("./parsers").DataParserDefinitionTemplateLiteral>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./extended").DataParserPipeExtended<import("./parsers").DataParserDefinitionPipe>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./extended").DataParserNullableExtended<import("./parsers").DataParserDefinitionNullable<unknown>>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./extended").DataParserOptionalExtended<import("./parsers").DataParserDefinitionOptional<unknown>>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./extended").DataParserLazyExtended<import("./parsers").DataParserDefinitionLazy>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./extended").DataParserUnknownExtended<import("./parsers").DataParserDefinitionUnknown>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./extended").DataParserRecordExtended<import("./parsers").DataParserDefinitionRecord>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./extended").DataParserRecoverExtended<import("./parsers").DataParserDefinitionRecover>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>>>(kind: GenericKindHandler | GenericKindHandler[]): (input: GenericInput) => import("../either").EitherSuccess<GenericResult> | (GenericInput extends any ? import("../common").IsEqual<GenericKindHandler extends any ? import("../common").IsEqual<false | (import("../common").GetKindHandler<GenericInput> extends infer T ? T extends import("../common").GetKindHandler<GenericInput> ? T extends any ? import("../common").IsEqual<T, GenericKindHandler> : never : never : never), boolean> : never, true> extends true ? import("../either").EitherSuccess<GenericInput> : import("../either").EitherError<GenericInput> : never);
|
|
60
|
-
<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/bigint", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/extended", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/boolean", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/date", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/empty", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/nil", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/number", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/string", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/array", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/transform", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/union", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/pipe", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/nullable", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/optional", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/recover", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/lazy", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/literal", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/object", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/
|
|
60
|
+
<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/bigint", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/extended", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/boolean", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/date", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/empty", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/nil", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/number", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/string", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/array", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/transform", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/union", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/pipe", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/nullable", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/optional", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/recover", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/lazy", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/literal", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/object", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/tuple", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/template-literal", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/unknown", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/record", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/base", {
|
|
61
61
|
input: string;
|
|
62
62
|
output: string;
|
|
63
63
|
}>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/base", {
|
|
@@ -87,9 +87,13 @@ exports.checkerStringRegexKind = regex.checkerStringRegexKind;
|
|
|
87
87
|
exports.string = index$2.string;
|
|
88
88
|
exports.stringKind = index$2.stringKind;
|
|
89
89
|
exports.omit = omit.omit;
|
|
90
|
+
exports.omitShape = omit.omitShape;
|
|
90
91
|
exports.pick = pick.pick;
|
|
92
|
+
exports.pickShape = pick.pickShape;
|
|
91
93
|
exports.partial = partial.partial;
|
|
94
|
+
exports.partialShape = partial.partialShape;
|
|
92
95
|
exports.required = required.required;
|
|
96
|
+
exports.requiredShape = required.requiredShape;
|
|
93
97
|
exports.object = index$3.object;
|
|
94
98
|
exports.objectKind = index$3.objectKind;
|
|
95
99
|
exports.checkerInt = int.checkerInt;
|
|
@@ -12,10 +12,10 @@ export { checkerStringMax, checkerStringMaxKind } from './parsers/string/checker
|
|
|
12
12
|
export { checkerStringMin, checkerStringMinKind } from './parsers/string/checkers/min.mjs';
|
|
13
13
|
export { checkerStringRegex, checkerStringRegexKind } from './parsers/string/checkers/regex.mjs';
|
|
14
14
|
export { string, stringKind } from './parsers/string/index.mjs';
|
|
15
|
-
export { omit } from './parsers/object/omit.mjs';
|
|
16
|
-
export { pick } from './parsers/object/pick.mjs';
|
|
17
|
-
export { partial } from './parsers/object/partial.mjs';
|
|
18
|
-
export { required } from './parsers/object/required.mjs';
|
|
15
|
+
export { omit, omitShape } from './parsers/object/omit.mjs';
|
|
16
|
+
export { pick, pickShape } from './parsers/object/pick.mjs';
|
|
17
|
+
export { partial, partialShape } from './parsers/object/partial.mjs';
|
|
18
|
+
export { required, requiredShape } from './parsers/object/required.mjs';
|
|
19
19
|
export { object, objectKind } from './parsers/object/index.mjs';
|
|
20
20
|
export { checkerInt, checkerIntKind, int } from './parsers/number/checkers/int.mjs';
|
|
21
21
|
export { checkerNumberMin, checkerNumberMinKind } from './parsers/number/checkers/min.mjs';
|
|
@@ -8,7 +8,7 @@ export * from "./checkers";
|
|
|
8
8
|
export interface DataParserArrayCheckerCustom<GenericInput extends unknown[] = unknown[]> {
|
|
9
9
|
}
|
|
10
10
|
export type DataParserArrayCheckers<GenericInput extends unknown[] = unknown[]> = (DataParserArrayCheckerCustom<GenericInput>[GetPropsWithValueExtends<DataParserArrayCheckerCustom<GenericInput>, DataParserChecker>] | DataParserCheckerArrayMin | DataParserCheckerArrayMax | CheckerRefineImplementation<GenericInput>);
|
|
11
|
-
export interface DataParserDefinitionArray extends DataParserDefinition {
|
|
11
|
+
export interface DataParserDefinitionArray extends DataParserDefinition<DataParserArrayCheckers> {
|
|
12
12
|
readonly element: DataParser;
|
|
13
13
|
}
|
|
14
14
|
export declare const arrayKind: import("../../../common").KindHandler<import("../../../common").KindDefinition<"@DuplojsUtilsDataParser/array", unknown>>;
|
|
@@ -7,9 +7,13 @@ var isKeyof = require('../../../string/isKeyof.cjs');
|
|
|
7
7
|
var entries = require('../../../object/entries.cjs');
|
|
8
8
|
var fromEntries = require('../../../object/fromEntries.cjs');
|
|
9
9
|
|
|
10
|
+
function omitShape(shape, omitObject) {
|
|
11
|
+
return pipe.pipe(shape, entries.entries, filter.filter(([key]) => !isKeyof.isKeyof(key, omitObject)), fromEntries.fromEntries);
|
|
12
|
+
}
|
|
10
13
|
function omit(dataParser, omitObject, definition) {
|
|
11
|
-
const newShape =
|
|
14
|
+
const newShape = omitShape(dataParser.definition.shape, omitObject);
|
|
12
15
|
return index.object(newShape, definition);
|
|
13
16
|
}
|
|
14
17
|
|
|
15
18
|
exports.omit = omit;
|
|
19
|
+
exports.omitShape = omitShape;
|