typia 5.0.0-dev.20230726 → 5.0.0-dev.20230805

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.
Files changed (228) hide show
  1. package/lib/factories/CommentFactory.d.ts +1 -1
  2. package/lib/factories/CommentFactory.js +113 -50
  3. package/lib/factories/CommentFactory.js.map +1 -1
  4. package/lib/factories/MetadataCollection.js.map +1 -1
  5. package/lib/functional/$string.js +16 -20
  6. package/lib/functional/$string.js.map +1 -1
  7. package/lib/programmers/internal/application_object.js +2 -0
  8. package/lib/programmers/internal/application_object.js.map +1 -1
  9. package/lib/schemas/metadata/Metadata.d.ts +1 -0
  10. package/lib/schemas/metadata/Metadata.js +3 -0
  11. package/lib/schemas/metadata/Metadata.js.map +1 -1
  12. package/package.json +3 -4
  13. package/src/factories/CommentFactory.ts +67 -47
  14. package/src/factories/MetadataCollection.ts +264 -255
  15. package/src/factories/MetadataFactory.ts +30 -30
  16. package/src/factories/MetadataTagFactory.ts +362 -362
  17. package/src/factories/ProtocolFactory.ts +80 -80
  18. package/src/factories/internal/metadata/MetadataHelper.ts +12 -12
  19. package/src/factories/internal/metadata/emend_metadata_atomics.ts +33 -33
  20. package/src/factories/internal/metadata/emplace_metadata_alias.ts +40 -40
  21. package/src/factories/internal/metadata/emplace_metadata_array.ts +34 -34
  22. package/src/factories/internal/metadata/emplace_metadata_object.ts +136 -136
  23. package/src/factories/internal/metadata/emplace_metadata_tuple.ts +50 -50
  24. package/src/factories/internal/metadata/explore_metadata.ts +40 -40
  25. package/src/factories/internal/metadata/iterate_metadata.ts +81 -81
  26. package/src/factories/internal/metadata/iterate_metadata_alias.ts +30 -30
  27. package/src/factories/internal/metadata/iterate_metadata_array.ts +24 -24
  28. package/src/factories/internal/metadata/iterate_metadata_atomic.ts +59 -59
  29. package/src/factories/internal/metadata/iterate_metadata_coalesce.ts +33 -33
  30. package/src/factories/internal/metadata/iterate_metadata_collection.ts +133 -133
  31. package/src/factories/internal/metadata/iterate_metadata_constant.ts +58 -58
  32. package/src/factories/internal/metadata/iterate_metadata_intersection.ts +83 -83
  33. package/src/factories/internal/metadata/iterate_metadata_map.ts +41 -41
  34. package/src/factories/internal/metadata/iterate_metadata_native.ts +219 -219
  35. package/src/factories/internal/metadata/iterate_metadata_object.ts +43 -43
  36. package/src/factories/internal/metadata/iterate_metadata_resolve.ts +49 -49
  37. package/src/factories/internal/metadata/iterate_metadata_set.ts +33 -33
  38. package/src/factories/internal/metadata/iterate_metadata_sort.ts +69 -69
  39. package/src/factories/internal/metadata/iterate_metadata_tag.ts +31 -31
  40. package/src/factories/internal/metadata/iterate_metadata_template.ts +38 -38
  41. package/src/factories/internal/metadata/iterate_metadata_tuple.ts +24 -24
  42. package/src/factories/internal/metadata/iterate_metadata_union.ts +24 -24
  43. package/src/factories/internal/protocols/ProtocolMetadataUtil.ts +180 -180
  44. package/src/factories/internal/protocols/emplace_protocol_object.ts +25 -25
  45. package/src/factories/internal/protocols/emplace_protocol_property.ts +12 -12
  46. package/src/factories/internal/protocols/iterate_protocol_atomic.ts +34 -34
  47. package/src/factories/internal/protocols/iterate_protocol_constant.ts +27 -27
  48. package/src/factories/internal/protocols/iterate_protocol_main.ts +19 -19
  49. package/src/factories/internal/protocols/iterate_protocol_map.ts +58 -58
  50. package/src/factories/internal/protocols/iterate_protocol_metadata.ts +96 -96
  51. package/src/factories/internal/protocols/iterate_protocol_native.ts +34 -34
  52. package/src/factories/internal/protocols/iterate_protocol_never.ts +1 -1
  53. package/src/factories/internal/protocols/iterate_protocol_object.ts +110 -110
  54. package/src/factories/internal/protocols/iterate_protocol_repeated.ts +34 -34
  55. package/src/factories/internal/protocols/iterate_protocol_tuple.ts +29 -29
  56. package/src/functional/$number.ts +13 -13
  57. package/src/functional/$proto_bytes.ts +25 -25
  58. package/src/functional/$proto_field.ts +30 -30
  59. package/src/functional/$proto_float.ts +37 -37
  60. package/src/functional/$proto_i32.ts +29 -29
  61. package/src/functional/$proto_i64.ts +37 -37
  62. package/src/functional/$proto_size.ts +82 -82
  63. package/src/functional/$proto_string.ts +24 -24
  64. package/src/functional/$string.ts +32 -19
  65. package/src/functional/$varint.ts +130 -130
  66. package/src/functional/$zigzag.ts +39 -39
  67. package/src/json.ts +648 -648
  68. package/src/misc.ts +651 -651
  69. package/src/module.ts +781 -781
  70. package/src/programmers/CheckerProgrammer.ts +1182 -1182
  71. package/src/programmers/FeatureProgrammer.ts +495 -495
  72. package/src/programmers/IsProgrammer.ts +239 -239
  73. package/src/programmers/IsPruneProgrammer.ts +73 -73
  74. package/src/programmers/RandomProgrammer.ts +581 -581
  75. package/src/programmers/helpers/AtomicPredicator.ts +31 -31
  76. package/src/programmers/helpers/IExpressionEntry.ts +12 -12
  77. package/src/programmers/helpers/PruneJoiner.ts +143 -143
  78. package/src/programmers/helpers/RandomJoiner.ts +173 -173
  79. package/src/programmers/helpers/RandomRanger.ts +216 -216
  80. package/src/programmers/helpers/StringifyPredicator.ts +13 -13
  81. package/src/programmers/helpers/UnionExplorer.ts +301 -301
  82. package/src/programmers/helpers/UnionPredicator.ts +81 -81
  83. package/src/programmers/internal/application_alias.ts +66 -66
  84. package/src/programmers/internal/application_array.ts +30 -30
  85. package/src/programmers/internal/application_constant.ts +26 -26
  86. package/src/programmers/internal/application_default.ts +17 -17
  87. package/src/programmers/internal/application_default_string.ts +33 -33
  88. package/src/programmers/internal/application_native.ts +39 -39
  89. package/src/programmers/internal/application_number.ts +77 -77
  90. package/src/programmers/internal/application_object.ts +165 -162
  91. package/src/programmers/internal/application_resolved.ts +55 -55
  92. package/src/programmers/internal/application_schema.ts +157 -157
  93. package/src/programmers/internal/application_string.ts +44 -44
  94. package/src/programmers/internal/application_templates.ts +25 -25
  95. package/src/programmers/internal/application_tuple.ts +57 -57
  96. package/src/programmers/internal/check_array.ts +30 -30
  97. package/src/programmers/internal/check_array_length.ts +35 -35
  98. package/src/programmers/internal/check_bigint.ts +82 -82
  99. package/src/programmers/internal/check_custom.ts +31 -31
  100. package/src/programmers/internal/check_number.ts +177 -177
  101. package/src/programmers/internal/check_string.ts +25 -25
  102. package/src/programmers/internal/check_string_tags.ts +67 -67
  103. package/src/programmers/internal/check_template.ts +56 -56
  104. package/src/programmers/internal/check_union_array_like.ts +329 -329
  105. package/src/programmers/internal/decode_union_object.ts +73 -73
  106. package/src/programmers/internal/feature_object_entries.ts +63 -63
  107. package/src/programmers/internal/get_comment_tags.ts +23 -23
  108. package/src/programmers/internal/metadata_to_pattern.ts +34 -34
  109. package/src/programmers/internal/prune_object_properties.ts +60 -60
  110. package/src/programmers/internal/random_custom.ts +29 -29
  111. package/src/programmers/internal/stringify_regular_properties.ts +83 -83
  112. package/src/programmers/internal/template_to_pattern.ts +15 -15
  113. package/src/programmers/internal/wrap_metadata_rest_tuple.ts +16 -16
  114. package/src/programmers/json/JsonApplicationProgrammer.ts +47 -47
  115. package/src/programmers/json/JsonAssertParseProgrammer.ts +66 -66
  116. package/src/programmers/json/JsonAssertStringifyProgrammer.ts +66 -66
  117. package/src/programmers/json/JsonIsParseProgrammer.ts +72 -72
  118. package/src/programmers/json/JsonIsStringifyProgrammer.ts +76 -76
  119. package/src/programmers/json/JsonStringifyProgrammer.ts +979 -979
  120. package/src/programmers/json/JsonValidateParseProgrammer.ts +70 -70
  121. package/src/programmers/json/JsonValidateStringifyProgrammer.ts +84 -84
  122. package/src/programmers/misc/MiscAssertCloneProgrammer.ts +71 -71
  123. package/src/programmers/misc/MiscAssertPruneProgrammer.ts +68 -68
  124. package/src/programmers/misc/MiscCloneProgrammer.ts +587 -587
  125. package/src/programmers/misc/MiscIsCloneProgrammer.ts +78 -78
  126. package/src/programmers/misc/MiscLiteralsProgrammer.ts +63 -63
  127. package/src/programmers/misc/MiscPruneProgrammer.ts +542 -542
  128. package/src/programmers/misc/MiscValidateCloneProgrammer.ts +85 -85
  129. package/src/programmers/misc/MiscValidatePruneProgrammer.ts +78 -78
  130. package/src/programmers/protobuf/ProtobufAssertDecodeProgrammer.ts +69 -69
  131. package/src/programmers/protobuf/ProtobufAssertEncodeProgrammer.ts +66 -66
  132. package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +38 -38
  133. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +36 -36
  134. package/src/programmers/protobuf/ProtobufIsDecodeProgrammer.ts +75 -75
  135. package/src/programmers/protobuf/ProtobufIsEncodeProgrammer.ts +76 -76
  136. package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +125 -125
  137. package/src/programmers/protobuf/ProtobufValidateDecodeProgrammer.ts +83 -83
  138. package/src/programmers/protobuf/ProtobufValidateEncodeProgrammer.ts +86 -86
  139. package/src/protobuf.ts +210 -210
  140. package/src/schemas/json/IJsonApplication.ts +8 -8
  141. package/src/schemas/json/IJsonComponents.ts +33 -33
  142. package/src/schemas/json/IJsonSchema.ts +133 -133
  143. package/src/schemas/metadata/ICommentTag.ts +4 -4
  144. package/src/schemas/metadata/IJsDocTagInfo.ts +10 -10
  145. package/src/schemas/metadata/IMetadata.ts +28 -28
  146. package/src/schemas/metadata/IMetadataAlias.ts +14 -14
  147. package/src/schemas/metadata/IMetadataApplication.ts +7 -7
  148. package/src/schemas/metadata/IMetadataArray.ts +10 -10
  149. package/src/schemas/metadata/IMetadataCollection.ts +11 -11
  150. package/src/schemas/metadata/IMetadataConstant.ts +16 -16
  151. package/src/schemas/metadata/IMetadataDictionary.ts +14 -14
  152. package/src/schemas/metadata/IMetadataEntry.ts +6 -6
  153. package/src/schemas/metadata/IMetadataObject.ts +18 -18
  154. package/src/schemas/metadata/IMetadataProperty.ts +11 -11
  155. package/src/schemas/metadata/IMetadataResolved.ts +6 -6
  156. package/src/schemas/metadata/IMetadataTag.ts +113 -113
  157. package/src/schemas/metadata/IMetadataTuple.ts +10 -10
  158. package/src/schemas/metadata/Metadata.ts +610 -608
  159. package/src/schemas/metadata/MetadataAlias.ts +66 -66
  160. package/src/schemas/metadata/MetadataArray.ts +55 -55
  161. package/src/schemas/metadata/MetadataConstant.ts +3 -3
  162. package/src/schemas/metadata/MetadataObject.ts +129 -129
  163. package/src/schemas/metadata/MetadataProperty.ts +64 -64
  164. package/src/schemas/metadata/MetadataResolved.ts +51 -51
  165. package/src/schemas/metadata/MetadataTuple.ts +53 -53
  166. package/src/schemas/protobuf/IProtocolMap.ts +5 -5
  167. package/src/schemas/protobuf/IProtocolMessage.ts +6 -6
  168. package/src/schemas/protobuf/IProtocolProperty.ts +13 -13
  169. package/src/transformers/CallExpressionTransformer.ts +240 -240
  170. package/src/transformers/features/AssertTransformer.ts +11 -11
  171. package/src/transformers/features/CreateAssertTransformer.ts +13 -13
  172. package/src/transformers/features/CreateIsTransformer.ts +11 -11
  173. package/src/transformers/features/CreateRandomTransformer.ts +39 -39
  174. package/src/transformers/features/CreateValidateTransformer.ts +13 -13
  175. package/src/transformers/features/IsTransformer.ts +11 -11
  176. package/src/transformers/features/RandomTransformer.ts +42 -42
  177. package/src/transformers/features/ValidateTransformer.ts +11 -11
  178. package/src/transformers/features/json/JsonApplicationTransformer.ts +102 -102
  179. package/src/transformers/features/json/JsonAssertParseTransformer.ts +10 -10
  180. package/src/transformers/features/json/JsonAssertStringifyTransformer.ts +10 -10
  181. package/src/transformers/features/json/JsonCreateAssertParseTransformer.ts +10 -10
  182. package/src/transformers/features/json/JsonCreateAssertStringifyTransformer.ts +12 -12
  183. package/src/transformers/features/json/JsonCreateIsParseTransformer.ts +9 -9
  184. package/src/transformers/features/json/JsonCreateIsStringifyTransformer.ts +10 -10
  185. package/src/transformers/features/json/JsonCreateStringifyTransformer.ts +9 -9
  186. package/src/transformers/features/json/JsonCreateValidateParseTransformer.ts +10 -10
  187. package/src/transformers/features/json/JsonCreateValidateStringifyProgrammer.ts +12 -12
  188. package/src/transformers/features/json/JsonIsParseTransformer.ts +9 -9
  189. package/src/transformers/features/json/JsonIsStringifyTransformer.ts +10 -10
  190. package/src/transformers/features/json/JsonStringifyTransformer.ts +9 -9
  191. package/src/transformers/features/json/JsonValidateParseTransformer.ts +10 -10
  192. package/src/transformers/features/json/JsonValidateStringifyTransformer.ts +10 -10
  193. package/src/transformers/features/misc/MetadataTransformer.ts +53 -53
  194. package/src/transformers/features/misc/MiscAssertCloneTransformer.ts +10 -10
  195. package/src/transformers/features/misc/MiscAssertPruneTransformer.ts +10 -10
  196. package/src/transformers/features/misc/MiscCloneTransformer.ts +9 -9
  197. package/src/transformers/features/misc/MiscCreateAssertCloneTransformer.ts +10 -10
  198. package/src/transformers/features/misc/MiscCreateAssertPruneTransformer.ts +10 -10
  199. package/src/transformers/features/misc/MiscCreateCloneTransformer.ts +9 -9
  200. package/src/transformers/features/misc/MiscCreateIsCloneTransformer.ts +9 -9
  201. package/src/transformers/features/misc/MiscCreateIsPruneTransformer.ts +9 -9
  202. package/src/transformers/features/misc/MiscCreatePruneTransformer.ts +9 -9
  203. package/src/transformers/features/misc/MiscCreateValidateCloneTransformer.ts +10 -10
  204. package/src/transformers/features/misc/MiscCreateValidatePruneTransformer.ts +10 -10
  205. package/src/transformers/features/misc/MiscIsCloneTransformer.ts +9 -9
  206. package/src/transformers/features/misc/MiscIsPruneTransformer.ts +9 -9
  207. package/src/transformers/features/misc/MiscLiteralsTransformer.ts +28 -28
  208. package/src/transformers/features/misc/MiscPruneTransformer.ts +9 -9
  209. package/src/transformers/features/misc/MiscValidateCloneTransformer.ts +10 -10
  210. package/src/transformers/features/misc/MiscValidatePruneTransformer.ts +10 -10
  211. package/src/transformers/features/protobuf/CreateProtobufAssertDecodeTransformer.ts +10 -10
  212. package/src/transformers/features/protobuf/CreateProtobufAssertEncodeTransformer.ts +10 -10
  213. package/src/transformers/features/protobuf/CreateProtobufDecodeTransformer.ts +10 -10
  214. package/src/transformers/features/protobuf/CreateProtobufEncodeTransformer.ts +10 -10
  215. package/src/transformers/features/protobuf/CreateProtobufIsDecodeTransformer.ts +10 -10
  216. package/src/transformers/features/protobuf/CreateProtobufIsEncodeTransformer.ts +10 -10
  217. package/src/transformers/features/protobuf/CreateProtobufValidateDecodeTransformer.ts +10 -10
  218. package/src/transformers/features/protobuf/CreateProtobufValidateEncodeTransformer.ts +10 -10
  219. package/src/transformers/features/protobuf/ProtobufAssertDecodeTransformer.ts +10 -10
  220. package/src/transformers/features/protobuf/ProtobufAssertEncodeTransformer.ts +10 -10
  221. package/src/transformers/features/protobuf/ProtobufDecodeTransformer.ts +10 -10
  222. package/src/transformers/features/protobuf/ProtobufEncodeTransformer.ts +10 -10
  223. package/src/transformers/features/protobuf/ProtobufIsDecodeTransformer.ts +10 -10
  224. package/src/transformers/features/protobuf/ProtobufIsEncodeTransformer.ts +10 -10
  225. package/src/transformers/features/protobuf/ProtobufMessageTransformer.ts +31 -31
  226. package/src/transformers/features/protobuf/ProtobufValidateDecodeTransformer.ts +10 -10
  227. package/src/transformers/features/protobuf/ProtobufValidateEncodeTransformer.ts +10 -10
  228. package/src/utils/NameEncoder.ts +32 -32
