typia 5.0.4 → 5.0.5-dev.20230921-2

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 (293) hide show
  1. package/README.md +1 -1
  2. package/lib/programmers/TypiaProgrammer.js +6 -1
  3. package/lib/programmers/TypiaProgrammer.js.map +1 -1
  4. package/package.json +1 -1
  5. package/src/IRandomGenerator.ts +35 -35
  6. package/src/IValidation.ts +21 -21
  7. package/src/Primitive.ts +135 -135
  8. package/src/Resolved.ts +116 -116
  9. package/src/TypeGuardError.ts +36 -36
  10. package/src/executable/TypiaGenerateWizard.ts +85 -85
  11. package/src/executable/TypiaSetupWizard.ts +153 -153
  12. package/src/executable/setup/ArgumentParser.ts +45 -45
  13. package/src/executable/setup/CommandExecutor.ts +8 -8
  14. package/src/executable/setup/FileRetriever.ts +22 -22
  15. package/src/executable/setup/PackageManager.ts +71 -71
  16. package/src/executable/setup/PluginConfigurator.ts +70 -70
  17. package/src/executable/typia.ts +52 -52
  18. package/src/factories/CommentFactory.ts +84 -84
  19. package/src/factories/ExpressionFactory.ts +159 -159
  20. package/src/factories/IdentifierFactory.ts +74 -74
  21. package/src/factories/JsonMetadataFactory.ts +43 -43
  22. package/src/factories/LiteralFactory.ts +47 -47
  23. package/src/factories/MetadataCollection.ts +269 -269
  24. package/src/factories/MetadataCommentTagFactory.ts +629 -629
  25. package/src/factories/MetadataFactory.ts +214 -214
  26. package/src/factories/MetadataTypeTagFactory.ts +313 -313
  27. package/src/factories/NumericRangeFactory.ts +33 -33
  28. package/src/factories/ProtobufFactory.ts +272 -272
  29. package/src/factories/StatementFactory.ts +72 -72
  30. package/src/factories/TemplateFactory.ts +58 -58
  31. package/src/factories/TypeFactory.ts +119 -119
  32. package/src/factories/ValueFactory.ts +12 -12
  33. package/src/factories/internal/metadata/MetadataHelper.ts +12 -12
  34. package/src/factories/internal/metadata/emend_metadata_atomics.ts +40 -40
  35. package/src/factories/internal/metadata/emplace_metadata_alias.ts +41 -41
  36. package/src/factories/internal/metadata/emplace_metadata_array_type.ts +41 -41
  37. package/src/factories/internal/metadata/emplace_metadata_object.ts +150 -150
  38. package/src/factories/internal/metadata/emplace_metadata_tuple.ts +60 -60
  39. package/src/factories/internal/metadata/explore_metadata.ts +32 -32
  40. package/src/factories/internal/metadata/iterate_metadata.ts +101 -101
  41. package/src/factories/internal/metadata/iterate_metadata_alias.ts +35 -35
  42. package/src/factories/internal/metadata/iterate_metadata_array.ts +37 -37
  43. package/src/factories/internal/metadata/iterate_metadata_atomic.ts +62 -62
  44. package/src/factories/internal/metadata/iterate_metadata_coalesce.ts +33 -33
  45. package/src/factories/internal/metadata/iterate_metadata_collection.ts +141 -141
  46. package/src/factories/internal/metadata/iterate_metadata_comment_tags.ts +26 -26
  47. package/src/factories/internal/metadata/iterate_metadata_constant.ts +58 -58
  48. package/src/factories/internal/metadata/iterate_metadata_intersection.ts +197 -197
  49. package/src/factories/internal/metadata/iterate_metadata_map.ts +57 -57
  50. package/src/factories/internal/metadata/iterate_metadata_native.ts +210 -210
  51. package/src/factories/internal/metadata/iterate_metadata_object.ts +44 -44
  52. package/src/factories/internal/metadata/iterate_metadata_resolve.ts +52 -52
  53. package/src/factories/internal/metadata/iterate_metadata_set.ts +42 -42
  54. package/src/factories/internal/metadata/iterate_metadata_sort.ts +69 -69
  55. package/src/factories/internal/metadata/iterate_metadata_template.ts +47 -47
  56. package/src/factories/internal/metadata/iterate_metadata_tuple.ts +37 -37
  57. package/src/factories/internal/metadata/iterate_metadata_union.ts +27 -27
  58. package/src/functional/$ProtobufReader.ts +201 -201
  59. package/src/functional/$ProtobufSizer.ts +147 -147
  60. package/src/functional/$ProtobufWriter.ts +151 -151
  61. package/src/functional/$any.ts +4 -4
  62. package/src/functional/$clone.ts +4 -4
  63. package/src/functional/$dictionary.ts +25 -25
  64. package/src/functional/$every.ts +11 -11
  65. package/src/functional/$guard.ts +35 -35
  66. package/src/functional/$is_between.ts +2 -2
  67. package/src/functional/$join.ts +46 -46
  68. package/src/functional/$number.ts +13 -13
  69. package/src/functional/$report.ts +15 -15
  70. package/src/functional/$rest.ts +3 -3
  71. package/src/functional/$string.ts +50 -50
  72. package/src/functional/$strlen.ts +7 -7
  73. package/src/functional/$tail.ts +5 -5
  74. package/src/functional/$varint.ts +130 -130
  75. package/src/functional/$zigzag.ts +39 -39
  76. package/src/functional/IProtobufWriter.ts +18 -18
  77. package/src/functional/Namespace.ts +133 -133
  78. package/src/index.ts +4 -4
  79. package/src/json.ts +648 -648
  80. package/src/misc.ts +651 -651
  81. package/src/module.ts +656 -656
  82. package/src/programmers/AssertProgrammer.ts +317 -317
  83. package/src/programmers/CheckerProgrammer.ts +1137 -1137
  84. package/src/programmers/FeatureProgrammer.ts +478 -478
  85. package/src/programmers/IsProgrammer.ts +252 -252
  86. package/src/programmers/RandomProgrammer.ts +878 -878
  87. package/src/programmers/TypiaProgrammer.ts +170 -163
  88. package/src/programmers/ValidateProgrammer.ts +346 -346
  89. package/src/programmers/helpers/AtomicPredicator.ts +31 -31
  90. package/src/programmers/helpers/CloneJoiner.ts +144 -144
  91. package/src/programmers/helpers/FunctionImporeter.ts +91 -91
  92. package/src/programmers/helpers/ICheckEntry.ts +13 -13
  93. package/src/programmers/helpers/IExpressionEntry.ts +12 -12
  94. package/src/programmers/helpers/OptionPredicator.ts +15 -15
  95. package/src/programmers/helpers/ProtobufUtil.ts +125 -125
  96. package/src/programmers/helpers/ProtobufWire.ts +34 -34
  97. package/src/programmers/helpers/PruneJoiner.ts +143 -143
  98. package/src/programmers/helpers/RandomJoiner.ts +151 -151
  99. package/src/programmers/helpers/RandomRanger.ts +173 -173
  100. package/src/programmers/helpers/StringifyJoinder.ts +113 -113
  101. package/src/programmers/helpers/StringifyPredicator.ts +12 -12
  102. package/src/programmers/helpers/UnionExplorer.ts +305 -305
  103. package/src/programmers/helpers/UnionPredicator.ts +81 -81
  104. package/src/programmers/helpers/disable_function_importer_declare.ts +32 -32
  105. package/src/programmers/internal/JSON_SCHEMA_PREFIX.ts +1 -1
  106. package/src/programmers/internal/application_alias.ts +65 -65
  107. package/src/programmers/internal/application_array.ts +53 -53
  108. package/src/programmers/internal/application_boolean.ts +15 -15
  109. package/src/programmers/internal/application_constant.ts +26 -26
  110. package/src/programmers/internal/application_default.ts +17 -17
  111. package/src/programmers/internal/application_default_string.ts +37 -37
  112. package/src/programmers/internal/application_escaped.ts +55 -55
  113. package/src/programmers/internal/application_native.ts +39 -39
  114. package/src/programmers/internal/application_number.ts +88 -88
  115. package/src/programmers/internal/application_object.ts +162 -162
  116. package/src/programmers/internal/application_schema.ts +175 -175
  117. package/src/programmers/internal/application_string.ts +51 -51
  118. package/src/programmers/internal/application_templates.ts +25 -25
  119. package/src/programmers/internal/application_tuple.ts +58 -58
  120. package/src/programmers/internal/check_array_length.ts +41 -41
  121. package/src/programmers/internal/check_bigint.ts +45 -45
  122. package/src/programmers/internal/check_dynamic_properties.ts +194 -194
  123. package/src/programmers/internal/check_everything.ts +28 -28
  124. package/src/programmers/internal/check_native.ts +21 -21
  125. package/src/programmers/internal/check_number.ts +105 -105
  126. package/src/programmers/internal/check_object.ts +55 -55
  127. package/src/programmers/internal/check_string.ts +45 -45
  128. package/src/programmers/internal/check_template.ts +61 -61
  129. package/src/programmers/internal/check_union_array_like.ts +323 -323
  130. package/src/programmers/internal/decode_union_object.ts +84 -84
  131. package/src/programmers/internal/feature_object_entries.ts +58 -58
  132. package/src/programmers/internal/metadata_to_pattern.ts +34 -34
  133. package/src/programmers/internal/prune_object_properties.ts +60 -60
  134. package/src/programmers/internal/random_custom.ts +37 -37
  135. package/src/programmers/internal/stringify_dynamic_properties.ts +171 -171
  136. package/src/programmers/internal/stringify_native.ts +7 -7
  137. package/src/programmers/internal/stringify_regular_properties.ts +83 -83
  138. package/src/programmers/internal/template_to_pattern.ts +15 -15
  139. package/src/programmers/internal/wrap_metadata_rest_tuple.ts +20 -20
  140. package/src/programmers/json/JsonApplicationProgrammer.ts +50 -50
  141. package/src/programmers/json/JsonAssertParseProgrammer.ts +71 -71
  142. package/src/programmers/json/JsonAssertStringifyProgrammer.ts +66 -66
  143. package/src/programmers/json/JsonIsParseProgrammer.ts +77 -77
  144. package/src/programmers/json/JsonIsStringifyProgrammer.ts +76 -76
  145. package/src/programmers/json/JsonStringifyProgrammer.ts +964 -964
  146. package/src/programmers/json/JsonValidateParseProgrammer.ts +68 -68
  147. package/src/programmers/json/JsonValidateStringifyProgrammer.ts +84 -84
  148. package/src/programmers/misc/MiscAssertCloneProgrammer.ts +71 -71
  149. package/src/programmers/misc/MiscAssertPruneProgrammer.ts +68 -68
  150. package/src/programmers/misc/MiscCloneProgrammer.ts +774 -774
  151. package/src/programmers/misc/MiscIsCloneProgrammer.ts +78 -78
  152. package/src/programmers/misc/MiscIsPruneProgrammer.ts +73 -73
  153. package/src/programmers/misc/MiscLiteralsProgrammer.ts +69 -69
  154. package/src/programmers/misc/MiscPruneProgrammer.ts +550 -550
  155. package/src/programmers/misc/MiscValidateCloneProgrammer.ts +85 -85
  156. package/src/programmers/misc/MiscValidatePruneProgrammer.ts +78 -78
  157. package/src/programmers/protobuf/ProtobufAssertDecodeProgrammer.ts +75 -75
  158. package/src/programmers/protobuf/ProtobufAssertEncodeProgrammer.ts +66 -66
  159. package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +655 -655
  160. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +883 -883
  161. package/src/programmers/protobuf/ProtobufIsDecodeProgrammer.ts +85 -85
  162. package/src/programmers/protobuf/ProtobufIsEncodeProgrammer.ts +76 -76
  163. package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +165 -165
  164. package/src/programmers/protobuf/ProtobufValidateDecodeProgrammer.ts +75 -75
  165. package/src/programmers/protobuf/ProtobufValidateEncodeProgrammer.ts +86 -86
  166. package/src/protobuf.ts +881 -881
  167. package/src/schemas/json/IJsonApplication.ts +8 -8
  168. package/src/schemas/json/IJsonComponents.ts +33 -33
  169. package/src/schemas/json/IJsonSchema.ts +110 -110
  170. package/src/schemas/metadata/IJsDocTagInfo.ts +10 -10
  171. package/src/schemas/metadata/IMetadata.ts +34 -34
  172. package/src/schemas/metadata/IMetadataAlias.ts +12 -12
  173. package/src/schemas/metadata/IMetadataApplication.ts +7 -7
  174. package/src/schemas/metadata/IMetadataArray.ts +7 -7
  175. package/src/schemas/metadata/IMetadataArrayType.ts +10 -10
  176. package/src/schemas/metadata/IMetadataAtomic.ts +6 -6
  177. package/src/schemas/metadata/IMetadataCollection.ts +11 -11
  178. package/src/schemas/metadata/IMetadataConstant.ts +16 -16
  179. package/src/schemas/metadata/IMetadataDictionary.ts +14 -14
  180. package/src/schemas/metadata/IMetadataEntry.ts +6 -6
  181. package/src/schemas/metadata/IMetadataEscaped.ts +6 -6
  182. package/src/schemas/metadata/IMetadataObject.ts +18 -18
  183. package/src/schemas/metadata/IMetadataProperty.ts +9 -9
  184. package/src/schemas/metadata/IMetadataTuple.ts +7 -7
  185. package/src/schemas/metadata/IMetadataTupleType.ts +10 -10
  186. package/src/schemas/metadata/IMetadataTypeTag.ts +8 -8
  187. package/src/schemas/metadata/Metadata.ts +685 -685
  188. package/src/schemas/metadata/MetadataAlias.ts +61 -61
  189. package/src/schemas/metadata/MetadataArray.ts +49 -49
  190. package/src/schemas/metadata/MetadataArrayType.ts +57 -57
  191. package/src/schemas/metadata/MetadataAtomic.ts +42 -42
  192. package/src/schemas/metadata/MetadataConstant.ts +3 -3
  193. package/src/schemas/metadata/MetadataEscaped.ts +51 -51
  194. package/src/schemas/metadata/MetadataObject.ts +139 -139
  195. package/src/schemas/metadata/MetadataProperty.ts +59 -59
  196. package/src/schemas/metadata/MetadataTuple.ts +32 -32
  197. package/src/schemas/metadata/MetadataTupleType.ts +67 -67
  198. package/src/tags/ExclusiveMaximum.ts +13 -13
  199. package/src/tags/ExclusiveMinimum.ts +13 -13
  200. package/src/tags/Format.ts +30 -30
  201. package/src/tags/MaxItems.ts +9 -9
  202. package/src/tags/MaxLength.ts +9 -9
  203. package/src/tags/Maximum.ts +13 -13
  204. package/src/tags/MinItems.ts +9 -9
  205. package/src/tags/MinLength.ts +9 -9
  206. package/src/tags/Minimum.ts +13 -13
  207. package/src/tags/MultipleOf.ts +15 -15
  208. package/src/tags/Pattern.ts +8 -8
  209. package/src/tags/TagBase.ts +68 -68
  210. package/src/tags/Type.ts +27 -27
  211. package/src/tags/index.ts +13 -13
  212. package/src/transform.ts +35 -35
  213. package/src/transformers/CallExpressionTransformer.ts +243 -243
  214. package/src/transformers/FileTransformer.ts +57 -57
  215. package/src/transformers/IProject.ts +15 -15
  216. package/src/transformers/ITransformOptions.ts +62 -62
  217. package/src/transformers/ImportTransformer.ts +66 -66
  218. package/src/transformers/NodeTransformer.ts +13 -13
  219. package/src/transformers/TransformerError.ts +55 -55
  220. package/src/transformers/features/AssertTransformer.ts +11 -11
  221. package/src/transformers/features/CreateAssertTransformer.ts +13 -13
  222. package/src/transformers/features/CreateIsTransformer.ts +11 -11
  223. package/src/transformers/features/CreateRandomTransformer.ts +43 -43
  224. package/src/transformers/features/CreateValidateTransformer.ts +13 -13
  225. package/src/transformers/features/IsTransformer.ts +11 -11
  226. package/src/transformers/features/RandomTransformer.ts +46 -46
  227. package/src/transformers/features/ValidateTransformer.ts +11 -11
  228. package/src/transformers/features/json/JsonApplicationTransformer.ts +118 -118
  229. package/src/transformers/features/json/JsonAssertParseTransformer.ts +10 -10
  230. package/src/transformers/features/json/JsonAssertStringifyTransformer.ts +10 -10
  231. package/src/transformers/features/json/JsonCreateAssertParseTransformer.ts +10 -10
  232. package/src/transformers/features/json/JsonCreateAssertStringifyTransformer.ts +12 -12
  233. package/src/transformers/features/json/JsonCreateIsParseTransformer.ts +9 -9
  234. package/src/transformers/features/json/JsonCreateIsStringifyTransformer.ts +10 -10
  235. package/src/transformers/features/json/JsonCreateStringifyTransformer.ts +9 -9
  236. package/src/transformers/features/json/JsonCreateValidateParseTransformer.ts +10 -10
  237. package/src/transformers/features/json/JsonCreateValidateStringifyProgrammer.ts +12 -12
  238. package/src/transformers/features/json/JsonIsParseTransformer.ts +9 -9
  239. package/src/transformers/features/json/JsonIsStringifyTransformer.ts +10 -10
  240. package/src/transformers/features/json/JsonStringifyTransformer.ts +9 -9
  241. package/src/transformers/features/json/JsonValidateParseTransformer.ts +10 -10
  242. package/src/transformers/features/json/JsonValidateStringifyTransformer.ts +10 -10
  243. package/src/transformers/features/misc/MetadataTransformer.ts +61 -61
  244. package/src/transformers/features/misc/MiscAssertCloneTransformer.ts +10 -10
  245. package/src/transformers/features/misc/MiscAssertPruneTransformer.ts +10 -10
  246. package/src/transformers/features/misc/MiscCloneTransformer.ts +9 -9
  247. package/src/transformers/features/misc/MiscCreateAssertCloneTransformer.ts +10 -10
  248. package/src/transformers/features/misc/MiscCreateAssertPruneTransformer.ts +10 -10
  249. package/src/transformers/features/misc/MiscCreateCloneTransformer.ts +9 -9
  250. package/src/transformers/features/misc/MiscCreateIsCloneTransformer.ts +9 -9
  251. package/src/transformers/features/misc/MiscCreateIsPruneTransformer.ts +9 -9
  252. package/src/transformers/features/misc/MiscCreatePruneTransformer.ts +9 -9
  253. package/src/transformers/features/misc/MiscCreateValidateCloneTransformer.ts +10 -10
  254. package/src/transformers/features/misc/MiscCreateValidatePruneTransformer.ts +10 -10
  255. package/src/transformers/features/misc/MiscIsCloneTransformer.ts +9 -9
  256. package/src/transformers/features/misc/MiscIsPruneTransformer.ts +9 -9
  257. package/src/transformers/features/misc/MiscLiteralsTransformer.ts +32 -32
  258. package/src/transformers/features/misc/MiscPruneTransformer.ts +9 -9
  259. package/src/transformers/features/misc/MiscValidateCloneTransformer.ts +10 -10
  260. package/src/transformers/features/misc/MiscValidatePruneTransformer.ts +10 -10
  261. package/src/transformers/features/protobuf/CreateProtobufAssertDecodeTransformer.ts +12 -12
  262. package/src/transformers/features/protobuf/CreateProtobufAssertEncodeTransformer.ts +12 -12
  263. package/src/transformers/features/protobuf/CreateProtobufDecodeTransformer.ts +9 -9
  264. package/src/transformers/features/protobuf/CreateProtobufEncodeTransformer.ts +9 -9
  265. package/src/transformers/features/protobuf/CreateProtobufIsDecodeTransformer.ts +12 -12
  266. package/src/transformers/features/protobuf/CreateProtobufIsEncodeTransformer.ts +12 -12
  267. package/src/transformers/features/protobuf/CreateProtobufValidateDecodeTransformer.ts +12 -12
  268. package/src/transformers/features/protobuf/CreateProtobufValidateEncodeTransformer.ts +12 -12
  269. package/src/transformers/features/protobuf/ProtobufAssertDecodeTransformer.ts +10 -10
  270. package/src/transformers/features/protobuf/ProtobufAssertEncodeTransformer.ts +10 -10
  271. package/src/transformers/features/protobuf/ProtobufDecodeTransformer.ts +10 -10
  272. package/src/transformers/features/protobuf/ProtobufEncodeTransformer.ts +10 -10
  273. package/src/transformers/features/protobuf/ProtobufIsDecodeTransformer.ts +10 -10
  274. package/src/transformers/features/protobuf/ProtobufIsEncodeTransformer.ts +10 -10
  275. package/src/transformers/features/protobuf/ProtobufMessageTransformer.ts +33 -33
  276. package/src/transformers/features/protobuf/ProtobufValidateDecodeTransformer.ts +12 -12
  277. package/src/transformers/features/protobuf/ProtobufValidateEncodeTransformer.ts +12 -12
  278. package/src/transformers/internal/GenericTransformer.ts +104 -104
  279. package/src/typings/Atomic.ts +18 -18
  280. package/src/typings/ClassProperties.ts +5 -5
  281. package/src/typings/Customizable.ts +5 -5
  282. package/src/typings/OmitNever.ts +3 -3
  283. package/src/typings/ProtobufAtomic.ts +19 -19
  284. package/src/typings/SpecialFields.ts +3 -3
  285. package/src/typings/ValidationPipe.ts +9 -9
  286. package/src/typings/Writable.ts +11 -11
  287. package/src/utils/ArrayUtil.ts +45 -45
  288. package/src/utils/Escaper.ts +46 -46
  289. package/src/utils/MapUtil.ts +12 -12
  290. package/src/utils/NameEncoder.ts +32 -32
  291. package/src/utils/PatternUtil.ts +33 -33
  292. package/src/utils/RandomGenerator.ts +83 -83
  293. package/src/utils/Singleton.ts +17 -17
