@duplojs/utils 1.1.13 → 1.1.15
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/array/flat.cjs +1 -13
- package/dist/array/flat.d.ts +1 -4
- package/dist/array/flat.mjs +1 -13
- package/dist/array/index.cjs +2 -0
- package/dist/array/index.d.ts +1 -0
- package/dist/array/index.mjs +1 -0
- package/dist/array/notIncludes.cjs +12 -0
- package/dist/array/notIncludes.d.ts +4 -0
- package/dist/array/notIncludes.mjs +10 -0
- package/dist/array/reduce.d.ts +6 -7
- package/dist/array/reduceRight.d.ts +4 -3
- package/dist/common/createKindIdentifier.cjs +27 -0
- package/dist/common/createKindIdentifier.d.ts +7 -0
- package/dist/common/createKindIdentifier.mjs +25 -0
- package/dist/common/index.d.ts +1 -0
- package/dist/common/isType.cjs +12 -1
- package/dist/common/isType.d.ts +4 -2
- package/dist/common/isType.mjs +12 -1
- package/dist/common/justReturn.d.ts +2 -2
- package/dist/common/kind.d.ts +2 -2
- package/dist/common/or.d.ts +9 -9
- package/dist/common/types/index.d.ts +1 -0
- package/dist/common/types/onlyLiteral.d.ts +18 -0
- package/dist/dataParser/base.cjs +55 -29
- package/dist/dataParser/base.d.ts +1 -1
- package/dist/dataParser/base.mjs +55 -29
- package/dist/dataParser/baseExtended.cjs +15 -2
- package/dist/dataParser/baseExtended.d.ts +8 -3
- package/dist/dataParser/baseExtended.mjs +15 -2
- package/dist/dataParser/extended/array.cjs +1 -0
- package/dist/dataParser/extended/array.d.ts +11 -5
- package/dist/dataParser/extended/array.mjs +1 -0
- package/dist/dataParser/extended/bigint.cjs +1 -0
- package/dist/dataParser/extended/bigint.d.ts +9 -2
- package/dist/dataParser/extended/bigint.mjs +1 -0
- package/dist/dataParser/extended/boolean.cjs +1 -0
- package/dist/dataParser/extended/boolean.d.ts +13 -2
- package/dist/dataParser/extended/boolean.mjs +1 -0
- package/dist/dataParser/extended/coerce/bigint.cjs +1 -0
- package/dist/dataParser/extended/coerce/bigint.mjs +1 -0
- package/dist/dataParser/extended/coerce/boolean.cjs +1 -0
- package/dist/dataParser/extended/coerce/boolean.mjs +1 -0
- package/dist/dataParser/extended/coerce/empty.cjs +1 -0
- package/dist/dataParser/extended/coerce/empty.mjs +1 -0
- package/dist/dataParser/extended/coerce/nil.cjs +1 -0
- package/dist/dataParser/extended/coerce/nil.mjs +1 -0
- package/dist/dataParser/extended/coerce/number.cjs +1 -0
- package/dist/dataParser/extended/coerce/number.mjs +1 -0
- package/dist/dataParser/extended/coerce/string.cjs +1 -0
- package/dist/dataParser/extended/coerce/string.mjs +1 -0
- package/dist/dataParser/extended/empty.cjs +1 -0
- package/dist/dataParser/extended/empty.d.ts +13 -2
- package/dist/dataParser/extended/empty.mjs +1 -0
- package/dist/dataParser/extended/index.cjs +2 -0
- package/dist/dataParser/extended/index.d.ts +1 -0
- package/dist/dataParser/extended/index.mjs +1 -0
- package/dist/dataParser/extended/lazy.cjs +1 -0
- package/dist/dataParser/extended/lazy.d.ts +13 -3
- package/dist/dataParser/extended/lazy.mjs +1 -0
- package/dist/dataParser/extended/literal.cjs +1 -0
- package/dist/dataParser/extended/literal.d.ts +13 -2
- package/dist/dataParser/extended/literal.mjs +1 -0
- package/dist/dataParser/extended/nil.cjs +1 -0
- package/dist/dataParser/extended/nil.d.ts +13 -2
- package/dist/dataParser/extended/nil.mjs +1 -0
- package/dist/dataParser/extended/nullable.cjs +1 -0
- package/dist/dataParser/extended/nullable.d.ts +14 -4
- package/dist/dataParser/extended/nullable.mjs +1 -0
- package/dist/dataParser/extended/number.cjs +1 -0
- package/dist/dataParser/extended/number.d.ts +9 -2
- package/dist/dataParser/extended/number.mjs +1 -0
- package/dist/dataParser/extended/object.cjs +1 -0
- package/dist/dataParser/extended/object.d.ts +13 -2
- package/dist/dataParser/extended/object.mjs +1 -0
- package/dist/dataParser/extended/optional.cjs +1 -0
- package/dist/dataParser/extended/optional.d.ts +14 -4
- package/dist/dataParser/extended/optional.mjs +1 -0
- package/dist/dataParser/extended/pipe.cjs +1 -0
- package/dist/dataParser/extended/pipe.d.ts +13 -3
- package/dist/dataParser/extended/pipe.mjs +1 -0
- package/dist/dataParser/extended/record.cjs +3 -2
- package/dist/dataParser/extended/record.d.ts +13 -3
- package/dist/dataParser/extended/record.mjs +2 -1
- package/dist/dataParser/extended/recover.cjs +14 -0
- package/dist/dataParser/extended/recover.d.ts +23 -0
- package/dist/dataParser/extended/recover.mjs +12 -0
- package/dist/dataParser/extended/string.cjs +1 -0
- package/dist/dataParser/extended/string.d.ts +9 -2
- package/dist/dataParser/extended/string.mjs +1 -0
- package/dist/dataParser/extended/templateLiteral.cjs +4 -2
- package/dist/dataParser/extended/templateLiteral.d.ts +13 -2
- package/dist/dataParser/extended/templateLiteral.mjs +3 -1
- package/dist/dataParser/extended/transform.cjs +1 -0
- package/dist/dataParser/extended/transform.d.ts +12 -2
- package/dist/dataParser/extended/transform.mjs +1 -0
- package/dist/dataParser/extended/tuple.cjs +11 -1
- package/dist/dataParser/extended/tuple.d.ts +19 -2
- package/dist/dataParser/extended/tuple.mjs +11 -1
- package/dist/dataParser/extended/union.cjs +1 -0
- package/dist/dataParser/extended/union.d.ts +13 -2
- package/dist/dataParser/extended/union.mjs +1 -0
- package/dist/dataParser/extended/unknown.cjs +1 -0
- package/dist/dataParser/extended/unknown.d.ts +13 -2
- package/dist/dataParser/extended/unknown.mjs +1 -0
- package/dist/dataParser/identifier.cjs +2 -17
- package/dist/dataParser/identifier.d.ts +216 -8
- package/dist/dataParser/identifier.mjs +2 -17
- package/dist/dataParser/index.cjs +29 -18
- package/dist/dataParser/index.mjs +18 -14
- package/dist/dataParser/parsers/array/checkers/max.cjs +3 -3
- package/dist/dataParser/parsers/array/checkers/max.d.ts +2 -2
- package/dist/dataParser/parsers/array/checkers/max.mjs +3 -3
- package/dist/dataParser/parsers/array/checkers/min.cjs +3 -3
- package/dist/dataParser/parsers/array/checkers/min.d.ts +2 -2
- package/dist/dataParser/parsers/array/checkers/min.mjs +3 -3
- package/dist/dataParser/parsers/array/index.d.ts +14 -7
- package/dist/dataParser/parsers/bigint/checkers/max.cjs +3 -3
- package/dist/dataParser/parsers/bigint/checkers/max.d.ts +2 -2
- package/dist/dataParser/parsers/bigint/checkers/max.mjs +3 -3
- package/dist/dataParser/parsers/bigint/checkers/min.cjs +3 -3
- package/dist/dataParser/parsers/bigint/checkers/min.d.ts +2 -2
- package/dist/dataParser/parsers/bigint/checkers/min.mjs +3 -3
- package/dist/dataParser/parsers/bigint/index.d.ts +11 -4
- package/dist/dataParser/parsers/boolean.d.ts +16 -4
- package/dist/dataParser/parsers/coerce/bigint.cjs +1 -0
- package/dist/dataParser/parsers/coerce/bigint.mjs +1 -0
- package/dist/dataParser/parsers/coerce/boolean.cjs +1 -0
- package/dist/dataParser/parsers/coerce/boolean.mjs +1 -0
- package/dist/dataParser/parsers/coerce/empty.cjs +1 -0
- package/dist/dataParser/parsers/coerce/empty.mjs +1 -0
- package/dist/dataParser/parsers/coerce/nil.cjs +1 -0
- package/dist/dataParser/parsers/coerce/nil.mjs +1 -0
- package/dist/dataParser/parsers/coerce/number.cjs +1 -0
- package/dist/dataParser/parsers/coerce/number.mjs +1 -0
- package/dist/dataParser/parsers/coerce/string.cjs +1 -0
- package/dist/dataParser/parsers/coerce/string.mjs +1 -0
- package/dist/dataParser/parsers/empty.d.ts +16 -4
- package/dist/dataParser/parsers/index.d.ts +2 -0
- package/dist/dataParser/parsers/lazy.d.ts +16 -4
- package/dist/dataParser/parsers/literal.d.ts +16 -4
- package/dist/dataParser/parsers/nil.d.ts +16 -4
- package/dist/dataParser/parsers/nullable.cjs +3 -2
- package/dist/dataParser/parsers/nullable.d.ts +19 -6
- package/dist/dataParser/parsers/nullable.mjs +3 -2
- package/dist/dataParser/parsers/number/checkers/int.cjs +3 -3
- package/dist/dataParser/parsers/number/checkers/int.d.ts +2 -2
- package/dist/dataParser/parsers/number/checkers/int.mjs +3 -3
- package/dist/dataParser/parsers/number/checkers/max.cjs +3 -3
- package/dist/dataParser/parsers/number/checkers/max.d.ts +2 -2
- package/dist/dataParser/parsers/number/checkers/max.mjs +3 -3
- package/dist/dataParser/parsers/number/checkers/min.cjs +3 -3
- package/dist/dataParser/parsers/number/checkers/min.d.ts +2 -2
- package/dist/dataParser/parsers/number/checkers/min.mjs +3 -3
- package/dist/dataParser/parsers/number/index.d.ts +11 -4
- package/dist/dataParser/parsers/object.d.ts +16 -4
- package/dist/dataParser/parsers/optional.cjs +3 -2
- package/dist/dataParser/parsers/optional.d.ts +19 -6
- package/dist/dataParser/parsers/optional.mjs +3 -2
- package/dist/dataParser/parsers/pipe.d.ts +16 -4
- package/dist/dataParser/parsers/record/findRecordRequiredKey.cjs +50 -0
- package/dist/dataParser/parsers/record/findRecordRequiredKey.d.ts +4 -0
- package/dist/dataParser/parsers/record/findRecordRequiredKey.mjs +47 -0
- package/dist/dataParser/parsers/{record.cjs → record/index.cjs} +21 -3
- package/dist/dataParser/parsers/record/index.d.ts +42 -0
- package/dist/dataParser/parsers/{record.mjs → record/index.mjs} +21 -4
- package/dist/dataParser/parsers/recover.cjs +32 -0
- package/dist/dataParser/parsers/recover.d.ts +28 -0
- package/dist/dataParser/parsers/recover.mjs +29 -0
- package/dist/dataParser/parsers/refine.cjs +18 -0
- package/dist/dataParser/parsers/refine.d.ts +17 -0
- package/dist/dataParser/parsers/refine.mjs +15 -0
- package/dist/dataParser/parsers/string/checkers/email.cjs +3 -3
- package/dist/dataParser/parsers/string/checkers/email.d.ts +2 -2
- package/dist/dataParser/parsers/string/checkers/email.mjs +3 -3
- package/dist/dataParser/parsers/string/checkers/max.cjs +3 -3
- package/dist/dataParser/parsers/string/checkers/max.d.ts +2 -2
- package/dist/dataParser/parsers/string/checkers/max.mjs +3 -3
- package/dist/dataParser/parsers/string/checkers/min.cjs +3 -3
- package/dist/dataParser/parsers/string/checkers/min.d.ts +2 -2
- package/dist/dataParser/parsers/string/checkers/min.mjs +3 -3
- package/dist/dataParser/parsers/string/checkers/regex.cjs +3 -3
- package/dist/dataParser/parsers/string/checkers/regex.d.ts +2 -2
- package/dist/dataParser/parsers/string/checkers/regex.mjs +3 -3
- package/dist/dataParser/parsers/string/checkers/url.cjs +3 -3
- package/dist/dataParser/parsers/string/checkers/url.d.ts +2 -2
- package/dist/dataParser/parsers/string/checkers/url.mjs +3 -3
- package/dist/dataParser/parsers/string/index.d.ts +11 -4
- package/dist/dataParser/parsers/templateLiteral/createTemplateLiteralPattern.cjs +75 -0
- package/dist/dataParser/parsers/templateLiteral/createTemplateLiteralPattern.d.ts +2 -0
- package/dist/dataParser/parsers/templateLiteral/createTemplateLiteralPattern.mjs +73 -0
- package/dist/dataParser/parsers/templateLiteral/index.cjs +31 -0
- package/dist/dataParser/parsers/templateLiteral/index.d.ts +66 -0
- package/dist/dataParser/parsers/templateLiteral/index.mjs +27 -0
- package/dist/dataParser/parsers/transform.d.ts +16 -4
- package/dist/dataParser/parsers/tuple.d.ts +14 -4
- package/dist/dataParser/parsers/union.d.ts +16 -4
- package/dist/dataParser/parsers/unknown.d.ts +16 -4
- package/dist/dataParser/types/checkers.d.ts +1 -1
- package/dist/dataParser/types/dataParsers.d.ts +2 -2
- package/dist/either/bool/falsy.cjs +1 -1
- package/dist/either/bool/falsy.d.ts +2 -2
- package/dist/either/bool/falsy.mjs +1 -1
- package/dist/either/bool/truthy.cjs +2 -2
- package/dist/either/bool/truthy.d.ts +2 -2
- package/dist/either/bool/truthy.mjs +2 -2
- package/dist/either/future/create.cjs +1 -1
- package/dist/either/future/create.mjs +1 -1
- package/dist/either/left/when.d.ts +2 -2
- package/dist/either/nullable/empty.cjs +1 -1
- package/dist/either/nullable/empty.d.ts +2 -2
- package/dist/either/nullable/empty.mjs +1 -1
- package/dist/either/nullable/filled.d.ts +2 -2
- package/dist/either/nullish/empty.d.ts +2 -2
- package/dist/either/nullish/filled.cjs +2 -2
- package/dist/either/nullish/filled.d.ts +2 -2
- package/dist/either/nullish/filled.mjs +2 -2
- package/dist/either/optional/empty.d.ts +2 -2
- package/dist/either/optional/filled.cjs +2 -2
- package/dist/either/optional/filled.d.ts +2 -2
- package/dist/either/optional/filled.mjs +2 -2
- package/dist/either/right/asyncPipe.cjs +1 -1
- package/dist/either/right/asyncPipe.mjs +1 -1
- package/dist/either/right/pipe.cjs +1 -1
- package/dist/either/right/pipe.mjs +1 -1
- package/dist/either/right/when.d.ts +2 -2
- package/dist/generator/asyncReduce.cjs +1 -1
- package/dist/generator/asyncReduce.d.ts +4 -3
- package/dist/generator/asyncReduce.mjs +1 -1
- package/dist/generator/reduce.d.ts +6 -7
- package/dist/index.cjs +2 -0
- package/dist/index.mjs +1 -0
- package/dist/object/entries.d.ts +2 -1
- package/dist/object/values.cjs +8 -1
- package/dist/object/values.d.ts +1 -3
- package/dist/object/values.mjs +8 -1
- package/dist/string/types/index.d.ts +1 -0
- package/dist/string/types/templateLiteralContainLargeType.d.ts +5 -0
- package/package.json +3 -3
- package/dist/dataParser/parsers/record.d.ts +0 -30
- package/dist/dataParser/parsers/templateLiteral.cjs +0 -47
- package/dist/dataParser/parsers/templateLiteral.d.ts +0 -49
- package/dist/dataParser/parsers/templateLiteral.mjs +0 -44
package/dist/dataParser/base.mjs
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { simpleClone } from '../common/simpleClone.mjs';
|
|
2
|
+
import { keyWrappedValue } from '../common/wrapValue.mjs';
|
|
2
3
|
import '../common/globalStore.mjs';
|
|
3
4
|
import '../common/builder.mjs';
|
|
4
|
-
import { createError, SymbolDataParserErrorIssue, addIssue, SymbolDataParserErrorPromiseIssue, addPromiseIssue } from './error.mjs';
|
|
5
5
|
import { error } from '../either/left/error.mjs';
|
|
6
6
|
import { success } from '../either/right/success.mjs';
|
|
7
|
+
import { createError, addIssue, addPromiseIssue, SymbolDataParserErrorIssue, SymbolDataParserErrorPromiseIssue } from './error.mjs';
|
|
7
8
|
import { createDataParserKind } from './kind.mjs';
|
|
8
9
|
|
|
9
10
|
const SymbolDataParserErrorLabel = "SymbolDataParserError";
|
|
@@ -16,6 +17,14 @@ function dataParserCheckerInit(kind, params, exec) {
|
|
|
16
17
|
}));
|
|
17
18
|
}
|
|
18
19
|
const dataParserKind = createDataParserKind("base");
|
|
20
|
+
// This allows for better performance WTF ???
|
|
21
|
+
const SDPEI = SymbolDataParserErrorIssue;
|
|
22
|
+
const SDPEPI = SymbolDataParserErrorPromiseIssue;
|
|
23
|
+
const SDPE = SymbolDataParserError;
|
|
24
|
+
const DPE = createError();
|
|
25
|
+
const EE = error(null);
|
|
26
|
+
const ES = success(null);
|
|
27
|
+
const KWV = keyWrappedValue;
|
|
19
28
|
function dataParserInit(kind, params, exec) {
|
|
20
29
|
const formattedExec = typeof exec === "object"
|
|
21
30
|
? exec
|
|
@@ -25,21 +34,21 @@ function dataParserInit(kind, params, exec) {
|
|
|
25
34
|
};
|
|
26
35
|
function middleExec(data, error) {
|
|
27
36
|
let result = formattedExec.sync(data, error, dataParser);
|
|
28
|
-
if (result ===
|
|
37
|
+
if (result === SDPEI) {
|
|
29
38
|
addIssue(error, dataParser, data);
|
|
30
|
-
return
|
|
39
|
+
return SDPE;
|
|
31
40
|
}
|
|
32
|
-
else if (result ===
|
|
41
|
+
else if (result === SDPEPI) {
|
|
33
42
|
addPromiseIssue(error, dataParser, data);
|
|
34
|
-
return
|
|
43
|
+
return SDPE;
|
|
35
44
|
}
|
|
36
|
-
else if (result !==
|
|
45
|
+
else if (result !== SDPE
|
|
37
46
|
&& dataParser.definition.checkers.length) {
|
|
38
47
|
for (const checker of dataParser.definition.checkers) {
|
|
39
48
|
const checkerResult = checker.exec(result, checker);
|
|
40
|
-
if (checkerResult ===
|
|
49
|
+
if (checkerResult === SDPEI) {
|
|
41
50
|
addIssue(error, checker, result);
|
|
42
|
-
return
|
|
51
|
+
return SDPE;
|
|
43
52
|
}
|
|
44
53
|
else {
|
|
45
54
|
result = checkerResult;
|
|
@@ -50,21 +59,21 @@ function dataParserInit(kind, params, exec) {
|
|
|
50
59
|
}
|
|
51
60
|
async function middleAsyncExec(data, error) {
|
|
52
61
|
let result = await formattedExec.async(data, error, dataParser);
|
|
53
|
-
if (result ===
|
|
62
|
+
if (result === SDPEI) {
|
|
54
63
|
addIssue(error, dataParser, data);
|
|
55
|
-
return
|
|
64
|
+
return SDPE;
|
|
56
65
|
}
|
|
57
|
-
else if (result ===
|
|
66
|
+
else if (result === SDPEPI) {
|
|
58
67
|
addPromiseIssue(error, dataParser, data);
|
|
59
|
-
return
|
|
68
|
+
return SDPE;
|
|
60
69
|
}
|
|
61
|
-
else if (result !==
|
|
70
|
+
else if (result !== SDPE
|
|
62
71
|
&& dataParser.definition.checkers.length) {
|
|
63
72
|
for (const checker of dataParser.definition.checkers) {
|
|
64
73
|
const checkerResult = checker.exec(result, checker);
|
|
65
|
-
if (checkerResult ===
|
|
74
|
+
if (checkerResult === SDPEI) {
|
|
66
75
|
addIssue(error, checker, result);
|
|
67
|
-
return
|
|
76
|
+
return SDPE;
|
|
68
77
|
}
|
|
69
78
|
else {
|
|
70
79
|
result = checkerResult;
|
|
@@ -78,20 +87,40 @@ function dataParserInit(kind, params, exec) {
|
|
|
78
87
|
exec: middleExec,
|
|
79
88
|
asyncExec: middleAsyncExec,
|
|
80
89
|
parse(data) {
|
|
81
|
-
const error
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
90
|
+
const error = {
|
|
91
|
+
...DPE,
|
|
92
|
+
issues: [],
|
|
93
|
+
currentPath: [],
|
|
94
|
+
};
|
|
95
|
+
const result = middleExec(data, error);
|
|
96
|
+
if (result === SDPE) {
|
|
97
|
+
return {
|
|
98
|
+
...EE,
|
|
99
|
+
[KWV]: error,
|
|
100
|
+
};
|
|
85
101
|
}
|
|
86
|
-
return
|
|
102
|
+
return {
|
|
103
|
+
...ES,
|
|
104
|
+
[KWV]: result,
|
|
105
|
+
};
|
|
87
106
|
},
|
|
88
107
|
async asyncParse(data) {
|
|
89
|
-
const error
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
108
|
+
const error = {
|
|
109
|
+
...DPE,
|
|
110
|
+
issues: [],
|
|
111
|
+
currentPath: [],
|
|
112
|
+
};
|
|
113
|
+
const result = await middleAsyncExec(data, error);
|
|
114
|
+
if (result === SDPE) {
|
|
115
|
+
return {
|
|
116
|
+
...EE,
|
|
117
|
+
[KWV]: error,
|
|
118
|
+
};
|
|
93
119
|
}
|
|
94
|
-
return
|
|
120
|
+
return {
|
|
121
|
+
...ES,
|
|
122
|
+
[KWV]: result,
|
|
123
|
+
};
|
|
95
124
|
},
|
|
96
125
|
addChecker: (...checkers) => dataParserInit(kind, simpleClone({
|
|
97
126
|
...params,
|
|
@@ -101,10 +130,7 @@ function dataParserInit(kind, params, exec) {
|
|
|
101
130
|
},
|
|
102
131
|
}), exec),
|
|
103
132
|
clone: () => dataParserInit(kind, simpleClone(params), exec),
|
|
104
|
-
},
|
|
105
|
-
output: undefined,
|
|
106
|
-
input: undefined,
|
|
107
|
-
}));
|
|
133
|
+
}, null));
|
|
108
134
|
return dataParser;
|
|
109
135
|
}
|
|
110
136
|
|
|
@@ -7,14 +7,17 @@ var entry = require('../object/entry.cjs');
|
|
|
7
7
|
var map = require('../array/map.cjs');
|
|
8
8
|
require('../common/globalStore.cjs');
|
|
9
9
|
require('../common/builder.cjs');
|
|
10
|
+
require('./base.cjs');
|
|
10
11
|
var kind = require('./kind.cjs');
|
|
11
12
|
require('../pattern/result.cjs');
|
|
13
|
+
var refine = require('./parsers/refine.cjs');
|
|
12
14
|
var array = require('./extended/array.cjs');
|
|
13
15
|
var transform = require('./extended/transform.cjs');
|
|
14
16
|
var union = require('./extended/union.cjs');
|
|
15
17
|
var nullable = require('./extended/nullable.cjs');
|
|
16
18
|
var optional = require('./extended/optional.cjs');
|
|
17
19
|
var pipe$1 = require('./extended/pipe.cjs');
|
|
20
|
+
var recover = require('./extended/recover.cjs');
|
|
18
21
|
|
|
19
22
|
const extendedKind = kind.createDataParserKind("extended");
|
|
20
23
|
function dataParserExtendedInit(dataParser, rest) {
|
|
@@ -47,8 +50,18 @@ function dataParserExtendedInit(dataParser, rest) {
|
|
|
47
50
|
or(option, definition) {
|
|
48
51
|
return union.union([self, option], definition);
|
|
49
52
|
},
|
|
50
|
-
addChecker
|
|
51
|
-
|
|
53
|
+
addChecker(...checkers) {
|
|
54
|
+
return dataParserExtendedInit(dataParser.addChecker(...checkers), rest);
|
|
55
|
+
},
|
|
56
|
+
clone() {
|
|
57
|
+
return dataParserExtendedInit(dataParser.clone(), rest);
|
|
58
|
+
},
|
|
59
|
+
refine(theFunction) {
|
|
60
|
+
return dataParserExtendedInit(dataParser.addChecker(refine.checkerRefine(theFunction)), rest);
|
|
61
|
+
},
|
|
62
|
+
recover(recoveredValue, definition) {
|
|
63
|
+
return recover.recover(self, recoveredValue, definition);
|
|
64
|
+
},
|
|
52
65
|
});
|
|
53
66
|
return self;
|
|
54
67
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type Kind, type NeverCoalescing, type AnyFunction, type SimplifyTopLevel, type AnyValue } from "../common";
|
|
2
2
|
import { type MergeDefinition } from "./types";
|
|
3
3
|
import { type Output, type DataParser } from "./base";
|
|
4
|
-
import
|
|
4
|
+
import * as dataParsers from "./parsers";
|
|
5
5
|
import * as dataParsersExtended from "./extended";
|
|
6
6
|
import { type DataParserError } from "./error";
|
|
7
7
|
export declare const extendedKind: import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/extended", unknown>>;
|
|
@@ -29,15 +29,20 @@ export interface DataParserExtended extends _DataParserExtended {
|
|
|
29
29
|
input: GenericThis;
|
|
30
30
|
output: GenericOutput;
|
|
31
31
|
}>>;
|
|
32
|
-
nullable<GenericThis extends this = this, const GenericDefinition extends Partial<Omit<dataParsers.DataParserDefinitionNullable
|
|
32
|
+
nullable<GenericThis extends this = this, const GenericDefinition extends Partial<Omit<dataParsers.DataParserDefinitionNullable<Output<GenericThis> | null>, "inner">> = never>(definition?: GenericDefinition): dataParsersExtended.DataParserNullableExtended<MergeDefinition<dataParsers.DataParserDefinitionNullable, NeverCoalescing<GenericDefinition, {}> & {
|
|
33
33
|
inner: GenericThis;
|
|
34
34
|
}>>;
|
|
35
|
-
optional<GenericThis extends this = this, const GenericDefinition extends Partial<Omit<dataParsers.DataParserDefinitionOptional
|
|
35
|
+
optional<GenericThis extends this = this, const GenericDefinition extends Partial<Omit<dataParsers.DataParserDefinitionOptional<Output<GenericThis> | undefined>, "inner">> = never>(definition?: GenericDefinition): dataParsersExtended.DataParserOptionalExtended<MergeDefinition<dataParsers.DataParserDefinitionOptional, NeverCoalescing<GenericDefinition, {}> & {
|
|
36
36
|
inner: GenericThis;
|
|
37
37
|
}>>;
|
|
38
38
|
or<GenericThis extends this = this, GenericDataParser extends DataParser = DataParser, const GenericDefinition extends Partial<Omit<dataParsers.DataParserDefinitionUnion, "options">> = never>(option: GenericDataParser, definition?: GenericDefinition): dataParsersExtended.DataParserUnionExtended<MergeDefinition<dataParsers.DataParserDefinitionUnion, NeverCoalescing<GenericDefinition, {}> & {
|
|
39
39
|
options: [GenericThis, GenericDataParser];
|
|
40
40
|
}>>;
|
|
41
|
+
refine(...args: never): DataParserExtended;
|
|
42
|
+
recover<GenericThis extends this = this, GenericRecoveredValue extends unknown = unknown, const GenericDefinition extends Partial<Omit<dataParsers.DataParserDefinitionRecover, "inner" | "recoveredValue">> = never>(recoveredValue: GenericRecoveredValue, definition?: GenericDefinition): dataParsersExtended.DataParserRecoverExtended<MergeDefinition<dataParsers.DataParserDefinitionRecover, NeverCoalescing<GenericDefinition, {}> & {
|
|
43
|
+
inner: GenericThis;
|
|
44
|
+
recoveredValue: GenericRecoveredValue;
|
|
45
|
+
}>>;
|
|
41
46
|
}
|
|
42
47
|
export declare function dataParserExtendedInit<GenericDataParser extends DataParser, GenericDataParserExtended extends GenericDataParser & DataParserExtended>(dataParser: NoInfer<GenericDataParser>, rest: NoInfer<{
|
|
43
48
|
[Prop in Exclude<keyof GenericDataParserExtended, keyof (GenericDataParser & DataParserExtended)>]: GenericDataParserExtended[Prop] extends AnyFunction ? (self: GenericDataParserExtended, ...args: Parameters<GenericDataParserExtended[Prop]>) => ReturnType<GenericDataParserExtended[Prop]> : GenericDataParserExtended[Prop];
|
|
@@ -5,14 +5,17 @@ import { entry } from '../object/entry.mjs';
|
|
|
5
5
|
import { map } from '../array/map.mjs';
|
|
6
6
|
import '../common/globalStore.mjs';
|
|
7
7
|
import '../common/builder.mjs';
|
|
8
|
+
import './base.mjs';
|
|
8
9
|
import { createDataParserKind } from './kind.mjs';
|
|
9
10
|
import '../pattern/result.mjs';
|
|
11
|
+
import { checkerRefine } from './parsers/refine.mjs';
|
|
10
12
|
import { array } from './extended/array.mjs';
|
|
11
13
|
import { transform } from './extended/transform.mjs';
|
|
12
14
|
import { union } from './extended/union.mjs';
|
|
13
15
|
import { nullable } from './extended/nullable.mjs';
|
|
14
16
|
import { optional } from './extended/optional.mjs';
|
|
15
17
|
import { pipe as pipe$1 } from './extended/pipe.mjs';
|
|
18
|
+
import { recover } from './extended/recover.mjs';
|
|
16
19
|
|
|
17
20
|
const extendedKind = createDataParserKind("extended");
|
|
18
21
|
function dataParserExtendedInit(dataParser, rest) {
|
|
@@ -45,8 +48,18 @@ function dataParserExtendedInit(dataParser, rest) {
|
|
|
45
48
|
or(option, definition) {
|
|
46
49
|
return union([self, option], definition);
|
|
47
50
|
},
|
|
48
|
-
addChecker
|
|
49
|
-
|
|
51
|
+
addChecker(...checkers) {
|
|
52
|
+
return dataParserExtendedInit(dataParser.addChecker(...checkers), rest);
|
|
53
|
+
},
|
|
54
|
+
clone() {
|
|
55
|
+
return dataParserExtendedInit(dataParser.clone(), rest);
|
|
56
|
+
},
|
|
57
|
+
refine(theFunction) {
|
|
58
|
+
return dataParserExtendedInit(dataParser.addChecker(checkerRefine(theFunction)), rest);
|
|
59
|
+
},
|
|
60
|
+
recover(recoveredValue, definition) {
|
|
61
|
+
return recover(self, recoveredValue, definition);
|
|
62
|
+
},
|
|
50
63
|
});
|
|
51
64
|
return self;
|
|
52
65
|
}
|
|
@@ -1,14 +1,20 @@
|
|
|
1
|
-
import { type NeverCoalescing } from "../../common";
|
|
1
|
+
import { type FixDeepFunctionInfer, type NeverCoalescing } 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";
|
|
5
|
-
import { type DataParser } from "../base";
|
|
5
|
+
import { type Output, type DataParser } from "../base";
|
|
6
6
|
type _DataParserArrayExtended<GenericDefinition extends dataParsers.DataParserDefinitionArray> = (dataParsers.DataParserArray<GenericDefinition> & DataParserExtended);
|
|
7
7
|
export interface DataParserArrayExtended<GenericDefinition extends dataParsers.DataParserDefinitionArray = dataParsers.DataParserDefinitionArray> extends _DataParserArrayExtended<GenericDefinition> {
|
|
8
8
|
addChecker<GenericChecker extends readonly [
|
|
9
|
-
dataParsers.DataParserArrayCheckers
|
|
10
|
-
...dataParsers.DataParserArrayCheckers[]
|
|
11
|
-
]>(...args:
|
|
9
|
+
dataParsers.DataParserArrayCheckers<Output<this>>,
|
|
10
|
+
...dataParsers.DataParserArrayCheckers<Output<this>>[]
|
|
11
|
+
]>(...args: FixDeepFunctionInfer<readonly [
|
|
12
|
+
dataParsers.DataParserArrayCheckers<Output<this>>,
|
|
13
|
+
...dataParsers.DataParserArrayCheckers<Output<this>>[]
|
|
14
|
+
], GenericChecker>): DataParserArrayExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
|
|
15
|
+
refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserArrayExtended<AddCheckersToDefinition<GenericDefinition, [
|
|
16
|
+
dataParsers.CheckerRefineImplementation<Output<this>>
|
|
17
|
+
]>>;
|
|
12
18
|
min(min: number, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionArrayMin, "min">>): DataParserArrayExtended<AddCheckersToDefinition<GenericDefinition, [
|
|
13
19
|
dataParsers.DataParserCheckerArrayMin
|
|
14
20
|
]>>;
|
|
@@ -1,13 +1,20 @@
|
|
|
1
|
-
import { type NeverCoalescing } from "../../common";
|
|
1
|
+
import { type FixDeepFunctionInfer, type NeverCoalescing } 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";
|
|
5
|
+
import { type Output } from "../base";
|
|
5
6
|
type _DataParserBigIntExtended<GenericDefinition extends dataParsers.DataParserDefinitionBigInt> = (dataParsers.DataParserBigInt<GenericDefinition> & DataParserExtended);
|
|
6
7
|
export interface DataParserBigIntExtended<GenericDefinition extends dataParsers.DataParserDefinitionBigInt = dataParsers.DataParserDefinitionBigInt> extends _DataParserBigIntExtended<GenericDefinition> {
|
|
7
8
|
addChecker<GenericChecker extends readonly [
|
|
8
9
|
dataParsers.DataParserBigIntCheckers,
|
|
9
10
|
...dataParsers.DataParserBigIntCheckers[]
|
|
10
|
-
]>(...args:
|
|
11
|
+
]>(...args: FixDeepFunctionInfer<readonly [
|
|
12
|
+
dataParsers.DataParserBigIntCheckers,
|
|
13
|
+
...dataParsers.DataParserBigIntCheckers[]
|
|
14
|
+
], GenericChecker>): DataParserBigIntExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
|
|
15
|
+
refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserBigIntExtended<AddCheckersToDefinition<GenericDefinition, [
|
|
16
|
+
dataParsers.CheckerRefineImplementation<Output<this>>
|
|
17
|
+
]>>;
|
|
11
18
|
min(min: bigint, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionBigIntMin, "min">>): DataParserBigIntExtended<AddCheckersToDefinition<GenericDefinition, [
|
|
12
19
|
dataParsers.DataParserCheckerBigIntMin
|
|
13
20
|
]>>;
|
|
@@ -1,9 +1,20 @@
|
|
|
1
|
-
import { type NeverCoalescing } from "../../common";
|
|
1
|
+
import { type FixDeepFunctionInfer, type NeverCoalescing } from "../../common";
|
|
2
2
|
import { type DataParserExtended } from "../baseExtended";
|
|
3
|
-
import { type MergeDefinition } from "../types";
|
|
3
|
+
import { type AddCheckersToDefinition, type MergeDefinition } from "../types";
|
|
4
4
|
import * as dataParsers from "../parsers";
|
|
5
|
+
import { type Output } from "../base";
|
|
5
6
|
type _DataParserBooleanExtended<GenericDefinition extends dataParsers.DataParserDefinitionBoolean> = (dataParsers.DataParserBoolean<GenericDefinition> & DataParserExtended);
|
|
6
7
|
export interface DataParserBooleanExtended<GenericDefinition extends dataParsers.DataParserDefinitionBoolean = dataParsers.DataParserDefinitionBoolean> extends _DataParserBooleanExtended<GenericDefinition> {
|
|
8
|
+
addChecker<GenericChecker extends readonly [
|
|
9
|
+
dataParsers.DataParserBooleanCheckers,
|
|
10
|
+
...dataParsers.DataParserBooleanCheckers[]
|
|
11
|
+
]>(...args: FixDeepFunctionInfer<readonly [
|
|
12
|
+
dataParsers.DataParserBooleanCheckers,
|
|
13
|
+
...dataParsers.DataParserBooleanCheckers[]
|
|
14
|
+
], GenericChecker>): DataParserBooleanExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
|
|
15
|
+
refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserBooleanExtended<AddCheckersToDefinition<GenericDefinition, [
|
|
16
|
+
dataParsers.CheckerRefineImplementation<Output<this>>
|
|
17
|
+
]>>;
|
|
7
18
|
}
|
|
8
19
|
export declare function boolean<const GenericDefinition extends Partial<dataParsers.DataParserDefinitionBoolean> = never>(definition?: GenericDefinition): DataParserBooleanExtended<MergeDefinition<dataParsers.DataParserDefinitionBoolean, NeverCoalescing<GenericDefinition, {}>>>;
|
|
9
20
|
export {};
|
|
@@ -1,9 +1,20 @@
|
|
|
1
|
-
import { type NeverCoalescing } from "../../common";
|
|
1
|
+
import { type FixDeepFunctionInfer, type NeverCoalescing } from "../../common";
|
|
2
2
|
import { type DataParserExtended } from "../baseExtended";
|
|
3
|
-
import { type MergeDefinition } from "../types";
|
|
3
|
+
import { type AddCheckersToDefinition, type MergeDefinition } from "../types";
|
|
4
4
|
import * as dataParsers from "../parsers";
|
|
5
|
+
import { type Output } from "../base";
|
|
5
6
|
type _DataParserEmptyExtended<GenericDefinition extends dataParsers.DataParserDefinitionEmpty> = (dataParsers.DataParserEmpty<GenericDefinition> & DataParserExtended);
|
|
6
7
|
export interface DataParserEmptyExtended<GenericDefinition extends dataParsers.DataParserDefinitionEmpty = dataParsers.DataParserDefinitionEmpty> extends _DataParserEmptyExtended<GenericDefinition> {
|
|
8
|
+
addChecker<GenericChecker extends readonly [
|
|
9
|
+
dataParsers.DataParserEmptyCheckers,
|
|
10
|
+
...dataParsers.DataParserEmptyCheckers[]
|
|
11
|
+
]>(...args: FixDeepFunctionInfer<readonly [
|
|
12
|
+
dataParsers.DataParserEmptyCheckers,
|
|
13
|
+
...dataParsers.DataParserEmptyCheckers[]
|
|
14
|
+
], GenericChecker>): DataParserEmptyExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
|
|
15
|
+
refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserEmptyExtended<AddCheckersToDefinition<GenericDefinition, [
|
|
16
|
+
dataParsers.CheckerRefineImplementation<Output<this>>
|
|
17
|
+
]>>;
|
|
7
18
|
}
|
|
8
19
|
export declare function empty<const GenericDefinition extends Partial<dataParsers.DataParserDefinitionEmpty> = never>(definition?: GenericDefinition): DataParserEmptyExtended<MergeDefinition<dataParsers.DataParserDefinitionEmpty, NeverCoalescing<GenericDefinition, {}>>>;
|
|
9
20
|
export {};
|
|
@@ -20,6 +20,7 @@ var record = require('./record.cjs');
|
|
|
20
20
|
var templateLiteral = require('./templateLiteral.cjs');
|
|
21
21
|
var tuple = require('./tuple.cjs');
|
|
22
22
|
var unknown = require('./unknown.cjs');
|
|
23
|
+
var recover = require('./recover.cjs');
|
|
23
24
|
|
|
24
25
|
|
|
25
26
|
|
|
@@ -46,3 +47,4 @@ exports.record = record.record;
|
|
|
46
47
|
exports.templateLiteral = templateLiteral.templateLiteral;
|
|
47
48
|
exports.tuple = tuple.tuple;
|
|
48
49
|
exports.unknown = unknown.unknown;
|
|
50
|
+
exports.recover = recover.recover;
|
|
@@ -1,10 +1,20 @@
|
|
|
1
|
-
import { type NeverCoalescing } from "../../common";
|
|
1
|
+
import { type FixDeepFunctionInfer, type NeverCoalescing } from "../../common";
|
|
2
2
|
import { type DataParserExtended } from "../baseExtended";
|
|
3
|
-
import { type MergeDefinition } from "../types";
|
|
3
|
+
import { type AddCheckersToDefinition, type MergeDefinition } from "../types";
|
|
4
4
|
import * as dataParsers from "../parsers";
|
|
5
|
-
import { type DataParser } from "../base";
|
|
5
|
+
import { type Output, type DataParser } from "../base";
|
|
6
6
|
type _DataParserLazyExtended<GenericDefinition extends dataParsers.DataParserDefinitionLazy> = (dataParsers.DataParserLazy<GenericDefinition> & DataParserExtended);
|
|
7
7
|
export interface DataParserLazyExtended<GenericDefinition extends dataParsers.DataParserDefinitionLazy = dataParsers.DataParserDefinitionLazy> extends _DataParserLazyExtended<GenericDefinition> {
|
|
8
|
+
addChecker<GenericChecker extends readonly [
|
|
9
|
+
dataParsers.DataParserLazyCheckers<Output<this>>,
|
|
10
|
+
...dataParsers.DataParserLazyCheckers<Output<this>>[]
|
|
11
|
+
]>(...args: FixDeepFunctionInfer<readonly [
|
|
12
|
+
dataParsers.DataParserLazyCheckers<Output<this>>,
|
|
13
|
+
...dataParsers.DataParserLazyCheckers<Output<this>>[]
|
|
14
|
+
], GenericChecker>): DataParserLazyExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
|
|
15
|
+
refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserLazyExtended<AddCheckersToDefinition<GenericDefinition, [
|
|
16
|
+
dataParsers.CheckerRefineImplementation<Output<this>>
|
|
17
|
+
]>>;
|
|
8
18
|
}
|
|
9
19
|
export declare function lazy<GenericDataParser extends DataParser, const GenericDefinition extends Partial<dataParsers.DataParserDefinitionLazy> = never>(getter: () => GenericDataParser, definition?: GenericDefinition): DataParserLazyExtended<MergeDefinition<dataParsers.DataParserDefinitionLazy, NeverCoalescing<GenericDefinition, {}> & {
|
|
10
20
|
getter(): GenericDataParser;
|