typia 3.4.14 → 3.4.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -2
- package/lib/executable/internal/TypiaSetupWizard.d.ts +6 -2
- package/lib/executable/internal/TypiaSetupWizard.js +26 -25
- package/lib/executable/internal/TypiaSetupWizard.js.map +1 -1
- package/lib/executable/typia.js +11 -10
- package/lib/executable/typia.js.map +1 -1
- package/lib/factories/MetadataFactory.d.ts +1 -0
- package/lib/factories/MetadataFactory.js +1 -1
- package/lib/factories/MetadataFactory.js.map +1 -1
- package/lib/factories/MetadataTagFactory.js +4 -1
- package/lib/factories/MetadataTagFactory.js.map +1 -1
- package/lib/factories/internal/{MetadataHelper.d.ts → metadata/MetadataHelper.d.ts} +1 -1
- package/lib/factories/internal/{MetadataHelper.js → metadata/MetadataHelper.js} +1 -1
- package/lib/factories/internal/metadata/MetadataHelper.js.map +1 -0
- package/lib/factories/internal/{emplace_metadata_object.d.ts → metadata/emplace_metadata_object.d.ts} +3 -3
- package/lib/factories/internal/{emplace_metadata_object.js → metadata/emplace_metadata_object.js} +5 -5
- package/lib/factories/internal/metadata/emplace_metadata_object.js.map +1 -0
- package/lib/factories/internal/{explore_metadata.d.ts → metadata/explore_metadata.d.ts} +3 -3
- package/lib/factories/internal/{explore_metadata.js → metadata/explore_metadata.js} +5 -3
- package/lib/factories/internal/metadata/explore_metadata.js.map +1 -0
- package/lib/factories/internal/{iterate_metadata.d.ts → metadata/iterate_metadata.d.ts} +3 -3
- package/lib/factories/internal/{iterate_metadata.js → metadata/iterate_metadata.js} +1 -1
- package/lib/factories/internal/metadata/iterate_metadata.js.map +1 -0
- package/lib/factories/internal/{iterate_metadata_array.d.ts → metadata/iterate_metadata_array.d.ts} +3 -3
- package/lib/factories/internal/{iterate_metadata_array.js → metadata/iterate_metadata_array.js} +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_array.js.map +1 -0
- package/lib/factories/internal/{iterate_metadata_atomic.d.ts → metadata/iterate_metadata_atomic.d.ts} +1 -1
- package/lib/factories/internal/{iterate_metadata_atomic.js → metadata/iterate_metadata_atomic.js} +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_atomic.js.map +1 -0
- package/lib/factories/internal/{iterate_metadata_coalesce.d.ts → metadata/iterate_metadata_coalesce.d.ts} +1 -1
- package/lib/factories/internal/{iterate_metadata_coalesce.js → metadata/iterate_metadata_coalesce.js} +2 -2
- package/lib/factories/internal/metadata/iterate_metadata_coalesce.js.map +1 -0
- package/lib/factories/internal/{iterate_metadata_constant.d.ts → metadata/iterate_metadata_constant.d.ts} +2 -2
- package/lib/factories/internal/{iterate_metadata_constant.js → metadata/iterate_metadata_constant.js} +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_constant.js.map +1 -0
- package/lib/factories/internal/{iterate_metadata_map.d.ts → metadata/iterate_metadata_map.d.ts} +3 -3
- package/lib/factories/internal/{iterate_metadata_map.js → metadata/iterate_metadata_map.js} +2 -2
- package/lib/factories/internal/metadata/iterate_metadata_map.js.map +1 -0
- package/lib/factories/internal/{iterate_metadata_native.d.ts → metadata/iterate_metadata_native.d.ts} +1 -1
- package/lib/factories/internal/{iterate_metadata_native.js → metadata/iterate_metadata_native.js} +2 -2
- package/lib/factories/internal/metadata/iterate_metadata_native.js.map +1 -0
- package/lib/factories/internal/{iterate_metadata_object.d.ts → metadata/iterate_metadata_object.d.ts} +3 -3
- package/lib/factories/internal/{iterate_metadata_object.js → metadata/iterate_metadata_object.js} +3 -3
- package/lib/factories/internal/metadata/iterate_metadata_object.js.map +1 -0
- package/lib/factories/internal/{iterate_metadata_resolve.d.ts → metadata/iterate_metadata_resolve.d.ts} +3 -3
- package/lib/factories/internal/{iterate_metadata_resolve.js → metadata/iterate_metadata_resolve.js} +2 -2
- package/lib/factories/internal/metadata/iterate_metadata_resolve.js.map +1 -0
- package/lib/factories/internal/{iterate_metadata_set.d.ts → metadata/iterate_metadata_set.d.ts} +3 -3
- package/lib/factories/internal/{iterate_metadata_set.js → metadata/iterate_metadata_set.js} +2 -2
- package/lib/factories/internal/metadata/iterate_metadata_set.js.map +1 -0
- package/lib/factories/internal/{iterate_metadata_template.d.ts → metadata/iterate_metadata_template.d.ts} +3 -3
- package/lib/factories/internal/{iterate_metadata_template.js → metadata/iterate_metadata_template.js} +0 -0
- package/lib/factories/internal/metadata/iterate_metadata_template.js.map +1 -0
- package/lib/factories/internal/{iterate_metadata_tuple.d.ts → metadata/iterate_metadata_tuple.d.ts} +3 -3
- package/lib/factories/internal/{iterate_metadata_tuple.js → metadata/iterate_metadata_tuple.js} +3 -3
- package/lib/factories/internal/metadata/iterate_metadata_tuple.js.map +1 -0
- package/lib/factories/internal/{iterate_metadata_union.d.ts → metadata/iterate_metadata_union.d.ts} +3 -3
- package/lib/factories/internal/{iterate_metadata_union.js → metadata/iterate_metadata_union.js} +3 -3
- package/lib/factories/internal/metadata/iterate_metadata_union.js.map +1 -0
- package/lib/functional/$number.js +2 -9
- package/lib/functional/$number.js.map +1 -1
- package/lib/programmers/AssertParseProgrammer.js +12 -1
- package/lib/programmers/AssertParseProgrammer.js.map +1 -1
- package/lib/programmers/AssertProgrammer.js +2 -1
- package/lib/programmers/AssertProgrammer.js.map +1 -1
- package/lib/programmers/AssertStringifyProgrammer.js +13 -2
- package/lib/programmers/AssertStringifyProgrammer.js.map +1 -1
- package/lib/programmers/CheckerProgrammer.js +6 -0
- package/lib/programmers/CheckerProgrammer.js.map +1 -1
- package/lib/programmers/IsParseProgrammer.js +12 -1
- package/lib/programmers/IsParseProgrammer.js.map +1 -1
- package/lib/programmers/IsProgrammer.js +5 -2
- package/lib/programmers/IsProgrammer.js.map +1 -1
- package/lib/programmers/IsStringifyProgrammer.js +13 -2
- package/lib/programmers/IsStringifyProgrammer.js.map +1 -1
- package/lib/programmers/StringifyProgrammer.js +5 -0
- package/lib/programmers/StringifyProgrammer.js.map +1 -1
- package/lib/programmers/ValidateParseProgrammer.js +12 -1
- package/lib/programmers/ValidateParseProgrammer.js.map +1 -1
- package/lib/programmers/ValidateProgrammer.js +2 -1
- package/lib/programmers/ValidateProgrammer.js.map +1 -1
- package/lib/programmers/ValidateStringifyProgrammer.js +13 -2
- package/lib/programmers/ValidateStringifyProgrammer.js.map +1 -1
- package/lib/programmers/helpers/OptionPredicator.d.ts +2 -1
- package/lib/programmers/helpers/OptionPredicator.js +7 -3
- package/lib/programmers/helpers/OptionPredicator.js.map +1 -1
- package/lib/programmers/internal/application_schema.js +7 -3
- package/lib/programmers/internal/application_schema.js.map +1 -1
- package/lib/programmers/internal/check_bigint.d.ts +3 -0
- package/lib/programmers/internal/check_bigint.js +97 -0
- package/lib/programmers/internal/check_bigint.js.map +1 -0
- package/lib/programmers/internal/check_number.js +21 -22
- package/lib/programmers/internal/check_number.js.map +1 -1
- package/lib/schemas/IJsonSchema.d.ts +3 -5
- package/lib/transformers/ITransformOptions.d.ts +42 -1
- package/lib/transformers/features/miscellaneous/ApplicationTransformer.js +4 -0
- package/lib/transformers/features/miscellaneous/ApplicationTransformer.js.map +1 -1
- package/lib/transformers/features/stringifiers/StringifyTransformer.js +12 -1
- package/lib/transformers/features/stringifiers/StringifyTransformer.js.map +1 -1
- package/package.json +3 -2
- package/src/executable/internal/TypiaSetupWizard.ts +182 -175
- package/src/executable/typia.ts +6 -4
- package/src/factories/MetadataCollection.ts +122 -122
- package/src/factories/MetadataFactory.ts +47 -46
- package/src/factories/MetadataTagFactory.ts +351 -347
- package/src/factories/internal/{MetadataHelper.ts → metadata/MetadataHelper.ts} +12 -12
- package/src/factories/internal/{emplace_metadata_object.ts → metadata/emplace_metadata_object.ts} +140 -140
- package/src/factories/internal/{explore_metadata.ts → metadata/explore_metadata.ts} +92 -91
- package/src/factories/internal/{iterate_metadata.ts → metadata/iterate_metadata.ts} +80 -80
- package/src/factories/internal/{iterate_metadata_array.ts → metadata/iterate_metadata_array.ts} +29 -29
- package/src/factories/internal/{iterate_metadata_atomic.ts → metadata/iterate_metadata_atomic.ts} +59 -59
- package/src/factories/internal/{iterate_metadata_coalesce.ts → metadata/iterate_metadata_coalesce.ts} +33 -33
- package/src/factories/internal/{iterate_metadata_constant.ts → metadata/iterate_metadata_constant.ts} +58 -58
- package/src/factories/internal/{iterate_metadata_map.ts → metadata/iterate_metadata_map.ts} +41 -41
- package/src/factories/internal/{iterate_metadata_native.ts → metadata/iterate_metadata_native.ts} +227 -227
- package/src/factories/internal/{iterate_metadata_object.ts → metadata/iterate_metadata_object.ts} +48 -48
- package/src/factories/internal/{iterate_metadata_resolve.ts → metadata/iterate_metadata_resolve.ts} +27 -27
- package/src/factories/internal/{iterate_metadata_set.ts → metadata/iterate_metadata_set.ts} +33 -33
- package/src/factories/internal/{iterate_metadata_template.ts → metadata/iterate_metadata_template.ts} +38 -38
- package/src/factories/internal/{iterate_metadata_tuple.ts → metadata/iterate_metadata_tuple.ts} +45 -45
- package/src/factories/internal/{iterate_metadata_union.ts → metadata/iterate_metadata_union.ts} +59 -59
- package/src/functional/$number.ts +12 -19
- package/src/metadata/IMetadataTag.ts +122 -122
- package/src/metadata/Metadata.ts +477 -477
- package/src/module.ts +1535 -1535
- package/src/programmers/AssertParseProgrammer.ts +55 -45
- package/src/programmers/AssertProgrammer.ts +445 -444
- package/src/programmers/AssertStringifyProgrammer.ts +65 -45
- package/src/programmers/CheckerProgrammer.ts +810 -804
- package/src/programmers/IsParseProgrammer.ts +61 -51
- package/src/programmers/IsProgrammer.ts +175 -172
- package/src/programmers/IsStringifyProgrammer.ts +69 -49
- package/src/programmers/StringifyProgrammer.ts +762 -756
- package/src/programmers/ValidateParseProgrammer.ts +59 -49
- package/src/programmers/ValidateProgrammer.ts +237 -236
- package/src/programmers/ValidateStringifyProgrammer.ts +80 -60
- package/src/programmers/helpers/OptionPredicator.ts +15 -11
- package/src/programmers/internal/application_default.ts +17 -17
- package/src/programmers/internal/application_object.ts +103 -103
- package/src/programmers/internal/application_schema.ts +228 -221
- package/src/programmers/internal/check_bigint.ts +85 -0
- package/src/programmers/internal/check_number.ts +175 -178
- package/src/schemas/IJsonSchema.ts +90 -92
- package/src/transformers/CallExpressionTransformer.ts +124 -124
- package/src/transformers/ITransformOptions.ts +47 -4
- package/src/transformers/features/miscellaneous/ApplicationTransformer.ts +119 -114
- package/src/transformers/features/stringifiers/StringifyTransformer.ts +46 -36
- package/lib/factories/internal/MetadataHelper.js.map +0 -1
- package/lib/factories/internal/emplace_metadata_object.js.map +0 -1
- package/lib/factories/internal/explore_metadata.js.map +0 -1
- package/lib/factories/internal/iterate_metadata.js.map +0 -1
- package/lib/factories/internal/iterate_metadata_array.js.map +0 -1
- package/lib/factories/internal/iterate_metadata_atomic.js.map +0 -1
- package/lib/factories/internal/iterate_metadata_coalesce.js.map +0 -1
- package/lib/factories/internal/iterate_metadata_constant.js.map +0 -1
- package/lib/factories/internal/iterate_metadata_map.js.map +0 -1
- package/lib/factories/internal/iterate_metadata_native.js.map +0 -1
- package/lib/factories/internal/iterate_metadata_object.js.map +0 -1
- package/lib/factories/internal/iterate_metadata_resolve.js.map +0 -1
- package/lib/factories/internal/iterate_metadata_set.js.map +0 -1
- package/lib/factories/internal/iterate_metadata_template.js.map +0 -1
- package/lib/factories/internal/iterate_metadata_tuple.js.map +0 -1
- package/lib/factories/internal/iterate_metadata_union.js.map +0 -1
- package/lib/transformers/features/miscellaneous/CreateInstanceTransformer.d.ts +0 -5
- package/lib/transformers/features/miscellaneous/CreateInstanceTransformer.js +0 -29
- package/lib/transformers/features/miscellaneous/CreateInstanceTransformer.js.map +0 -1
- package/src/transformers/features/miscellaneous/CreateInstanceTransformer.ts +0 -41
|
@@ -1,124 +1,124 @@
|
|
|
1
|
-
import path from "path";
|
|
2
|
-
import ts from "typescript";
|
|
3
|
-
|
|
4
|
-
import { IProject } from "./IProject";
|
|
5
|
-
import { ApplicationTransformer } from "./features/miscellaneous/ApplicationTransformer";
|
|
6
|
-
import { MetadataTransformer } from "./features/miscellaneous/MetadataTransformer";
|
|
7
|
-
import { AssertParseTransformer } from "./features/parsers/AssertParseTransformer";
|
|
8
|
-
import { CreateAssertParseTransformer } from "./features/parsers/CreateAssertParseTransformer";
|
|
9
|
-
import { CreateIsParseTransformer } from "./features/parsers/CreateIsParseTransformer";
|
|
10
|
-
import { CreateValidateParseTransformer } from "./features/parsers/CreateValidateParseTransformer";
|
|
11
|
-
import { IsParseTransformer } from "./features/parsers/IsParseTransformer";
|
|
12
|
-
import { ValidateParseTransformer } from "./features/parsers/ValidateParseTransformer";
|
|
13
|
-
import { AssertStringifyTransformer } from "./features/stringifiers/AssertStringifyTransformer";
|
|
14
|
-
import { CreateAssertStringifyTransformer } from "./features/stringifiers/CreateAssertStringifyTransformer";
|
|
15
|
-
import { CreateIsStringifyTransformer } from "./features/stringifiers/CreateIsStringifyTransformer";
|
|
16
|
-
import { CreateStringifyTransformer } from "./features/stringifiers/CreateStringifyTransformer";
|
|
17
|
-
import { CreateValidateStringifyTransformer } from "./features/stringifiers/CreateValidateStringifyProgrammer";
|
|
18
|
-
import { IsStringifyTransformer } from "./features/stringifiers/IsStringifyTransformer";
|
|
19
|
-
import { StringifyTransformer } from "./features/stringifiers/StringifyTransformer";
|
|
20
|
-
import { ValidateStringifyTransformer } from "./features/stringifiers/ValidateStringifyTransformer";
|
|
21
|
-
import { AssertTransformer } from "./features/validators/AssertTransformer";
|
|
22
|
-
import { CreateAssertTransformer } from "./features/validators/CreateAssertTransformer";
|
|
23
|
-
import { CreateIsTransformer } from "./features/validators/CreateIsTransformer";
|
|
24
|
-
import { CreateValidateTransformer } from "./features/validators/CreateValidateTransformer";
|
|
25
|
-
import { IsTransformer } from "./features/validators/IsTransformer";
|
|
26
|
-
import { ValidateTransformer } from "./features/validators/ValidateTransformer";
|
|
27
|
-
|
|
28
|
-
export namespace CallExpressionTransformer {
|
|
29
|
-
export function transform(
|
|
30
|
-
project: IProject,
|
|
31
|
-
expression: ts.CallExpression,
|
|
32
|
-
): ts.Expression {
|
|
33
|
-
//----
|
|
34
|
-
// VALIDATIONS
|
|
35
|
-
//----
|
|
36
|
-
// SIGNATURE DECLARATION
|
|
37
|
-
const declaration: ts.Declaration | undefined =
|
|
38
|
-
project.checker.getResolvedSignature(expression)?.declaration;
|
|
39
|
-
if (!declaration) return expression;
|
|
40
|
-
|
|
41
|
-
// FILE PATH
|
|
42
|
-
const file: string = path.resolve(declaration.getSourceFile().fileName);
|
|
43
|
-
if (file.indexOf(LIB_PATH) === -1 && file !== SRC_PATH)
|
|
44
|
-
return expression;
|
|
45
|
-
|
|
46
|
-
//----
|
|
47
|
-
// TRANSFORMATION
|
|
48
|
-
//----
|
|
49
|
-
// FUNCTION NAME
|
|
50
|
-
const { name } = project.checker.getTypeAtLocation(declaration).symbol;
|
|
51
|
-
|
|
52
|
-
// FIND TRANSFORMER
|
|
53
|
-
const functor: (() => Task) | undefined = FUNCTORS[name];
|
|
54
|
-
if (functor === undefined) return expression;
|
|
55
|
-
|
|
56
|
-
// RETURNS WITH TRANSFORMATION
|
|
57
|
-
return functor()(project, expression.expression, expression);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
type Task = (
|
|
62
|
-
project: IProject,
|
|
63
|
-
modulo: ts.LeftHandSideExpression,
|
|
64
|
-
expression: ts.CallExpression,
|
|
65
|
-
) => ts.Expression;
|
|
66
|
-
|
|
67
|
-
const LIB_PATH = path.join("node_modules", "typia", "lib", "module.d.ts");
|
|
68
|
-
const SRC_PATH = path.resolve(path.join(__dirname, "..", "module.ts"));
|
|
69
|
-
|
|
70
|
-
const FUNCTORS: Record<string, () => Task> = {
|
|
71
|
-
//----
|
|
72
|
-
// SINGLE FUNCTIONS
|
|
73
|
-
//----
|
|
74
|
-
// BASIC VALIDATORS
|
|
75
|
-
assert: () => AssertTransformer.transform(false),
|
|
76
|
-
assertType: () => AssertTransformer.transform(false),
|
|
77
|
-
is: () => IsTransformer.transform(false),
|
|
78
|
-
validate: () => ValidateTransformer.transform(false),
|
|
79
|
-
|
|
80
|
-
// STRICT VALIDATORS
|
|
81
|
-
assertEquals: () => AssertTransformer.transform(true),
|
|
82
|
-
equals: () => IsTransformer.transform(true),
|
|
83
|
-
validateEquals: () => ValidateTransformer.transform(true),
|
|
84
|
-
|
|
85
|
-
// PARSE FUNCTIONS
|
|
86
|
-
isParse: () => IsParseTransformer.transform,
|
|
87
|
-
assertParse: () => AssertParseTransformer.transform,
|
|
88
|
-
validateParse: () => ValidateParseTransformer.transform,
|
|
89
|
-
|
|
90
|
-
// STRINGIFY FUNCTIONS
|
|
91
|
-
stringify: () => StringifyTransformer.transform,
|
|
92
|
-
assertStringify: () => AssertStringifyTransformer.transform,
|
|
93
|
-
isStringify: () => IsStringifyTransformer.transform,
|
|
94
|
-
validateStringify: () => ValidateStringifyTransformer.transform,
|
|
95
|
-
|
|
96
|
-
// MISC
|
|
97
|
-
application: () => ApplicationTransformer.transform,
|
|
98
|
-
metadata: () => MetadataTransformer.transform,
|
|
99
|
-
|
|
100
|
-
//----
|
|
101
|
-
// FACTORY FUNCTIONS
|
|
102
|
-
//----
|
|
103
|
-
// BASIC VALIDATORS
|
|
104
|
-
createAssert: () => CreateAssertTransformer.transform(false),
|
|
105
|
-
createAssertType: () => CreateAssertTransformer.transform(false),
|
|
106
|
-
createIs: () => CreateIsTransformer.transform(false),
|
|
107
|
-
createValidate: () => CreateValidateTransformer.transform(false),
|
|
108
|
-
|
|
109
|
-
// STRICT VALIDATORS
|
|
110
|
-
createAssertEquals: () => CreateAssertTransformer.transform(true),
|
|
111
|
-
createEquals: () => CreateIsTransformer.transform(true),
|
|
112
|
-
createValidateEquals: () => CreateValidateTransformer.transform(true),
|
|
113
|
-
|
|
114
|
-
// PARSE FUNCTIONS
|
|
115
|
-
createIsParse: () => CreateIsParseTransformer.transform,
|
|
116
|
-
createAssertParse: () => CreateAssertParseTransformer.transform,
|
|
117
|
-
createValidateParse: () => CreateValidateParseTransformer.transform,
|
|
118
|
-
|
|
119
|
-
// STRINGIFY FUNCTIONS
|
|
120
|
-
createStringify: () => CreateStringifyTransformer.transform,
|
|
121
|
-
createAssertStringify: () => CreateAssertStringifyTransformer.transform,
|
|
122
|
-
createIsStringify: () => CreateIsStringifyTransformer.transform,
|
|
123
|
-
createValidateStringify: () => CreateValidateStringifyTransformer.transform,
|
|
124
|
-
};
|
|
1
|
+
import path from "path";
|
|
2
|
+
import ts from "typescript";
|
|
3
|
+
|
|
4
|
+
import { IProject } from "./IProject";
|
|
5
|
+
import { ApplicationTransformer } from "./features/miscellaneous/ApplicationTransformer";
|
|
6
|
+
import { MetadataTransformer } from "./features/miscellaneous/MetadataTransformer";
|
|
7
|
+
import { AssertParseTransformer } from "./features/parsers/AssertParseTransformer";
|
|
8
|
+
import { CreateAssertParseTransformer } from "./features/parsers/CreateAssertParseTransformer";
|
|
9
|
+
import { CreateIsParseTransformer } from "./features/parsers/CreateIsParseTransformer";
|
|
10
|
+
import { CreateValidateParseTransformer } from "./features/parsers/CreateValidateParseTransformer";
|
|
11
|
+
import { IsParseTransformer } from "./features/parsers/IsParseTransformer";
|
|
12
|
+
import { ValidateParseTransformer } from "./features/parsers/ValidateParseTransformer";
|
|
13
|
+
import { AssertStringifyTransformer } from "./features/stringifiers/AssertStringifyTransformer";
|
|
14
|
+
import { CreateAssertStringifyTransformer } from "./features/stringifiers/CreateAssertStringifyTransformer";
|
|
15
|
+
import { CreateIsStringifyTransformer } from "./features/stringifiers/CreateIsStringifyTransformer";
|
|
16
|
+
import { CreateStringifyTransformer } from "./features/stringifiers/CreateStringifyTransformer";
|
|
17
|
+
import { CreateValidateStringifyTransformer } from "./features/stringifiers/CreateValidateStringifyProgrammer";
|
|
18
|
+
import { IsStringifyTransformer } from "./features/stringifiers/IsStringifyTransformer";
|
|
19
|
+
import { StringifyTransformer } from "./features/stringifiers/StringifyTransformer";
|
|
20
|
+
import { ValidateStringifyTransformer } from "./features/stringifiers/ValidateStringifyTransformer";
|
|
21
|
+
import { AssertTransformer } from "./features/validators/AssertTransformer";
|
|
22
|
+
import { CreateAssertTransformer } from "./features/validators/CreateAssertTransformer";
|
|
23
|
+
import { CreateIsTransformer } from "./features/validators/CreateIsTransformer";
|
|
24
|
+
import { CreateValidateTransformer } from "./features/validators/CreateValidateTransformer";
|
|
25
|
+
import { IsTransformer } from "./features/validators/IsTransformer";
|
|
26
|
+
import { ValidateTransformer } from "./features/validators/ValidateTransformer";
|
|
27
|
+
|
|
28
|
+
export namespace CallExpressionTransformer {
|
|
29
|
+
export function transform(
|
|
30
|
+
project: IProject,
|
|
31
|
+
expression: ts.CallExpression,
|
|
32
|
+
): ts.Expression {
|
|
33
|
+
//----
|
|
34
|
+
// VALIDATIONS
|
|
35
|
+
//----
|
|
36
|
+
// SIGNATURE DECLARATION
|
|
37
|
+
const declaration: ts.Declaration | undefined =
|
|
38
|
+
project.checker.getResolvedSignature(expression)?.declaration;
|
|
39
|
+
if (!declaration) return expression;
|
|
40
|
+
|
|
41
|
+
// FILE PATH
|
|
42
|
+
const file: string = path.resolve(declaration.getSourceFile().fileName);
|
|
43
|
+
if (file.indexOf(LIB_PATH) === -1 && file !== SRC_PATH)
|
|
44
|
+
return expression;
|
|
45
|
+
|
|
46
|
+
//----
|
|
47
|
+
// TRANSFORMATION
|
|
48
|
+
//----
|
|
49
|
+
// FUNCTION NAME
|
|
50
|
+
const { name } = project.checker.getTypeAtLocation(declaration).symbol;
|
|
51
|
+
|
|
52
|
+
// FIND TRANSFORMER
|
|
53
|
+
const functor: (() => Task) | undefined = FUNCTORS[name];
|
|
54
|
+
if (functor === undefined) return expression;
|
|
55
|
+
|
|
56
|
+
// RETURNS WITH TRANSFORMATION
|
|
57
|
+
return functor()(project, expression.expression, expression);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
type Task = (
|
|
62
|
+
project: IProject,
|
|
63
|
+
modulo: ts.LeftHandSideExpression,
|
|
64
|
+
expression: ts.CallExpression,
|
|
65
|
+
) => ts.Expression;
|
|
66
|
+
|
|
67
|
+
const LIB_PATH = path.join("node_modules", "typia", "lib", "module.d.ts");
|
|
68
|
+
const SRC_PATH = path.resolve(path.join(__dirname, "..", "module.ts"));
|
|
69
|
+
|
|
70
|
+
const FUNCTORS: Record<string, () => Task> = {
|
|
71
|
+
//----
|
|
72
|
+
// SINGLE FUNCTIONS
|
|
73
|
+
//----
|
|
74
|
+
// BASIC VALIDATORS
|
|
75
|
+
assert: () => AssertTransformer.transform(false),
|
|
76
|
+
assertType: () => AssertTransformer.transform(false),
|
|
77
|
+
is: () => IsTransformer.transform(false),
|
|
78
|
+
validate: () => ValidateTransformer.transform(false),
|
|
79
|
+
|
|
80
|
+
// STRICT VALIDATORS
|
|
81
|
+
assertEquals: () => AssertTransformer.transform(true),
|
|
82
|
+
equals: () => IsTransformer.transform(true),
|
|
83
|
+
validateEquals: () => ValidateTransformer.transform(true),
|
|
84
|
+
|
|
85
|
+
// PARSE FUNCTIONS
|
|
86
|
+
isParse: () => IsParseTransformer.transform,
|
|
87
|
+
assertParse: () => AssertParseTransformer.transform,
|
|
88
|
+
validateParse: () => ValidateParseTransformer.transform,
|
|
89
|
+
|
|
90
|
+
// STRINGIFY FUNCTIONS
|
|
91
|
+
stringify: () => StringifyTransformer.transform,
|
|
92
|
+
assertStringify: () => AssertStringifyTransformer.transform,
|
|
93
|
+
isStringify: () => IsStringifyTransformer.transform,
|
|
94
|
+
validateStringify: () => ValidateStringifyTransformer.transform,
|
|
95
|
+
|
|
96
|
+
// MISC
|
|
97
|
+
application: () => ApplicationTransformer.transform,
|
|
98
|
+
metadata: () => MetadataTransformer.transform,
|
|
99
|
+
|
|
100
|
+
//----
|
|
101
|
+
// FACTORY FUNCTIONS
|
|
102
|
+
//----
|
|
103
|
+
// BASIC VALIDATORS
|
|
104
|
+
createAssert: () => CreateAssertTransformer.transform(false),
|
|
105
|
+
createAssertType: () => CreateAssertTransformer.transform(false),
|
|
106
|
+
createIs: () => CreateIsTransformer.transform(false),
|
|
107
|
+
createValidate: () => CreateValidateTransformer.transform(false),
|
|
108
|
+
|
|
109
|
+
// STRICT VALIDATORS
|
|
110
|
+
createAssertEquals: () => CreateAssertTransformer.transform(true),
|
|
111
|
+
createEquals: () => CreateIsTransformer.transform(true),
|
|
112
|
+
createValidateEquals: () => CreateValidateTransformer.transform(true),
|
|
113
|
+
|
|
114
|
+
// PARSE FUNCTIONS
|
|
115
|
+
createIsParse: () => CreateIsParseTransformer.transform,
|
|
116
|
+
createAssertParse: () => CreateAssertParseTransformer.transform,
|
|
117
|
+
createValidateParse: () => CreateValidateParseTransformer.transform,
|
|
118
|
+
|
|
119
|
+
// STRINGIFY FUNCTIONS
|
|
120
|
+
createStringify: () => CreateStringifyTransformer.transform,
|
|
121
|
+
createAssertStringify: () => CreateAssertStringifyTransformer.transform,
|
|
122
|
+
createIsStringify: () => CreateIsStringifyTransformer.transform,
|
|
123
|
+
createValidateStringify: () => CreateValidateStringifyTransformer.transform,
|
|
124
|
+
};
|
|
@@ -1,4 +1,47 @@
|
|
|
1
|
-
export interface ITransformOptions {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
export interface ITransformOptions {
|
|
2
|
+
/**
|
|
3
|
+
* Whether to validate finite number or not.
|
|
4
|
+
*
|
|
5
|
+
* If configured true, number typed values would be validated by Number.isNaN().
|
|
6
|
+
*
|
|
7
|
+
* However, whatever you configure, it would be ignored when marshaling or parsing.
|
|
8
|
+
*
|
|
9
|
+
* - when marshaling, always be true
|
|
10
|
+
* - assertStringify()
|
|
11
|
+
* - validateEncode()
|
|
12
|
+
* - when parsing, always be false
|
|
13
|
+
* - assertParse()
|
|
14
|
+
* - isDecode()
|
|
15
|
+
*
|
|
16
|
+
* @default false
|
|
17
|
+
*/
|
|
18
|
+
finite?: boolean;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Whether to validate finite number or not.
|
|
22
|
+
*
|
|
23
|
+
* If configured true, number typed values would be validated by Number.isFinite().
|
|
24
|
+
*
|
|
25
|
+
* However, whatever you configure, it can be ignored in below case.
|
|
26
|
+
*
|
|
27
|
+
* - when `finite` option is true, this option would be ignored
|
|
28
|
+
* - when marshaling, always be true
|
|
29
|
+
* - assertStringify()
|
|
30
|
+
* - validateEncode()
|
|
31
|
+
* - when parsing, always be false
|
|
32
|
+
* - assertParse()
|
|
33
|
+
* - isDecode()
|
|
34
|
+
*
|
|
35
|
+
* @default false
|
|
36
|
+
*/
|
|
37
|
+
numeric?: boolean;
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Whether to validate functional type or not.
|
|
41
|
+
*
|
|
42
|
+
* However, whatever you configure, it becomes false when marshaling or parsing.
|
|
43
|
+
*
|
|
44
|
+
* @default false
|
|
45
|
+
*/
|
|
46
|
+
functional?: boolean;
|
|
47
|
+
}
|
|
@@ -1,114 +1,119 @@
|
|
|
1
|
-
import ts from "typescript";
|
|
2
|
-
|
|
3
|
-
import { LiteralFactory } from "../../../factories/LiteralFactory";
|
|
4
|
-
import { MetadataCollection } from "../../../factories/MetadataCollection";
|
|
5
|
-
import { MetadataFactory } from "../../../factories/MetadataFactory";
|
|
6
|
-
|
|
7
|
-
import { Metadata } from "../../../metadata/Metadata";
|
|
8
|
-
import { IJsonApplication } from "../../../schemas/IJsonApplication";
|
|
9
|
-
|
|
10
|
-
import { ApplicationProgrammer } from "../../../programmers/ApplicationProgrammer";
|
|
11
|
-
|
|
12
|
-
import { IProject } from "../../IProject";
|
|
13
|
-
|
|
14
|
-
export namespace ApplicationTransformer {
|
|
15
|
-
export function transform(
|
|
16
|
-
{ checker }: IProject,
|
|
17
|
-
_modulo: ts.LeftHandSideExpression,
|
|
18
|
-
expression: ts.CallExpression,
|
|
19
|
-
): ts.Expression {
|
|
20
|
-
if (!expression.typeArguments?.length)
|
|
21
|
-
throw new Error(ErrorMessages.NO_GENERIC_ARGUMENT);
|
|
22
|
-
|
|
23
|
-
//----
|
|
24
|
-
// GET ARGUMENTS
|
|
25
|
-
//----
|
|
26
|
-
// VALIDATE TUPLE ARGUMENTS
|
|
27
|
-
const top: ts.Node = expression.typeArguments[0]!;
|
|
28
|
-
if (!ts.isTupleTypeNode(top)) return expression;
|
|
29
|
-
else if (top.elements.some((child) => !ts.isTypeNode(child)))
|
|
30
|
-
return expression;
|
|
31
|
-
|
|
32
|
-
// GET TYPES
|
|
33
|
-
const types: ts.Type[] = top.elements.map((child) =>
|
|
34
|
-
checker.getTypeFromTypeNode(child as ts.TypeNode),
|
|
35
|
-
);
|
|
36
|
-
if (types.some((t) => t.isTypeParameter()))
|
|
37
|
-
throw new Error(ErrorMessages.GENERIC_ARGUMENT);
|
|
38
|
-
|
|
39
|
-
// ADDITIONAL PARAMETERS
|
|
40
|
-
const purpose: "swagger" | "ajv" = get_parameter(
|
|
41
|
-
checker,
|
|
42
|
-
"Purpose",
|
|
43
|
-
expression.typeArguments[1],
|
|
44
|
-
(str) => str === "swagger" || str === "ajv",
|
|
45
|
-
() => "swagger",
|
|
46
|
-
);
|
|
47
|
-
const prefix: string = get_parameter(
|
|
48
|
-
checker,
|
|
49
|
-
"Prefix",
|
|
50
|
-
expression.typeArguments[2],
|
|
51
|
-
() => true,
|
|
52
|
-
() =>
|
|
53
|
-
purpose === "swagger"
|
|
54
|
-
? "#/components/schemas"
|
|
55
|
-
: "components#/schemas",
|
|
56
|
-
);
|
|
57
|
-
|
|
58
|
-
//----
|
|
59
|
-
// GENERATORS
|
|
60
|
-
//----
|
|
61
|
-
// METADATA
|
|
62
|
-
const collection: MetadataCollection = new MetadataCollection({
|
|
63
|
-
replace: MetadataCollection.replace,
|
|
64
|
-
});
|
|
65
|
-
const metadatas: Array<Metadata> = types.map((type) =>
|
|
66
|
-
MetadataFactory.generate(checker, collection, type, {
|
|
67
|
-
resolve: true,
|
|
68
|
-
constant: true,
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
if (!
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
|
|
3
|
+
import { LiteralFactory } from "../../../factories/LiteralFactory";
|
|
4
|
+
import { MetadataCollection } from "../../../factories/MetadataCollection";
|
|
5
|
+
import { MetadataFactory } from "../../../factories/MetadataFactory";
|
|
6
|
+
|
|
7
|
+
import { Metadata } from "../../../metadata/Metadata";
|
|
8
|
+
import { IJsonApplication } from "../../../schemas/IJsonApplication";
|
|
9
|
+
|
|
10
|
+
import { ApplicationProgrammer } from "../../../programmers/ApplicationProgrammer";
|
|
11
|
+
|
|
12
|
+
import { IProject } from "../../IProject";
|
|
13
|
+
|
|
14
|
+
export namespace ApplicationTransformer {
|
|
15
|
+
export function transform(
|
|
16
|
+
{ checker }: IProject,
|
|
17
|
+
_modulo: ts.LeftHandSideExpression,
|
|
18
|
+
expression: ts.CallExpression,
|
|
19
|
+
): ts.Expression {
|
|
20
|
+
if (!expression.typeArguments?.length)
|
|
21
|
+
throw new Error(ErrorMessages.NO_GENERIC_ARGUMENT);
|
|
22
|
+
|
|
23
|
+
//----
|
|
24
|
+
// GET ARGUMENTS
|
|
25
|
+
//----
|
|
26
|
+
// VALIDATE TUPLE ARGUMENTS
|
|
27
|
+
const top: ts.Node = expression.typeArguments[0]!;
|
|
28
|
+
if (!ts.isTupleTypeNode(top)) return expression;
|
|
29
|
+
else if (top.elements.some((child) => !ts.isTypeNode(child)))
|
|
30
|
+
return expression;
|
|
31
|
+
|
|
32
|
+
// GET TYPES
|
|
33
|
+
const types: ts.Type[] = top.elements.map((child) =>
|
|
34
|
+
checker.getTypeFromTypeNode(child as ts.TypeNode),
|
|
35
|
+
);
|
|
36
|
+
if (types.some((t) => t.isTypeParameter()))
|
|
37
|
+
throw new Error(ErrorMessages.GENERIC_ARGUMENT);
|
|
38
|
+
|
|
39
|
+
// ADDITIONAL PARAMETERS
|
|
40
|
+
const purpose: "swagger" | "ajv" = get_parameter(
|
|
41
|
+
checker,
|
|
42
|
+
"Purpose",
|
|
43
|
+
expression.typeArguments[1],
|
|
44
|
+
(str) => str === "swagger" || str === "ajv",
|
|
45
|
+
() => "swagger",
|
|
46
|
+
);
|
|
47
|
+
const prefix: string = get_parameter(
|
|
48
|
+
checker,
|
|
49
|
+
"Prefix",
|
|
50
|
+
expression.typeArguments[2],
|
|
51
|
+
() => true,
|
|
52
|
+
() =>
|
|
53
|
+
purpose === "swagger"
|
|
54
|
+
? "#/components/schemas"
|
|
55
|
+
: "components#/schemas",
|
|
56
|
+
);
|
|
57
|
+
|
|
58
|
+
//----
|
|
59
|
+
// GENERATORS
|
|
60
|
+
//----
|
|
61
|
+
// METADATA
|
|
62
|
+
const collection: MetadataCollection = new MetadataCollection({
|
|
63
|
+
replace: MetadataCollection.replace,
|
|
64
|
+
});
|
|
65
|
+
const metadatas: Array<Metadata> = types.map((type) =>
|
|
66
|
+
MetadataFactory.generate(checker, collection, type, {
|
|
67
|
+
resolve: true,
|
|
68
|
+
constant: true,
|
|
69
|
+
validate: (meta) => {
|
|
70
|
+
if (meta.atomics.find((str) => str === "bigint"))
|
|
71
|
+
throw new Error(ErrorMessages.NO_BIGIT);
|
|
72
|
+
},
|
|
73
|
+
}),
|
|
74
|
+
);
|
|
75
|
+
|
|
76
|
+
// APPLICATION
|
|
77
|
+
const app: IJsonApplication = ApplicationProgrammer.generate(
|
|
78
|
+
metadatas,
|
|
79
|
+
{
|
|
80
|
+
purpose,
|
|
81
|
+
prefix,
|
|
82
|
+
},
|
|
83
|
+
);
|
|
84
|
+
|
|
85
|
+
// RETURNS WITH LITERAL EXPRESSION
|
|
86
|
+
return LiteralFactory.generate(app);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
function get_parameter<T extends string>(
|
|
90
|
+
checker: ts.TypeChecker,
|
|
91
|
+
name: string,
|
|
92
|
+
node: ts.TypeNode | undefined,
|
|
93
|
+
predicator: (value: string) => boolean,
|
|
94
|
+
defaulter: () => T,
|
|
95
|
+
): T {
|
|
96
|
+
if (!node) return defaulter();
|
|
97
|
+
|
|
98
|
+
// CHECK LITERAL TYPE
|
|
99
|
+
const type: ts.Type = checker.getTypeFromTypeNode(node);
|
|
100
|
+
if (!type.isLiteral())
|
|
101
|
+
throw new Error(
|
|
102
|
+
`Error on typia.application(): generic argument "${name}" must be constant.`,
|
|
103
|
+
);
|
|
104
|
+
|
|
105
|
+
// GET VALUE AND VALIDATE IT
|
|
106
|
+
const value = type.value;
|
|
107
|
+
if (typeof value !== "string" || predicator(value) === false)
|
|
108
|
+
throw new Error(
|
|
109
|
+
`Error on typia.application(): invalid value on generic argument "${name}".`,
|
|
110
|
+
);
|
|
111
|
+
return value as T;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
const enum ErrorMessages {
|
|
116
|
+
NO_GENERIC_ARGUMENT = "Error on typia.application(): no generic argument.",
|
|
117
|
+
GENERIC_ARGUMENT = "Error on typia.application(): non-specified generic argument(s).",
|
|
118
|
+
NO_BIGIT = "Error on typia.application(): does not allow bigint type.",
|
|
119
|
+
}
|
|
@@ -1,36 +1,46 @@
|
|
|
1
|
-
import ts from "typescript";
|
|
2
|
-
|
|
3
|
-
import { StringifyProgrammer } from "../../../programmers/StringifyProgrammer";
|
|
4
|
-
|
|
5
|
-
import { IProject } from "../../IProject";
|
|
6
|
-
|
|
7
|
-
export namespace StringifyTransformer {
|
|
8
|
-
export function transform(
|
|
9
|
-
project: IProject,
|
|
10
|
-
modulo: ts.LeftHandSideExpression,
|
|
11
|
-
expression: ts.CallExpression,
|
|
12
|
-
): ts.Expression {
|
|
13
|
-
if (expression.arguments.length !== 1)
|
|
14
|
-
throw new Error(ErrorMessages.NO_INPUT_VALUE);
|
|
15
|
-
|
|
16
|
-
const type: ts.Type =
|
|
17
|
-
expression.typeArguments && expression.typeArguments[0]
|
|
18
|
-
? project.checker.getTypeFromTypeNode(
|
|
19
|
-
expression.typeArguments[0],
|
|
20
|
-
)
|
|
21
|
-
: project.checker.getTypeAtLocation(expression.arguments[0]!);
|
|
22
|
-
if (type.isTypeParameter())
|
|
23
|
-
throw new Error(ErrorMessages.GENERIC_ARGUMENT);
|
|
24
|
-
|
|
25
|
-
return ts.factory.createCallExpression(
|
|
26
|
-
StringifyProgrammer.generate(
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
|
|
3
|
+
import { StringifyProgrammer } from "../../../programmers/StringifyProgrammer";
|
|
4
|
+
|
|
5
|
+
import { IProject } from "../../IProject";
|
|
6
|
+
|
|
7
|
+
export namespace StringifyTransformer {
|
|
8
|
+
export function transform(
|
|
9
|
+
project: IProject,
|
|
10
|
+
modulo: ts.LeftHandSideExpression,
|
|
11
|
+
expression: ts.CallExpression,
|
|
12
|
+
): ts.Expression {
|
|
13
|
+
if (expression.arguments.length !== 1)
|
|
14
|
+
throw new Error(ErrorMessages.NO_INPUT_VALUE);
|
|
15
|
+
|
|
16
|
+
const type: ts.Type =
|
|
17
|
+
expression.typeArguments && expression.typeArguments[0]
|
|
18
|
+
? project.checker.getTypeFromTypeNode(
|
|
19
|
+
expression.typeArguments[0],
|
|
20
|
+
)
|
|
21
|
+
: project.checker.getTypeAtLocation(expression.arguments[0]!);
|
|
22
|
+
if (type.isTypeParameter())
|
|
23
|
+
throw new Error(ErrorMessages.GENERIC_ARGUMENT);
|
|
24
|
+
|
|
25
|
+
return ts.factory.createCallExpression(
|
|
26
|
+
StringifyProgrammer.generate(
|
|
27
|
+
{
|
|
28
|
+
...project,
|
|
29
|
+
options: {
|
|
30
|
+
...project.options,
|
|
31
|
+
functional: false,
|
|
32
|
+
numeric: true,
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
modulo,
|
|
36
|
+
)(type),
|
|
37
|
+
undefined,
|
|
38
|
+
[expression.arguments[0]!],
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
const enum ErrorMessages {
|
|
44
|
+
NO_INPUT_VALUE = "Error on typia.stringify(): no input value.",
|
|
45
|
+
GENERIC_ARGUMENT = "Error on typia.stringify(): non-specified generic argument.",
|
|
46
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MetadataHelper.js","sourceRoot":"","sources":["../../../src/factories/internal/MetadataHelper.ts"],"names":[],"mappings":";;;AAAA,oDAAmD;AAEnD,IAAiB,cAAc,CAS9B;AATD,WAAiB,cAAc;IAC3B,SAAgB,mBAAmB,CAAC,GAAW;QAC3C,IAAM,QAAQ,GAAa,mBAAQ,CAAC,UAAU,EAAE,CAAC;QACjD,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC;YACpB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,CAAC,GAAG,CAAC;SAChB,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC;IACpB,CAAC;IAPe,kCAAmB,sBAOlC,CAAA;AACL,CAAC,EATgB,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAS9B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"emplace_metadata_object.js","sourceRoot":"","sources":["../../../src/factories/internal/emplace_metadata_object.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"explore_metadata.js","sourceRoot":"","sources":["../../../src/factories/internal/explore_metadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"iterate_metadata.js","sourceRoot":"","sources":["../../../src/factories/internal/iterate_metadata.ts"],"names":[],"mappings":";;;AAIA,mDAAkD;AAIlD,mEAAkE;AAClE,qEAAoE;AACpE,yEAAwE;AACxE,yEAAwE;AACxE,+DAA8D;AAC9D,qEAAoE;AACpE,qEAAoE;AACpE,uEAAsE;AACtE,+DAA8D;AAC9D,yEAAwE;AACxE,mEAAkE;AAClE,mEAAkE;AAE3D,IAAM,gBAAgB,GACzB,UAAC,OAAuB;IACxB,OAAA,UAAC,OAAiC;QAClC,OAAA,UAAC,UAA8B;YAC/B,OAAA,UAAC,IAAc,EAAE,IAAa,EAAE,cAAuB;gBACnD,IAAI,IAAI,CAAC,eAAe,EAAE,KAAK,IAAI;oBAC/B,MAAM,IAAI,KAAK,CACX,uFAAgF,IAAI,CAAC,OAAO,EAAE,MAAG,CACpG,CAAC;gBAGN,IACI,IAAA,+CAAsB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAChD,IAAI,EACJ,IAAI,EACJ,cAAc,CACjB;oBACD,IAAA,mDAAwB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAClD,IAAI,EACJ,IAAI,EACJ,cAAc,CACjB;oBAED,OAAO;gBAGX,IAAM,IAAI,GAA4B,OAAO,CAAC,cAAc,CACxD,IAAI,EACJ,SAAS,EACT,SAAS,CACZ,CAAC;gBACF,IAAI,IAAI,KAAK,SAAS,EAAE;oBAEpB,qBAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,cAAM,OAAA,IAAI,EAAJ,CAAI,CAAC,CAAC;oBAC3C,OAAO;iBACV;gBAGD,IAAA,qDAAyB,EAAC,IAAI,EAAE,IAAI,CAAC;oBACjC,IAAA,qDAAyB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;oBACvD,IAAA,qDAAyB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CACnD,IAAI,EACJ,IAAI,CACP;oBACD,IAAA,iDAAuB,EAAC,IAAI,EAAE,IAAI,CAAC;oBACnC,IAAA,+CAAsB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAChD,IAAI,EACJ,IAAoB,CACvB;oBACD,IAAA,+CAAsB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;oBAChE,IAAA,iDAAuB,EAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;oBAC5C,IAAA,2CAAoB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;oBAC9D,IAAA,2CAAoB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;oBAC9D,IAAA,iDAAuB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CACjD,IAAI,EACJ,IAAI,EACJ,cAAc,CACjB,CAAC;YACV,CAAC;QAtDD,CAsDC;IAvDD,CAuDC;AAxDD,CAwDC,CAAC;AA1DO,QAAA,gBAAgB,oBA0DvB"}
|