typia 7.0.0-dev.20241012 → 7.0.0-dev.20241019
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/lib/factories/JsonMetadataFactory.js +3 -2
- package/lib/factories/JsonMetadataFactory.js.map +1 -1
- package/lib/factories/MetadataCollection.d.ts +3 -3
- package/lib/factories/MetadataCollection.js +2 -2
- package/lib/factories/MetadataCollection.js.map +1 -1
- package/lib/factories/MetadataFactory.d.ts +2 -2
- package/lib/factories/MetadataFactory.js +3 -3
- package/lib/factories/MetadataFactory.js.map +1 -1
- package/lib/factories/MetadataTypeTagFactory.d.ts +3 -2
- package/lib/factories/MetadataTypeTagFactory.js +26 -3
- package/lib/factories/MetadataTypeTagFactory.js.map +1 -1
- package/lib/factories/ProtobufFactory.js +1266 -160
- package/lib/factories/ProtobufFactory.js.map +1 -1
- package/lib/factories/internal/metadata/IMetadataIteratorProps.d.ts +1 -0
- package/lib/factories/internal/metadata/MetadataHelper.js +1 -1
- package/lib/factories/internal/metadata/MetadataHelper.js.map +1 -1
- package/lib/factories/internal/metadata/emplace_metadata_alias.d.ts +2 -2
- package/lib/factories/internal/metadata/emplace_metadata_object.js +5 -5
- package/lib/factories/internal/metadata/emplace_metadata_object.js.map +1 -1
- package/lib/factories/internal/metadata/explore_metadata.js +2 -0
- package/lib/factories/internal/metadata/explore_metadata.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata.js +1 -1
- package/lib/factories/internal/metadata/iterate_metadata.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_alias.js +8 -2
- package/lib/factories/internal/metadata/iterate_metadata_alias.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_collection.js +6 -6
- package/lib/factories/internal/metadata/iterate_metadata_collection.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_intersection.js +262 -137
- package/lib/factories/internal/metadata/iterate_metadata_intersection.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_map.js +4 -2
- package/lib/factories/internal/metadata/iterate_metadata_map.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_native.js +27 -11
- package/lib/factories/internal/metadata/iterate_metadata_native.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_set.js +8 -1
- package/lib/factories/internal/metadata/iterate_metadata_set.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_sort.js +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_sort.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_template.js +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_template.js.map +1 -1
- package/lib/programmers/CheckerProgrammer.js +5 -5
- package/lib/programmers/CheckerProgrammer.js.map +1 -1
- package/lib/programmers/RandomProgrammer.js +12 -12
- package/lib/programmers/RandomProgrammer.js.map +1 -1
- package/lib/programmers/helpers/AtomicPredicator.js +3 -3
- package/lib/programmers/helpers/AtomicPredicator.js.map +1 -1
- package/lib/programmers/helpers/ProtobufUtil.d.ts +6 -3
- package/lib/programmers/helpers/ProtobufUtil.js +216 -93
- package/lib/programmers/helpers/ProtobufUtil.js.map +1 -1
- package/lib/programmers/helpers/UnionExplorer.d.ts +4 -2
- package/lib/programmers/helpers/UnionExplorer.js +1 -1
- package/lib/programmers/helpers/UnionExplorer.js.map +1 -1
- package/lib/programmers/http/HttpFormDataProgrammer.js +6 -6
- package/lib/programmers/http/HttpFormDataProgrammer.js.map +1 -1
- package/lib/programmers/internal/application_escaped.js +2 -2
- package/lib/programmers/internal/application_escaped.js.map +1 -1
- package/lib/programmers/internal/application_v30_alias.js +13 -8
- package/lib/programmers/internal/application_v30_alias.js.map +1 -1
- package/lib/programmers/internal/application_v30_native.js +17 -10
- package/lib/programmers/internal/application_v30_native.js.map +1 -1
- package/lib/programmers/internal/application_v30_object.js +16 -6
- package/lib/programmers/internal/application_v30_object.js.map +1 -1
- package/lib/programmers/internal/application_v30_schema.js +24 -17
- package/lib/programmers/internal/application_v30_schema.js.map +1 -1
- package/lib/programmers/internal/application_v31_alias.js +12 -11
- package/lib/programmers/internal/application_v31_alias.js.map +1 -1
- package/lib/programmers/internal/application_v31_native.js +17 -10
- package/lib/programmers/internal/application_v31_native.js.map +1 -1
- package/lib/programmers/internal/application_v31_object.js +13 -6
- package/lib/programmers/internal/application_v31_object.js.map +1 -1
- package/lib/programmers/internal/application_v31_schema.js +23 -16
- package/lib/programmers/internal/application_v31_schema.js.map +1 -1
- package/lib/programmers/internal/check_dynamic_key.js +4 -4
- package/lib/programmers/internal/check_dynamic_key.js.map +1 -1
- package/lib/programmers/internal/check_native.js +3 -3
- package/lib/programmers/internal/check_union_array_like.js.map +1 -1
- package/lib/programmers/internal/llm_schema_escaped.js +2 -2
- package/lib/programmers/internal/llm_schema_escaped.js.map +1 -1
- package/lib/programmers/internal/llm_schema_object.js +18 -14
- package/lib/programmers/internal/llm_schema_object.js.map +1 -1
- package/lib/programmers/internal/llm_schema_station.js +8 -8
- package/lib/programmers/internal/llm_schema_station.js.map +1 -1
- package/lib/programmers/json/JsonSchemasProgrammer.js +5 -5
- package/lib/programmers/json/JsonSchemasProgrammer.js.map +1 -1
- package/lib/programmers/json/JsonStringifyProgrammer.js +18 -17
- package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
- package/lib/programmers/llm/LlmSchemaProgrammer.js +6 -6
- package/lib/programmers/llm/LlmSchemaProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscCloneProgrammer.js +7 -5
- package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscPruneProgrammer.js +1 -1
- package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
- package/lib/programmers/notations/NotationGeneralProgrammer.js +6 -4
- package/lib/programmers/notations/NotationGeneralProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js +169 -220
- package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js +6 -4
- package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufMessageProgrammer.d.ts +1 -1
- package/lib/programmers/protobuf/ProtobufMessageProgrammer.js +53 -128
- package/lib/programmers/protobuf/ProtobufMessageProgrammer.js.map +1 -1
- package/lib/schemas/metadata/IMetadata.d.ts +14 -18
- package/lib/schemas/metadata/IMetadataAlias.d.ts +2 -7
- package/lib/schemas/metadata/IMetadataAliasType.d.ts +10 -0
- package/lib/schemas/metadata/IMetadataAliasType.js +3 -0
- package/lib/schemas/metadata/IMetadataAliasType.js.map +1 -0
- package/lib/schemas/metadata/IMetadataComponents.d.ts +2 -2
- package/lib/schemas/metadata/IMetadataConstantValue.d.ts +1 -1
- package/lib/schemas/metadata/IMetadataDictionary.d.ts +2 -2
- package/lib/schemas/metadata/IMetadataMap.d.ts +7 -0
- package/lib/schemas/metadata/{IMetadataEntry.js → IMetadataMap.js} +1 -1
- package/lib/schemas/metadata/IMetadataMap.js.map +1 -0
- package/lib/schemas/metadata/IMetadataNative.d.ts +5 -0
- package/lib/schemas/metadata/IMetadataNative.js +3 -0
- package/lib/schemas/metadata/IMetadataNative.js.map +1 -0
- package/lib/schemas/metadata/IMetadataSet.d.ts +6 -0
- package/lib/schemas/metadata/IMetadataSet.js +3 -0
- package/lib/schemas/metadata/IMetadataSet.js.map +1 -0
- package/lib/schemas/metadata/IMetadataTemplate.d.ts +1 -1
- package/lib/schemas/metadata/IMetadataTypeTag.d.ts +1 -1
- package/lib/schemas/metadata/Metadata.d.ts +6 -9
- package/lib/schemas/metadata/Metadata.js +136 -98
- package/lib/schemas/metadata/Metadata.js.map +1 -1
- package/lib/schemas/metadata/MetadataAlias.d.ts +8 -11
- package/lib/schemas/metadata/MetadataAlias.js +48 -33
- package/lib/schemas/metadata/MetadataAlias.js.map +1 -1
- package/lib/schemas/metadata/MetadataAliasType.d.ts +16 -0
- package/lib/schemas/metadata/MetadataAliasType.js +51 -0
- package/lib/schemas/metadata/MetadataAliasType.js.map +1 -0
- package/lib/schemas/metadata/MetadataComponents.d.ts +2 -2
- package/lib/schemas/metadata/MetadataComponents.js +2 -2
- package/lib/schemas/metadata/MetadataComponents.js.map +1 -1
- package/lib/schemas/metadata/MetadataConstantValue.d.ts +1 -1
- package/lib/schemas/metadata/MetadataMap.d.ts +14 -0
- package/lib/schemas/metadata/MetadataMap.js +66 -0
- package/lib/schemas/metadata/MetadataMap.js.map +1 -0
- package/lib/schemas/metadata/MetadataNative.d.ts +12 -0
- package/lib/schemas/metadata/MetadataNative.js +65 -0
- package/lib/schemas/metadata/MetadataNative.js.map +1 -0
- package/lib/schemas/metadata/MetadataProperty.d.ts +2 -0
- package/lib/schemas/metadata/MetadataProperty.js.map +1 -1
- package/lib/schemas/metadata/MetadataSet.d.ts +13 -0
- package/lib/schemas/metadata/MetadataSet.js +64 -0
- package/lib/schemas/metadata/MetadataSet.js.map +1 -0
- package/lib/schemas/metadata/MetadataTemplate.d.ts +1 -1
- package/lib/schemas/protobuf/IProtobufProperty.d.ts +5 -0
- package/lib/schemas/protobuf/IProtobufProperty.js +3 -0
- package/lib/schemas/protobuf/IProtobufProperty.js.map +1 -0
- package/lib/schemas/protobuf/IProtobufPropertyType.d.ts +28 -0
- package/lib/schemas/protobuf/IProtobufPropertyType.js +3 -0
- package/lib/schemas/protobuf/IProtobufPropertyType.js.map +1 -0
- package/lib/schemas/protobuf/IProtobufSchema.d.ts +38 -0
- package/lib/schemas/protobuf/IProtobufSchema.js +3 -0
- package/lib/schemas/protobuf/IProtobufSchema.js.map +1 -0
- package/lib/tags/Example.d.ts +2 -2
- package/lib/tags/Examples.d.ts +2 -2
- package/lib/tags/JsonSchemaPlugin.d.ts +1 -1
- package/lib/tags/Sequence.d.ts +9 -0
- package/lib/tags/Sequence.js +3 -0
- package/lib/tags/Sequence.js.map +1 -0
- package/lib/tags/TagBase.d.ts +1 -1
- package/lib/tags/index.d.ts +1 -0
- package/lib/tags/index.js +1 -0
- package/lib/tags/index.js.map +1 -1
- package/lib/utils/{NameEncoder.d.ts → ProtobufNameEncoder.d.ts} +1 -1
- package/lib/utils/{NameEncoder.js → ProtobufNameEncoder.js} +7 -7
- package/lib/utils/ProtobufNameEncoder.js.map +1 -0
- package/package.json +1 -1
- package/src/factories/JsonMetadataFactory.ts +5 -2
- package/src/factories/MetadataCollection.ts +6 -6
- package/src/factories/MetadataFactory.ts +7 -7
- package/src/factories/MetadataTypeTagFactory.ts +31 -6
- package/src/factories/ProtobufFactory.ts +794 -177
- package/src/factories/internal/metadata/IMetadataIteratorProps.ts +1 -0
- package/src/factories/internal/metadata/MetadataHelper.ts +1 -1
- package/src/factories/internal/metadata/emplace_metadata_alias.ts +2 -2
- package/src/factories/internal/metadata/emplace_metadata_object.ts +5 -5
- package/src/factories/internal/metadata/explore_metadata.ts +1 -0
- package/src/factories/internal/metadata/iterate_metadata.ts +1 -1
- package/src/factories/internal/metadata/iterate_metadata_alias.ts +9 -4
- package/src/factories/internal/metadata/iterate_metadata_collection.ts +6 -6
- package/src/factories/internal/metadata/iterate_metadata_intersection.ts +163 -181
- package/src/factories/internal/metadata/iterate_metadata_map.ts +5 -2
- package/src/factories/internal/metadata/iterate_metadata_native.ts +20 -2
- package/src/factories/internal/metadata/iterate_metadata_set.ts +27 -11
- package/src/factories/internal/metadata/iterate_metadata_sort.ts +1 -1
- package/src/factories/internal/metadata/iterate_metadata_template.ts +1 -3
- package/src/programmers/CheckerProgrammer.ts +9 -7
- package/src/programmers/RandomProgrammer.ts +16 -14
- package/src/programmers/helpers/AtomicPredicator.ts +3 -3
- package/src/programmers/helpers/ProtobufUtil.ts +147 -44
- package/src/programmers/helpers/UnionExplorer.ts +62 -62
- package/src/programmers/http/HttpFormDataProgrammer.ts +10 -6
- package/src/programmers/internal/application_escaped.ts +2 -2
- package/src/programmers/internal/application_v30_alias.ts +18 -12
- package/src/programmers/internal/application_v30_native.ts +22 -12
- package/src/programmers/internal/application_v30_object.ts +23 -8
- package/src/programmers/internal/application_v30_schema.ts +31 -34
- package/src/programmers/internal/application_v31_alias.ts +16 -13
- package/src/programmers/internal/application_v31_native.ts +22 -12
- package/src/programmers/internal/application_v31_object.ts +19 -8
- package/src/programmers/internal/application_v31_schema.ts +26 -29
- package/src/programmers/internal/check_dynamic_key.ts +4 -4
- package/src/programmers/internal/check_native.ts +4 -4
- package/src/programmers/internal/check_union_array_like.ts +2 -1
- package/src/programmers/internal/llm_schema_escaped.ts +2 -2
- package/src/programmers/internal/llm_schema_object.ts +21 -18
- package/src/programmers/internal/llm_schema_station.ts +9 -11
- package/src/programmers/json/JsonSchemasProgrammer.ts +5 -5
- package/src/programmers/json/JsonStringifyProgrammer.ts +5 -5
- package/src/programmers/llm/LlmSchemaProgrammer.ts +6 -6
- package/src/programmers/misc/MiscCloneProgrammer.ts +11 -7
- package/src/programmers/misc/MiscPruneProgrammer.ts +1 -1
- package/src/programmers/notations/NotationGeneralProgrammer.ts +10 -6
- package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +254 -308
- package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +11 -8
- package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +73 -95
- package/src/schemas/metadata/IMetadata.ts +35 -39
- package/src/schemas/metadata/IMetadataAlias.ts +6 -12
- package/src/schemas/metadata/IMetadataAliasType.ts +12 -0
- package/src/schemas/metadata/IMetadataArray.ts +6 -6
- package/src/schemas/metadata/IMetadataComponents.ts +11 -11
- package/src/schemas/metadata/IMetadataConstantValue.ts +1 -1
- package/src/schemas/metadata/IMetadataDictionary.ts +2 -2
- package/src/schemas/metadata/IMetadataMap.ts +8 -0
- package/src/schemas/metadata/IMetadataNative.ts +6 -0
- package/src/schemas/metadata/IMetadataObjectType.ts +13 -13
- package/src/schemas/metadata/IMetadataSet.ts +7 -0
- package/src/schemas/metadata/IMetadataTemplate.ts +7 -7
- package/src/schemas/metadata/IMetadataTuple.ts +6 -6
- package/src/schemas/metadata/IMetadataTypeTag.ts +16 -16
- package/src/schemas/metadata/Metadata.ts +100 -47
- package/src/schemas/metadata/MetadataAlias.ts +46 -61
- package/src/schemas/metadata/MetadataAliasType.ts +63 -0
- package/src/schemas/metadata/MetadataArray.ts +49 -49
- package/src/schemas/metadata/MetadataComponents.ts +3 -3
- package/src/schemas/metadata/MetadataConstantValue.ts +1 -1
- package/src/schemas/metadata/MetadataMap.ts +48 -0
- package/src/schemas/metadata/MetadataNative.ts +44 -0
- package/src/schemas/metadata/MetadataProperty.ts +3 -0
- package/src/schemas/metadata/MetadataSet.ts +45 -0
- package/src/schemas/metadata/MetadataTemplate.ts +80 -80
- package/src/schemas/metadata/MetadataTuple.ts +32 -32
- package/src/schemas/protobuf/IProtobufProperty.ts +6 -0
- package/src/schemas/protobuf/IProtobufPropertyType.ts +37 -0
- package/src/schemas/protobuf/IProtobufSchema.ts +50 -0
- package/src/tags/Example.ts +24 -17
- package/src/tags/Examples.ts +16 -16
- package/src/tags/JsonSchemaPlugin.ts +8 -8
- package/src/tags/Sequence.ts +10 -0
- package/src/tags/TagBase.ts +82 -76
- package/src/tags/index.ts +1 -0
- package/src/utils/{NameEncoder.ts → ProtobufNameEncoder.ts} +1 -1
- package/lib/schemas/metadata/IMetadataEntry.d.ts +0 -5
- package/lib/schemas/metadata/IMetadataEntry.js.map +0 -1
- package/lib/utils/NameEncoder.js.map +0 -1
- package/src/schemas/metadata/IMetadataEntry.ts +0 -6
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Metadata } from "../../../schemas/metadata/Metadata";
|
|
2
|
-
import {
|
|
2
|
+
import { MetadataAliasType } from "../../../schemas/metadata/MetadataAliasType";
|
|
3
3
|
|
|
4
4
|
import { ArrayUtil } from "../../../utils/ArrayUtil";
|
|
5
5
|
|
|
@@ -8,7 +8,7 @@ import { explore_metadata } from "./explore_metadata";
|
|
|
8
8
|
|
|
9
9
|
export const emplace_metadata_alias = (
|
|
10
10
|
props: IMetadataIteratorProps,
|
|
11
|
-
):
|
|
11
|
+
): MetadataAliasType => {
|
|
12
12
|
// CHECK EXISTENCE
|
|
13
13
|
const [alias, newbie, closure] = props.collection.emplaceAlias(
|
|
14
14
|
props.checker,
|
|
@@ -144,11 +144,11 @@ export const emplace_metadata_object = (
|
|
|
144
144
|
key.constants.map((c) => c.values.length).reduce((a, b) => a + b, 0) +
|
|
145
145
|
key.templates.length +
|
|
146
146
|
key.natives.filter(
|
|
147
|
-
(
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
147
|
+
(native) =>
|
|
148
|
+
native.name === "Boolean" ||
|
|
149
|
+
native.name === "BigInt" ||
|
|
150
|
+
native.name === "Number" ||
|
|
151
|
+
native.name === "String",
|
|
152
152
|
).length !==
|
|
153
153
|
key.size()
|
|
154
154
|
)
|
|
@@ -31,7 +31,7 @@ export const iterate_metadata = (props: IMetadataIteratorProps): void => {
|
|
|
31
31
|
return;
|
|
32
32
|
}
|
|
33
33
|
// CHECK SPECIAL CASES
|
|
34
|
-
|
|
34
|
+
if (
|
|
35
35
|
(props.explore.aliased !== true && iterate_metadata_alias(props)) ||
|
|
36
36
|
iterate_metadata_intersection(props) ||
|
|
37
37
|
iterate_metadata_union(props) ||
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import ts from "typescript";
|
|
2
2
|
|
|
3
3
|
import { MetadataAlias } from "../../../schemas/metadata/MetadataAlias";
|
|
4
|
+
import { MetadataAliasType } from "../../../schemas/metadata/MetadataAliasType";
|
|
4
5
|
|
|
5
6
|
import { ArrayUtil } from "../../../utils/ArrayUtil";
|
|
6
7
|
|
|
@@ -18,11 +19,15 @@ export const iterate_metadata_alias = (
|
|
|
18
19
|
if (node === undefined) return false;
|
|
19
20
|
|
|
20
21
|
// CONSTRUCT DEFINITION
|
|
21
|
-
const
|
|
22
|
-
ArrayUtil.
|
|
22
|
+
const type: MetadataAliasType = emplace_metadata_alias(props);
|
|
23
|
+
ArrayUtil.take(
|
|
23
24
|
props.metadata.aliases,
|
|
24
|
-
|
|
25
|
-
(
|
|
25
|
+
(elem) => elem.type.name === type.name,
|
|
26
|
+
() =>
|
|
27
|
+
MetadataAlias.create({
|
|
28
|
+
type,
|
|
29
|
+
tags: [],
|
|
30
|
+
}),
|
|
26
31
|
);
|
|
27
32
|
return true;
|
|
28
33
|
};
|
|
@@ -73,12 +73,12 @@ const isArrayRecursive = (props: {
|
|
|
73
73
|
props.metadata.arrays.some(
|
|
74
74
|
(a) => a.type === props.array || next(a.type.value),
|
|
75
75
|
) ||
|
|
76
|
-
props.metadata.aliases.some((alias) => next(alias.value)) ||
|
|
76
|
+
props.metadata.aliases.some((alias) => next(alias.type.value)) ||
|
|
77
77
|
props.metadata.tuples.some(
|
|
78
78
|
(t) => !t.type.recursive && t.type.elements.some(next),
|
|
79
79
|
) ||
|
|
80
80
|
props.metadata.maps.some((m) => next(m.value)) ||
|
|
81
|
-
props.metadata.sets.some(next) ||
|
|
81
|
+
props.metadata.sets.some((s) => next(s.value)) ||
|
|
82
82
|
(props.metadata.escaped !== null && next(props.metadata.escaped.returns)) ||
|
|
83
83
|
(props.metadata.rest !== null && next(props.metadata.rest))
|
|
84
84
|
);
|
|
@@ -105,8 +105,8 @@ const isTupleRecursive = (props: {
|
|
|
105
105
|
(a) => !a.type.recursive && next(a.type.value),
|
|
106
106
|
) ||
|
|
107
107
|
props.metadata.maps.some((m) => next(m.value)) ||
|
|
108
|
-
props.metadata.sets.some((s) => next(s)) ||
|
|
109
|
-
props.metadata.aliases.some((alias) => next(alias.value)) ||
|
|
108
|
+
props.metadata.sets.some((s) => next(s.value)) ||
|
|
109
|
+
props.metadata.aliases.some((alias) => next(alias.type.value)) ||
|
|
110
110
|
(props.metadata.escaped !== null && next(props.metadata.escaped.returns)) ||
|
|
111
111
|
(props.metadata.rest !== null && next(props.metadata.rest))
|
|
112
112
|
);
|
|
@@ -131,7 +131,7 @@ const isObjectRecursive = (props: {
|
|
|
131
131
|
props.object === o.type ||
|
|
132
132
|
o.type.properties.some((prop) => next(prop.value)),
|
|
133
133
|
) ||
|
|
134
|
-
props.metadata.aliases.some((alias) => next(alias.value)) ||
|
|
134
|
+
props.metadata.aliases.some((alias) => next(alias.type.value)) ||
|
|
135
135
|
props.metadata.arrays.some(
|
|
136
136
|
(array) => !array.type.recursive && next(array.type.value),
|
|
137
137
|
) ||
|
|
@@ -139,7 +139,7 @@ const isObjectRecursive = (props: {
|
|
|
139
139
|
(tuple) => !tuple.type.recursive && tuple.type.elements.some(next),
|
|
140
140
|
) ||
|
|
141
141
|
props.metadata.maps.some((map) => next(map.value)) ||
|
|
142
|
-
props.metadata.sets.some(next) ||
|
|
142
|
+
props.metadata.sets.some((set) => next(set.value)) ||
|
|
143
143
|
(props.metadata.escaped !== null && next(props.metadata.escaped.returns)) ||
|
|
144
144
|
(props.metadata.rest !== null && next(props.metadata.rest))
|
|
145
145
|
);
|
|
@@ -1,13 +1,6 @@
|
|
|
1
|
-
import ts from "typescript";
|
|
2
|
-
|
|
3
1
|
import { IMetadataTypeTag } from "../../../schemas/metadata/IMetadataTypeTag";
|
|
4
2
|
import { Metadata } from "../../../schemas/metadata/Metadata";
|
|
5
|
-
import {
|
|
6
|
-
import { MetadataConstant } from "../../../schemas/metadata/MetadataConstant";
|
|
7
|
-
import { MetadataConstantValue } from "../../../schemas/metadata/MetadataConstantValue";
|
|
8
|
-
import { MetadataTemplate } from "../../../schemas/metadata/MetadataTemplate";
|
|
9
|
-
|
|
10
|
-
import { ArrayUtil } from "../../../utils/ArrayUtil";
|
|
3
|
+
import { MetadataObjectType } from "../../../schemas/metadata/MetadataObjectType";
|
|
11
4
|
|
|
12
5
|
import { MetadataCollection } from "../../MetadataCollection";
|
|
13
6
|
import { MetadataFactory } from "../../MetadataFactory";
|
|
@@ -15,64 +8,57 @@ import { MetadataTypeTagFactory } from "../../MetadataTypeTagFactory";
|
|
|
15
8
|
import { IMetadataIteratorProps } from "./IMetadataIteratorProps";
|
|
16
9
|
import { explore_metadata } from "./explore_metadata";
|
|
17
10
|
import { iterate_metadata } from "./iterate_metadata";
|
|
18
|
-
import { iterate_metadata_array } from "./iterate_metadata_array";
|
|
19
11
|
|
|
20
12
|
export const iterate_metadata_intersection = (
|
|
21
13
|
props: IMetadataIteratorProps,
|
|
22
14
|
): boolean => {
|
|
23
|
-
if (
|
|
24
|
-
if (
|
|
25
|
-
// ONLY OBJECT TYPED INTERSECTION
|
|
26
|
-
props.type.types.every(
|
|
27
|
-
(child) =>
|
|
28
|
-
(child.getFlags() & ts.TypeFlags.Object) !== 0 &&
|
|
29
|
-
!props.checker.isArrayType(child) &&
|
|
30
|
-
!props.checker.isTupleType(child),
|
|
31
|
-
)
|
|
32
|
-
)
|
|
33
|
-
return false;
|
|
15
|
+
if (props.intersected === true) return false;
|
|
16
|
+
else if (props.type.isIntersection() === false) return false;
|
|
34
17
|
|
|
35
18
|
// COSTRUCT FAKE METADATA LIST
|
|
36
|
-
const fakeCollection: MetadataCollection =
|
|
19
|
+
const fakeCollection: MetadataCollection = new MetadataCollection();
|
|
37
20
|
const fakeErrors: MetadataFactory.IError[] = [];
|
|
38
|
-
const children: Metadata[] =
|
|
39
|
-
|
|
40
|
-
props
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
}),
|
|
57
|
-
).values(),
|
|
58
|
-
];
|
|
21
|
+
const children: Metadata[] = props.type.types.map((t) =>
|
|
22
|
+
explore_metadata({
|
|
23
|
+
...props,
|
|
24
|
+
options: {
|
|
25
|
+
...props.options,
|
|
26
|
+
absorb: true,
|
|
27
|
+
functional: false,
|
|
28
|
+
},
|
|
29
|
+
collection: fakeCollection,
|
|
30
|
+
errors: fakeErrors,
|
|
31
|
+
type: t,
|
|
32
|
+
explore: {
|
|
33
|
+
...props.explore,
|
|
34
|
+
aliased: false,
|
|
35
|
+
},
|
|
36
|
+
intersected: true,
|
|
37
|
+
}),
|
|
38
|
+
);
|
|
59
39
|
if (fakeErrors.length) {
|
|
60
40
|
props.errors.push(...fakeErrors);
|
|
61
41
|
return true;
|
|
62
|
-
}
|
|
42
|
+
} else if (children.length === 0) return false;
|
|
43
|
+
else if (children.some((m) => m.any || m.size() === 0)) return false;
|
|
63
44
|
|
|
64
|
-
//
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
45
|
+
// PREPARE MEATDATAS AND TAGS
|
|
46
|
+
const indexes: number[] = [];
|
|
47
|
+
const metadatas: Metadata[] = [];
|
|
48
|
+
const tagObjects: MetadataObjectType[] = [];
|
|
49
|
+
children.forEach((child, i) => {
|
|
50
|
+
if (
|
|
51
|
+
child.size() === 1 &&
|
|
52
|
+
child.objects.length === 1 &&
|
|
53
|
+
MetadataTypeTagFactory.is(child.objects[0]!.type)
|
|
54
|
+
)
|
|
55
|
+
tagObjects.push(child.objects[0]!.type);
|
|
56
|
+
else {
|
|
57
|
+
indexes.push(i);
|
|
58
|
+
metadatas.push(child);
|
|
59
|
+
}
|
|
60
|
+
});
|
|
74
61
|
|
|
75
|
-
// VALIDATE EACH TYPES
|
|
76
62
|
const nonsensible = () => {
|
|
77
63
|
props.errors.push({
|
|
78
64
|
name: children.map((c) => c.getName()).join(" & "),
|
|
@@ -81,139 +67,135 @@ export const iterate_metadata_intersection = (
|
|
|
81
67
|
});
|
|
82
68
|
return true;
|
|
83
69
|
};
|
|
84
|
-
const individuals: (readonly [Metadata, number])[] = children
|
|
85
|
-
.map((child, i) => [child, i] as const)
|
|
86
|
-
.filter(
|
|
87
|
-
([c]) =>
|
|
88
|
-
(c.size() === 1 &&
|
|
89
|
-
(c.atomics.length === 1 ||
|
|
90
|
-
(c.constants.length === 1 && c.constants[0]!.values.length === 1) ||
|
|
91
|
-
c.arrays.length === 1)) ||
|
|
92
|
-
c.templates.length === 1,
|
|
93
|
-
);
|
|
94
|
-
if (individuals.length !== 1) return nonsensible();
|
|
95
70
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
71
|
+
// NO METADATA CASE
|
|
72
|
+
if (metadatas.length === 0)
|
|
73
|
+
if (tagObjects.length !== 0) {
|
|
74
|
+
props.errors.push({
|
|
75
|
+
name: children.map((c) => c.getName()).join(" & "),
|
|
76
|
+
explore: { ...props.explore },
|
|
77
|
+
messages: ["type tag cannot be standalone"],
|
|
78
|
+
});
|
|
79
|
+
return true;
|
|
80
|
+
} else return false;
|
|
81
|
+
// ONLY OBJECTS CASE
|
|
82
|
+
else if (
|
|
83
|
+
metadatas.every((m) => m.objects.length === 1) &&
|
|
84
|
+
tagObjects.length === 0
|
|
85
|
+
)
|
|
86
|
+
return false;
|
|
87
|
+
else if (metadatas.length !== 1) {
|
|
88
|
+
const indexes: number[] = metadatas
|
|
89
|
+
.map((m, i) =>
|
|
90
|
+
m.size() === 1 &&
|
|
91
|
+
m.objects.length === 1 &&
|
|
92
|
+
(m.objects[0]!.type.properties.length === 0 ||
|
|
93
|
+
m.objects[0]!.type.properties.every((p) => p.value.optional === true))
|
|
94
|
+
? i
|
|
95
|
+
: null,
|
|
96
|
+
)
|
|
97
|
+
.filter((i) => i !== null);
|
|
98
|
+
if (indexes.length && metadatas.length !== indexes.length)
|
|
99
|
+
for (const i of indexes.reverse()) metadatas.splice(i, 1);
|
|
100
|
+
else return nonsensible();
|
|
101
|
+
} else if (metadatas.some((m) => m.size() !== 1)) return nonsensible();
|
|
116
102
|
|
|
117
|
-
|
|
103
|
+
const candidates: Map<string, string> = new Map();
|
|
104
|
+
const assigners: Array<(tags: IMetadataTypeTag[]) => void> = [];
|
|
105
|
+
for (const meta of metadatas) {
|
|
106
|
+
for (const a of meta.atomics) {
|
|
107
|
+
candidates.set(a.type, a.type);
|
|
108
|
+
assigners.push((tags) =>
|
|
109
|
+
props.metadata.atomics
|
|
110
|
+
.find((atom) => atom.type === a.type)
|
|
111
|
+
?.tags.push(tags),
|
|
112
|
+
);
|
|
113
|
+
}
|
|
114
|
+
for (const c of meta.constants)
|
|
115
|
+
for (const v of c.values) {
|
|
116
|
+
candidates.set(c.type, c.type);
|
|
117
|
+
assigners.push((tags) =>
|
|
118
|
+
props.metadata.constants
|
|
119
|
+
.find((constant) => constant.type === c.type)
|
|
120
|
+
?.values.find((value) => value === v)
|
|
121
|
+
?.tags?.push(tags),
|
|
122
|
+
);
|
|
123
|
+
}
|
|
124
|
+
for (const t of meta.templates) {
|
|
125
|
+
candidates.set("string", "string");
|
|
126
|
+
assigners.push((tags) =>
|
|
127
|
+
props.metadata.templates
|
|
128
|
+
.find((tpl) => tpl.getBaseName() === t.getBaseName())
|
|
129
|
+
?.tags.push(tags),
|
|
130
|
+
);
|
|
131
|
+
}
|
|
132
|
+
if (meta.objects.length) {
|
|
133
|
+
candidates.set("object", "object");
|
|
134
|
+
assigners.push((tags) => props.metadata.objects.at(-1)?.tags.push(tags));
|
|
135
|
+
}
|
|
136
|
+
if (meta.arrays.length) {
|
|
137
|
+
candidates.set("array", "array");
|
|
138
|
+
assigners.push((tags) => props.metadata.arrays.at(-1)?.tags.push(tags));
|
|
139
|
+
}
|
|
140
|
+
if (meta.tuples.length) candidates.set("invalid", "tuple");
|
|
141
|
+
for (const n of meta.natives) {
|
|
142
|
+
candidates.set(`native::${n.name}`, "object");
|
|
143
|
+
assigners.push((tags) =>
|
|
144
|
+
props.metadata.natives
|
|
145
|
+
.find((native) => native.name === n.name)
|
|
146
|
+
?.tags.push(tags),
|
|
147
|
+
);
|
|
148
|
+
}
|
|
149
|
+
for (const s of meta.sets) {
|
|
150
|
+
candidates.set(`set::${s.value.getName()}`, "object");
|
|
151
|
+
assigners.push((tags) =>
|
|
152
|
+
props.metadata.sets
|
|
153
|
+
.find((set) => set.value.getName() === s.value.getName())
|
|
154
|
+
?.tags.push(tags),
|
|
155
|
+
);
|
|
156
|
+
}
|
|
157
|
+
for (const e of meta.maps) {
|
|
158
|
+
candidates.set(`map::${e.key.getName()}::${e.value.getName()}`, "object");
|
|
159
|
+
assigners.push((tags) =>
|
|
160
|
+
props.metadata.maps
|
|
161
|
+
.find(
|
|
162
|
+
(map) =>
|
|
163
|
+
map.key.getName() === e.key.getName() &&
|
|
164
|
+
map.value.getName() === e.value.getName(),
|
|
165
|
+
)
|
|
166
|
+
?.tags.push(tags),
|
|
167
|
+
);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
118
170
|
if (
|
|
119
|
-
|
|
120
|
-
|
|
171
|
+
candidates.size !== 1 ||
|
|
172
|
+
candidates.has("nonsensible")
|
|
173
|
+
// ||
|
|
174
|
+
// (candidates.size !== 1 &&
|
|
175
|
+
// Array.from(candidates.keys()).some((v) => v !== "object"))
|
|
121
176
|
)
|
|
122
177
|
return nonsensible();
|
|
123
178
|
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
: constants.length
|
|
131
|
-
? constants[0]!.constants[0]!.type
|
|
132
|
-
: "string";
|
|
133
|
-
if (target === "array") {
|
|
134
|
-
const name: string = arrays.values().next().value!;
|
|
135
|
-
if (!props.metadata.arrays.some((a) => a.type.name === name)) {
|
|
136
|
-
iterate_metadata_array({
|
|
137
|
-
...props,
|
|
138
|
-
type: props.type.types[
|
|
139
|
-
individuals.find((i) => i[0].arrays.length === 1)![1]
|
|
140
|
-
]!,
|
|
141
|
-
explore: {
|
|
142
|
-
...props.explore,
|
|
143
|
-
aliased: false,
|
|
144
|
-
escaped: false,
|
|
145
|
-
},
|
|
146
|
-
});
|
|
147
|
-
}
|
|
148
|
-
} else if (atomics.size)
|
|
149
|
-
ArrayUtil.add(
|
|
150
|
-
props.metadata.atomics,
|
|
151
|
-
MetadataAtomic.create({
|
|
152
|
-
type: atomics.values().next().value as "string",
|
|
153
|
-
tags: [],
|
|
154
|
-
}),
|
|
155
|
-
(a, b) => a.type === b.type,
|
|
156
|
-
);
|
|
157
|
-
else if (constants.length)
|
|
158
|
-
ArrayUtil.take(
|
|
159
|
-
ArrayUtil.take(
|
|
160
|
-
props.metadata.constants,
|
|
161
|
-
(o) => o.type === target,
|
|
162
|
-
() =>
|
|
163
|
-
MetadataConstant.create({
|
|
164
|
-
type: target,
|
|
165
|
-
values: [],
|
|
166
|
-
}),
|
|
167
|
-
).values,
|
|
168
|
-
(o) => o.value === constants[0]!.constants[0]!.values[0]!.value,
|
|
169
|
-
() =>
|
|
170
|
-
MetadataConstantValue.create({
|
|
171
|
-
value: constants[0]!.constants[0]!.values[0]!.value,
|
|
172
|
-
tags: [],
|
|
173
|
-
}),
|
|
174
|
-
);
|
|
175
|
-
else if (templates.length)
|
|
176
|
-
ArrayUtil.take(
|
|
177
|
-
props.metadata.templates,
|
|
178
|
-
(o) => o.getBaseName() === templates[0]!.templates[0]!.getBaseName(),
|
|
179
|
-
() =>
|
|
180
|
-
MetadataTemplate.create({
|
|
181
|
-
row: templates[0]!.templates[0]!.row,
|
|
182
|
-
tags: [],
|
|
183
|
-
}),
|
|
184
|
-
);
|
|
179
|
+
const tags: IMetadataTypeTag[] = MetadataTypeTagFactory.analyze({
|
|
180
|
+
errors: props.errors,
|
|
181
|
+
type: candidates.values().next().value as "string",
|
|
182
|
+
objects: tagObjects,
|
|
183
|
+
explore: props.explore,
|
|
184
|
+
});
|
|
185
185
|
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
props.metadata.atomics.find((a) => a.type === target)!.tags.push(tags);
|
|
201
|
-
else if (constants.length) {
|
|
202
|
-
const constant: MetadataConstant = props.metadata.constants.find(
|
|
203
|
-
(c) => c.type === target,
|
|
204
|
-
)!;
|
|
205
|
-
const value: MetadataConstantValue = constant.values.find(
|
|
206
|
-
(v) => v.value === constants[0]!.constants[0]!.values[0]!.value,
|
|
207
|
-
)!;
|
|
208
|
-
value.tags ??= [];
|
|
209
|
-
value.tags.push(tags);
|
|
210
|
-
} else if (templates.length) {
|
|
211
|
-
const template: MetadataTemplate = props.metadata.templates.find(
|
|
212
|
-
(t) => t.getBaseName() === templates[0]!.templates[0]!.getBaseName(),
|
|
213
|
-
)!;
|
|
214
|
-
template.tags ??= [];
|
|
215
|
-
template.tags.push(tags);
|
|
216
|
-
}
|
|
217
|
-
}
|
|
186
|
+
iterate_metadata({
|
|
187
|
+
...props,
|
|
188
|
+
type: props.type.types[indexes[0]!]!,
|
|
189
|
+
options: {
|
|
190
|
+
...props.options,
|
|
191
|
+
functional: false,
|
|
192
|
+
},
|
|
193
|
+
explore: {
|
|
194
|
+
...props.explore,
|
|
195
|
+
aliased: false,
|
|
196
|
+
escaped: false,
|
|
197
|
+
},
|
|
198
|
+
});
|
|
199
|
+
if (tags.length) assigners.forEach((fn) => fn(tags));
|
|
218
200
|
return true;
|
|
219
201
|
};
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import ts from "typescript";
|
|
2
2
|
|
|
3
|
+
import { MetadataMap } from "../../../schemas/metadata/MetadataMap";
|
|
4
|
+
|
|
3
5
|
import { ArrayUtil } from "../../../utils/ArrayUtil";
|
|
4
6
|
|
|
5
7
|
import { TypeFactory } from "../../TypeFactory";
|
|
@@ -26,7 +28,7 @@ export const iterate_metadata_map = (
|
|
|
26
28
|
|
|
27
29
|
ArrayUtil.set(
|
|
28
30
|
props.metadata.maps,
|
|
29
|
-
{
|
|
31
|
+
MetadataMap.create({
|
|
30
32
|
key: explore_metadata({
|
|
31
33
|
...props,
|
|
32
34
|
type: key,
|
|
@@ -45,7 +47,8 @@ export const iterate_metadata_map = (
|
|
|
45
47
|
aliased: false,
|
|
46
48
|
},
|
|
47
49
|
}),
|
|
48
|
-
|
|
50
|
+
tags: [],
|
|
51
|
+
}),
|
|
49
52
|
(elem) => `Map<${elem.key.getName()}, ${elem.value.getName()}>`,
|
|
50
53
|
);
|
|
51
54
|
return true;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import ts from "typescript";
|
|
2
2
|
|
|
3
|
+
import { MetadataNative } from "../../../schemas/metadata/MetadataNative";
|
|
4
|
+
|
|
3
5
|
import { ArrayUtil } from "../../../utils/ArrayUtil";
|
|
4
6
|
|
|
5
7
|
import { TypeFactory } from "../../TypeFactory";
|
|
@@ -22,7 +24,15 @@ export const iterate_metadata_native = (
|
|
|
22
24
|
info: simple,
|
|
23
25
|
})
|
|
24
26
|
) {
|
|
25
|
-
ArrayUtil.
|
|
27
|
+
ArrayUtil.take(
|
|
28
|
+
props.metadata.natives,
|
|
29
|
+
(native) => native.name === name,
|
|
30
|
+
() =>
|
|
31
|
+
MetadataNative.create({
|
|
32
|
+
name,
|
|
33
|
+
tags: [],
|
|
34
|
+
}),
|
|
35
|
+
);
|
|
26
36
|
return true;
|
|
27
37
|
}
|
|
28
38
|
|
|
@@ -35,7 +45,15 @@ export const iterate_metadata_native = (
|
|
|
35
45
|
info: generic,
|
|
36
46
|
})
|
|
37
47
|
) {
|
|
38
|
-
ArrayUtil.
|
|
48
|
+
ArrayUtil.take(
|
|
49
|
+
props.metadata.natives,
|
|
50
|
+
(native) => native.name === name,
|
|
51
|
+
() =>
|
|
52
|
+
MetadataNative.create({
|
|
53
|
+
name: generic.name ?? name,
|
|
54
|
+
tags: [],
|
|
55
|
+
}),
|
|
56
|
+
);
|
|
39
57
|
return true;
|
|
40
58
|
}
|
|
41
59
|
return false;
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import ts from "typescript";
|
|
2
2
|
|
|
3
|
+
import { Metadata } from "../../../schemas/metadata/Metadata";
|
|
4
|
+
import { MetadataSet } from "../../../schemas/metadata/MetadataSet";
|
|
5
|
+
|
|
3
6
|
import { ArrayUtil } from "../../../utils/ArrayUtil";
|
|
4
7
|
|
|
5
8
|
import { TypeFactory } from "../../TypeFactory";
|
|
@@ -22,18 +25,31 @@ export const iterate_metadata_set = (
|
|
|
22
25
|
if (name.substring(0, 4) !== "Set<" || generic?.length !== 1) return false;
|
|
23
26
|
|
|
24
27
|
const key: ts.Type = generic[0]!;
|
|
25
|
-
|
|
28
|
+
const value: Metadata = explore_metadata({
|
|
29
|
+
...props,
|
|
30
|
+
type: key,
|
|
31
|
+
explore: {
|
|
32
|
+
...props.explore,
|
|
33
|
+
escaped: false,
|
|
34
|
+
aliased: false,
|
|
35
|
+
},
|
|
36
|
+
});
|
|
37
|
+
ArrayUtil.take(
|
|
26
38
|
props.metadata.sets,
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
39
|
+
(elem) => elem.value.getName() === value.getName(),
|
|
40
|
+
() =>
|
|
41
|
+
MetadataSet.create({
|
|
42
|
+
value: explore_metadata({
|
|
43
|
+
...props,
|
|
44
|
+
type: key,
|
|
45
|
+
explore: {
|
|
46
|
+
...props.explore,
|
|
47
|
+
escaped: false,
|
|
48
|
+
aliased: false,
|
|
49
|
+
},
|
|
50
|
+
}),
|
|
51
|
+
tags: [],
|
|
52
|
+
}),
|
|
37
53
|
);
|
|
38
54
|
return true;
|
|
39
55
|
};
|
|
@@ -38,7 +38,7 @@ const iterate = (props: {
|
|
|
38
38
|
|
|
39
39
|
// ITERATE CHILDREN
|
|
40
40
|
for (const map of props.metadata.maps) next(map.value);
|
|
41
|
-
for (const set of props.metadata.sets) next(set);
|
|
41
|
+
for (const set of props.metadata.sets) next(set.value);
|
|
42
42
|
if (props.metadata.escaped !== null) next(props.metadata.escaped.returns);
|
|
43
43
|
if (props.metadata.rest !== null) next(props.metadata.rest);
|
|
44
44
|
|