@duplojs/utils 1.3.21 → 1.3.23
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/index.d.ts +1 -0
- package/dist/clean/newType.d.ts +2 -1
- package/dist/clean/repository.d.ts +4 -4
- package/dist/clean/types/dataParserContainTransform.d.ts +6 -0
- package/dist/clean/types/index.d.ts +1 -0
- 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/base.d.ts +3 -0
- package/dist/dataParser/baseExtended.d.ts +3 -0
- package/dist/dataParser/extended/array.d.ts +3 -0
- package/dist/dataParser/extended/bigint.d.ts +3 -0
- package/dist/dataParser/extended/boolean.d.ts +3 -0
- package/dist/dataParser/extended/date.d.ts +3 -0
- package/dist/dataParser/extended/empty.d.ts +3 -0
- package/dist/dataParser/extended/lazy.d.ts +3 -0
- package/dist/dataParser/extended/literal.d.ts +3 -0
- package/dist/dataParser/extended/nil.d.ts +3 -0
- package/dist/dataParser/extended/nullable.d.ts +3 -0
- package/dist/dataParser/extended/number.d.ts +3 -0
- package/dist/dataParser/extended/object.cjs +16 -4
- package/dist/dataParser/extended/object.d.ts +16 -5
- package/dist/dataParser/extended/object.mjs +20 -8
- package/dist/dataParser/extended/optional.d.ts +3 -0
- package/dist/dataParser/extended/pipe.d.ts +3 -0
- package/dist/dataParser/extended/record.d.ts +3 -0
- package/dist/dataParser/extended/recover.d.ts +3 -0
- package/dist/dataParser/extended/string.d.ts +3 -0
- package/dist/dataParser/extended/templateLiteral.d.ts +3 -0
- package/dist/dataParser/extended/transform.d.ts +3 -0
- package/dist/dataParser/extended/tuple.d.ts +3 -0
- package/dist/dataParser/extended/union.d.ts +3 -0
- package/dist/dataParser/extended/unknown.d.ts +3 -0
- 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 +4 -1
- package/dist/dataParser/parsers/bigint/index.d.ts +3 -0
- package/dist/dataParser/parsers/boolean.d.ts +3 -0
- package/dist/dataParser/parsers/date.d.ts +3 -0
- package/dist/dataParser/parsers/empty.d.ts +3 -0
- package/dist/dataParser/parsers/lazy.d.ts +3 -0
- package/dist/dataParser/parsers/literal.d.ts +3 -0
- package/dist/dataParser/parsers/nil.d.ts +3 -0
- package/dist/dataParser/parsers/nullable.d.ts +3 -0
- package/dist/dataParser/parsers/number/index.d.ts +3 -0
- package/dist/dataParser/parsers/object/index.d.ts +3 -0
- 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/optional.d.ts +3 -0
- package/dist/dataParser/parsers/pipe.d.ts +3 -0
- package/dist/dataParser/parsers/record/index.d.ts +3 -0
- package/dist/dataParser/parsers/recover.d.ts +3 -0
- 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/dataParser/parsers/string/index.d.ts +3 -0
- package/dist/dataParser/parsers/templateLiteral/index.d.ts +3 -0
- package/dist/dataParser/parsers/transform.d.ts +3 -0
- package/dist/dataParser/parsers/tuple.d.ts +3 -0
- package/dist/dataParser/parsers/union.d.ts +3 -0
- package/dist/dataParser/parsers/unknown.d.ts +3 -0
- package/dist/dataParser/types/contain.d.ts +4 -0
- package/dist/dataParser/types/index.d.ts +1 -0
- package/dist/either/future/create.d.ts +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.mjs +1 -1
- package/dist/metadata.json +4433 -0
- 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
|
|
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 {};
|
package/dist/clean/index.d.ts
CHANGED
package/dist/clean/newType.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import { type Primitive, type EligiblePrimitive } from "./primitive";
|
|
|
4
4
|
import * as DEither from "../either";
|
|
5
5
|
import * as DArray from "../array";
|
|
6
6
|
import type * as DDataParser from "../dataParser";
|
|
7
|
+
import { type DataParserContainTransform } from "./types";
|
|
7
8
|
export declare const newTypeKind: import("..").KindHandler<import("..").KindDefinition<"@DuplojsUtilsClean/new-type", string>>;
|
|
8
9
|
type _NewType<GenericName extends string, GenericValue extends unknown, GenericConstrainName extends string> = (Kind<typeof newTypeKind.definition, GenericName> & Kind<typeof constrainedTypeKind.definition, Record<GenericConstrainName, unknown>> & WrappedValue<GenericValue>);
|
|
9
10
|
export interface NewType<GenericName extends string = string, GenericValue extends unknown = unknown, GenericConstrainName extends string = never> extends _NewType<GenericName, GenericValue, GenericConstrainName> {
|
|
@@ -33,6 +34,6 @@ export declare class CreateNewTypeError extends CreateNewTypeError_base {
|
|
|
33
34
|
export declare function createNewType<GenericName extends string, GenericDataParser extends DDataParser.DataParser, const GenericConstrainHandler extends (ConstraintHandler<string, EligiblePrimitive, readonly DDataParser.DataParserChecker<DDataParser.DataParserCheckerDefinition, DDataParser.Output<GenericDataParser>>[]> | readonly [
|
|
34
35
|
ConstraintHandler<string, EligiblePrimitive, readonly DDataParser.DataParserChecker<DDataParser.DataParserCheckerDefinition, DDataParser.Output<GenericDataParser>>[]>,
|
|
35
36
|
...ConstraintHandler<string, EligiblePrimitive, readonly DDataParser.DataParserChecker<DDataParser.DataParserCheckerDefinition, DDataParser.Output<GenericDataParser>>[]>[]
|
|
36
|
-
]) = never>(name: GenericName, dataParser: GenericDataParser
|
|
37
|
+
]) = never>(name: GenericName, dataParser: GenericDataParser & DataParserContainTransform<GenericDataParser>, constraint?: GenericConstrainHandler): NewTypeHandler<GenericName, DDataParser.Output<GenericDataParser>, DArray.ArrayCoalescing<NeverCoalescing<GenericConstrainHandler, readonly []>>>;
|
|
37
38
|
export type GetNewType<GenericHandler extends NewTypeHandler<string, unknown, readonly any[]>> = Extract<GenericHandler extends any ? NewType<GenericHandler["name"], DDataParser.Output<GenericHandler["dataParser"]>, GenericHandler["constrains"][number]["name"]> : never, any>;
|
|
38
39
|
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>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type * as DDataParser from "../../dataParser";
|
|
2
|
+
declare const SymbolErrorForbidden: unique symbol;
|
|
3
|
+
export type DataParserContainTransform<GenericDataParser extends DDataParser.DataParser> = DDataParser.Contain<GenericDataParser, DDataParser.DataParserTransform> extends true ? {
|
|
4
|
+
[SymbolErrorForbidden]: "It is forbidden to use a transform dataParser.";
|
|
5
|
+
} : GenericDataParser;
|
|
6
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./dataParserContainTransform";
|
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>;
|
|
@@ -33,6 +33,9 @@ export interface DataParser<GenericDefinition extends DataParserDefinition = Dat
|
|
|
33
33
|
asyncParse(data: unknown): Promise<DEither.EitherSuccess<GenericOutput> | DEither.EitherError<DataParserError>>;
|
|
34
34
|
addChecker(...args: never): DataParser;
|
|
35
35
|
clone(): this;
|
|
36
|
+
/**
|
|
37
|
+
* @deprecated Method with unreliable typing.
|
|
38
|
+
*/
|
|
36
39
|
construct(definition: never): DataParser;
|
|
37
40
|
}
|
|
38
41
|
interface DataParserInitExecParams<GenericDataParser extends DataParser> {
|
|
@@ -43,6 +43,9 @@ export interface DataParserExtended<GenericDefinition extends DataParserDefiniti
|
|
|
43
43
|
inner: GenericThis;
|
|
44
44
|
recoveredValue: GenericRecoveredValue;
|
|
45
45
|
}>>;
|
|
46
|
+
/**
|
|
47
|
+
* @deprecated Method with unreliable typing.
|
|
48
|
+
*/
|
|
46
49
|
construct(definition: never): DataParserExtended;
|
|
47
50
|
}
|
|
48
51
|
export declare function dataParserExtendedInit<GenericDataParser extends DataParser, GenericDataParserExtended extends GenericDataParser & DataParserExtended>(dataParser: NoInfer<GenericDataParser>, rest: NoInfer<{
|
|
@@ -12,6 +12,9 @@ export interface DataParserArrayExtended<GenericDefinition extends dataParsers.D
|
|
|
12
12
|
dataParsers.DataParserArrayCheckers<Output<this>>,
|
|
13
13
|
...dataParsers.DataParserArrayCheckers<Output<this>>[]
|
|
14
14
|
], GenericChecker>): DataParserArrayExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
|
|
15
|
+
/**
|
|
16
|
+
* @deprecated Method with unreliable typing.
|
|
17
|
+
*/
|
|
15
18
|
construct<const GenericDefinition extends dataParsers.DataParserDefinitionArray>(definition: GenericDefinition): DataParserArrayExtended<MergeDefinition<dataParsers.DataParserDefinitionArray, GenericDefinition>>;
|
|
16
19
|
refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserArrayExtended<AddCheckersToDefinition<GenericDefinition, [
|
|
17
20
|
dataParsers.CheckerRefineImplementation<Output<this>>
|
|
@@ -12,6 +12,9 @@ export interface DataParserBigIntExtended<GenericDefinition extends dataParsers.
|
|
|
12
12
|
dataParsers.DataParserBigIntCheckers,
|
|
13
13
|
...dataParsers.DataParserBigIntCheckers[]
|
|
14
14
|
], GenericChecker>): DataParserBigIntExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
|
|
15
|
+
/**
|
|
16
|
+
* @deprecated Method with unreliable typing.
|
|
17
|
+
*/
|
|
15
18
|
construct<const GenericDefinition extends dataParsers.DataParserDefinitionBigInt>(definition: GenericDefinition): DataParserBigIntExtended<MergeDefinition<dataParsers.DataParserDefinitionBigInt, GenericDefinition>>;
|
|
16
19
|
refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserBigIntExtended<AddCheckersToDefinition<GenericDefinition, [
|
|
17
20
|
dataParsers.CheckerRefineImplementation<Output<this>>
|
|
@@ -12,6 +12,9 @@ export interface DataParserBooleanExtended<GenericDefinition extends dataParsers
|
|
|
12
12
|
dataParsers.DataParserBooleanCheckers,
|
|
13
13
|
...dataParsers.DataParserBooleanCheckers[]
|
|
14
14
|
], GenericChecker>): DataParserBooleanExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
|
|
15
|
+
/**
|
|
16
|
+
* @deprecated Method with unreliable typing.
|
|
17
|
+
*/
|
|
15
18
|
construct<const GenericDefinition extends dataParsers.DataParserDefinitionBoolean>(definition: GenericDefinition): DataParserBooleanExtended<MergeDefinition<dataParsers.DataParserDefinitionBoolean, GenericDefinition>>;
|
|
16
19
|
refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserBooleanExtended<AddCheckersToDefinition<GenericDefinition, [
|
|
17
20
|
dataParsers.CheckerRefineImplementation<Output<this>>
|
|
@@ -13,6 +13,9 @@ export interface DataParserDateExtended<GenericDefinition extends dataParsers.Da
|
|
|
13
13
|
dataParsers.DataParserDateCheckers,
|
|
14
14
|
...dataParsers.DataParserDateCheckers[]
|
|
15
15
|
], GenericChecker>): DataParserDateExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
|
|
16
|
+
/**
|
|
17
|
+
* @deprecated Method with unreliable typing.
|
|
18
|
+
*/
|
|
16
19
|
construct<const GenericDefinition extends dataParsers.DataParserDefinitionDate>(definition: GenericDefinition): DataParserDateExtended<MergeDefinition<dataParsers.DataParserDefinitionDate, GenericDefinition>>;
|
|
17
20
|
refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserDateExtended<AddCheckersToDefinition<GenericDefinition, [
|
|
18
21
|
dataParsers.CheckerRefineImplementation<Output<this>>
|
|
@@ -12,6 +12,9 @@ export interface DataParserEmptyExtended<GenericDefinition extends dataParsers.D
|
|
|
12
12
|
dataParsers.DataParserEmptyCheckers,
|
|
13
13
|
...dataParsers.DataParserEmptyCheckers[]
|
|
14
14
|
], GenericChecker>): DataParserEmptyExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
|
|
15
|
+
/**
|
|
16
|
+
* @deprecated Method with unreliable typing.
|
|
17
|
+
*/
|
|
15
18
|
construct<const GenericDefinition extends dataParsers.DataParserDefinitionEmpty>(definition: GenericDefinition): DataParserEmptyExtended<MergeDefinition<dataParsers.DataParserDefinitionEmpty, GenericDefinition>>;
|
|
16
19
|
refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserEmptyExtended<AddCheckersToDefinition<GenericDefinition, [
|
|
17
20
|
dataParsers.CheckerRefineImplementation<Output<this>>
|
|
@@ -12,6 +12,9 @@ export interface DataParserLazyExtended<GenericDefinition extends dataParsers.Da
|
|
|
12
12
|
dataParsers.DataParserLazyCheckers<Output<this>>,
|
|
13
13
|
...dataParsers.DataParserLazyCheckers<Output<this>>[]
|
|
14
14
|
], GenericChecker>): DataParserLazyExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
|
|
15
|
+
/**
|
|
16
|
+
* @deprecated Method with unreliable typing.
|
|
17
|
+
*/
|
|
15
18
|
construct<const GenericDefinition extends dataParsers.DataParserDefinitionLazy>(definition: GenericDefinition): DataParserLazyExtended<MergeDefinition<dataParsers.DataParserDefinitionLazy, GenericDefinition>>;
|
|
16
19
|
refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserLazyExtended<AddCheckersToDefinition<GenericDefinition, [
|
|
17
20
|
dataParsers.CheckerRefineImplementation<Output<this>>
|
|
@@ -12,6 +12,9 @@ export interface DataParserLiteralExtended<GenericDefinition extends dataParsers
|
|
|
12
12
|
dataParsers.DataParserLiteralCheckers<Output<this>>,
|
|
13
13
|
...dataParsers.DataParserLiteralCheckers<Output<this>>[]
|
|
14
14
|
], GenericChecker>): DataParserLiteralExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
|
|
15
|
+
/**
|
|
16
|
+
* @deprecated Method with unreliable typing.
|
|
17
|
+
*/
|
|
15
18
|
construct<const GenericDefinition extends dataParsers.DataParserDefinitionLiteral>(definition: GenericDefinition): DataParserLiteralExtended<MergeDefinition<dataParsers.DataParserDefinitionLiteral, GenericDefinition>>;
|
|
16
19
|
refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserLiteralExtended<AddCheckersToDefinition<GenericDefinition, [
|
|
17
20
|
dataParsers.CheckerRefineImplementation<Output<this>>
|
|
@@ -12,6 +12,9 @@ export interface DataParserNilExtended<GenericDefinition extends dataParsers.Dat
|
|
|
12
12
|
dataParsers.DataParserNilCheckers,
|
|
13
13
|
...dataParsers.DataParserNilCheckers[]
|
|
14
14
|
], GenericChecker>): DataParserNilExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
|
|
15
|
+
/**
|
|
16
|
+
* @deprecated Method with unreliable typing.
|
|
17
|
+
*/
|
|
15
18
|
construct<const GenericDefinition extends dataParsers.DataParserDefinitionNil>(definition: GenericDefinition): DataParserNilExtended<MergeDefinition<dataParsers.DataParserDefinitionNil, GenericDefinition>>;
|
|
16
19
|
refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserNilExtended<AddCheckersToDefinition<GenericDefinition, [
|
|
17
20
|
dataParsers.CheckerRefineImplementation<Output<this>>
|
|
@@ -12,6 +12,9 @@ export interface DataParserNullableExtended<GenericDefinition extends dataParser
|
|
|
12
12
|
dataParsers.DataParserNullableCheckers<Output<this>>,
|
|
13
13
|
...dataParsers.DataParserNullableCheckers<Output<this>>[]
|
|
14
14
|
], GenericChecker>): DataParserNullableExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
|
|
15
|
+
/**
|
|
16
|
+
* @deprecated Method with unreliable typing.
|
|
17
|
+
*/
|
|
15
18
|
construct<const GenericDefinition extends dataParsers.DataParserDefinitionNullable>(definition: GenericDefinition): DataParserNullableExtended<MergeDefinition<dataParsers.DataParserDefinitionNullable, GenericDefinition>>;
|
|
16
19
|
refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserNullableExtended<AddCheckersToDefinition<GenericDefinition, [
|
|
17
20
|
dataParsers.CheckerRefineImplementation<Output<this>>
|
|
@@ -12,6 +12,9 @@ export interface DataParserNumberExtended<GenericDefinition extends dataParsers.
|
|
|
12
12
|
dataParsers.DataParserNumberCheckers,
|
|
13
13
|
...dataParsers.DataParserNumberCheckers[]
|
|
14
14
|
], GenericChecker>): DataParserNumberExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
|
|
15
|
+
/**
|
|
16
|
+
* @deprecated Method with unreliable typing.
|
|
17
|
+
*/
|
|
15
18
|
construct<const GenericDefinition extends dataParsers.DataParserDefinitionNumber>(definition: GenericDefinition): DataParserNumberExtended<MergeDefinition<dataParsers.DataParserDefinitionNumber, GenericDefinition>>;
|
|
16
19
|
refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserNumberExtended<AddCheckersToDefinition<GenericDefinition, [
|
|
17
20
|
dataParsers.CheckerRefineImplementation<Output<this>>
|
|
@@ -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";
|
|
@@ -12,14 +12,25 @@ export interface DataParserObjectExtended<GenericDefinition extends dataParsers.
|
|
|
12
12
|
dataParsers.DataParserObjectCheckers<Output<this>>,
|
|
13
13
|
...dataParsers.DataParserObjectCheckers<Output<this>>[]
|
|
14
14
|
], GenericChecker>): DataParserObjectExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
|
|
15
|
+
/**
|
|
16
|
+
* @deprecated Method with unreliable typing.
|
|
17
|
+
*/
|
|
15
18
|
construct<const GenericDefinition extends dataParsers.DataParserDefinitionObject>(definition: GenericDefinition): DataParserObjectExtended<MergeDefinition<dataParsers.DataParserDefinitionObject, GenericDefinition>>;
|
|
16
19
|
refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserObjectExtended<AddCheckersToDefinition<GenericDefinition, [
|
|
17
20
|
dataParsers.CheckerRefineImplementation<Output<this>>
|
|
18
21
|
]>>;
|
|
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
|
-
|
|
22
|
+
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, {}> & {
|
|
23
|
+
readonly shape: SimplifyTopLevel<Omit<GenericDefinition["shape"], keyof GenericOmitObject>>;
|
|
24
|
+
}>>;
|
|
25
|
+
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, {}> & {
|
|
26
|
+
readonly shape: SimplifyTopLevel<Pick<GenericDefinition["shape"], Adaptor<keyof GenericPickObject, keyof GenericDefinition["shape"]>>>;
|
|
27
|
+
}>>;
|
|
28
|
+
partial<const GenericSubDefinition extends Partial<Omit<dataParsers.DataParserDefinitionObject, "shape" | "optimizedShape">> = never>(definition?: GenericDefinition): DataParserObjectExtended<MergeDefinition<dataParsers.DataParserDefinitionObject, NeverCoalescing<GenericSubDefinition, {}> & {
|
|
29
|
+
readonly shape: dataParsers.PartialDataParserObject<GenericDefinition["shape"]>;
|
|
30
|
+
}>>;
|
|
31
|
+
required<const GenericSubDefinition extends Partial<Omit<dataParsers.DataParserDefinitionObject, "shape" | "optimizedShape">> = never>(definition?: GenericDefinition): DataParserObjectExtended<MergeDefinition<dataParsers.DataParserDefinitionObject, NeverCoalescing<GenericSubDefinition, {}> & {
|
|
32
|
+
readonly shape: dataParsers.RequireDataParserObject<GenericDefinition["shape"]>;
|
|
33
|
+
}>>;
|
|
23
34
|
}
|
|
24
35
|
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
36
|
shape: GenericShape;
|