@duplojs/utils 1.4.35 → 1.4.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/common/asserts.cjs +23 -0
- package/dist/common/asserts.d.ts +38 -0
- package/dist/common/asserts.mjs +20 -0
- package/dist/common/index.d.ts +2 -1
- package/dist/common/simpleClone.cjs +11 -4
- package/dist/common/simpleClone.mjs +11 -4
- package/dist/common/types/index.d.ts +1 -0
- package/dist/common/types/json.d.ts +4 -0
- package/dist/dataParser/base.cjs +17 -16
- package/dist/dataParser/base.d.ts +35 -3
- package/dist/dataParser/base.mjs +17 -16
- package/dist/dataParser/baseExtended.cjs +3 -0
- package/dist/dataParser/baseExtended.mjs +3 -0
- package/dist/dataParser/parsers/array/index.cjs +2 -2
- package/dist/dataParser/parsers/array/index.mjs +2 -2
- package/dist/dataParser/parsers/bigint/index.cjs +2 -2
- package/dist/dataParser/parsers/bigint/index.mjs +2 -2
- package/dist/dataParser/parsers/boolean.cjs +2 -2
- package/dist/dataParser/parsers/boolean.mjs +2 -2
- package/dist/dataParser/parsers/date.cjs +2 -2
- package/dist/dataParser/parsers/date.mjs +2 -2
- package/dist/dataParser/parsers/empty.cjs +2 -2
- package/dist/dataParser/parsers/empty.mjs +2 -2
- package/dist/dataParser/parsers/lazy.cjs +2 -2
- package/dist/dataParser/parsers/lazy.d.ts +1 -1
- package/dist/dataParser/parsers/lazy.mjs +2 -2
- package/dist/dataParser/parsers/literal.cjs +2 -2
- package/dist/dataParser/parsers/literal.mjs +2 -2
- package/dist/dataParser/parsers/nil.cjs +2 -2
- package/dist/dataParser/parsers/nil.mjs +2 -2
- package/dist/dataParser/parsers/nullable.cjs +2 -2
- package/dist/dataParser/parsers/nullable.d.ts +1 -1
- package/dist/dataParser/parsers/nullable.mjs +2 -2
- package/dist/dataParser/parsers/number/index.cjs +2 -2
- package/dist/dataParser/parsers/number/index.mjs +2 -2
- package/dist/dataParser/parsers/object/index.cjs +2 -2
- package/dist/dataParser/parsers/object/index.mjs +2 -2
- package/dist/dataParser/parsers/optional.cjs +2 -2
- package/dist/dataParser/parsers/optional.d.ts +1 -1
- package/dist/dataParser/parsers/optional.mjs +2 -2
- package/dist/dataParser/parsers/pipe.cjs +2 -2
- package/dist/dataParser/parsers/pipe.mjs +2 -2
- package/dist/dataParser/parsers/record/index.cjs +2 -2
- package/dist/dataParser/parsers/record/index.mjs +2 -2
- package/dist/dataParser/parsers/recover.cjs +2 -2
- package/dist/dataParser/parsers/recover.mjs +2 -2
- package/dist/dataParser/parsers/string/index.cjs +2 -2
- package/dist/dataParser/parsers/string/index.mjs +2 -2
- package/dist/dataParser/parsers/templateLiteral/index.cjs +2 -2
- package/dist/dataParser/parsers/templateLiteral/index.mjs +2 -2
- package/dist/dataParser/parsers/time/index.cjs +2 -2
- package/dist/dataParser/parsers/time/index.mjs +2 -2
- package/dist/dataParser/parsers/transform.cjs +2 -2
- package/dist/dataParser/parsers/transform.mjs +2 -2
- package/dist/dataParser/parsers/tuple.cjs +2 -2
- package/dist/dataParser/parsers/tuple.mjs +2 -2
- package/dist/dataParser/parsers/union.cjs +2 -2
- package/dist/dataParser/parsers/union.mjs +2 -2
- package/dist/dataParser/parsers/unknown.cjs +2 -2
- package/dist/dataParser/parsers/unknown.mjs +2 -2
- package/dist/index.cjs +3 -0
- package/dist/index.mjs +1 -0
- package/dist/metadata.json +21 -0
- package/dist/string/index.cjs +2 -0
- package/dist/string/index.d.ts +2 -1
- package/dist/string/index.mjs +1 -0
- package/dist/string/to.cjs +10 -0
- package/dist/string/to.d.ts +23 -0
- package/dist/string/to.mjs +8 -0
- package/package.json +1 -1
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var errorKindNamespace = require('./errorKindNamespace.cjs');
|
|
4
|
+
var kind = require('./kind.cjs');
|
|
5
|
+
|
|
6
|
+
class AssertsError extends kind.kindHeritage("asserts-error", errorKindNamespace.createErrorKind("asserts-error"), Error) {
|
|
7
|
+
value;
|
|
8
|
+
constructor(value) {
|
|
9
|
+
super({}, ["Asserts Error."]);
|
|
10
|
+
this.value = value;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* {@include common/asserts/index.md}
|
|
15
|
+
*/
|
|
16
|
+
function asserts(input, predicate) {
|
|
17
|
+
if (!predicate(input)) {
|
|
18
|
+
throw new AssertsError(input);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
exports.AssertsError = AssertsError;
|
|
23
|
+
exports.asserts = asserts;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
declare const AssertsError_base: new (params: {
|
|
2
|
+
"@DuplojsUtilsError/asserts-error"?: unknown;
|
|
3
|
+
}, parentParams: [message?: string | undefined, options?: ErrorOptions | undefined]) => Error & import("./kind").Kind<import("./kind").KindDefinition<"asserts-error", unknown>, unknown> & import("./kind").Kind<import("./kind").KindDefinition<"@DuplojsUtilsError/asserts-error", unknown>, unknown>;
|
|
4
|
+
export declare class AssertsError extends AssertsError_base {
|
|
5
|
+
value: unknown;
|
|
6
|
+
constructor(value: unknown);
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* The asserts() function throws when a predicate fails and narrows the input type when it passes.
|
|
10
|
+
*
|
|
11
|
+
* **Supported call styles:**
|
|
12
|
+
* - Classic: `asserts(input, predicate)` → narrows the input type or throws
|
|
13
|
+
*
|
|
14
|
+
* It throws an `AssertsError` with the failing input value.
|
|
15
|
+
*
|
|
16
|
+
* ```ts
|
|
17
|
+
* const input: string | number = "demo";
|
|
18
|
+
* asserts(input, isType("string"));
|
|
19
|
+
*
|
|
20
|
+
* const payload: { id?: number } = { id: 1 };
|
|
21
|
+
* asserts(payload.id, isType("undefined"));
|
|
22
|
+
*
|
|
23
|
+
* try {
|
|
24
|
+
* asserts(42 as string | number, isType("string"));
|
|
25
|
+
* } catch (error) {
|
|
26
|
+
* if (error instanceof AssertsError) {
|
|
27
|
+
* const failedValue = error.value;
|
|
28
|
+
* }
|
|
29
|
+
* }
|
|
30
|
+
* ```
|
|
31
|
+
*
|
|
32
|
+
* @see https://utils.duplojs.dev/en/v1/api/common/asserts
|
|
33
|
+
*
|
|
34
|
+
* @namespace C
|
|
35
|
+
*
|
|
36
|
+
*/
|
|
37
|
+
export declare function asserts<GenericInput extends unknown, GenericPredicate extends GenericInput>(input: GenericInput, predicate: (input: GenericInput) => input is GenericPredicate): asserts input is GenericPredicate;
|
|
38
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { createErrorKind } from './errorKindNamespace.mjs';
|
|
2
|
+
import { kindHeritage } from './kind.mjs';
|
|
3
|
+
|
|
4
|
+
class AssertsError extends kindHeritage("asserts-error", createErrorKind("asserts-error"), Error) {
|
|
5
|
+
value;
|
|
6
|
+
constructor(value) {
|
|
7
|
+
super({}, ["Asserts Error."]);
|
|
8
|
+
this.value = value;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* {@include common/asserts/index.md}
|
|
13
|
+
*/
|
|
14
|
+
function asserts(input, predicate) {
|
|
15
|
+
if (!predicate(input)) {
|
|
16
|
+
throw new AssertsError(input);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export { AssertsError, asserts };
|
package/dist/common/index.d.ts
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
*
|
|
15
15
|
* What you will find in this namespace:
|
|
16
16
|
* - composition helpers (`pipe`, `innerPipe`, `asyncPipe`, `asyncInnerPipe`, `forward`)
|
|
17
|
-
* - predicates and guards (`when`, `whenNot`, `whenElse`, `and`, `or`, `isType`, `instanceOf`)
|
|
17
|
+
* - predicates and guards (`when`, `whenNot`, `whenElse`, `and`, `or`, `isType`, `asserts`, `instanceOf`)
|
|
18
18
|
* - control flow (`loop`, `asyncLoop`, `asyncRetry`, `sleep`, `memo`)
|
|
19
19
|
* - promise utilities (`externalPromise`, `promiseObject`)
|
|
20
20
|
* - string and value conversions (`toString`, `stringToMillisecond`, `stringToBytes`, `escapeRegExp`)
|
|
@@ -74,3 +74,4 @@ export * from "./hasSomeKinds";
|
|
|
74
74
|
export * from "./hasKinds";
|
|
75
75
|
export * from "./toCurriedPredicate";
|
|
76
76
|
export * from "./pipeCall";
|
|
77
|
+
export * from "./asserts";
|
|
@@ -12,10 +12,17 @@ function simpleClone(unknownValue) {
|
|
|
12
12
|
}
|
|
13
13
|
else if (unknownValue.constructor === undefined
|
|
14
14
|
|| unknownValue.constructor.name === "Object") {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
const result = {};
|
|
16
|
+
for (const key in unknownValue) {
|
|
17
|
+
const desc = Object.getOwnPropertyDescriptor(unknownValue, key);
|
|
18
|
+
if (desc?.set || desc?.get) {
|
|
19
|
+
Object.defineProperty(result, key, desc);
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
result[key] = simpleClone(unknownValue[key]);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return result;
|
|
19
26
|
}
|
|
20
27
|
else if (unknownValue instanceof Array && unknownValue.constructor.name === "Array") {
|
|
21
28
|
return unknownValue.map(simpleClone);
|
|
@@ -10,10 +10,17 @@ function simpleClone(unknownValue) {
|
|
|
10
10
|
}
|
|
11
11
|
else if (unknownValue.constructor === undefined
|
|
12
12
|
|| unknownValue.constructor.name === "Object") {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
const result = {};
|
|
14
|
+
for (const key in unknownValue) {
|
|
15
|
+
const desc = Object.getOwnPropertyDescriptor(unknownValue, key);
|
|
16
|
+
if (desc?.set || desc?.get) {
|
|
17
|
+
Object.defineProperty(result, key, desc);
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
result[key] = simpleClone(unknownValue[key]);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return result;
|
|
17
24
|
}
|
|
18
25
|
else if (unknownValue instanceof Array && unknownValue.constructor.name === "Array") {
|
|
19
26
|
return unknownValue.map(simpleClone);
|
package/dist/dataParser/base.cjs
CHANGED
|
@@ -27,7 +27,7 @@ const DPE = error.createError();
|
|
|
27
27
|
const EE = error$1.error(null);
|
|
28
28
|
const ES = success.success(null);
|
|
29
29
|
const KWV = wrapValue.keyWrappedValue;
|
|
30
|
-
function dataParserInit(kind, definition, exec) {
|
|
30
|
+
function dataParserInit(kind, definition, exec, specificOverrideHandler) {
|
|
31
31
|
const formattedExec = typeof exec === "object"
|
|
32
32
|
? exec
|
|
33
33
|
: {
|
|
@@ -35,18 +35,18 @@ function dataParserInit(kind, definition, exec) {
|
|
|
35
35
|
async: exec,
|
|
36
36
|
};
|
|
37
37
|
function middleExec(data, error$1) {
|
|
38
|
-
let result = formattedExec.sync(data, error$1,
|
|
38
|
+
let result = formattedExec.sync(data, error$1, self);
|
|
39
39
|
if (result === SDPEI) {
|
|
40
|
-
error.addIssue(error$1,
|
|
40
|
+
error.addIssue(error$1, self, data);
|
|
41
41
|
return SDPE;
|
|
42
42
|
}
|
|
43
43
|
else if (result === SDPEPI) {
|
|
44
|
-
error.addPromiseIssue(error$1,
|
|
44
|
+
error.addPromiseIssue(error$1, self, data);
|
|
45
45
|
return SDPE;
|
|
46
46
|
}
|
|
47
47
|
else if (result !== SDPE
|
|
48
|
-
&&
|
|
49
|
-
for (const checker of
|
|
48
|
+
&& self.definition.checkers.length) {
|
|
49
|
+
for (const checker of self.definition.checkers) {
|
|
50
50
|
const checkerResult = checker.exec(result, checker);
|
|
51
51
|
if (checkerResult === SDPEI) {
|
|
52
52
|
error.addIssue(error$1, checker, result);
|
|
@@ -60,18 +60,18 @@ function dataParserInit(kind, definition, exec) {
|
|
|
60
60
|
return result;
|
|
61
61
|
}
|
|
62
62
|
async function middleAsyncExec(data, error$1) {
|
|
63
|
-
let result = await formattedExec.async(data, error$1,
|
|
63
|
+
let result = await formattedExec.async(data, error$1, self);
|
|
64
64
|
if (result === SDPEI) {
|
|
65
|
-
error.addIssue(error$1,
|
|
65
|
+
error.addIssue(error$1, self, data);
|
|
66
66
|
return SDPE;
|
|
67
67
|
}
|
|
68
68
|
else if (result === SDPEPI) {
|
|
69
|
-
error.addPromiseIssue(error$1,
|
|
69
|
+
error.addPromiseIssue(error$1, self, data);
|
|
70
70
|
return SDPE;
|
|
71
71
|
}
|
|
72
72
|
else if (result !== SDPE
|
|
73
|
-
&&
|
|
74
|
-
for (const checker of
|
|
73
|
+
&& self.definition.checkers.length) {
|
|
74
|
+
for (const checker of self.definition.checkers) {
|
|
75
75
|
const checkerResult = checker.exec(result, checker);
|
|
76
76
|
if (checkerResult === SDPEI) {
|
|
77
77
|
error.addIssue(error$1, checker, result);
|
|
@@ -84,7 +84,7 @@ function dataParserInit(kind, definition, exec) {
|
|
|
84
84
|
}
|
|
85
85
|
return result;
|
|
86
86
|
}
|
|
87
|
-
const
|
|
87
|
+
const self = pipe.pipe({
|
|
88
88
|
definition,
|
|
89
89
|
exec: middleExec,
|
|
90
90
|
asyncExec: middleAsyncExec,
|
|
@@ -127,10 +127,11 @@ function dataParserInit(kind, definition, exec) {
|
|
|
127
127
|
addChecker: (...checkers) => dataParserInit(kind, simpleClone.simpleClone({
|
|
128
128
|
...definition,
|
|
129
129
|
checkers: [...definition.checkers, ...checkers],
|
|
130
|
-
}), exec),
|
|
131
|
-
clone: () => dataParserInit(kind, simpleClone.simpleClone(definition), exec),
|
|
132
|
-
|
|
133
|
-
|
|
130
|
+
}), exec, specificOverrideHandler),
|
|
131
|
+
clone: () => dataParserInit(kind, simpleClone.simpleClone(definition), exec, specificOverrideHandler),
|
|
132
|
+
contract: () => self,
|
|
133
|
+
}, (value) => dataParserKind.setTo(value, null), kind.setTo, (value) => dataParserInit.overrideHandler.apply(value), (value) => specificOverrideHandler.apply(value));
|
|
134
|
+
return self;
|
|
134
135
|
}
|
|
135
136
|
dataParserInit.overrideHandler = override.createOverride("@duplojs/utils/data-parser/base");
|
|
136
137
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type GetKindHandler, type GetKindValue, type Kind, type KindHandler, type RemoveKind } from "../common";
|
|
1
|
+
import { type GetKindHandler, type GetKindValue, type IsEqual, type Kind, type KindHandler, type OverrideHandler, type RemoveKind } from "../common";
|
|
2
2
|
import { SymbolDataParserErrorIssue, SymbolDataParserErrorPromiseIssue, type DataParserError } from "./error";
|
|
3
3
|
import * as DEither from "../either";
|
|
4
4
|
export declare const SymbolDataParserErrorLabel = "SymbolDataParserError";
|
|
@@ -22,6 +22,7 @@ export interface DataParserDefinition<GenericChecker extends DataParserChecker =
|
|
|
22
22
|
readonly errorMessage?: string;
|
|
23
23
|
readonly checkers: readonly GenericChecker[];
|
|
24
24
|
}
|
|
25
|
+
declare const SymbolContractError: unique symbol;
|
|
25
26
|
export interface DataParser<GenericDefinition extends DataParserDefinition = DataParserDefinition, GenericOutput extends unknown = unknown, GenericInput extends unknown = GenericOutput> extends Kind<typeof dataParserKind.definition, {
|
|
26
27
|
input: GenericInput;
|
|
27
28
|
output: GenericOutput;
|
|
@@ -137,14 +138,45 @@ export interface DataParser<GenericDefinition extends DataParserDefinition = Dat
|
|
|
137
138
|
*
|
|
138
139
|
*/
|
|
139
140
|
clone(): this;
|
|
141
|
+
/**
|
|
142
|
+
* The contract() method validates that the parser output type exactly matches the type you want to assign it to.
|
|
143
|
+
*
|
|
144
|
+
* **Supported call styles:**
|
|
145
|
+
* - Method: `dataParser.contract<Output>()` -> returns the same parser if types match
|
|
146
|
+
*
|
|
147
|
+
* It does not change runtime behavior; it enforces at compile time that the parser output type and the expected type are exactly the same.
|
|
148
|
+
*
|
|
149
|
+
* ```ts
|
|
150
|
+
* interface User {
|
|
151
|
+
* id: number;
|
|
152
|
+
* name: string;
|
|
153
|
+
* }
|
|
154
|
+
*
|
|
155
|
+
* const userParser: DP.Contract<User> = DP.object({
|
|
156
|
+
* id: DP.number(),
|
|
157
|
+
* name: DP.string(),
|
|
158
|
+
* }).contract();
|
|
159
|
+
*
|
|
160
|
+
* const statusParser: DP.Contract<"draft" | "published">
|
|
161
|
+
* = DP.literal(["draft", "published"]).contract();
|
|
162
|
+
* ```
|
|
163
|
+
*
|
|
164
|
+
* @see https://utils.duplojs.dev/en/v1/api/dataParser
|
|
165
|
+
*
|
|
166
|
+
* @namespace DP
|
|
167
|
+
*
|
|
168
|
+
*/
|
|
169
|
+
contract<GenericValue extends unknown>(...args: IsEqual<Output<this>, GenericValue> extends true ? [] : [] & {
|
|
170
|
+
[SymbolContractError]: "Contract error.";
|
|
171
|
+
}): Contract<GenericValue>;
|
|
140
172
|
}
|
|
141
173
|
interface DataParserInitExecParams<GenericDataParser extends DataParser> {
|
|
142
174
|
sync(...args: [...Parameters<GenericDataParser["exec"]>, self: GenericDataParser]): (GetKindValue<typeof dataParserKind, GenericDataParser>["output"] | SymbolDataParserErrorIssue | SymbolDataParserErrorPromiseIssue);
|
|
143
175
|
async(...args: [...Parameters<GenericDataParser["exec"]>, self: GenericDataParser]): Promise<GetKindValue<typeof dataParserKind, GenericDataParser>["output"] | SymbolDataParserErrorIssue | SymbolDataParserErrorPromiseIssue>;
|
|
144
176
|
}
|
|
145
|
-
export declare function dataParserInit<GenericDataParser extends DataParser>(kind: Exclude<GetKindHandler<GenericDataParser>, typeof dataParserKind>, definition: GenericDataParser["definition"], exec: (DataParserInitExecParams<GenericDataParser> | DataParserInitExecParams<GenericDataParser>["sync"])): GenericDataParser;
|
|
177
|
+
export declare function dataParserInit<GenericDataParser extends DataParser>(kind: Exclude<GetKindHandler<GenericDataParser>, typeof dataParserKind>, definition: GenericDataParser["definition"], exec: (DataParserInitExecParams<GenericDataParser> | DataParserInitExecParams<GenericDataParser>["sync"]), specificOverrideHandler: OverrideHandler<GenericDataParser>): GenericDataParser;
|
|
146
178
|
export declare namespace dataParserInit {
|
|
147
|
-
var overrideHandler:
|
|
179
|
+
var overrideHandler: OverrideHandler<DataParser<DataParserDefinition<DataParserChecker<DataParserCheckerDefinition, unknown>>, unknown, unknown>>;
|
|
148
180
|
}
|
|
149
181
|
export type Output<GenericDataParser extends DataParser> = GetKindValue<typeof dataParserKind, GenericDataParser>["output"];
|
|
150
182
|
export type Input<GenericDataParser extends DataParser> = GetKindValue<typeof dataParserKind, GenericDataParser>["input"];
|
package/dist/dataParser/base.mjs
CHANGED
|
@@ -25,7 +25,7 @@ const DPE = createError();
|
|
|
25
25
|
const EE = error(null);
|
|
26
26
|
const ES = success(null);
|
|
27
27
|
const KWV = keyWrappedValue;
|
|
28
|
-
function dataParserInit(kind, definition, exec) {
|
|
28
|
+
function dataParserInit(kind, definition, exec, specificOverrideHandler) {
|
|
29
29
|
const formattedExec = typeof exec === "object"
|
|
30
30
|
? exec
|
|
31
31
|
: {
|
|
@@ -33,18 +33,18 @@ function dataParserInit(kind, definition, exec) {
|
|
|
33
33
|
async: exec,
|
|
34
34
|
};
|
|
35
35
|
function middleExec(data, error) {
|
|
36
|
-
let result = formattedExec.sync(data, error,
|
|
36
|
+
let result = formattedExec.sync(data, error, self);
|
|
37
37
|
if (result === SDPEI) {
|
|
38
|
-
addIssue(error,
|
|
38
|
+
addIssue(error, self, data);
|
|
39
39
|
return SDPE;
|
|
40
40
|
}
|
|
41
41
|
else if (result === SDPEPI) {
|
|
42
|
-
addPromiseIssue(error,
|
|
42
|
+
addPromiseIssue(error, self, data);
|
|
43
43
|
return SDPE;
|
|
44
44
|
}
|
|
45
45
|
else if (result !== SDPE
|
|
46
|
-
&&
|
|
47
|
-
for (const checker of
|
|
46
|
+
&& self.definition.checkers.length) {
|
|
47
|
+
for (const checker of self.definition.checkers) {
|
|
48
48
|
const checkerResult = checker.exec(result, checker);
|
|
49
49
|
if (checkerResult === SDPEI) {
|
|
50
50
|
addIssue(error, checker, result);
|
|
@@ -58,18 +58,18 @@ function dataParserInit(kind, definition, exec) {
|
|
|
58
58
|
return result;
|
|
59
59
|
}
|
|
60
60
|
async function middleAsyncExec(data, error) {
|
|
61
|
-
let result = await formattedExec.async(data, error,
|
|
61
|
+
let result = await formattedExec.async(data, error, self);
|
|
62
62
|
if (result === SDPEI) {
|
|
63
|
-
addIssue(error,
|
|
63
|
+
addIssue(error, self, data);
|
|
64
64
|
return SDPE;
|
|
65
65
|
}
|
|
66
66
|
else if (result === SDPEPI) {
|
|
67
|
-
addPromiseIssue(error,
|
|
67
|
+
addPromiseIssue(error, self, data);
|
|
68
68
|
return SDPE;
|
|
69
69
|
}
|
|
70
70
|
else if (result !== SDPE
|
|
71
|
-
&&
|
|
72
|
-
for (const checker of
|
|
71
|
+
&& self.definition.checkers.length) {
|
|
72
|
+
for (const checker of self.definition.checkers) {
|
|
73
73
|
const checkerResult = checker.exec(result, checker);
|
|
74
74
|
if (checkerResult === SDPEI) {
|
|
75
75
|
addIssue(error, checker, result);
|
|
@@ -82,7 +82,7 @@ function dataParserInit(kind, definition, exec) {
|
|
|
82
82
|
}
|
|
83
83
|
return result;
|
|
84
84
|
}
|
|
85
|
-
const
|
|
85
|
+
const self = pipe({
|
|
86
86
|
definition,
|
|
87
87
|
exec: middleExec,
|
|
88
88
|
asyncExec: middleAsyncExec,
|
|
@@ -125,10 +125,11 @@ function dataParserInit(kind, definition, exec) {
|
|
|
125
125
|
addChecker: (...checkers) => dataParserInit(kind, simpleClone({
|
|
126
126
|
...definition,
|
|
127
127
|
checkers: [...definition.checkers, ...checkers],
|
|
128
|
-
}), exec),
|
|
129
|
-
clone: () => dataParserInit(kind, simpleClone(definition), exec),
|
|
130
|
-
|
|
131
|
-
|
|
128
|
+
}), exec, specificOverrideHandler),
|
|
129
|
+
clone: () => dataParserInit(kind, simpleClone(definition), exec, specificOverrideHandler),
|
|
130
|
+
contract: () => self,
|
|
131
|
+
}, (value) => dataParserKind.setTo(value, null), kind.setTo, (value) => dataParserInit.overrideHandler.apply(value), (value) => specificOverrideHandler.apply(value));
|
|
132
|
+
return self;
|
|
132
133
|
}
|
|
133
134
|
dataParserInit.overrideHandler = createOverride("@duplojs/utils/data-parser/base");
|
|
134
135
|
|
|
@@ -59,6 +59,9 @@ function dataParserExtendedInit(dataParser, rest) {
|
|
|
59
59
|
recover(recoveredValue, definition) {
|
|
60
60
|
return recover.recover(self, recoveredValue, definition);
|
|
61
61
|
},
|
|
62
|
+
contract() {
|
|
63
|
+
return self;
|
|
64
|
+
},
|
|
62
65
|
}, extendedKind.setTo, dataParserExtendedInit.overrideHandler.apply);
|
|
63
66
|
return self;
|
|
64
67
|
}
|
|
@@ -57,6 +57,9 @@ function dataParserExtendedInit(dataParser, rest) {
|
|
|
57
57
|
recover(recoveredValue, definition) {
|
|
58
58
|
return recover(self, recoveredValue, definition);
|
|
59
59
|
},
|
|
60
|
+
contract() {
|
|
61
|
+
return self;
|
|
62
|
+
},
|
|
60
63
|
}, extendedKind.setTo, dataParserExtendedInit.overrideHandler.apply);
|
|
61
64
|
return self;
|
|
62
65
|
}
|
|
@@ -59,8 +59,8 @@ function array(element, definition) {
|
|
|
59
59
|
void (data.length && error.popErrorPath(error$1));
|
|
60
60
|
return output;
|
|
61
61
|
},
|
|
62
|
-
});
|
|
63
|
-
return
|
|
62
|
+
}, array.overrideHandler);
|
|
63
|
+
return self;
|
|
64
64
|
}
|
|
65
65
|
array.overrideHandler = override.createOverride("@duplojs/utils/data-parser/array");
|
|
66
66
|
|
|
@@ -57,8 +57,8 @@ function array(element, definition) {
|
|
|
57
57
|
void (data.length && popErrorPath(error));
|
|
58
58
|
return output;
|
|
59
59
|
},
|
|
60
|
-
});
|
|
61
|
-
return
|
|
60
|
+
}, array.overrideHandler);
|
|
61
|
+
return self;
|
|
62
62
|
}
|
|
63
63
|
array.overrideHandler = createOverride("@duplojs/utils/data-parser/array");
|
|
64
64
|
|
|
@@ -26,8 +26,8 @@ function bigint(definition) {
|
|
|
26
26
|
return data;
|
|
27
27
|
}
|
|
28
28
|
return error.SymbolDataParserErrorIssue;
|
|
29
|
-
});
|
|
30
|
-
return
|
|
29
|
+
}, bigint.overrideHandler);
|
|
30
|
+
return self;
|
|
31
31
|
}
|
|
32
32
|
bigint.overrideHandler = override.createOverride("@duplojs/utils/data-parser/bigint");
|
|
33
33
|
|
|
@@ -24,8 +24,8 @@ function bigint(definition) {
|
|
|
24
24
|
return data;
|
|
25
25
|
}
|
|
26
26
|
return SymbolDataParserErrorIssue;
|
|
27
|
-
});
|
|
28
|
-
return
|
|
27
|
+
}, bigint.overrideHandler);
|
|
28
|
+
return self;
|
|
29
29
|
}
|
|
30
30
|
bigint.overrideHandler = createOverride("@duplojs/utils/data-parser/bigint");
|
|
31
31
|
|
|
@@ -35,8 +35,8 @@ function boolean(definition) {
|
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
return error.SymbolDataParserErrorIssue;
|
|
38
|
-
});
|
|
39
|
-
return
|
|
38
|
+
}, boolean.overrideHandler);
|
|
39
|
+
return self;
|
|
40
40
|
}
|
|
41
41
|
boolean.overrideHandler = override.createOverride("@duplojs/utils/data-parser/boolean");
|
|
42
42
|
|
|
@@ -33,8 +33,8 @@ function boolean(definition) {
|
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
return SymbolDataParserErrorIssue;
|
|
36
|
-
});
|
|
37
|
-
return
|
|
36
|
+
}, boolean.overrideHandler);
|
|
37
|
+
return self;
|
|
38
38
|
}
|
|
39
39
|
boolean.overrideHandler = createOverride("@duplojs/utils/data-parser/boolean");
|
|
40
40
|
|
|
@@ -44,8 +44,8 @@ function date(definition) {
|
|
|
44
44
|
return data;
|
|
45
45
|
}
|
|
46
46
|
return error.SymbolDataParserErrorIssue;
|
|
47
|
-
});
|
|
48
|
-
return
|
|
47
|
+
}, date.overrideHandler);
|
|
48
|
+
return self;
|
|
49
49
|
}
|
|
50
50
|
date.overrideHandler = override.createOverride("@duplojs/utils/data-parser/date");
|
|
51
51
|
|
|
@@ -42,8 +42,8 @@ function date(definition) {
|
|
|
42
42
|
return data;
|
|
43
43
|
}
|
|
44
44
|
return SymbolDataParserErrorIssue;
|
|
45
|
-
});
|
|
46
|
-
return
|
|
45
|
+
}, date.overrideHandler);
|
|
46
|
+
return self;
|
|
47
47
|
}
|
|
48
48
|
date.overrideHandler = createOverride("@duplojs/utils/data-parser/date");
|
|
49
49
|
|
|
@@ -22,8 +22,8 @@ function empty(definition) {
|
|
|
22
22
|
return undefined;
|
|
23
23
|
}
|
|
24
24
|
return error.SymbolDataParserErrorIssue;
|
|
25
|
-
});
|
|
26
|
-
return
|
|
25
|
+
}, empty.overrideHandler);
|
|
26
|
+
return self;
|
|
27
27
|
}
|
|
28
28
|
empty.overrideHandler = override.createOverride("@duplojs/utils/data-parser/empty");
|
|
29
29
|
|
|
@@ -20,8 +20,8 @@ function empty(definition) {
|
|
|
20
20
|
return undefined;
|
|
21
21
|
}
|
|
22
22
|
return SymbolDataParserErrorIssue;
|
|
23
|
-
});
|
|
24
|
-
return
|
|
23
|
+
}, empty.overrideHandler);
|
|
24
|
+
return self;
|
|
25
25
|
}
|
|
26
26
|
empty.overrideHandler = createOverride("@duplojs/utils/data-parser/empty");
|
|
27
27
|
|
|
@@ -17,8 +17,8 @@ function lazy(getter, definition) {
|
|
|
17
17
|
}, {
|
|
18
18
|
sync: (data, _error, self) => self.definition.getter.value.exec(data, _error),
|
|
19
19
|
async: (data, _error, self) => self.definition.getter.value.asyncExec(data, _error),
|
|
20
|
-
});
|
|
21
|
-
return
|
|
20
|
+
}, lazy.overrideHandler);
|
|
21
|
+
return self;
|
|
22
22
|
}
|
|
23
23
|
lazy.overrideHandler = override.createOverride("@duplojs/utils/data-parser/lazy");
|
|
24
24
|
|
|
@@ -63,6 +63,6 @@ export declare function lazy<GenericDataParser extends DataParser, const Generic
|
|
|
63
63
|
getter: Memoized<GenericDataParser>;
|
|
64
64
|
}>>;
|
|
65
65
|
export declare namespace lazy {
|
|
66
|
-
var overrideHandler: import("../../common").OverrideHandler<
|
|
66
|
+
var overrideHandler: import("../../common").OverrideHandler<DataParserLazy<DataParserDefinitionLazy>>;
|
|
67
67
|
}
|
|
68
68
|
export {};
|
|
@@ -15,8 +15,8 @@ function lazy(getter, definition) {
|
|
|
15
15
|
}, {
|
|
16
16
|
sync: (data, _error, self) => self.definition.getter.value.exec(data, _error),
|
|
17
17
|
async: (data, _error, self) => self.definition.getter.value.asyncExec(data, _error),
|
|
18
|
-
});
|
|
19
|
-
return
|
|
18
|
+
}, lazy.overrideHandler);
|
|
19
|
+
return self;
|
|
20
20
|
}
|
|
21
21
|
lazy.overrideHandler = createOverride("@duplojs/utils/data-parser/lazy");
|
|
22
22
|
|
|
@@ -20,8 +20,8 @@ function literal(value, definition) {
|
|
|
20
20
|
return data;
|
|
21
21
|
}
|
|
22
22
|
return error.SymbolDataParserErrorIssue;
|
|
23
|
-
});
|
|
24
|
-
return
|
|
23
|
+
}, literal.overrideHandler);
|
|
24
|
+
return self;
|
|
25
25
|
}
|
|
26
26
|
literal.overrideHandler = override.createOverride("@duplojs/utils/data-parser/literal");
|
|
27
27
|
|
|
@@ -18,8 +18,8 @@ function literal(value, definition) {
|
|
|
18
18
|
return data;
|
|
19
19
|
}
|
|
20
20
|
return SymbolDataParserErrorIssue;
|
|
21
|
-
});
|
|
22
|
-
return
|
|
21
|
+
}, literal.overrideHandler);
|
|
22
|
+
return self;
|
|
23
23
|
}
|
|
24
24
|
literal.overrideHandler = createOverride("@duplojs/utils/data-parser/literal");
|
|
25
25
|
|
|
@@ -22,8 +22,8 @@ function nil(definition) {
|
|
|
22
22
|
return null;
|
|
23
23
|
}
|
|
24
24
|
return error.SymbolDataParserErrorIssue;
|
|
25
|
-
});
|
|
26
|
-
return
|
|
25
|
+
}, nil.overrideHandler);
|
|
26
|
+
return self;
|
|
27
27
|
}
|
|
28
28
|
nil.overrideHandler = override.createOverride("@duplojs/utils/data-parser/nil");
|
|
29
29
|
|
|
@@ -20,8 +20,8 @@ function nil(definition) {
|
|
|
20
20
|
return null;
|
|
21
21
|
}
|
|
22
22
|
return SymbolDataParserErrorIssue;
|
|
23
|
-
});
|
|
24
|
-
return
|
|
23
|
+
}, nil.overrideHandler);
|
|
24
|
+
return self;
|
|
25
25
|
}
|
|
26
26
|
nil.overrideHandler = createOverride("@duplojs/utils/data-parser/nil");
|
|
27
27
|
|
|
@@ -27,8 +27,8 @@ function nullable(inner, definition) {
|
|
|
27
27
|
}
|
|
28
28
|
return self.definition.inner.asyncExec(data, error);
|
|
29
29
|
},
|
|
30
|
-
});
|
|
31
|
-
return
|
|
30
|
+
}, nullable.overrideHandler);
|
|
31
|
+
return self;
|
|
32
32
|
}
|
|
33
33
|
nullable.overrideHandler = override.createOverride("@duplojs/utils/data-parser/nullable");
|
|
34
34
|
|
|
@@ -51,7 +51,7 @@ export interface DataParserNullable<GenericDefinition extends DataParserDefiniti
|
|
|
51
51
|
* @namespace DP
|
|
52
52
|
*
|
|
53
53
|
*/
|
|
54
|
-
export declare function nullable<GenericDataParser extends DataParser, const GenericDefinition extends Partial<Omit<DataParserDefinitionNullable<Output<GenericDataParser
|
|
54
|
+
export declare function nullable<GenericDataParser extends DataParser, const GenericDefinition extends Partial<Omit<DataParserDefinitionNullable<Output<GenericDataParser>>, "inner">> = never>(inner: GenericDataParser, definition?: GenericDefinition): DataParserNullable<MergeDefinition<DataParserDefinitionNullable, NeverCoalescing<GenericDefinition, {}> & {
|
|
55
55
|
inner: GenericDataParser;
|
|
56
56
|
}>>;
|
|
57
57
|
export declare namespace nullable {
|
|
@@ -25,8 +25,8 @@ function nullable(inner, definition) {
|
|
|
25
25
|
}
|
|
26
26
|
return self.definition.inner.asyncExec(data, error);
|
|
27
27
|
},
|
|
28
|
-
});
|
|
29
|
-
return
|
|
28
|
+
}, nullable.overrideHandler);
|
|
29
|
+
return self;
|
|
30
30
|
}
|
|
31
31
|
nullable.overrideHandler = createOverride("@duplojs/utils/data-parser/nullable");
|
|
32
32
|
|
|
@@ -26,8 +26,8 @@ function number(definition) {
|
|
|
26
26
|
return data;
|
|
27
27
|
}
|
|
28
28
|
return error.SymbolDataParserErrorIssue;
|
|
29
|
-
});
|
|
30
|
-
return
|
|
29
|
+
}, number.overrideHandler);
|
|
30
|
+
return self;
|
|
31
31
|
}
|
|
32
32
|
number.overrideHandler = override.createOverride("@duplojs/utils/data-parser/number");
|
|
33
33
|
|
|
@@ -24,8 +24,8 @@ function number(definition) {
|
|
|
24
24
|
return data;
|
|
25
25
|
}
|
|
26
26
|
return SymbolDataParserErrorIssue;
|
|
27
|
-
});
|
|
28
|
-
return
|
|
27
|
+
}, number.overrideHandler);
|
|
28
|
+
return self;
|
|
29
29
|
}
|
|
30
30
|
number.overrideHandler = createOverride("@duplojs/utils/data-parser/number");
|
|
31
31
|
|
|
@@ -69,8 +69,8 @@ function object(shape, definition) {
|
|
|
69
69
|
void (self.definition.optimizedShape.value.length && error.popErrorPath(error$1));
|
|
70
70
|
return output;
|
|
71
71
|
},
|
|
72
|
-
});
|
|
73
|
-
return
|
|
72
|
+
}, object.overrideHandler);
|
|
73
|
+
return self;
|
|
74
74
|
}
|
|
75
75
|
object.overrideHandler = override.createOverride("@duplojs/utils/data-parser/object");
|
|
76
76
|
|
|
@@ -67,8 +67,8 @@ function object(shape, definition) {
|
|
|
67
67
|
void (self.definition.optimizedShape.value.length && popErrorPath(error));
|
|
68
68
|
return output;
|
|
69
69
|
},
|
|
70
|
-
});
|
|
71
|
-
return
|
|
70
|
+
}, object.overrideHandler);
|
|
71
|
+
return self;
|
|
72
72
|
}
|
|
73
73
|
object.overrideHandler = createOverride("@duplojs/utils/data-parser/object");
|
|
74
74
|
|
|
@@ -27,8 +27,8 @@ function optional(inner, definition) {
|
|
|
27
27
|
}
|
|
28
28
|
return self.definition.inner.asyncExec(data, error);
|
|
29
29
|
},
|
|
30
|
-
});
|
|
31
|
-
return
|
|
30
|
+
}, optional.overrideHandler);
|
|
31
|
+
return self;
|
|
32
32
|
}
|
|
33
33
|
optional.overrideHandler = override.createOverride("@duplojs/utils/data-parser/optional");
|
|
34
34
|
|
|
@@ -51,7 +51,7 @@ export interface DataParserOptional<GenericDefinition extends DataParserDefiniti
|
|
|
51
51
|
* @namespace DP
|
|
52
52
|
*
|
|
53
53
|
*/
|
|
54
|
-
export declare function optional<GenericDataParser extends DataParser, const GenericDefinition extends Partial<Omit<DataParserDefinitionOptional<Output<GenericDataParser
|
|
54
|
+
export declare function optional<GenericDataParser extends DataParser, const GenericDefinition extends Partial<Omit<DataParserDefinitionOptional<Output<GenericDataParser>>, "inner">> = never>(inner: GenericDataParser, definition?: GenericDefinition): DataParserOptional<MergeDefinition<DataParserDefinitionOptional, NeverCoalescing<GenericDefinition, {}> & {
|
|
55
55
|
inner: GenericDataParser;
|
|
56
56
|
}>>;
|
|
57
57
|
export declare namespace optional {
|
|
@@ -25,8 +25,8 @@ function optional(inner, definition) {
|
|
|
25
25
|
}
|
|
26
26
|
return self.definition.inner.asyncExec(data, error);
|
|
27
27
|
},
|
|
28
|
-
});
|
|
29
|
-
return
|
|
28
|
+
}, optional.overrideHandler);
|
|
29
|
+
return self;
|
|
30
30
|
}
|
|
31
31
|
optional.overrideHandler = createOverride("@duplojs/utils/data-parser/optional");
|
|
32
32
|
|
|
@@ -29,8 +29,8 @@ function pipe(input, output, definition) {
|
|
|
29
29
|
}
|
|
30
30
|
return self.definition.output.asyncExec(result, error);
|
|
31
31
|
},
|
|
32
|
-
});
|
|
33
|
-
return
|
|
32
|
+
}, pipe.overrideHandler);
|
|
33
|
+
return self;
|
|
34
34
|
}
|
|
35
35
|
pipe.overrideHandler = override.createOverride("@duplojs/utils/data-parser/pipe");
|
|
36
36
|
|
|
@@ -27,8 +27,8 @@ function pipe(input, output, definition) {
|
|
|
27
27
|
}
|
|
28
28
|
return self.definition.output.asyncExec(result, error);
|
|
29
29
|
},
|
|
30
|
-
});
|
|
31
|
-
return
|
|
30
|
+
}, pipe.overrideHandler);
|
|
31
|
+
return self;
|
|
32
32
|
}
|
|
33
33
|
pipe.overrideHandler = createOverride("@duplojs/utils/data-parser/pipe");
|
|
34
34
|
|
|
@@ -94,8 +94,8 @@ function record(key, value, definition) {
|
|
|
94
94
|
}
|
|
95
95
|
return output;
|
|
96
96
|
},
|
|
97
|
-
});
|
|
98
|
-
return
|
|
97
|
+
}, record.overrideHandler);
|
|
98
|
+
return self;
|
|
99
99
|
}
|
|
100
100
|
record.overrideHandler = override.createOverride("@duplojs/utils/data-parser/record");
|
|
101
101
|
|
|
@@ -93,8 +93,8 @@ function record(key, value, definition) {
|
|
|
93
93
|
}
|
|
94
94
|
return output;
|
|
95
95
|
},
|
|
96
|
-
});
|
|
97
|
-
return
|
|
96
|
+
}, record.overrideHandler);
|
|
97
|
+
return self;
|
|
98
98
|
}
|
|
99
99
|
record.overrideHandler = createOverride("@duplojs/utils/data-parser/record");
|
|
100
100
|
|
|
@@ -27,8 +27,8 @@ function recover(inner, recoveredValue, definition) {
|
|
|
27
27
|
? self.definition.recoveredValue
|
|
28
28
|
: result;
|
|
29
29
|
},
|
|
30
|
-
});
|
|
31
|
-
return
|
|
30
|
+
}, recover.overrideHandler);
|
|
31
|
+
return self;
|
|
32
32
|
}
|
|
33
33
|
recover.overrideHandler = override.createOverride("@duplojs/utils/data-parser/recover");
|
|
34
34
|
|
|
@@ -25,8 +25,8 @@ function recover(inner, recoveredValue, definition) {
|
|
|
25
25
|
? self.definition.recoveredValue
|
|
26
26
|
: result;
|
|
27
27
|
},
|
|
28
|
-
});
|
|
29
|
-
return
|
|
28
|
+
}, recover.overrideHandler);
|
|
29
|
+
return self;
|
|
30
30
|
}
|
|
31
31
|
recover.overrideHandler = createOverride("@duplojs/utils/data-parser/recover");
|
|
32
32
|
|
|
@@ -26,8 +26,8 @@ function string(definition) {
|
|
|
26
26
|
return data;
|
|
27
27
|
}
|
|
28
28
|
return error.SymbolDataParserErrorIssue;
|
|
29
|
-
});
|
|
30
|
-
return
|
|
29
|
+
}, string.overrideHandler);
|
|
30
|
+
return self;
|
|
31
31
|
}
|
|
32
32
|
string.overrideHandler = override.createOverride("@duplojs/utils/data-parser/string");
|
|
33
33
|
|
|
@@ -24,8 +24,8 @@ function string(definition) {
|
|
|
24
24
|
return data;
|
|
25
25
|
}
|
|
26
26
|
return SymbolDataParserErrorIssue;
|
|
27
|
-
});
|
|
28
|
-
return
|
|
27
|
+
}, string.overrideHandler);
|
|
28
|
+
return self;
|
|
29
29
|
}
|
|
30
30
|
string.overrideHandler = createOverride("@duplojs/utils/data-parser/string");
|
|
31
31
|
|
|
@@ -23,8 +23,8 @@ function templateLiteral(template, definition) {
|
|
|
23
23
|
return data;
|
|
24
24
|
}
|
|
25
25
|
return error.SymbolDataParserErrorIssue;
|
|
26
|
-
});
|
|
27
|
-
return
|
|
26
|
+
}, templateLiteral.overrideHandler);
|
|
27
|
+
return self;
|
|
28
28
|
}
|
|
29
29
|
templateLiteral.overrideHandler = override.createOverride("@duplojs/utils/data-parser/templateLiteral");
|
|
30
30
|
|
|
@@ -21,8 +21,8 @@ function templateLiteral(template, definition) {
|
|
|
21
21
|
return data;
|
|
22
22
|
}
|
|
23
23
|
return SymbolDataParserErrorIssue;
|
|
24
|
-
});
|
|
25
|
-
return
|
|
24
|
+
}, templateLiteral.overrideHandler);
|
|
25
|
+
return self;
|
|
26
26
|
}
|
|
27
27
|
templateLiteral.overrideHandler = createOverride("@duplojs/utils/data-parser/templateLiteral");
|
|
28
28
|
|
|
@@ -41,8 +41,8 @@ function time(definition) {
|
|
|
41
41
|
return data;
|
|
42
42
|
}
|
|
43
43
|
return error.SymbolDataParserErrorIssue;
|
|
44
|
-
});
|
|
45
|
-
return
|
|
44
|
+
}, time.overrideHandler);
|
|
45
|
+
return self;
|
|
46
46
|
}
|
|
47
47
|
time.overrideHandler = override.createOverride("@duplojs/utils/data-parser/time");
|
|
48
48
|
|
|
@@ -39,8 +39,8 @@ function time(definition) {
|
|
|
39
39
|
return data;
|
|
40
40
|
}
|
|
41
41
|
return SymbolDataParserErrorIssue;
|
|
42
|
-
});
|
|
43
|
-
return
|
|
42
|
+
}, time.overrideHandler);
|
|
43
|
+
return self;
|
|
44
44
|
}
|
|
45
45
|
time.overrideHandler = createOverride("@duplojs/utils/data-parser/time");
|
|
46
46
|
|
|
@@ -38,8 +38,8 @@ function transform(inner, theFunction, definition) {
|
|
|
38
38
|
}
|
|
39
39
|
return result;
|
|
40
40
|
},
|
|
41
|
-
});
|
|
42
|
-
return
|
|
41
|
+
}, transform.overrideHandler);
|
|
42
|
+
return self;
|
|
43
43
|
}
|
|
44
44
|
transform.overrideHandler = override.createOverride("@duplojs/utils/data-parser/transform");
|
|
45
45
|
|
|
@@ -36,8 +36,8 @@ function transform(inner, theFunction, definition) {
|
|
|
36
36
|
}
|
|
37
37
|
return result;
|
|
38
38
|
},
|
|
39
|
-
});
|
|
40
|
-
return
|
|
39
|
+
}, transform.overrideHandler);
|
|
40
|
+
return self;
|
|
41
41
|
}
|
|
42
42
|
transform.overrideHandler = createOverride("@duplojs/utils/data-parser/transform");
|
|
43
43
|
|
|
@@ -78,8 +78,8 @@ function tuple(shape, definition) {
|
|
|
78
78
|
void (self.definition.shape.length && error.popErrorPath(error$1));
|
|
79
79
|
return output;
|
|
80
80
|
},
|
|
81
|
-
});
|
|
82
|
-
return
|
|
81
|
+
}, tuple.overrideHandler);
|
|
82
|
+
return self;
|
|
83
83
|
}
|
|
84
84
|
tuple.overrideHandler = override.createOverride("@duplojs/utils/data-parser/tuple");
|
|
85
85
|
|
|
@@ -76,8 +76,8 @@ function tuple(shape, definition) {
|
|
|
76
76
|
void (self.definition.shape.length && popErrorPath(error));
|
|
77
77
|
return output;
|
|
78
78
|
},
|
|
79
|
-
});
|
|
80
|
-
return
|
|
79
|
+
}, tuple.overrideHandler);
|
|
80
|
+
return self;
|
|
81
81
|
}
|
|
82
82
|
tuple.overrideHandler = createOverride("@duplojs/utils/data-parser/tuple");
|
|
83
83
|
|
|
@@ -33,8 +33,8 @@ function union(options, definition) {
|
|
|
33
33
|
}
|
|
34
34
|
return error.SymbolDataParserErrorIssue;
|
|
35
35
|
},
|
|
36
|
-
});
|
|
37
|
-
return
|
|
36
|
+
}, union.overrideHandler);
|
|
37
|
+
return self;
|
|
38
38
|
}
|
|
39
39
|
union.overrideHandler = override.createOverride("@duplojs/utils/data-parser/union");
|
|
40
40
|
|
|
@@ -31,8 +31,8 @@ function union(options, definition) {
|
|
|
31
31
|
}
|
|
32
32
|
return SymbolDataParserErrorIssue;
|
|
33
33
|
},
|
|
34
|
-
});
|
|
35
|
-
return
|
|
34
|
+
}, union.overrideHandler);
|
|
35
|
+
return self;
|
|
36
36
|
}
|
|
37
37
|
union.overrideHandler = createOverride("@duplojs/utils/data-parser/union");
|
|
38
38
|
|
|
@@ -12,8 +12,8 @@ function unknown(definition) {
|
|
|
12
12
|
const self = base.dataParserInit(unknownKind, {
|
|
13
13
|
errorMessage: definition?.errorMessage,
|
|
14
14
|
checkers: definition?.checkers ?? [],
|
|
15
|
-
}, (data) => data);
|
|
16
|
-
return
|
|
15
|
+
}, (data) => data, unknown.overrideHandler);
|
|
16
|
+
return self;
|
|
17
17
|
}
|
|
18
18
|
unknown.overrideHandler = override.createOverride("@duplojs/utils/data-parser/unknown");
|
|
19
19
|
|
|
@@ -10,8 +10,8 @@ function unknown(definition) {
|
|
|
10
10
|
const self = dataParserInit(unknownKind, {
|
|
11
11
|
errorMessage: definition?.errorMessage,
|
|
12
12
|
checkers: definition?.checkers ?? [],
|
|
13
|
-
}, (data) => data);
|
|
14
|
-
return
|
|
13
|
+
}, (data) => data, unknown.overrideHandler);
|
|
14
|
+
return self;
|
|
15
15
|
}
|
|
16
16
|
unknown.overrideHandler = createOverride("@duplojs/utils/data-parser/unknown");
|
|
17
17
|
|
package/dist/index.cjs
CHANGED
|
@@ -60,6 +60,7 @@ var hasSomeKinds = require('./common/hasSomeKinds.cjs');
|
|
|
60
60
|
var hasKinds = require('./common/hasKinds.cjs');
|
|
61
61
|
var toCurriedPredicate = require('./common/toCurriedPredicate.cjs');
|
|
62
62
|
var pipeCall = require('./common/pipeCall.cjs');
|
|
63
|
+
var asserts = require('./common/asserts.cjs');
|
|
63
64
|
|
|
64
65
|
|
|
65
66
|
|
|
@@ -147,3 +148,5 @@ exports.hasSomeKinds = hasSomeKinds.hasSomeKinds;
|
|
|
147
148
|
exports.hasKinds = hasKinds.hasKinds;
|
|
148
149
|
exports.toCurriedPredicate = toCurriedPredicate.toCurriedPredicate;
|
|
149
150
|
exports.pipeCall = pipeCall.pipeCall;
|
|
151
|
+
exports.AssertsError = asserts.AssertsError;
|
|
152
|
+
exports.asserts = asserts.asserts;
|
package/dist/index.mjs
CHANGED
|
@@ -82,3 +82,4 @@ export { hasSomeKinds } from './common/hasSomeKinds.mjs';
|
|
|
82
82
|
export { hasKinds } from './common/hasKinds.mjs';
|
|
83
83
|
export { toCurriedPredicate } from './common/toCurriedPredicate.mjs';
|
|
84
84
|
export { pipeCall } from './common/pipeCall.mjs';
|
|
85
|
+
export { AssertsError, asserts } from './common/asserts.mjs';
|
package/dist/metadata.json
CHANGED
|
@@ -1074,6 +1074,9 @@
|
|
|
1074
1074
|
{
|
|
1075
1075
|
"name": "isUnion.d.ts"
|
|
1076
1076
|
},
|
|
1077
|
+
{
|
|
1078
|
+
"name": "json.d.ts"
|
|
1079
|
+
},
|
|
1077
1080
|
{
|
|
1078
1081
|
"name": "lastUnionElement.d.ts"
|
|
1079
1082
|
},
|
|
@@ -1166,6 +1169,15 @@
|
|
|
1166
1169
|
{
|
|
1167
1170
|
"name": "and.mjs"
|
|
1168
1171
|
},
|
|
1172
|
+
{
|
|
1173
|
+
"name": "asserts.cjs"
|
|
1174
|
+
},
|
|
1175
|
+
{
|
|
1176
|
+
"name": "asserts.d.ts"
|
|
1177
|
+
},
|
|
1178
|
+
{
|
|
1179
|
+
"name": "asserts.mjs"
|
|
1180
|
+
},
|
|
1169
1181
|
{
|
|
1170
1182
|
"name": "asyncInnerPipe.cjs"
|
|
1171
1183
|
},
|
|
@@ -4898,6 +4910,15 @@
|
|
|
4898
4910
|
{
|
|
4899
4911
|
"name": "test.mjs"
|
|
4900
4912
|
},
|
|
4913
|
+
{
|
|
4914
|
+
"name": "to.cjs"
|
|
4915
|
+
},
|
|
4916
|
+
{
|
|
4917
|
+
"name": "to.d.ts"
|
|
4918
|
+
},
|
|
4919
|
+
{
|
|
4920
|
+
"name": "to.mjs"
|
|
4921
|
+
},
|
|
4901
4922
|
{
|
|
4902
4923
|
"name": "toLowerCase.cjs"
|
|
4903
4924
|
},
|
package/dist/string/index.cjs
CHANGED
|
@@ -29,6 +29,7 @@ var isIn = require('./isIn.cjs');
|
|
|
29
29
|
var length = require('./length.cjs');
|
|
30
30
|
var sort = require('./sort.cjs');
|
|
31
31
|
var sortCompare = require('./sortCompare.cjs');
|
|
32
|
+
var to = require('./to.cjs');
|
|
32
33
|
var _default = require('./at/default.cjs');
|
|
33
34
|
var first = require('./at/first.cjs');
|
|
34
35
|
var last = require('./at/last.cjs');
|
|
@@ -69,6 +70,7 @@ exports.isIn = isIn.isIn;
|
|
|
69
70
|
exports.length = length.length;
|
|
70
71
|
exports.sort = sort.sort;
|
|
71
72
|
exports.sortCompare = sortCompare.sortCompare;
|
|
73
|
+
exports.to = to.to;
|
|
72
74
|
exports.at = _default.at;
|
|
73
75
|
exports.first = first.first;
|
|
74
76
|
exports.last = last.last;
|
package/dist/string/index.d.ts
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* - composition and slicing (`S.concat`, `S.slice`, `S.substring`, `S.split`)
|
|
19
19
|
* - indexing (`S.at`, `S.charAt`, `S.indexOf`, `S.lastIndexOf`)
|
|
20
20
|
* - padding and repeat (`S.padStart`, `S.padEnd`, `S.repeat`)
|
|
21
|
-
* - misc helpers (`S.normalize`, `S.isKeyof`, `S.isIn`, `S.length`, `S.sort`, `S.sortCompare`)
|
|
21
|
+
* - misc helpers (`S.normalize`, `S.isKeyof`, `S.isIn`, `S.length`, `S.sort`, `S.sortCompare`, `S.to`)
|
|
22
22
|
*
|
|
23
23
|
* @see https://utils.duplojs.dev/en/v1/api/string
|
|
24
24
|
*
|
|
@@ -57,3 +57,4 @@ export * from "./isIn";
|
|
|
57
57
|
export * from "./length";
|
|
58
58
|
export * from "./sort";
|
|
59
59
|
export * from "./sortCompare";
|
|
60
|
+
export * from "./to";
|
package/dist/string/index.mjs
CHANGED
|
@@ -27,6 +27,7 @@ export { isIn } from './isIn.mjs';
|
|
|
27
27
|
export { length } from './length.mjs';
|
|
28
28
|
export { sort } from './sort.mjs';
|
|
29
29
|
export { sortCompare } from './sortCompare.mjs';
|
|
30
|
+
export { to } from './to.mjs';
|
|
30
31
|
export { at } from './at/default.mjs';
|
|
31
32
|
export { first } from './at/first.mjs';
|
|
32
33
|
export { last } from './at/last.mjs';
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
type Primitive = (string | boolean | null | number | undefined | bigint);
|
|
2
|
+
/**
|
|
3
|
+
* Converts a primitive value to its string representation.
|
|
4
|
+
*
|
|
5
|
+
* **Supported call styles:**
|
|
6
|
+
* - Classic: `to(value)` -> returns a string
|
|
7
|
+
*
|
|
8
|
+
* It uses template literal conversion and preserves literal types when possible.
|
|
9
|
+
*
|
|
10
|
+
* ```ts
|
|
11
|
+
* const fromNumber = S.to(42);
|
|
12
|
+
* const fromBoolean = S.to(false);
|
|
13
|
+
* const fromNull = S.to(null);
|
|
14
|
+
* const fromBigInt = S.to(10n);
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* @see https://utils.duplojs.dev/en/v1/api/string/to
|
|
18
|
+
*
|
|
19
|
+
* @namespace S
|
|
20
|
+
*
|
|
21
|
+
*/
|
|
22
|
+
export declare function to<GenericValue extends Primitive>(value: GenericValue): `${GenericValue}`;
|
|
23
|
+
export {};
|