@@ -1,61 +1,61 @@
1
- import { ClassProperties } from "../../typings/ClassProperties";
2
-
3
- import { IJsDocTagInfo } from "./IJsDocTagInfo";
4
- import { IMetadataAlias } from "./IMetadataAlias";
5
- import { Metadata } from "./Metadata";
6
-
7
- export class MetadataAlias {
8
- public readonly name: string;
9
- public readonly value: Metadata;
10
- public readonly description: string | null;
11
- public readonly jsDocTags: IJsDocTagInfo[];
12
- public readonly recursive: boolean;
13
- public readonly nullables: boolean[];
14
-
15
- /* -----------------------------------------------------------
16
- CONSTRUCTORS
17
- ----------------------------------------------------------- */
18
- /**
19
- * @hidden
20
- */
21
- private constructor(props: ClassProperties<MetadataAlias>) {
22
- this.name = props.name;
23
- this.value = props.value;
24
- this.description = props.description;
25
- this.jsDocTags = props.jsDocTags;
26
- this.recursive = props.recursive;
27
- this.nullables = props.nullables;
28
- }
29
-
30
- /**
31
- * @internal
32
- */
33
- public static create(props: ClassProperties<MetadataAlias>): MetadataAlias {
34
- return new MetadataAlias(props);
35
- }
36
-
37
- /**
38
- * @internal
39
- */
40
- public static _From_without_value(props: Omit<IMetadataAlias, "value">) {
41
- return this.create({
42
- name: props.name,
43
- value: null!,
44
- description: props.description,
45
- recursive: props.recursive,
46
- jsDocTags: props.jsDocTags.slice(),
47
- nullables: props.nullables.slice(),
48
- });
49
- }
50
-
51
- public toJSON(): IMetadataAlias {
52
- return {
53
- name: this.name,
54
- value: this.value.toJSON(),
55
- description: this.description,
56
- recursive: this.recursive,
57
- jsDocTags: this.jsDocTags.slice(),
58
- nullables: this.nullables.slice(),
59
- };
60
- }
61
- }
1
+ import { ClassProperties } from "../../typings/ClassProperties";
2
+
3
+ import { IJsDocTagInfo } from "./IJsDocTagInfo";
4
+ import { IMetadataAlias } from "./IMetadataAlias";
5
+ import { Metadata } from "./Metadata";
6
+
7
+ export class MetadataAlias {
8
+ public readonly name: string;
9
+ public readonly value: Metadata;
10
+ public readonly description: string | null;
11
+ public readonly jsDocTags: IJsDocTagInfo[];
12
+ public readonly recursive: boolean;
13
+ public readonly nullables: boolean[];
14
+
15
+ /* -----------------------------------------------------------
16
+ CONSTRUCTORS
17
+ ----------------------------------------------------------- */
18
+ /**
19
+ * @hidden
20
+ */
21
+ private constructor(props: ClassProperties<MetadataAlias>) {
22
+ this.name = props.name;
23
+ this.value = props.value;
24
+ this.description = props.description;
25
+ this.jsDocTags = props.jsDocTags;
26
+ this.recursive = props.recursive;
27
+ this.nullables = props.nullables;
28
+ }
29
+
30
+ /**
31
+ * @internal
32
+ */
33
+ public static create(props: ClassProperties<MetadataAlias>): MetadataAlias {
34
+ return new MetadataAlias(props);
35
+ }
36
+
37
+ /**
38
+ * @internal
39
+ */
40
+ public static _From_without_value(props: Omit<IMetadataAlias, "value">) {
41
+ return this.create({
42
+ name: props.name,
43
+ value: null!,
44
+ description: props.description,
45
+ recursive: props.recursive,
46
+ jsDocTags: props.jsDocTags.slice(),
47
+ nullables: props.nullables.slice(),
48
+ });
49
+ }
50
+
51
+ public toJSON(): IMetadataAlias {
52
+ return {
53
+ name: this.name,
54
+ value: this.value.toJSON(),
55
+ description: this.description,
56
+ recursive: this.recursive,
57
+ jsDocTags: this.jsDocTags.slice(),
58
+ nullables: this.nullables.slice(),
59
+ };
60
+ }
61
+ }
@@ -1,49 +1,49 @@
1
- import { ClassProperties } from "../../typings/ClassProperties";
2
-
3
- import { IMetadataArray } from "./IMetadataArray";
4
- import { IMetadataTypeTag } from "./IMetadataTypeTag";
5
- import { MetadataArrayType } from "./MetadataArrayType";
6
-
7
- export class MetadataArray {
8
- public readonly type: MetadataArrayType;
9
- public readonly tags: IMetadataTypeTag[][];
10
-
11
- private name_?: string;
12
-
13
- /**
14
- * @hidden
15
- */
16
- private constructor(props: ClassProperties<MetadataArray>) {
17
- this.type = props.type;
18
- this.tags = props.tags;
19
- }
20
-
21
- public static create(props: ClassProperties<MetadataArray>): MetadataArray {
22
- return new MetadataArray(props);
23
- }
24
-
25
- public getName(): string {
26
- return (this.name_ ??= (() => {
27
- if (this.tags.length === 0) return this.type.name;
28
- else if (this.tags.length === 1) {
29
- const str: string = [
30
- this.type.name,
31
- ...this.tags[0]!.map((t) => t.name),
32
- ].join(" & ");
33
- return `(${str})`;
34
- }
35
- const rows: string[] = this.tags.map((row) => {
36
- const str: string = row.map((t) => t.name).join(" & ");
37
- return row.length === 1 ? str : `(${str})`;
38
- });
39
- return `(${this.type.name} & (${rows.join(" | ")}))`;
40
- })());
41
- }
42
-
43
- public toJSON(): IMetadataArray {
44
- return {
45
- type: this.type.toJSON(),
46
- tags: this.tags.map((row) => row.slice()),
47
- };
48
- }
49
- }
1
+ import { ClassProperties } from "../../typings/ClassProperties";
2
+
3
+ import { IMetadataArray } from "./IMetadataArray";
4
+ import { IMetadataTypeTag } from "./IMetadataTypeTag";
5
+ import { MetadataArrayType } from "./MetadataArrayType";
6
+
7
+ export class MetadataArray {
8
+ public readonly type: MetadataArrayType;
9
+ public readonly tags: IMetadataTypeTag[][];
10
+
11
+ private name_?: string;
12
+
13
+ /**
14
+ * @hidden
15
+ */
16
+ private constructor(props: ClassProperties<MetadataArray>) {
17
+ this.type = props.type;
18
+ this.tags = props.tags;
19
+ }
20
+
21
+ public static create(props: ClassProperties<MetadataArray>): MetadataArray {
22
+ return new MetadataArray(props);
23
+ }
24
+
25
+ public getName(): string {
26
+ return (this.name_ ??= (() => {
27
+ if (this.tags.length === 0) return this.type.name;
28
+ else if (this.tags.length === 1) {
29
+ const str: string = [
30
+ this.type.name,
31
+ ...this.tags[0]!.map((t) => t.name),
32
+ ].join(" & ");
33
+ return `(${str})`;
34
+ }
35
+ const rows: string[] = this.tags.map((row) => {
36
+ const str: string = row.map((t) => t.name).join(" & ");
37
+ return row.length === 1 ? str : `(${str})`;
38
+ });
39
+ return `(${this.type.name} & (${rows.join(" | ")}))`;
40
+ })());
41
+ }
42
+
43
+ public toJSON(): IMetadataArray {
44
+ return {
45
+ type: this.type.toJSON(),
46
+ tags: this.tags.map((row) => row.slice()),
47
+ };
48
+ }
49
+ }
@@ -1,57 +1,57 @@
1
- import { ClassProperties } from "../../typings/ClassProperties";
2
-
3
- import { IMetadataArrayType } from "./IMetadataArrayType";
4
- import { Metadata } from "./Metadata";
5
-
6
- export class MetadataArrayType {
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<MetadataArrayType>) {
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<IMetadataArrayType, "value">,
29
- ): MetadataArrayType {
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(
43
- props: ClassProperties<MetadataArrayType>,
44
- ): MetadataArrayType {
45
- return new MetadataArrayType(props);
46
- }
47
-
48
- public toJSON(): IMetadataArrayType {
49
- return {
50
- name: this.name,
51
- value: this.value.toJSON(),
52
- nullables: this.nullables,
53
- recursive: this.recursive,
54
- index: this.index,
55
- };
56
- }
57
- }
1
+ import { ClassProperties } from "../../typings/ClassProperties";
2
+
3
+ import { IMetadataArrayType } from "./IMetadataArrayType";
4
+ import { Metadata } from "./Metadata";
5
+
6
+ export class MetadataArrayType {
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<MetadataArrayType>) {
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<IMetadataArrayType, "value">,
29
+ ): MetadataArrayType {
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(
43
+ props: ClassProperties<MetadataArrayType>,
44
+ ): MetadataArrayType {
45
+ return new MetadataArrayType(props);
46
+ }
47
+
48
+ public toJSON(): IMetadataArrayType {
49
+ return {
50
+ name: this.name,
51
+ value: this.value.toJSON(),
52
+ nullables: this.nullables,
53
+ recursive: this.recursive,
54
+ index: this.index,
55
+ };
56
+ }
57
+ }
@@ -1,42 +1,42 @@
1
- import { ClassProperties } from "../../typings/ClassProperties";
2
-
3
- import { IMetadataTypeTag } from "./IMetadataTypeTag";
4
-
5
- export class MetadataAtomic {
6
- public readonly type: "boolean" | "bigint" | "number" | "string";
7
- public readonly tags: IMetadataTypeTag[][];
8
-
9
- private name_?: string;
10
-
11
- /**
12
- * @internal
13
- */
14
- private constructor(props: ClassProperties<MetadataAtomic>) {
15
- this.type = props.type;
16
- this.tags = props.tags;
17
- }
18
-
19
- public static create(
20
- props: ClassProperties<MetadataAtomic>,
21
- ): MetadataAtomic {
22
- return new MetadataAtomic(props);
23
- }
24
-
25
- public getName(): string {
26
- return (this.name_ ??= (() => {
27
- if (this.tags.length === 0) return this.type;
28
- else if (this.tags.length === 1) {
29
- const str: string = [
30
- this.type,
31
- ...this.tags[0]!.map((t) => t.name),
32
- ].join(" & ");
33
- return `(${str})`;
34
- }
35
- const rows: string[] = this.tags.map((row) => {
36
- const str: string = row.map((t) => t.name).join(" & ");
37
- return row.length === 1 ? str : `(${str})`;
38
- });
39
- return `(${this.type} & (${rows.join(" | ")}))`;
40
- })());
41
- }
42
- }
1
+ import { ClassProperties } from "../../typings/ClassProperties";
2
+
3
+ import { IMetadataTypeTag } from "./IMetadataTypeTag";
4
+
5
+ export class MetadataAtomic {
6
+ public readonly type: "boolean" | "bigint" | "number" | "string";
7
+ public readonly tags: IMetadataTypeTag[][];
8
+
9
+ private name_?: string;
10
+
11
+ /**
12
+ * @internal
13
+ */
14
+ private constructor(props: ClassProperties<MetadataAtomic>) {
15
+ this.type = props.type;
16
+ this.tags = props.tags;
17
+ }
18
+
19
+ public static create(
20
+ props: ClassProperties<MetadataAtomic>,
21
+ ): MetadataAtomic {
22
+ return new MetadataAtomic(props);
23
+ }
24
+
25
+ public getName(): string {
26
+ return (this.name_ ??= (() => {
27
+ if (this.tags.length === 0) return this.type;
28
+ else if (this.tags.length === 1) {
29
+ const str: string = [
30
+ this.type,
31
+ ...this.tags[0]!.map((t) => t.name),
32
+ ].join(" & ");
33
+ return `(${str})`;
34
+ }
35
+ const rows: string[] = this.tags.map((row) => {
36
+ const str: string = row.map((t) => t.name).join(" & ");
37
+ return row.length === 1 ? str : `(${str})`;
38
+ });
39
+ return `(${this.type} & (${rows.join(" | ")}))`;
40
+ })());
41
+ }
42
+ }
@@ -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,51 +1,51 @@
1
- import { ClassProperties } from "../../typings/ClassProperties";
2
-
3
- import { IMetadataDictionary } from "./IMetadataDictionary";
4
- import { IMetadataEscaped } from "./IMetadataEscaped";
5
- import { Metadata } from "./Metadata";
6
-
7
- export class MetadataEscaped {
8
- public readonly original: Metadata;
9
- public readonly returns: Metadata;
10
-
11
- /**
12
- * @hidden
13
- */
14
- private constructor(props: ClassProperties<MetadataEscaped>) {
15
- this.original = props.original;
16
- this.returns = props.returns;
17
- }
18
-
19
- /**
20
- * @internal
21
- */
22
- public static _From(
23
- props: IMetadataEscaped,
24
- dict: IMetadataDictionary,
25
- ): MetadataEscaped {
26
- return this.create({
27
- original: Metadata._From(props.original, dict),
28
- returns: Metadata._From(props.returns, dict),
29
- });
30
- }
31
-
32
- /**
33
- * @internal
34
- */
35
- public static create(
36
- props: ClassProperties<MetadataEscaped>,
37
- ): MetadataEscaped {
38
- return new MetadataEscaped(props);
39
- }
40
-
41
- public getName(): string {
42
- return this.returns.getName();
43
- }
44
-
45
- public toJSON(): IMetadataEscaped {
46
- return {
47
- original: this.original.toJSON(),
48
- returns: this.returns.toJSON(),
49
- };
50
- }
51
- }
1
+ import { ClassProperties } from "../../typings/ClassProperties";
2
+
3
+ import { IMetadataDictionary } from "./IMetadataDictionary";
4
+ import { IMetadataEscaped } from "./IMetadataEscaped";
5
+ import { Metadata } from "./Metadata";
6
+
7
+ export class MetadataEscaped {
8
+ public readonly original: Metadata;
9
+ public readonly returns: Metadata;
10
+
11
+ /**
12
+ * @hidden
13
+ */
14
+ private constructor(props: ClassProperties<MetadataEscaped>) {
15
+ this.original = props.original;
16
+ this.returns = props.returns;
17
+ }
18
+
19
+ /**
20
+ * @internal
21
+ */
22
+ public static _From(
23
+ props: IMetadataEscaped,
24
+ dict: IMetadataDictionary,
25
+ ): MetadataEscaped {
26
+ return this.create({
27
+ original: Metadata._From(props.original, dict),
28
+ returns: Metadata._From(props.returns, dict),
29
+ });
30
+ }
31
+
32
+ /**
33
+ * @internal
34
+ */
35
+ public static create(
36
+ props: ClassProperties<MetadataEscaped>,
37
+ ): MetadataEscaped {
38
+ return new MetadataEscaped(props);
39
+ }
40
+
41
+ public getName(): string {
42
+ return this.returns.getName();
43
+ }
44
+
45
+ public toJSON(): IMetadataEscaped {
46
+ return {
47
+ original: this.original.toJSON(),
48
+ returns: this.returns.toJSON(),
49
+ };
50
+ }
51
+ }