@@ -1,66 +1,66 @@
1
- import { ClassProperties } from "../../typings/ClassProperties";
2
-
3
- import { IJsDocTagInfo } from "./IJsDocTagInfo";
4
- import { IMetadataAlias } from "./IMetadataAlias";
5
- import { IMetadataTag } from "./IMetadataTag";
6
- import { Metadata } from "./Metadata";
7
-
8
- export class MetadataAlias {
9
- public readonly name: string;
10
- public readonly value: Metadata;
11
- public readonly description: string | null;
12
- public readonly tags: IMetadataTag[];
13
- public readonly jsDocTags: IJsDocTagInfo[];
14
- public readonly recursive: boolean;
15
- public readonly nullables: boolean[];
16
-
17
- /* -----------------------------------------------------------
18
- CONSTRUCTORS
19
- ----------------------------------------------------------- */
20
- /**
21
- * @hidden
22
- */
23
- private constructor(props: ClassProperties<MetadataAlias>) {
24
- this.name = props.name;
25
- this.value = props.value;
26
- this.description = props.description;
27
- this.tags = props.tags;
28
- this.jsDocTags = props.jsDocTags;
29
- this.recursive = props.recursive;
30
- this.nullables = props.nullables;
31
- }
32
-
33
- /**
34
- * @internal
35
- */
36
- public static create(props: ClassProperties<MetadataAlias>): MetadataAlias {
37
- return new MetadataAlias(props);
38
- }
39
-
40
- /**
41
- * @internal
42
- */
43
- public static _From_without_value(props: Omit<IMetadataAlias, "value">) {
44
- return this.create({
45
- name: props.name,
46
- value: null!,
47
- description: props.description,
48
- recursive: props.recursive,
49
- tags: props.tags.slice(),
50
- jsDocTags: props.jsDocTags.slice(),
51
- nullables: props.nullables.slice(),
52
- });
53
- }
54
-
55
- public toJSON(): IMetadataAlias {
56
- return {
57
- name: this.name,
58
- value: this.value.toJSON(),
59
- description: this.description,
60
- recursive: this.recursive,
61
- tags: this.tags.slice(),
62
- jsDocTags: this.jsDocTags.slice(),
63
- nullables: this.nullables.slice(),
64
- };
65
- }
66
- }
1
+ import { ClassProperties } from "../../typings/ClassProperties";
2
+
3
+ import { IJsDocTagInfo } from "./IJsDocTagInfo";
4
+ import { IMetadataAlias } from "./IMetadataAlias";
5
+ import { IMetadataTag } from "./IMetadataTag";
6
+ import { Metadata } from "./Metadata";
7
+
8
+ export class MetadataAlias {
9
+ public readonly name: string;
10
+ public readonly value: Metadata;
11
+ public readonly description: string | null;
12
+ public readonly tags: IMetadataTag[];
13
+ public readonly jsDocTags: IJsDocTagInfo[];
14
+ public readonly recursive: boolean;
15
+ public readonly nullables: boolean[];
16
+
17
+ /* -----------------------------------------------------------
18
+ CONSTRUCTORS
19
+ ----------------------------------------------------------- */
20
+ /**
21
+ * @hidden
22
+ */
23
+ private constructor(props: ClassProperties<MetadataAlias>) {
24
+ this.name = props.name;
25
+ this.value = props.value;
26
+ this.description = props.description;
27
+ this.tags = props.tags;
28
+ this.jsDocTags = props.jsDocTags;
29
+ this.recursive = props.recursive;
30
+ this.nullables = props.nullables;
31
+ }
32
+
33
+ /**
34
+ * @internal
35
+ */
36
+ public static create(props: ClassProperties<MetadataAlias>): MetadataAlias {
37
+ return new MetadataAlias(props);
38
+ }
39
+
40
+ /**
41
+ * @internal
42
+ */
43
+ public static _From_without_value(props: Omit<IMetadataAlias, "value">) {
44
+ return this.create({
45
+ name: props.name,
46
+ value: null!,
47
+ description: props.description,
48
+ recursive: props.recursive,
49
+ tags: props.tags.slice(),
50
+ jsDocTags: props.jsDocTags.slice(),
51
+ nullables: props.nullables.slice(),
52
+ });
53
+ }
54
+
55
+ public toJSON(): IMetadataAlias {
56
+ return {
57
+ name: this.name,
58
+ value: this.value.toJSON(),
59
+ description: this.description,
60
+ recursive: this.recursive,
61
+ tags: this.tags.slice(),
62
+ jsDocTags: this.jsDocTags.slice(),
63
+ nullables: this.nullables.slice(),
64
+ };
65
+ }
66
+ }
@@ -1,55 +1,55 @@
1
- import { ClassProperties } from "../../typings/ClassProperties";
2
-
3
- import { IMetadataArray } from "./IMetadataArray";
4
- import { Metadata } from "./Metadata";
5
-
6
- export class MetadataArray {
7
- public readonly name: string;
8
- public readonly value: Metadata;
9
- public readonly nullables: boolean[];
10
- public readonly recursive: boolean;
11
- public readonly index: number | null;
12
-
13
- /**
14
- * @hidden
15
- */
16
- private constructor(props: ClassProperties<MetadataArray>) {
17
- this.name = props.name;
18
- this.value = props.value;
19
- this.index = props.index;
20
- this.recursive = props.recursive;
21
- this.nullables = props.nullables;
22
- }
23
-
24
- /**
25
- * @internal
26
- */
27
- public static _From_without_value(
28
- props: Omit<IMetadataArray, "value">,
29
- ): MetadataArray {
30
- return this.create({
31
- name: props.name,
32
- value: null!,
33
- index: props.index,
34
- recursive: props.recursive,
35
- nullables: props.nullables,
36
- });
37
- }
38
-
39
- /**
40
- * @internal
41
- */
42
- public static create(props: ClassProperties<MetadataArray>): MetadataArray {
43
- return new MetadataArray(props);
44
- }
45
-
46
- public toJSON(): IMetadataArray {
47
- return {
48
- name: this.name,
49
- value: this.value.toJSON(),
50
- nullables: this.nullables,
51
- recursive: this.recursive,
52
- index: this.index,
53
- };
54
- }
55
- }
1
+ import { ClassProperties } from "../../typings/ClassProperties";
2
+
3
+ import { IMetadataArray } from "./IMetadataArray";
4
+ import { Metadata } from "./Metadata";
5
+
6
+ export class MetadataArray {
7
+ public readonly name: string;
8
+ public readonly value: Metadata;
9
+ public readonly nullables: boolean[];
10
+ public readonly recursive: boolean;
11
+ public readonly index: number | null;
12
+
13
+ /**
14
+ * @hidden
15
+ */
16
+ private constructor(props: ClassProperties<MetadataArray>) {
17
+ this.name = props.name;
18
+ this.value = props.value;
19
+ this.index = props.index;
20
+ this.recursive = props.recursive;
21
+ this.nullables = props.nullables;
22
+ }
23
+
24
+ /**
25
+ * @internal
26
+ */
27
+ public static _From_without_value(
28
+ props: Omit<IMetadataArray, "value">,
29
+ ): MetadataArray {
30
+ return this.create({
31
+ name: props.name,
32
+ value: null!,
33
+ index: props.index,
34
+ recursive: props.recursive,
35
+ nullables: props.nullables,
36
+ });
37
+ }
38
+
39
+ /**
40
+ * @internal
41
+ */
42
+ public static create(props: ClassProperties<MetadataArray>): MetadataArray {
43
+ return new MetadataArray(props);
44
+ }
45
+
46
+ public toJSON(): IMetadataArray {
47
+ return {
48
+ name: this.name,
49
+ value: this.value.toJSON(),
50
+ nullables: this.nullables,
51
+ recursive: this.recursive,
52
+ index: this.index,
53
+ };
54
+ }
55
+ }
@@ -1,3 +1,3 @@
1
- import { IMetadataConstant } from "./IMetadataConstant";
2
-
3
- export type MetadataConstant = IMetadataConstant;
1
+ import { IMetadataConstant } from "./IMetadataConstant";
2
+
3
+ export type MetadataConstant = IMetadataConstant;
@@ -1,129 +1,129 @@
1
- import { ClassProperties } from "../../typings/ClassProperties";
2
-
3
- import { IJsDocTagInfo } from "./IJsDocTagInfo";
4
- import { IMetadataObject } from "./IMetadataObject";
5
- import { MetadataProperty } from "./MetadataProperty";
6
-
7
- export class MetadataObject {
8
- public readonly name: string;
9
- public readonly properties: Array<MetadataProperty>;
10
- public readonly description: string | undefined;
11
- public readonly jsDocTags: IJsDocTagInfo[];
12
-
13
- public readonly index: number;
14
- public validated: boolean;
15
- public recursive: boolean;
16
- public nullables: boolean[] = [];
17
-
18
- /**
19
- * @internal
20
- */
21
- public tagged_: boolean = false;
22
-
23
- /* -----------------------------------------------------------
24
- CONSTRUCTORS
25
- ----------------------------------------------------------- */
26
- /**
27
- * @hidden
28
- */
29
- private constructor(
30
- props: Omit<ClassProperties<MetadataObject>, "tagged_">,
31
- ) {
32
- this.name = props.name;
33
- this.properties = props.properties;
34
- this.description = props.description;
35
- this.jsDocTags = props.jsDocTags;
36
-
37
- this.index = props.index;
38
- this.validated = props.validated;
39
- this.recursive = props.recursive;
40
- this.nullables = [];
41
-
42
- this.tagged_ = false;
43
- }
44
-
45
- /**
46
- * @internal
47
- */
48
- public static create(
49
- props: Omit<ClassProperties<MetadataObject>, "tagged_">,
50
- ) {
51
- return new MetadataObject(props);
52
- }
53
-
54
- /**
55
- * @internal
56
- */
57
- public static _From_without_properties(
58
- obj: IMetadataObject,
59
- ): MetadataObject {
60
- return this.create({
61
- name: obj.name,
62
- properties: [],
63
- description: obj.description,
64
- jsDocTags: obj.jsDocTags,
65
-
66
- index: obj.index,
67
- validated: obj.validated,
68
- recursive: obj.recursive,
69
- nullables: obj.nullables.slice(),
70
- });
71
- }
72
-
73
- /**
74
- * @internal
75
- */
76
- public _Is_simple(level: number = 0): boolean {
77
- return (
78
- this.recursive === false &&
79
- this.properties.length < 10 &&
80
- this.properties.every(
81
- (property) =>
82
- property.key.isSoleLiteral() &&
83
- property.value.size() === 1 &&
84
- property.value.isRequired() === true &&
85
- property.value.nullable === false &&
86
- (property.value.atomics.length === 1 ||
87
- (level < 1 &&
88
- property.value.objects.length === 1 &&
89
- property.value.objects[0]!._Is_simple(level + 1))),
90
- )
91
- );
92
- }
93
-
94
- public toJSON(): IMetadataObject {
95
- return {
96
- name: this.name,
97
- properties: this.properties.map((property) => property.toJSON()),
98
- description: this.description,
99
- jsDocTags: this.jsDocTags,
100
-
101
- index: this.index,
102
- validated: this.validated,
103
- recursive: this.recursive,
104
- nullables: this.nullables.slice(),
105
- };
106
- }
107
- }
108
-
109
- /**
110
- * @internal
111
- */
112
- export namespace MetadataObject {
113
- export const intersects = (x: MetadataObject, y: MetadataObject): boolean =>
114
- x.properties.some(
115
- (prop) =>
116
- y.properties.find(
117
- (oppo) => prop.key.getName() === oppo.key.getName(),
118
- ) !== undefined,
119
- );
120
-
121
- export const covers = (x: MetadataObject, y: MetadataObject): boolean =>
122
- x.properties.length >= y.properties.length &&
123
- x.properties.every(
124
- (prop) =>
125
- y.properties.find(
126
- (oppo) => prop.key.getName() === oppo.key.getName(),
127
- ) !== undefined,
128
- );
129
- }
1
+ import { ClassProperties } from "../../typings/ClassProperties";
2
+
3
+ import { IJsDocTagInfo } from "./IJsDocTagInfo";
4
+ import { IMetadataObject } from "./IMetadataObject";
5
+ import { MetadataProperty } from "./MetadataProperty";
6
+
7
+ export class MetadataObject {
8
+ public readonly name: string;
9
+ public readonly properties: Array<MetadataProperty>;
10
+ public readonly description: string | undefined;
11
+ public readonly jsDocTags: IJsDocTagInfo[];
12
+
13
+ public readonly index: number;
14
+ public validated: boolean;
15
+ public recursive: boolean;
16
+ public nullables: boolean[] = [];
17
+
18
+ /**
19
+ * @internal
20
+ */
21
+ public tagged_: boolean = false;
22
+
23
+ /* -----------------------------------------------------------
24
+ CONSTRUCTORS
25
+ ----------------------------------------------------------- */
26
+ /**
27
+ * @hidden
28
+ */
29
+ private constructor(
30
+ props: Omit<ClassProperties<MetadataObject>, "tagged_">,
31
+ ) {
32
+ this.name = props.name;
33
+ this.properties = props.properties;
34
+ this.description = props.description;
35
+ this.jsDocTags = props.jsDocTags;
36
+
37
+ this.index = props.index;
38
+ this.validated = props.validated;
39
+ this.recursive = props.recursive;
40
+ this.nullables = [];
41
+
42
+ this.tagged_ = false;
43
+ }
44
+
45
+ /**
46
+ * @internal
47
+ */
48
+ public static create(
49
+ props: Omit<ClassProperties<MetadataObject>, "tagged_">,
50
+ ) {
51
+ return new MetadataObject(props);
52
+ }
53
+
54
+ /**
55
+ * @internal
56
+ */
57
+ public static _From_without_properties(
58
+ obj: IMetadataObject,
59
+ ): MetadataObject {
60
+ return this.create({
61
+ name: obj.name,
62
+ properties: [],
63
+ description: obj.description,
64
+ jsDocTags: obj.jsDocTags,
65
+
66
+ index: obj.index,
67
+ validated: obj.validated,
68
+ recursive: obj.recursive,
69
+ nullables: obj.nullables.slice(),
70
+ });
71
+ }
72
+
73
+ /**
74
+ * @internal
75
+ */
76
+ public _Is_simple(level: number = 0): boolean {
77
+ return (
78
+ this.recursive === false &&
79
+ this.properties.length < 10 &&
80
+ this.properties.every(
81
+ (property) =>
82
+ property.key.isSoleLiteral() &&
83
+ property.value.size() === 1 &&
84
+ property.value.isRequired() === true &&
85
+ property.value.nullable === false &&
86
+ (property.value.atomics.length === 1 ||
87
+ (level < 1 &&
88
+ property.value.objects.length === 1 &&
89
+ property.value.objects[0]!._Is_simple(level + 1))),
90
+ )
91
+ );
92
+ }
93
+
94
+ public toJSON(): IMetadataObject {
95
+ return {
96
+ name: this.name,
97
+ properties: this.properties.map((property) => property.toJSON()),
98
+ description: this.description,
99
+ jsDocTags: this.jsDocTags,
100
+
101
+ index: this.index,
102
+ validated: this.validated,
103
+ recursive: this.recursive,
104
+ nullables: this.nullables.slice(),
105
+ };
106
+ }
107
+ }
108
+
109
+ /**
110
+ * @internal
111
+ */
112
+ export namespace MetadataObject {
113
+ export const intersects = (x: MetadataObject, y: MetadataObject): boolean =>
114
+ x.properties.some(
115
+ (prop) =>
116
+ y.properties.find(
117
+ (oppo) => prop.key.getName() === oppo.key.getName(),
118
+ ) !== undefined,
119
+ );
120
+
121
+ export const covers = (x: MetadataObject, y: MetadataObject): boolean =>
122
+ x.properties.length >= y.properties.length &&
123
+ x.properties.every(
124
+ (prop) =>
125
+ y.properties.find(
126
+ (oppo) => prop.key.getName() === oppo.key.getName(),
127
+ ) !== undefined,
128
+ );
129
+ }
@@ -1,64 +1,64 @@
1
- import { ClassProperties } from "../../typings/ClassProperties";
2
-
3
- import { IJsDocTagInfo } from "./IJsDocTagInfo";
4
- import { IMetadataDictionary } from "./IMetadataDictionary";
5
- import { IMetadataProperty } from "./IMetadataProperty";
6
- import { IMetadataTag } from "./IMetadataTag";
7
- import { Metadata } from "./Metadata";
8
-
9
- export class MetadataProperty {
10
- public readonly key: Metadata;
11
- public readonly value: Metadata;
12
- public readonly description: string | null;
13
- public readonly tags: IMetadataTag[];
14
- public readonly jsDocTags: IJsDocTagInfo[];
15
-
16
- /* -----------------------------------------------------------
17
- CONSTRUCTORS
18
- ----------------------------------------------------------- */
19
- /**
20
- * @hidden
21
- */
22
- private constructor(props: ClassProperties<MetadataProperty>) {
23
- this.key = props.key;
24
- this.value = props.value;
25
- this.description = props.description;
26
- this.tags = props.tags;
27
- this.jsDocTags = props.jsDocTags;
28
- }
29
-
30
- /**
31
- * @internal
32
- */
33
- public static create(
34
- props: ClassProperties<MetadataProperty>,
35
- ): MetadataProperty {
36
- return new MetadataProperty(props);
37
- }
38
-
39
- /**
40
- * @internal
41
- */
42
- public static _From(
43
- property: IMetadataProperty,
44
- dict: IMetadataDictionary,
45
- ) {
46
- return this.create({
47
- key: Metadata._From(property.key, dict),
48
- value: Metadata._From(property.value, dict),
49
- description: property.description,
50
- tags: property.tags.slice(),
51
- jsDocTags: property.jsDocTags.slice(),
52
- });
53
- }
54
-
55
- public toJSON(): IMetadataProperty {
56
- return {
57
- key: this.key.toJSON(),
58
- value: this.value.toJSON(),
59
- description: this.description,
60
- tags: this.tags,
61
- jsDocTags: this.jsDocTags,
62
- };
63
- }
64
- }
1
+ import { ClassProperties } from "../../typings/ClassProperties";
2
+
3
+ import { IJsDocTagInfo } from "./IJsDocTagInfo";
4
+ import { IMetadataDictionary } from "./IMetadataDictionary";
5
+ import { IMetadataProperty } from "./IMetadataProperty";
6
+ import { IMetadataTag } from "./IMetadataTag";
7
+ import { Metadata } from "./Metadata";
8
+
9
+ export class MetadataProperty {
10
+ public readonly key: Metadata;
11
+ public readonly value: Metadata;
12
+ public readonly description: string | null;
13
+ public readonly tags: IMetadataTag[];
14
+ public readonly jsDocTags: IJsDocTagInfo[];
15
+
16
+ /* -----------------------------------------------------------
17
+ CONSTRUCTORS
18
+ ----------------------------------------------------------- */
19
+ /**
20
+ * @hidden
21
+ */
22
+ private constructor(props: ClassProperties<MetadataProperty>) {
23
+ this.key = props.key;
24
+ this.value = props.value;
25
+ this.description = props.description;
26
+ this.tags = props.tags;
27
+ this.jsDocTags = props.jsDocTags;
28
+ }
29
+
30
+ /**
31
+ * @internal
32
+ */
33
+ public static create(
34
+ props: ClassProperties<MetadataProperty>,
35
+ ): MetadataProperty {
36
+ return new MetadataProperty(props);
37
+ }
38
+
39
+ /**
40
+ * @internal
41
+ */
42
+ public static _From(
43
+ property: IMetadataProperty,
44
+ dict: IMetadataDictionary,
45
+ ) {
46
+ return this.create({
47
+ key: Metadata._From(property.key, dict),
48
+ value: Metadata._From(property.value, dict),
49
+ description: property.description,
50
+ tags: property.tags.slice(),
51
+ jsDocTags: property.jsDocTags.slice(),
52
+ });
53
+ }
54
+
55
+ public toJSON(): IMetadataProperty {
56
+ return {
57
+ key: this.key.toJSON(),
58
+ value: this.value.toJSON(),
59
+ description: this.description,
60
+ tags: this.tags,
61
+ jsDocTags: this.jsDocTags,
62
+ };
63
+ }
64
+ }