@duplojs/utils 1.1.12 → 1.1.14
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/kind.cjs +15 -12
- package/dist/common/kind.d.ts +2 -2
- package/dist/common/kind.mjs +15 -12
- package/dist/common/or.d.ts +9 -9
- package/dist/common/types/index.d.ts +2 -0
- package/dist/common/types/onlyLiteral.d.ts +18 -0
- package/dist/common/types/unwrapArray.d.ts +1 -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.mjs +1 -1
- package/dist/either/bool/truthy.cjs +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/nullable/empty.cjs +1 -1
- package/dist/either/nullable/empty.mjs +1 -1
- package/dist/either/nullish/filled.cjs +2 -2
- package/dist/either/nullish/filled.mjs +2 -2
- package/dist/either/optional/filled.cjs +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/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/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
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { escapeRegExp } from '../../../common/escapeRegExp.mjs';
|
|
2
|
+
import { pipe } from '../../../common/pipe.mjs';
|
|
3
|
+
import { innerPipe } from '../../../common/innerPipe.mjs';
|
|
4
|
+
import { when as when$1 } from '../../../common/when.mjs';
|
|
5
|
+
import { isType } from '../../../common/isType.mjs';
|
|
6
|
+
import { or } from '../../../common/or.mjs';
|
|
7
|
+
import { justReturn } from '../../../common/justReturn.mjs';
|
|
8
|
+
import { find } from '../../../array/find.mjs';
|
|
9
|
+
import { to } from '../../../object/to.mjs';
|
|
10
|
+
import { map } from '../../../array/map.mjs';
|
|
11
|
+
import { join } from '../../../array/join.mjs';
|
|
12
|
+
import '../../../common/globalStore.mjs';
|
|
13
|
+
import '../../../common/builder.mjs';
|
|
14
|
+
import { templateLiteralKind } from './index.mjs';
|
|
15
|
+
import '../../../pattern/result.mjs';
|
|
16
|
+
import { exhaustive } from '../../../pattern/exhaustive.mjs';
|
|
17
|
+
import { when } from '../../../pattern/when.mjs';
|
|
18
|
+
import { replace } from '../../../string/replace.mjs';
|
|
19
|
+
import { numberKind } from '../number/index.mjs';
|
|
20
|
+
import { bigIntKind } from '../bigint/index.mjs';
|
|
21
|
+
import { booleanKind } from '../boolean.mjs';
|
|
22
|
+
import { nilKind } from '../nil.mjs';
|
|
23
|
+
import { emptyKind } from '../empty.mjs';
|
|
24
|
+
import { literalKind } from '../literal.mjs';
|
|
25
|
+
import { stringKind } from '../string/index.mjs';
|
|
26
|
+
import { unionKind } from '../union.mjs';
|
|
27
|
+
import { checkerStringRegexKind } from '../string/checkers/regex.mjs';
|
|
28
|
+
import { checkerStringMaxKind } from '../string/checkers/max.mjs';
|
|
29
|
+
import { checkerStringMinKind } from '../string/checkers/min.mjs';
|
|
30
|
+
import { checkerEmailKind } from '../string/checkers/email.mjs';
|
|
31
|
+
import { checkerIntKind } from '../number/checkers/int.mjs';
|
|
32
|
+
|
|
33
|
+
function createTemplateLiteralPattern(templatePart) {
|
|
34
|
+
return pipe(templatePart, map(innerPipe(when(or([
|
|
35
|
+
isType("string"),
|
|
36
|
+
isType("boolean"),
|
|
37
|
+
isType("bigint"),
|
|
38
|
+
isType("null"),
|
|
39
|
+
isType("undefined"),
|
|
40
|
+
isType("number"),
|
|
41
|
+
]), innerPipe(when$1(isType("bigint"), (value) => `${value}n`), String, escapeRegExp, (value) => `(?:${value})`)), when(numberKind.has, (dataParser) => pipe(dataParser.definition.checkers, to({
|
|
42
|
+
int: innerPipe(find(checkerIntKind.has), when$1(checkerIntKind.has, justReturn(true))),
|
|
43
|
+
}), ({ int }) => {
|
|
44
|
+
if (int) {
|
|
45
|
+
return "(?:[0-9]+)";
|
|
46
|
+
}
|
|
47
|
+
return "(?:[0-9]+(\\.[0-9]+)?)";
|
|
48
|
+
})), when(bigIntKind.has, () => "(?:[0-9]+n)"), when(booleanKind.has, () => "(?:true|false)"), when(nilKind.has, () => "(?:null)"), when(emptyKind.has, () => "(?:undefined)"), when(literalKind.has, (dataParser) => pipe(dataParser.definition.value, map((element) => createTemplateLiteralPattern([element])), join("|"), (pattern) => `(?:${pattern})`)), when(stringKind.has, (dataParser) => pipe(dataParser.definition.checkers, to({
|
|
49
|
+
email: innerPipe(find(checkerEmailKind.has), when$1(checkerEmailKind.has, (checker) => pipe(checker.definition.pattern.source, replace(/^\^/, ""), replace(/\$$/, "")))),
|
|
50
|
+
min: innerPipe(find(checkerStringMinKind.has), when$1(checkerStringMinKind.has, (checker) => checker.definition.min)),
|
|
51
|
+
max: innerPipe(find(checkerStringMaxKind.has), when$1(checkerStringMaxKind.has, (checker) => checker.definition.max)),
|
|
52
|
+
regex: innerPipe(find(checkerStringRegexKind.has), when$1(checkerStringRegexKind.has, (checker) => pipe(checker.definition.regex.source, replace(/^\^/, ""), replace(/\$$/, "")))),
|
|
53
|
+
}), ({ email, regex, max, min }) => {
|
|
54
|
+
if (email) {
|
|
55
|
+
return email;
|
|
56
|
+
}
|
|
57
|
+
else if (regex) {
|
|
58
|
+
return regex;
|
|
59
|
+
}
|
|
60
|
+
else if (max !== undefined && min !== undefined) {
|
|
61
|
+
return `(?:[^]{${min},${max}})`;
|
|
62
|
+
}
|
|
63
|
+
else if (max !== undefined) {
|
|
64
|
+
return `(?:[^]{0,${max}})`;
|
|
65
|
+
}
|
|
66
|
+
else if (min !== undefined) {
|
|
67
|
+
return `(?:[^]{${min},})`;
|
|
68
|
+
}
|
|
69
|
+
return "(?:[^]*)";
|
|
70
|
+
})), innerPipe(when(templateLiteralKind.has, (dataParser) => pipe(dataParser.definition.pattern.source, replace(/^\^/, ""), replace(/\$$/, ""), (pattern) => `(?:${pattern})`)), when(unionKind.has, (dataParser) => pipe(dataParser.definition.options, map((option) => createTemplateLiteralPattern([option])), join("|"), (pattern) => `(?:${pattern})`)), exhaustive))), join(""));
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export { createTemplateLiteralPattern };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var pipe = require('../../../common/pipe.cjs');
|
|
4
|
+
require('../../../common/globalStore.cjs');
|
|
5
|
+
require('../../../common/builder.cjs');
|
|
6
|
+
var base = require('../../base.cjs');
|
|
7
|
+
var error = require('../../error.cjs');
|
|
8
|
+
var kind = require('../../kind.cjs');
|
|
9
|
+
var createTemplateLiteralPattern = require('./createTemplateLiteralPattern.cjs');
|
|
10
|
+
|
|
11
|
+
const templateLiteralKind = kind.createDataParserKind("template-literal");
|
|
12
|
+
function templateLiteral(template, definition) {
|
|
13
|
+
const pattern = pipe.pipe(createTemplateLiteralPattern.createTemplateLiteralPattern(template), (result) => new RegExp(`^${result}$`));
|
|
14
|
+
return base.dataParserInit(templateLiteralKind, {
|
|
15
|
+
definition: {
|
|
16
|
+
errorMessage: definition?.errorMessage,
|
|
17
|
+
checkers: definition?.checkers ?? [],
|
|
18
|
+
template,
|
|
19
|
+
pattern,
|
|
20
|
+
},
|
|
21
|
+
}, (data, _error, self) => {
|
|
22
|
+
if (typeof data === "string" && self.definition.pattern.test(data)) {
|
|
23
|
+
return data;
|
|
24
|
+
}
|
|
25
|
+
return error.SymbolDataParserErrorIssue;
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
exports.createTemplateLiteralPattern = createTemplateLiteralPattern.createTemplateLiteralPattern;
|
|
30
|
+
exports.templateLiteral = templateLiteral;
|
|
31
|
+
exports.templateLiteralKind = templateLiteralKind;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { type Adaptor, type AnyTuple, type FixDeepFunctionInfer, type Kind, type NeverCoalescing } from "../../../common";
|
|
2
|
+
import { type DataParserDefinition, type DataParser, type Output, type Input, type DataParserChecker } from "../../base";
|
|
3
|
+
import { type AddCheckersToDefinition, type MergeDefinition } from "../../../dataParser/types";
|
|
4
|
+
import { type DataParserCheckerStringMax, type DataParserCheckerStringMin, type DataParserCheckerStringRegex, type DataParserCheckerEmail, type DataParserDefinitionString, type DataParserString } from "../string";
|
|
5
|
+
import { type DataParserCheckerInt, type DataParserDefinitionNumber, type DataParserNumber } from "../number";
|
|
6
|
+
import { type DataParserDefinitionBigInt, type DataParserBigInt } from "../bigint";
|
|
7
|
+
import { type DataParserDefinitionLiteral, type DataParserLiteral } from "../literal";
|
|
8
|
+
import { type DataParserDefinitionEmpty, type DataParserEmpty } from "../empty";
|
|
9
|
+
import { type DataParserDefinitionNil, type DataParserNil } from "../nil";
|
|
10
|
+
import { type DataParserDefinitionBoolean, type DataParserBoolean } from "../boolean";
|
|
11
|
+
import { type CheckerRefineImplementation } from "../refine";
|
|
12
|
+
import { type DataParserDefinitionUnion, type DataParserUnion } from "../union";
|
|
13
|
+
import { type GetPropsWithValueExtends } from "../../../object";
|
|
14
|
+
export * from "./createTemplateLiteralPattern";
|
|
15
|
+
export type TemplateLiteralPrimitiveParts = (string | number | null | undefined | bigint | boolean);
|
|
16
|
+
export type TemplateLiteralParts = (TemplateLiteralPrimitiveParts | DataParserString<Omit<DataParserDefinitionString, "checkers"> & {
|
|
17
|
+
readonly checkers: readonly (DataParserCheckerEmail | DataParserCheckerStringMax | DataParserCheckerStringMin | DataParserCheckerStringRegex)[];
|
|
18
|
+
}> | DataParserNumber<Omit<DataParserDefinitionNumber, "checkers"> & {
|
|
19
|
+
readonly checkers: readonly DataParserCheckerInt[];
|
|
20
|
+
}> | DataParserBigInt<Omit<DataParserDefinitionBigInt, "checkers"> & {
|
|
21
|
+
readonly checkers: readonly [];
|
|
22
|
+
}> | DataParserBoolean<Omit<DataParserDefinitionBoolean, "checkers"> & {
|
|
23
|
+
readonly checkers: readonly [];
|
|
24
|
+
}> | DataParserLiteral<Omit<DataParserDefinitionLiteral, "checkers"> & {
|
|
25
|
+
readonly checkers: readonly [];
|
|
26
|
+
}> | DataParserEmpty<Omit<DataParserDefinitionEmpty, "checkers"> & {
|
|
27
|
+
readonly checkers: readonly [];
|
|
28
|
+
}> | DataParserNil<Omit<DataParserDefinitionNil, "checkers"> & {
|
|
29
|
+
readonly checkers: readonly [];
|
|
30
|
+
}> | DataParserTemplateLiteral<Omit<DataParserDefinitionTemplateLiteral, "checkers"> & {
|
|
31
|
+
readonly checkers: readonly [];
|
|
32
|
+
}> | DataParserUnion<Omit<DataParserDefinitionUnion, "checkers" | "options"> & {
|
|
33
|
+
readonly options: AnyTuple<Exclude<TemplateLiteralParts, TemplateLiteralPrimitiveParts>>;
|
|
34
|
+
readonly checkers: readonly [];
|
|
35
|
+
}>);
|
|
36
|
+
export type TemplateLiteralShape = readonly [TemplateLiteralParts, ...TemplateLiteralParts[]];
|
|
37
|
+
type EligibleTemplateLiteral = string | number | bigint | boolean | null | undefined;
|
|
38
|
+
export type TemplateLiteralShapeOutput<GenericTemplate extends TemplateLiteralShape, GenericLastResult extends string = ""> = GenericTemplate extends readonly [
|
|
39
|
+
infer InferredFirst extends TemplateLiteralParts,
|
|
40
|
+
...infer InferredRest extends TemplateLiteralParts[]
|
|
41
|
+
] ? (`${GenericLastResult}${InferredFirst extends TemplateLiteralPrimitiveParts ? InferredFirst extends bigint ? `${InferredFirst}n` : InferredFirst : Adaptor<Output<Exclude<InferredFirst, TemplateLiteralPrimitiveParts>>, EligibleTemplateLiteral>}`) extends infer InferredResult extends string ? InferredRest extends readonly [] ? InferredResult : InferredRest extends TemplateLiteralShape ? TemplateLiteralShapeOutput<InferredRest, InferredResult> : TemplateLiteralShapeOutput<[InferredRest[number]], InferredResult> : never : never;
|
|
42
|
+
export type TemplateLiteralShapeInput<GenericTemplate extends TemplateLiteralShape, GenericLastResult extends string = ""> = GenericTemplate extends readonly [
|
|
43
|
+
infer InferredFirst extends TemplateLiteralParts,
|
|
44
|
+
...infer InferredRest extends TemplateLiteralParts[]
|
|
45
|
+
] ? (`${GenericLastResult}${InferredFirst extends TemplateLiteralPrimitiveParts ? InferredFirst extends bigint ? `${InferredFirst}n` : InferredFirst : Adaptor<Input<Exclude<InferredFirst, TemplateLiteralPrimitiveParts>>, EligibleTemplateLiteral>}`) extends infer InferredResult extends string ? InferredRest extends readonly [] ? InferredResult : InferredRest extends TemplateLiteralShape ? TemplateLiteralShapeInput<InferredRest, InferredResult> : TemplateLiteralShapeInput<[InferredRest[number]], InferredResult> : never : never;
|
|
46
|
+
export interface DataParserTemplateLiteralCheckerCustom<GenericInput extends string = string> {
|
|
47
|
+
}
|
|
48
|
+
export type DataParserTemplateLiteralCheckers<GenericInput extends string = string> = (DataParserTemplateLiteralCheckerCustom<GenericInput>[GetPropsWithValueExtends<DataParserTemplateLiteralCheckerCustom<GenericInput>, DataParserChecker>] | CheckerRefineImplementation<GenericInput>);
|
|
49
|
+
export interface DataParserDefinitionTemplateLiteral extends DataParserDefinition<DataParserTemplateLiteralCheckers> {
|
|
50
|
+
readonly template: TemplateLiteralShape;
|
|
51
|
+
readonly pattern: RegExp;
|
|
52
|
+
}
|
|
53
|
+
export declare const templateLiteralKind: import("../../../common").KindHandler<import("../../../common").KindDefinition<"@DuplojsUtilsDataParser/template-literal", unknown>>;
|
|
54
|
+
type _DataParserTemplateLiteral<GenericDefinition extends DataParserDefinitionTemplateLiteral> = (DataParser<GenericDefinition, TemplateLiteralShapeOutput<GenericDefinition["template"]>, TemplateLiteralShapeInput<GenericDefinition["template"]>> & Kind<typeof templateLiteralKind.definition>);
|
|
55
|
+
export interface DataParserTemplateLiteral<GenericDefinition extends DataParserDefinitionTemplateLiteral = DataParserDefinitionTemplateLiteral> extends _DataParserTemplateLiteral<GenericDefinition> {
|
|
56
|
+
addChecker<GenericChecker extends readonly [
|
|
57
|
+
DataParserTemplateLiteralCheckers<Output<this>>,
|
|
58
|
+
...DataParserTemplateLiteralCheckers<Output<this>>[]
|
|
59
|
+
]>(...args: FixDeepFunctionInfer<readonly [
|
|
60
|
+
DataParserTemplateLiteralCheckers<Output<this>>,
|
|
61
|
+
...DataParserTemplateLiteralCheckers<Output<this>>[]
|
|
62
|
+
], GenericChecker>): DataParserTemplateLiteral<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
|
|
63
|
+
}
|
|
64
|
+
export declare function templateLiteral<const GenericTemplate extends TemplateLiteralShape, const GenericDefinition extends Partial<Omit<DataParserDefinitionTemplateLiteral, "template" | "pattern">> = never>(template: GenericTemplate, definition?: GenericDefinition): DataParserTemplateLiteral<MergeDefinition<DataParserDefinitionTemplateLiteral, NeverCoalescing<GenericDefinition, {}> & {
|
|
65
|
+
template: GenericTemplate;
|
|
66
|
+
}>>;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { pipe } from '../../../common/pipe.mjs';
|
|
2
|
+
import '../../../common/globalStore.mjs';
|
|
3
|
+
import '../../../common/builder.mjs';
|
|
4
|
+
import { dataParserInit } from '../../base.mjs';
|
|
5
|
+
import { SymbolDataParserErrorIssue } from '../../error.mjs';
|
|
6
|
+
import { createDataParserKind } from '../../kind.mjs';
|
|
7
|
+
import { createTemplateLiteralPattern } from './createTemplateLiteralPattern.mjs';
|
|
8
|
+
|
|
9
|
+
const templateLiteralKind = createDataParserKind("template-literal");
|
|
10
|
+
function templateLiteral(template, definition) {
|
|
11
|
+
const pattern = pipe(createTemplateLiteralPattern(template), (result) => new RegExp(`^${result}$`));
|
|
12
|
+
return dataParserInit(templateLiteralKind, {
|
|
13
|
+
definition: {
|
|
14
|
+
errorMessage: definition?.errorMessage,
|
|
15
|
+
checkers: definition?.checkers ?? [],
|
|
16
|
+
template,
|
|
17
|
+
pattern,
|
|
18
|
+
},
|
|
19
|
+
}, (data, _error, self) => {
|
|
20
|
+
if (typeof data === "string" && self.definition.pattern.test(data)) {
|
|
21
|
+
return data;
|
|
22
|
+
}
|
|
23
|
+
return SymbolDataParserErrorIssue;
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export { createTemplateLiteralPattern, templateLiteral, templateLiteralKind };
|
|
@@ -1,14 +1,26 @@
|
|
|
1
|
-
import { type Kind, type NeverCoalescing } from "../../common";
|
|
2
|
-
import { type DataParserDefinition, type DataParser, type Input, type Output, SymbolDataParserError } from "../base";
|
|
3
|
-
import { type MergeDefinition } from "../../dataParser/types";
|
|
1
|
+
import { type FixDeepFunctionInfer, type Kind, type NeverCoalescing } from "../../common";
|
|
2
|
+
import { type DataParserDefinition, type DataParser, type Input, type Output, SymbolDataParserError, type DataParserChecker } from "../base";
|
|
3
|
+
import { type AddCheckersToDefinition, type MergeDefinition } from "../../dataParser/types";
|
|
4
4
|
import { type DataParserError, type SymbolDataParserErrorIssue, SymbolDataParserErrorPromiseIssue } from "../../dataParser/error";
|
|
5
|
-
|
|
5
|
+
import { type CheckerRefineImplementation } from "./refine";
|
|
6
|
+
import { type GetPropsWithValueExtends } from "../../object";
|
|
7
|
+
export interface DataParserTransformCheckerCustom<GenericInput extends unknown = unknown> {
|
|
8
|
+
}
|
|
9
|
+
export type DataParserTransformCheckers<GenericInput extends unknown = unknown> = (DataParserTransformCheckerCustom<GenericInput>[GetPropsWithValueExtends<DataParserTransformCheckerCustom<GenericInput>, DataParserChecker>] | CheckerRefineImplementation<GenericInput>);
|
|
10
|
+
export interface DataParserDefinitionTransform extends DataParserDefinition<DataParserTransformCheckers> {
|
|
6
11
|
readonly inner: DataParser;
|
|
7
12
|
theFunction(input: any, error: DataParserError): unknown;
|
|
8
13
|
}
|
|
9
14
|
export declare const transformKind: import("../../common").KindHandler<import("../../common").KindDefinition<"@DuplojsUtilsDataParser/transform", unknown>>;
|
|
10
15
|
type _DataParserTransform<GenericDefinition extends DataParserDefinitionTransform> = (DataParser<GenericDefinition, Exclude<Awaited<ReturnType<GenericDefinition["theFunction"]>>, SymbolDataParserError | SymbolDataParserErrorIssue | SymbolDataParserErrorPromiseIssue>, Input<GenericDefinition["inner"]>> & Kind<typeof transformKind.definition>);
|
|
11
16
|
export interface DataParserTransform<GenericDefinition extends DataParserDefinitionTransform = DataParserDefinitionTransform> extends _DataParserTransform<GenericDefinition> {
|
|
17
|
+
addChecker<GenericChecker extends readonly [
|
|
18
|
+
DataParserTransformCheckers<Output<this>>,
|
|
19
|
+
...DataParserTransformCheckers<Output<this>>[]
|
|
20
|
+
]>(...args: FixDeepFunctionInfer<readonly [
|
|
21
|
+
DataParserTransformCheckers<Output<this>>,
|
|
22
|
+
...DataParserTransformCheckers<Output<this>>[]
|
|
23
|
+
], GenericChecker>): DataParserTransform<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
|
|
12
24
|
}
|
|
13
25
|
export declare function transform<GenericDataParser extends DataParser, GenericOutput extends unknown, const GenericDefinition extends Partial<Omit<DataParserDefinitionTransform, "inner" | "theFunction">> = never>(inner: GenericDataParser, theFunction: (input: Output<GenericDataParser>, error: DataParserError) => GenericOutput, definition?: GenericDefinition): DataParserTransform<MergeDefinition<DataParserDefinitionTransform, NeverCoalescing<GenericDefinition, {}> & {
|
|
14
26
|
inner: GenericDataParser;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { type UnionContain, type IsEqual, type Kind, type Adaptor, type NeverCoalescing } from "../../common";
|
|
2
|
-
import { type DataParserDefinition, type DataParser, type Output, type Input } from "../base";
|
|
1
|
+
import { type UnionContain, type IsEqual, type Kind, type Adaptor, type NeverCoalescing, type FixDeepFunctionInfer, type AnyTuple } from "../../common";
|
|
2
|
+
import { type DataParserDefinition, type DataParser, type Output, type Input, type DataParserChecker } from "../base";
|
|
3
3
|
import { type AddCheckersToDefinition, type MergeDefinition } from "../../dataParser/types";
|
|
4
4
|
import { type DataParserCheckerArrayMax, type DataParserCheckerArrayMin } from "./array";
|
|
5
|
+
import { type CheckerRefineImplementation } from "./refine";
|
|
6
|
+
import { type GetPropsWithValueExtends } from "../../object";
|
|
5
7
|
export type TupleShape = readonly [DataParser, ...DataParser[]];
|
|
6
8
|
export type DataParserTupleShapeOutput<GenericShape extends TupleShape, GenericRest extends DataParser | undefined> = IsEqual<GenericShape, TupleShape> extends true ? TupleShape : GenericShape extends [
|
|
7
9
|
infer InferredFirst extends DataParser,
|
|
@@ -17,7 +19,9 @@ export type DataParserTupleShapeInput<GenericShape extends TupleShape, GenericRe
|
|
|
17
19
|
Input<InferredFirst>,
|
|
18
20
|
...(InferredRest extends TupleShape ? DataParserTupleShapeOutput<InferredRest, GenericRest> : UnionContain<GenericRest, undefined> extends true ? [] : Input<Adaptor<GenericRest, DataParser>>[])
|
|
19
21
|
] : never;
|
|
20
|
-
export
|
|
22
|
+
export interface DataParserTupleCheckerCustom<GenericInput extends AnyTuple<unknown> = AnyTuple<unknown>> {
|
|
23
|
+
}
|
|
24
|
+
export type DataParserTupleCheckers<GenericInput extends AnyTuple<unknown> = AnyTuple<unknown>> = (DataParserTupleCheckerCustom<GenericInput>[GetPropsWithValueExtends<DataParserTupleCheckerCustom<GenericInput>, DataParserChecker>] | DataParserCheckerArrayMin | DataParserCheckerArrayMax | CheckerRefineImplementation<GenericInput>);
|
|
21
25
|
export interface DataParserDefinitionTuple extends DataParserDefinition<DataParserTupleCheckers> {
|
|
22
26
|
readonly shape: TupleShape;
|
|
23
27
|
readonly rest?: DataParser;
|
|
@@ -25,7 +29,13 @@ export interface DataParserDefinitionTuple extends DataParserDefinition<DataPars
|
|
|
25
29
|
export declare const tupleKind: import("../../common").KindHandler<import("../../common").KindDefinition<"@DuplojsUtilsDataParser/tuple", unknown>>;
|
|
26
30
|
type _DataParserTuple<GenericDefinition extends DataParserDefinitionTuple> = (DataParser<GenericDefinition, DataParserTupleShapeOutput<GenericDefinition["shape"], GenericDefinition["rest"]>, DataParserTupleShapeInput<GenericDefinition["shape"], GenericDefinition["rest"]>> & Kind<typeof tupleKind.definition>);
|
|
27
31
|
export interface DataParserTuple<GenericDefinition extends DataParserDefinitionTuple = DataParserDefinitionTuple> extends _DataParserTuple<GenericDefinition> {
|
|
28
|
-
addChecker<GenericChecker extends
|
|
32
|
+
addChecker<GenericChecker extends readonly [
|
|
33
|
+
DataParserTupleCheckers<Output<this>>,
|
|
34
|
+
...DataParserTupleCheckers<Output<this>>[]
|
|
35
|
+
]>(...args: FixDeepFunctionInfer<readonly [
|
|
36
|
+
DataParserTupleCheckers<Output<this>>,
|
|
37
|
+
...DataParserTupleCheckers<Output<this>>[]
|
|
38
|
+
], GenericChecker>): DataParserTuple<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
|
|
29
39
|
}
|
|
30
40
|
export declare function tuple<GenericShape extends TupleShape, const GenericDefinition extends Partial<Omit<DataParserDefinitionTuple, "shape">> = never>(shape: GenericShape, definition?: GenericDefinition): DataParserTuple<MergeDefinition<DataParserDefinitionTuple, NeverCoalescing<GenericDefinition, {}> & {
|
|
31
41
|
shape: GenericShape;
|
|
@@ -1,13 +1,25 @@
|
|
|
1
|
-
import { type NeverCoalescing, type Kind } from "../../common";
|
|
2
|
-
import { type DataParserDefinition, type DataParser, type Output, type Input } from "../base";
|
|
3
|
-
import { type MergeDefinition } from "../../dataParser/types";
|
|
1
|
+
import { type NeverCoalescing, type Kind, type FixDeepFunctionInfer } from "../../common";
|
|
2
|
+
import { type DataParserDefinition, type DataParser, type Output, type Input, type DataParserChecker } from "../base";
|
|
3
|
+
import { type AddCheckersToDefinition, type MergeDefinition } from "../../dataParser/types";
|
|
4
|
+
import { type CheckerRefineImplementation } from "./refine";
|
|
5
|
+
import { type GetPropsWithValueExtends } from "../../object";
|
|
4
6
|
export type UnionOptions = readonly [DataParser, ...DataParser[]];
|
|
5
|
-
export interface
|
|
7
|
+
export interface DataParserUnionCheckerCustom<GenericInput extends unknown = unknown> {
|
|
8
|
+
}
|
|
9
|
+
export type DataParserUnionCheckers<GenericInput extends unknown = unknown> = (DataParserUnionCheckerCustom<GenericInput>[GetPropsWithValueExtends<DataParserUnionCheckerCustom<GenericInput>, DataParserChecker>] | CheckerRefineImplementation<GenericInput>);
|
|
10
|
+
export interface DataParserDefinitionUnion extends DataParserDefinition<DataParserUnionCheckers> {
|
|
6
11
|
readonly options: UnionOptions;
|
|
7
12
|
}
|
|
8
13
|
export declare const unionKind: import("../../common").KindHandler<import("../../common").KindDefinition<"@DuplojsUtilsDataParser/union", unknown>>;
|
|
9
14
|
type _DataParserUnion<GenericDefinition extends DataParserDefinitionUnion> = (DataParser<GenericDefinition, Output<GenericDefinition["options"][number]>, Input<GenericDefinition["options"][number]>> & Kind<typeof unionKind.definition>);
|
|
10
15
|
export interface DataParserUnion<GenericDefinition extends DataParserDefinitionUnion = DataParserDefinitionUnion> extends _DataParserUnion<GenericDefinition> {
|
|
16
|
+
addChecker<GenericChecker extends readonly [
|
|
17
|
+
DataParserUnionCheckers<Output<this>>,
|
|
18
|
+
...DataParserUnionCheckers<Output<this>>[]
|
|
19
|
+
]>(...args: FixDeepFunctionInfer<readonly [
|
|
20
|
+
DataParserUnionCheckers<Output<this>>,
|
|
21
|
+
...DataParserUnionCheckers<Output<this>>[]
|
|
22
|
+
], GenericChecker>): DataParserUnion<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
|
|
11
23
|
}
|
|
12
24
|
export declare function union<GenericOptions extends UnionOptions, const GenericDefinition extends Partial<Omit<DataParserDefinitionUnion, "options">> = never>(options: GenericOptions, definition?: GenericDefinition): DataParserUnion<MergeDefinition<DataParserDefinitionUnion, NeverCoalescing<GenericDefinition, {}> & {
|
|
13
25
|
options: GenericOptions;
|
|
@@ -1,11 +1,23 @@
|
|
|
1
|
-
import { type NeverCoalescing, type Kind } from "../../common";
|
|
2
|
-
import { type DataParserDefinition, type DataParser } from "../base";
|
|
3
|
-
import { type MergeDefinition } from "../../dataParser/types";
|
|
4
|
-
|
|
1
|
+
import { type NeverCoalescing, type Kind, type FixDeepFunctionInfer } from "../../common";
|
|
2
|
+
import { type DataParserDefinition, type DataParser, type DataParserChecker } from "../base";
|
|
3
|
+
import { type AddCheckersToDefinition, type MergeDefinition } from "../../dataParser/types";
|
|
4
|
+
import { type CheckerRefineImplementation } from "./refine";
|
|
5
|
+
import { type GetPropsWithValueExtends } from "../../object";
|
|
6
|
+
export interface DataParserUnknownCheckerCustom {
|
|
7
|
+
}
|
|
8
|
+
export type DataParserUnknownCheckers = (DataParserUnknownCheckerCustom[GetPropsWithValueExtends<DataParserUnknownCheckerCustom, DataParserChecker>] | CheckerRefineImplementation<unknown>);
|
|
9
|
+
export interface DataParserDefinitionUnknown extends DataParserDefinition<DataParserUnknownCheckers> {
|
|
5
10
|
}
|
|
6
11
|
export declare const unknownKind: import("../../common").KindHandler<import("../../common").KindDefinition<"@DuplojsUtilsDataParser/unknown", unknown>>;
|
|
7
12
|
type _DataParserUnknown<GenericDefinition extends DataParserDefinitionUnknown> = (DataParser<GenericDefinition, unknown, unknown> & Kind<typeof unknownKind.definition>);
|
|
8
13
|
export interface DataParserUnknown<GenericDefinition extends DataParserDefinitionUnknown = DataParserDefinitionUnknown> extends _DataParserUnknown<GenericDefinition> {
|
|
14
|
+
addChecker<GenericChecker extends readonly [
|
|
15
|
+
DataParserUnknownCheckers,
|
|
16
|
+
...DataParserUnknownCheckers[]
|
|
17
|
+
]>(...args: FixDeepFunctionInfer<readonly [
|
|
18
|
+
DataParserUnknownCheckers,
|
|
19
|
+
...DataParserUnknownCheckers[]
|
|
20
|
+
], GenericChecker>): DataParserUnknown<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
|
|
9
21
|
}
|
|
10
22
|
export declare function unknown<const GenericDefinition extends Partial<DataParserDefinitionUnknown> = never>(definition?: GenericDefinition): DataParserUnknown<MergeDefinition<DataParserDefinitionUnknown, NeverCoalescing<GenericDefinition, {}>>>;
|
|
11
23
|
export {};
|
|
@@ -4,4 +4,4 @@ import type * as AllDataParser from "../parsers";
|
|
|
4
4
|
export interface CheckerCustom {
|
|
5
5
|
base: DataParserChecker;
|
|
6
6
|
}
|
|
7
|
-
export type DataParserCheckers = (CheckerCustom[GetPropsWithValueExtends<CheckerCustom, DataParserChecker>] | AllDataParser.DataParserCheckerUrl | AllDataParser.DataParserCheckerArrayMax | AllDataParser.DataParserCheckerArrayMin | AllDataParser.DataParserCheckerBigIntMax | AllDataParser.DataParserCheckerBigIntMin | AllDataParser.DataParserCheckerNumberMax | AllDataParser.DataParserCheckerNumberMin | AllDataParser.DataParserCheckerInt | AllDataParser.DataParserCheckerEmail);
|
|
7
|
+
export type DataParserCheckers = (CheckerCustom[GetPropsWithValueExtends<CheckerCustom, DataParserChecker>] | AllDataParser.DataParserCheckerUrl | AllDataParser.DataParserCheckerArrayMax | AllDataParser.DataParserCheckerArrayMin | AllDataParser.DataParserCheckerBigIntMax | AllDataParser.DataParserCheckerBigIntMin | AllDataParser.DataParserCheckerNumberMax | AllDataParser.DataParserCheckerNumberMin | AllDataParser.DataParserCheckerInt | AllDataParser.DataParserCheckerEmail | AllDataParser.DataParserCheckerRefine);
|
|
@@ -6,8 +6,8 @@ import { type DataParserExtended } from "../baseExtended";
|
|
|
6
6
|
export interface DataParserCustom {
|
|
7
7
|
base: DataParser;
|
|
8
8
|
}
|
|
9
|
-
export type DataParsers = (DataParserCustom[GetPropsWithValueExtends<DataParserCustom, DataParser>] | AllDataParser.DataParserString | AllDataParser.DataParserObject | AllDataParser.DataParserNumber | AllDataParser.DataParserLiteral | AllDataParser.DataParserUnion | AllDataParser.DataParserArray | AllDataParser.DataParserBigInt | AllDataParser.DataParserTuple | AllDataParser.DataParserTransform | AllDataParser.DataParserBoolean | AllDataParser.DataParserNil | AllDataParser.DataParserEmpty | AllDataParser.DataParserTemplateLiteral | AllDataParser.DataParserPipe | AllDataParser.DataParserNullable | AllDataParser.DataParserOptional | AllDataParser.DataParserLazy | AllDataParser.DataParserUnknown | AllDataParser.DataParserRecord);
|
|
9
|
+
export type DataParsers = (DataParserCustom[GetPropsWithValueExtends<DataParserCustom, DataParser>] | AllDataParser.DataParserString | AllDataParser.DataParserObject | AllDataParser.DataParserNumber | AllDataParser.DataParserLiteral | AllDataParser.DataParserUnion | AllDataParser.DataParserArray | AllDataParser.DataParserBigInt | AllDataParser.DataParserTuple | AllDataParser.DataParserTransform | AllDataParser.DataParserBoolean | AllDataParser.DataParserNil | AllDataParser.DataParserEmpty | AllDataParser.DataParserTemplateLiteral | AllDataParser.DataParserPipe | AllDataParser.DataParserNullable | AllDataParser.DataParserOptional | AllDataParser.DataParserLazy | AllDataParser.DataParserUnknown | AllDataParser.DataParserRecord | AllDataParser.DataParserRecover);
|
|
10
10
|
export interface DataParserExtendedCustom {
|
|
11
11
|
base: DataParserExtended;
|
|
12
12
|
}
|
|
13
|
-
export type DataParsersExtended = (DataParserExtendedCustom[GetPropsWithValueExtends<DataParserExtendedCustom, DataParserExtended>] | AllDataParserExtended.DataParserStringExtended | AllDataParserExtended.DataParserObjectExtended | AllDataParserExtended.DataParserNumberExtended | AllDataParserExtended.DataParserLiteralExtended | AllDataParserExtended.DataParserUnionExtended | AllDataParserExtended.DataParserArrayExtended | AllDataParserExtended.DataParserBigIntExtended | AllDataParserExtended.DataParserTupleExtended | AllDataParserExtended.DataParserTransformExtended | AllDataParserExtended.DataParserBooleanExtended | AllDataParserExtended.DataParserNilExtended | AllDataParserExtended.DataParserEmptyExtended | AllDataParserExtended.DataParserTemplateLiteralExtended | AllDataParserExtended.DataParserPipeExtended | AllDataParserExtended.DataParserNullableExtended | AllDataParserExtended.DataParserOptionalExtended | AllDataParserExtended.DataParserLazyExtended | AllDataParserExtended.DataParserUnknownExtended | AllDataParserExtended.DataParserRecordExtended);
|
|
13
|
+
export type DataParsersExtended = (DataParserExtendedCustom[GetPropsWithValueExtends<DataParserExtendedCustom, DataParserExtended>] | AllDataParserExtended.DataParserStringExtended | AllDataParserExtended.DataParserObjectExtended | AllDataParserExtended.DataParserNumberExtended | AllDataParserExtended.DataParserLiteralExtended | AllDataParserExtended.DataParserUnionExtended | AllDataParserExtended.DataParserArrayExtended | AllDataParserExtended.DataParserBigIntExtended | AllDataParserExtended.DataParserTupleExtended | AllDataParserExtended.DataParserTransformExtended | AllDataParserExtended.DataParserBooleanExtended | AllDataParserExtended.DataParserNilExtended | AllDataParserExtended.DataParserEmptyExtended | AllDataParserExtended.DataParserTemplateLiteralExtended | AllDataParserExtended.DataParserPipeExtended | AllDataParserExtended.DataParserNullableExtended | AllDataParserExtended.DataParserOptionalExtended | AllDataParserExtended.DataParserLazyExtended | AllDataParserExtended.DataParserUnknownExtended | AllDataParserExtended.DataParserRecordExtended | AllDataParserExtended.DataParserRecoverExtended);
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
var unwrap = require('../../common/unwrap.cjs');
|
|
4
4
|
require('../../common/globalStore.cjs');
|
|
5
5
|
require('../../common/builder.cjs');
|
|
6
|
+
var create$1 = require('./create.cjs');
|
|
6
7
|
var kind = require('../kind.cjs');
|
|
7
8
|
var base = require('./base.cjs');
|
|
8
|
-
var create$1 = require('./create.cjs');
|
|
9
9
|
var create = require('../left/create.cjs');
|
|
10
10
|
var is = require('../left/is.cjs');
|
|
11
11
|
var is$1 = require('../right/is.cjs');
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { unwrap } from '../../common/unwrap.mjs';
|
|
2
2
|
import '../../common/globalStore.mjs';
|
|
3
3
|
import '../../common/builder.mjs';
|
|
4
|
+
import { bool } from './create.mjs';
|
|
4
5
|
import { createEitherKind } from '../kind.mjs';
|
|
5
6
|
import { eitherBoolKind } from './base.mjs';
|
|
6
|
-
import { bool } from './create.mjs';
|
|
7
7
|
import { left } from '../left/create.mjs';
|
|
8
8
|
import { isLeft } from '../left/is.mjs';
|
|
9
9
|
import { isRight } from '../right/is.mjs';
|
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
var unwrap = require('../../common/unwrap.cjs');
|
|
4
4
|
require('../../common/globalStore.cjs');
|
|
5
5
|
require('../../common/builder.cjs');
|
|
6
|
-
var
|
|
6
|
+
var create$1 = require('./create.cjs');
|
|
7
7
|
var kind = require('../kind.cjs');
|
|
8
|
+
var base = require('./base.cjs');
|
|
8
9
|
var is$1 = require('../left/is.cjs');
|
|
9
10
|
var create = require('../right/create.cjs');
|
|
10
11
|
var is = require('../right/is.cjs');
|
|
11
|
-
var create$1 = require('./create.cjs');
|
|
12
12
|
|
|
13
13
|
const eitherBoolTruthyKind = kind.createEitherKind("bool-truthy");
|
|
14
14
|
function boolTruthy(value) {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { unwrap } from '../../common/unwrap.mjs';
|
|
2
2
|
import '../../common/globalStore.mjs';
|
|
3
3
|
import '../../common/builder.mjs';
|
|
4
|
-
import {
|
|
4
|
+
import { bool } from './create.mjs';
|
|
5
5
|
import { createEitherKind } from '../kind.mjs';
|
|
6
|
+
import { eitherBoolKind } from './base.mjs';
|
|
6
7
|
import { isLeft } from '../left/is.mjs';
|
|
7
8
|
import { right } from '../right/create.mjs';
|
|
8
9
|
import { isRight } from '../right/is.mjs';
|
|
9
|
-
import { bool } from './create.mjs';
|
|
10
10
|
|
|
11
11
|
const eitherBoolTruthyKind = createEitherKind("bool-truthy");
|
|
12
12
|
function boolTruthy(value) {
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
require('../../common/globalStore.cjs');
|
|
4
4
|
require('../../common/builder.cjs');
|
|
5
|
-
var is$1 = require('../left/is.cjs');
|
|
6
5
|
var success = require('./success.cjs');
|
|
7
6
|
var error = require('./error.cjs');
|
|
8
7
|
var is = require('../right/is.cjs');
|
|
8
|
+
var is$1 = require('../left/is.cjs');
|
|
9
9
|
|
|
10
10
|
const kind = "kind-future-either";
|
|
11
11
|
class Future extends Promise {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import '../../common/globalStore.mjs';
|
|
2
2
|
import '../../common/builder.mjs';
|
|
3
|
-
import { isLeft } from '../left/is.mjs';
|
|
4
3
|
import { futureSuccess } from './success.mjs';
|
|
5
4
|
import { futureError } from './error.mjs';
|
|
6
5
|
import { isRight } from '../right/is.mjs';
|
|
6
|
+
import { isLeft } from '../left/is.mjs';
|
|
7
7
|
|
|
8
8
|
const kind = "kind-future-either";
|
|
9
9
|
class Future extends Promise {
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
var unwrap = require('../../common/unwrap.cjs');
|
|
4
4
|
require('../../common/globalStore.cjs');
|
|
5
5
|
require('../../common/builder.cjs');
|
|
6
|
-
var create = require('../left/create.cjs');
|
|
7
6
|
var kind = require('../kind.cjs');
|
|
7
|
+
var create = require('../left/create.cjs');
|
|
8
8
|
var is = require('../left/is.cjs');
|
|
9
9
|
var is$1 = require('../right/is.cjs');
|
|
10
10
|
var create$1 = require('./create.cjs');
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { unwrap } from '../../common/unwrap.mjs';
|
|
2
2
|
import '../../common/globalStore.mjs';
|
|
3
3
|
import '../../common/builder.mjs';
|
|
4
|
-
import { left } from '../left/create.mjs';
|
|
5
4
|
import { createEitherKind } from '../kind.mjs';
|
|
5
|
+
import { left } from '../left/create.mjs';
|
|
6
6
|
import { isLeft } from '../left/is.mjs';
|
|
7
7
|
import { isRight } from '../right/is.mjs';
|
|
8
8
|
import { nullable } from './create.mjs';
|
|
@@ -5,10 +5,10 @@ var is$1 = require('../left/is.cjs');
|
|
|
5
5
|
var unwrap = require('../../common/unwrap.cjs');
|
|
6
6
|
require('../../common/globalStore.cjs');
|
|
7
7
|
require('../../common/builder.cjs');
|
|
8
|
-
var create = require('../right/create.cjs');
|
|
9
|
-
var is = require('../right/is.cjs');
|
|
10
8
|
var create$1 = require('./create.cjs');
|
|
11
9
|
var base = require('./base.cjs');
|
|
10
|
+
var create = require('../right/create.cjs');
|
|
11
|
+
var is = require('../right/is.cjs');
|
|
12
12
|
|
|
13
13
|
const eitherNullishFilledKind = kind.createEitherKind("nullish-filled");
|
|
14
14
|
function nullishFilled(value) {
|
|
@@ -3,10 +3,10 @@ import { isLeft } from '../left/is.mjs';
|
|
|
3
3
|
import { unwrap } from '../../common/unwrap.mjs';
|
|
4
4
|
import '../../common/globalStore.mjs';
|
|
5
5
|
import '../../common/builder.mjs';
|
|
6
|
-
import { right } from '../right/create.mjs';
|
|
7
|
-
import { isRight } from '../right/is.mjs';
|
|
8
6
|
import { nullish } from './create.mjs';
|
|
9
7
|
import { eitherNullishKind } from './base.mjs';
|
|
8
|
+
import { right } from '../right/create.mjs';
|
|
9
|
+
import { isRight } from '../right/is.mjs';
|
|
10
10
|
|
|
11
11
|
const eitherNullishFilledKind = createEitherKind("nullish-filled");
|
|
12
12
|
function nullishFilled(value) {
|
|
@@ -4,11 +4,11 @@ var unwrap = require('../../common/unwrap.cjs');
|
|
|
4
4
|
require('../../common/globalStore.cjs');
|
|
5
5
|
require('../../common/builder.cjs');
|
|
6
6
|
var kind = require('../kind.cjs');
|
|
7
|
-
var base = require('./base.cjs');
|
|
8
|
-
var create$1 = require('./create.cjs');
|
|
9
7
|
var is$1 = require('../left/is.cjs');
|
|
10
8
|
var create = require('../right/create.cjs');
|
|
11
9
|
var is = require('../right/is.cjs');
|
|
10
|
+
var create$1 = require('./create.cjs');
|
|
11
|
+
var base = require('./base.cjs');
|
|
12
12
|
|
|
13
13
|
const eitherOptionalFilledKind = kind.createEitherKind("optional-filled");
|
|
14
14
|
function optionalFilled(value) {
|
|
@@ -2,11 +2,11 @@ import { unwrap } from '../../common/unwrap.mjs';
|
|
|
2
2
|
import '../../common/globalStore.mjs';
|
|
3
3
|
import '../../common/builder.mjs';
|
|
4
4
|
import { createEitherKind } from '../kind.mjs';
|
|
5
|
-
import { eitherOptionalKind } from './base.mjs';
|
|
6
|
-
import { optional } from './create.mjs';
|
|
7
5
|
import { isLeft } from '../left/is.mjs';
|
|
8
6
|
import { right } from '../right/create.mjs';
|
|
9
7
|
import { isRight } from '../right/is.mjs';
|
|
8
|
+
import { optional } from './create.mjs';
|
|
9
|
+
import { eitherOptionalKind } from './base.mjs';
|
|
10
10
|
|
|
11
11
|
const eitherOptionalFilledKind = createEitherKind("optional-filled");
|
|
12
12
|
function optionalFilled(value) {
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
var unwrap = require('../../common/unwrap.cjs');
|
|
4
4
|
require('../../common/globalStore.cjs');
|
|
5
5
|
require('../../common/builder.cjs');
|
|
6
|
-
var is = require('../left/is.cjs');
|
|
7
6
|
var create = require('../future/create.cjs');
|
|
8
7
|
var success = require('./success.cjs');
|
|
9
8
|
var is$1 = require('./is.cjs');
|
|
9
|
+
var is = require('../left/is.cjs');
|
|
10
10
|
|
|
11
11
|
function rightAsyncPipe(input, ...pipes) {
|
|
12
12
|
return create.future((async () => {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { unwrap } from '../../common/unwrap.mjs';
|
|
2
2
|
import '../../common/globalStore.mjs';
|
|
3
3
|
import '../../common/builder.mjs';
|
|
4
|
-
import { isLeft } from '../left/is.mjs';
|
|
5
4
|
import { future } from '../future/create.mjs';
|
|
6
5
|
import { success } from './success.mjs';
|
|
7
6
|
import { isRight } from './is.mjs';
|
|
7
|
+
import { isLeft } from '../left/is.mjs';
|
|
8
8
|
|
|
9
9
|
function rightAsyncPipe(input, ...pipes) {
|
|
10
10
|
return future((async () => {
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
var unwrap = require('../../common/unwrap.cjs');
|
|
4
4
|
require('../../common/globalStore.cjs');
|
|
5
5
|
require('../../common/builder.cjs');
|
|
6
|
-
var is = require('../left/is.cjs');
|
|
7
6
|
var success = require('./success.cjs');
|
|
8
7
|
var is$1 = require('./is.cjs');
|
|
8
|
+
var is = require('../left/is.cjs');
|
|
9
9
|
|
|
10
10
|
/* eslint-disable @typescript-eslint/max-params */
|
|
11
11
|
function rightPipe(input, ...pipes) {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { unwrap } from '../../common/unwrap.mjs';
|
|
2
2
|
import '../../common/globalStore.mjs';
|
|
3
3
|
import '../../common/builder.mjs';
|
|
4
|
-
import { isLeft } from '../left/is.mjs';
|
|
5
4
|
import { success } from './success.mjs';
|
|
6
5
|
import { isRight } from './is.mjs';
|
|
6
|
+
import { isLeft } from '../left/is.mjs';
|
|
7
7
|
|
|
8
8
|
/* eslint-disable @typescript-eslint/max-params */
|
|
9
9
|
function rightPipe(input, ...pipes) {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import { type GeneratorReduceFromValue, type GeneratorEligibleReduceFromValue, type
|
|
2
|
-
|
|
3
|
-
export declare function asyncReduce<GenericElement extends unknown, GenericReduceFrom extends GeneratorEligibleReduceFromValue
|
|
1
|
+
import { type GeneratorReduceFromValue, type GeneratorEligibleReduceFromValue, type GeneratorReduceFunctionParams, type GeneratorReduceExit, type GeneratorReduceNext } from "./reduce";
|
|
2
|
+
import { type IsEqual, type MaybePromise } from "../common";
|
|
3
|
+
export declare function asyncReduce<GenericElement extends unknown, GenericReduceFrom extends GeneratorEligibleReduceFromValue, GenericExit extends GeneratorReduceExit = GeneratorReduceExit<never>>(startValue: GenericReduceFrom, theFunction: (params: GeneratorReduceFunctionParams<GenericElement, GeneratorReduceFromValue<GenericReduceFrom>>) => MaybePromise<GeneratorReduceNext<GeneratorReduceFromValue<GenericReduceFrom>> | GenericExit>): (iterator: Iterable<GenericElement> | AsyncIterable<GenericElement>) => Promise<GeneratorReduceFromValue<GenericReduceFrom> | (IsEqual<GenericExit, GeneratorReduceExit> extends true ? never : GenericExit["-exit"])>;
|
|
4
|
+
export declare function asyncReduce<GenericElement extends unknown, GenericReduceFrom extends GeneratorEligibleReduceFromValue, GenericExit extends GeneratorReduceExit = GeneratorReduceExit<never>>(iterator: Iterable<GenericElement> | AsyncIterable<GenericElement>, startValue: GenericReduceFrom, theFunction: (params: GeneratorReduceFunctionParams<GenericElement, GeneratorReduceFromValue<GenericReduceFrom>>) => MaybePromise<GeneratorReduceNext<GeneratorReduceFromValue<GenericReduceFrom>> | GenericExit>): Promise<GeneratorReduceFromValue<GenericReduceFrom> | (IsEqual<GenericExit, GeneratorReduceExit> extends true ? never : GenericExit["-exit"])>;
|