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,133 +1,133 @@
1
- import { IJsDocTagInfo } from "../metadata/IJsDocTagInfo";
2
- import { IMetadataTag } from "../metadata/IMetadataTag";
3
-
4
- import { Atomic } from "../../typings/Atomic";
5
-
6
- export type IJsonSchema = IJsonSchema.Known | IJsonSchema.IUnknown;
7
- export namespace IJsonSchema {
8
- export type Known =
9
- | IEnumeration<"boolean">
10
- | IEnumeration<"number">
11
- | IEnumeration<"string">
12
- | IBoolean
13
- | IInteger
14
- | INumber
15
- | IString
16
- | IArray
17
- | ITuple
18
- | IOneOf
19
- | IReference
20
- | INullOnly;
21
-
22
- export interface IUnknown extends IAttribute {
23
- type?: undefined;
24
- }
25
-
26
- /* -----------------------------------------------------------
27
- ATOMICS
28
- ----------------------------------------------------------- */
29
- export interface IEnumeration<
30
- Literal extends Exclude<Atomic.Literal, "bigint">,
31
- > extends IAtomic<Literal> {
32
- enum: Array<Atomic.Mapper[Literal]>;
33
- }
34
- export interface IAtomic<Literal extends Exclude<Atomic.Literal, "bigint">>
35
- extends ISignificant<Literal> {
36
- default?: Atomic.Mapper[Literal];
37
- }
38
- export interface IString extends IAtomic<"string"> {
39
- /**
40
- * @type uint
41
- */
42
- minLength?: number;
43
- /**
44
- * @type uint
45
- */
46
- maxLength?: number;
47
- pattern?: string;
48
- format?: string;
49
- }
50
- export interface INumber extends IAtomic<"number"> {
51
- minimum?: number;
52
- maximum?: number;
53
- exclusiveMinimum?: boolean;
54
- exclusiveMaximum?: boolean;
55
- multipleOf?: number;
56
- }
57
- export interface IInteger extends IAtomic<"integer"> {
58
- /**
59
- * @type int
60
- */
61
- minimum?: number;
62
- /**
63
- * @type int
64
- */
65
- maximum?: number;
66
- exclusiveMinimum?: boolean;
67
- exclusiveMaximum?: boolean;
68
- /**
69
- * @type int
70
- */
71
- multipleOf?: number;
72
- }
73
- export interface IBoolean extends IAtomic<"boolean"> {}
74
-
75
- /* -----------------------------------------------------------
76
- OBJECTS
77
- ----------------------------------------------------------- */
78
- export interface IArray extends ISignificant<"array"> {
79
- items: IJsonSchema;
80
- /**
81
- * @type uint
82
- */
83
- minItems?: number;
84
- /**
85
- * @type uint
86
- */
87
- maxItems?: number;
88
- "x-typia-tuple"?: ITuple;
89
- }
90
- export interface ITuple extends ISignificant<"array"> {
91
- items: IJsonSchema[];
92
- /**
93
- * @type uint
94
- */
95
- minItems: number;
96
- /**
97
- * @type uint
98
- */
99
- maxItems?: number;
100
- }
101
- export interface IReference extends IAttribute {
102
- $ref: string;
103
- }
104
- export interface INullOnly extends IAttribute {
105
- type: "null";
106
- }
107
-
108
- /* -----------------------------------------------------------
109
- MISCELLANEOUS
110
- ----------------------------------------------------------- */
111
- export interface IOneOf extends IAttribute {
112
- oneOf: IJsonSchema[];
113
- }
114
-
115
- export interface ISignificant<Literal extends string> extends IAttribute {
116
- type: Literal;
117
-
118
- /**
119
- * Only when swagger mode.
120
- */
121
- nullable?: boolean;
122
- }
123
- export interface IAttribute {
124
- deprecated?: boolean;
125
- title?: string;
126
- description?: string;
127
- "x-typia-metaTags"?: IMetadataTag[];
128
- "x-typia-jsDocTags"?: IJsDocTagInfo[];
129
- "x-typia-required"?: boolean;
130
- "x-typia-optional"?: boolean;
131
- "x-typia-rest"?: boolean;
132
- }
133
- }
1
+ import { IJsDocTagInfo } from "../metadata/IJsDocTagInfo";
2
+ import { IMetadataTag } from "../metadata/IMetadataTag";
3
+
4
+ import { Atomic } from "../../typings/Atomic";
5
+
6
+ export type IJsonSchema = IJsonSchema.Known | IJsonSchema.IUnknown;
7
+ export namespace IJsonSchema {
8
+ export type Known =
9
+ | IEnumeration<"boolean">
10
+ | IEnumeration<"number">
11
+ | IEnumeration<"string">
12
+ | IBoolean
13
+ | IInteger
14
+ | INumber
15
+ | IString
16
+ | IArray
17
+ | ITuple
18
+ | IOneOf
19
+ | IReference
20
+ | INullOnly;
21
+
22
+ export interface IUnknown extends IAttribute {
23
+ type?: undefined;
24
+ }
25
+
26
+ /* -----------------------------------------------------------
27
+ ATOMICS
28
+ ----------------------------------------------------------- */
29
+ export interface IEnumeration<
30
+ Literal extends Exclude<Atomic.Literal, "bigint">,
31
+ > extends IAtomic<Literal> {
32
+ enum: Array<Atomic.Mapper[Literal]>;
33
+ }
34
+ export interface IAtomic<Literal extends Exclude<Atomic.Literal, "bigint">>
35
+ extends ISignificant<Literal> {
36
+ default?: Atomic.Mapper[Literal];
37
+ }
38
+ export interface IString extends IAtomic<"string"> {
39
+ /**
40
+ * @type uint
41
+ */
42
+ minLength?: number;
43
+ /**
44
+ * @type uint
45
+ */
46
+ maxLength?: number;
47
+ pattern?: string;
48
+ format?: string;
49
+ }
50
+ export interface INumber extends IAtomic<"number"> {
51
+ minimum?: number;
52
+ maximum?: number;
53
+ exclusiveMinimum?: boolean;
54
+ exclusiveMaximum?: boolean;
55
+ multipleOf?: number;
56
+ }
57
+ export interface IInteger extends IAtomic<"integer"> {
58
+ /**
59
+ * @type int
60
+ */
61
+ minimum?: number;
62
+ /**
63
+ * @type int
64
+ */
65
+ maximum?: number;
66
+ exclusiveMinimum?: boolean;
67
+ exclusiveMaximum?: boolean;
68
+ /**
69
+ * @type int
70
+ */
71
+ multipleOf?: number;
72
+ }
73
+ export interface IBoolean extends IAtomic<"boolean"> {}
74
+
75
+ /* -----------------------------------------------------------
76
+ OBJECTS
77
+ ----------------------------------------------------------- */
78
+ export interface IArray extends ISignificant<"array"> {
79
+ items: IJsonSchema;
80
+ /**
81
+ * @type uint
82
+ */
83
+ minItems?: number;
84
+ /**
85
+ * @type uint
86
+ */
87
+ maxItems?: number;
88
+ "x-typia-tuple"?: ITuple;
89
+ }
90
+ export interface ITuple extends ISignificant<"array"> {
91
+ items: IJsonSchema[];
92
+ /**
93
+ * @type uint
94
+ */
95
+ minItems: number;
96
+ /**
97
+ * @type uint
98
+ */
99
+ maxItems?: number;
100
+ }
101
+ export interface IReference extends IAttribute {
102
+ $ref: string;
103
+ }
104
+ export interface INullOnly extends IAttribute {
105
+ type: "null";
106
+ }
107
+
108
+ /* -----------------------------------------------------------
109
+ MISCELLANEOUS
110
+ ----------------------------------------------------------- */
111
+ export interface IOneOf extends IAttribute {
112
+ oneOf: IJsonSchema[];
113
+ }
114
+
115
+ export interface ISignificant<Literal extends string> extends IAttribute {
116
+ type: Literal;
117
+
118
+ /**
119
+ * Only when swagger mode.
120
+ */
121
+ nullable?: boolean;
122
+ }
123
+ export interface IAttribute {
124
+ deprecated?: boolean;
125
+ title?: string;
126
+ description?: string;
127
+ "x-typia-metaTags"?: IMetadataTag[];
128
+ "x-typia-jsDocTags"?: IJsDocTagInfo[];
129
+ "x-typia-required"?: boolean;
130
+ "x-typia-optional"?: boolean;
131
+ "x-typia-rest"?: boolean;
132
+ }
133
+ }
@@ -1,4 +1,4 @@
1
- export interface ICommentTag {
2
- name: string;
3
- value?: string;
4
- }
1
+ export interface ICommentTag {
2
+ name: string;
3
+ value?: string;
4
+ }
@@ -1,10 +1,10 @@
1
- export interface IJsDocTagInfo {
2
- name: string;
3
- text?: IJsDocTagInfo.IText[];
4
- }
5
- export namespace IJsDocTagInfo {
6
- export interface IText {
7
- text: string;
8
- kind: string;
9
- }
10
- }
1
+ export interface IJsDocTagInfo {
2
+ name: string;
3
+ text?: IJsDocTagInfo.IText[];
4
+ }
5
+ export namespace IJsDocTagInfo {
6
+ export interface IText {
7
+ text: string;
8
+ kind: string;
9
+ }
10
+ }
@@ -1,28 +1,28 @@
1
- import { Atomic } from "../../typings/Atomic";
2
-
3
- import { IMetadataConstant } from "./IMetadataConstant";
4
- import { IMetadataEntry } from "./IMetadataEntry";
5
- import { IMetadataResolved } from "./IMetadataResolved";
6
-
7
- export interface IMetadata {
8
- any: boolean;
9
- required: boolean;
10
- optional: boolean;
11
- nullable: boolean;
12
- functional: boolean;
13
-
14
- atomics: Atomic.Literal[];
15
- constants: IMetadataConstant[];
16
- templates: IMetadata[][];
17
- resolved: IMetadataResolved | null;
18
-
19
- rest: IMetadata | null;
20
- arrays: string[];
21
- tuples: string[];
22
- objects: string[];
23
- aliases: string[];
24
-
25
- natives: string[];
26
- sets: IMetadata[];
27
- maps: IMetadataEntry[];
28
- }
1
+ import { Atomic } from "../../typings/Atomic";
2
+
3
+ import { IMetadataConstant } from "./IMetadataConstant";
4
+ import { IMetadataEntry } from "./IMetadataEntry";
5
+ import { IMetadataResolved } from "./IMetadataResolved";
6
+
7
+ export interface IMetadata {
8
+ any: boolean;
9
+ required: boolean;
10
+ optional: boolean;
11
+ nullable: boolean;
12
+ functional: boolean;
13
+
14
+ atomics: Atomic.Literal[];
15
+ constants: IMetadataConstant[];
16
+ templates: IMetadata[][];
17
+ resolved: IMetadataResolved | null;
18
+
19
+ rest: IMetadata | null;
20
+ arrays: string[];
21
+ tuples: string[];
22
+ objects: string[];
23
+ aliases: string[];
24
+
25
+ natives: string[];
26
+ sets: IMetadata[];
27
+ maps: IMetadataEntry[];
28
+ }
@@ -1,14 +1,14 @@
1
- import { IJsDocTagInfo } from "./IJsDocTagInfo";
2
- import { IMetadata } from "./IMetadata";
3
- import { IMetadataTag } from "./IMetadataTag";
4
-
5
- export interface IMetadataAlias {
6
- name: string;
7
- value: IMetadata;
8
- nullables: boolean[];
9
-
10
- description: string | null;
11
- tags: IMetadataTag[];
12
- jsDocTags: IJsDocTagInfo[];
13
- recursive: boolean;
14
- }
1
+ import { IJsDocTagInfo } from "./IJsDocTagInfo";
2
+ import { IMetadata } from "./IMetadata";
3
+ import { IMetadataTag } from "./IMetadataTag";
4
+
5
+ export interface IMetadataAlias {
6
+ name: string;
7
+ value: IMetadata;
8
+ nullables: boolean[];
9
+
10
+ description: string | null;
11
+ tags: IMetadataTag[];
12
+ jsDocTags: IJsDocTagInfo[];
13
+ recursive: boolean;
14
+ }
@@ -1,7 +1,7 @@
1
- import { IMetadata } from "./IMetadata";
2
- import { IMetadataCollection } from "./IMetadataCollection";
3
-
4
- export interface IMetadataApplication {
5
- metadatas: IMetadata[];
6
- collection: IMetadataCollection;
7
- }
1
+ import { IMetadata } from "./IMetadata";
2
+ import { IMetadataCollection } from "./IMetadataCollection";
3
+
4
+ export interface IMetadataApplication {
5
+ metadatas: IMetadata[];
6
+ collection: IMetadataCollection;
7
+ }
@@ -1,10 +1,10 @@
1
- import { IMetadata } from "./IMetadata";
2
-
3
- export interface IMetadataArray {
4
- name: string;
5
- value: IMetadata;
6
-
7
- nullables: boolean[];
8
- recursive: boolean;
9
- index: number | null;
10
- }
1
+ import { IMetadata } from "./IMetadata";
2
+
3
+ export interface IMetadataArray {
4
+ name: string;
5
+ value: IMetadata;
6
+
7
+ nullables: boolean[];
8
+ recursive: boolean;
9
+ index: number | null;
10
+ }
@@ -1,11 +1,11 @@
1
- import { IMetadataAlias } from "./IMetadataAlias";
2
- import { IMetadataArray } from "./IMetadataArray";
3
- import { IMetadataObject } from "./IMetadataObject";
4
- import { IMetadataTuple } from "./IMetadataTuple";
5
-
6
- export interface IMetadataCollection {
7
- objects: IMetadataObject[];
8
- aliases: IMetadataAlias[];
9
- arrays: IMetadataArray[];
10
- tuples: IMetadataTuple[];
11
- }
1
+ import { IMetadataAlias } from "./IMetadataAlias";
2
+ import { IMetadataArray } from "./IMetadataArray";
3
+ import { IMetadataObject } from "./IMetadataObject";
4
+ import { IMetadataTuple } from "./IMetadataTuple";
5
+
6
+ export interface IMetadataCollection {
7
+ objects: IMetadataObject[];
8
+ aliases: IMetadataAlias[];
9
+ arrays: IMetadataArray[];
10
+ tuples: IMetadataTuple[];
11
+ }
@@ -1,16 +1,16 @@
1
- import { Atomic } from "../../typings/Atomic";
2
-
3
- export type IMetadataConstant =
4
- | IMetadataConstant.IBase<"boolean", boolean>
5
- | IMetadataConstant.IBase<"number", number>
6
- | IMetadataConstant.IBase<"string", string>
7
- | IMetadataConstant.IBase<"bigint", bigint>;
8
- export namespace IMetadataConstant {
9
- export interface IBase<
10
- Type extends Atomic.Literal,
11
- Value extends Atomic.Type,
12
- > {
13
- type: Type;
14
- values: Value[];
15
- }
16
- }
1
+ import { Atomic } from "../../typings/Atomic";
2
+
3
+ export type IMetadataConstant =
4
+ | IMetadataConstant.IBase<"boolean", boolean>
5
+ | IMetadataConstant.IBase<"number", number>
6
+ | IMetadataConstant.IBase<"string", string>
7
+ | IMetadataConstant.IBase<"bigint", bigint>;
8
+ export namespace IMetadataConstant {
9
+ export interface IBase<
10
+ Type extends Atomic.Literal,
11
+ Value extends Atomic.Type,
12
+ > {
13
+ type: Type;
14
+ values: Value[];
15
+ }
16
+ }
@@ -1,14 +1,14 @@
1
- import { MetadataAlias } from "./MetadataAlias";
2
- import { MetadataArray } from "./MetadataArray";
3
- import { MetadataObject } from "./MetadataObject";
4
- import { MetadataTuple } from "./MetadataTuple";
5
-
6
- /**
7
- * @internal
8
- */
9
- export interface IMetadataDictionary {
10
- objects: Map<string, MetadataObject>;
11
- aliases: Map<string, MetadataAlias>;
12
- arrays: Map<string, MetadataArray>;
13
- tuples: Map<string, MetadataTuple>;
14
- }
1
+ import { MetadataAlias } from "./MetadataAlias";
2
+ import { MetadataArray } from "./MetadataArray";
3
+ import { MetadataObject } from "./MetadataObject";
4
+ import { MetadataTuple } from "./MetadataTuple";
5
+
6
+ /**
7
+ * @internal
8
+ */
9
+ export interface IMetadataDictionary {
10
+ objects: Map<string, MetadataObject>;
11
+ aliases: Map<string, MetadataAlias>;
12
+ arrays: Map<string, MetadataArray>;
13
+ tuples: Map<string, MetadataTuple>;
14
+ }
@@ -1,6 +1,6 @@
1
- import { IMetadata } from "./IMetadata";
2
-
3
- export interface IMetadataEntry {
4
- key: IMetadata;
5
- value: IMetadata;
6
- }
1
+ import { IMetadata } from "./IMetadata";
2
+
3
+ export interface IMetadataEntry {
4
+ key: IMetadata;
5
+ value: IMetadata;
6
+ }
@@ -1,18 +1,18 @@
1
- import { IJsDocTagInfo } from "./IJsDocTagInfo";
2
- import { IMetadataProperty } from "./IMetadataProperty";
3
-
4
- export interface IMetadataObject {
5
- name: string;
6
- properties: IMetadataProperty[];
7
- description?: string;
8
- jsDocTags: IJsDocTagInfo[];
9
-
10
- index: number;
11
- recursive: boolean;
12
- nullables: boolean[];
13
-
14
- /**
15
- * @internal
16
- */
17
- validated: boolean;
18
- }
1
+ import { IJsDocTagInfo } from "./IJsDocTagInfo";
2
+ import { IMetadataProperty } from "./IMetadataProperty";
3
+
4
+ export interface IMetadataObject {
5
+ name: string;
6
+ properties: IMetadataProperty[];
7
+ description?: string;
8
+ jsDocTags: IJsDocTagInfo[];
9
+
10
+ index: number;
11
+ recursive: boolean;
12
+ nullables: boolean[];
13
+
14
+ /**
15
+ * @internal
16
+ */
17
+ validated: boolean;
18
+ }
@@ -1,11 +1,11 @@
1
- import { IJsDocTagInfo } from "./IJsDocTagInfo";
2
- import { IMetadata } from "./IMetadata";
3
- import { IMetadataTag } from "./IMetadataTag";
4
-
5
- export interface IMetadataProperty {
6
- key: IMetadata;
7
- value: IMetadata;
8
- description: string | null;
9
- tags: IMetadataTag[];
10
- jsDocTags: IJsDocTagInfo[];
11
- }
1
+ import { IJsDocTagInfo } from "./IJsDocTagInfo";
2
+ import { IMetadata } from "./IMetadata";
3
+ import { IMetadataTag } from "./IMetadataTag";
4
+
5
+ export interface IMetadataProperty {
6
+ key: IMetadata;
7
+ value: IMetadata;
8
+ description: string | null;
9
+ tags: IMetadataTag[];
10
+ jsDocTags: IJsDocTagInfo[];
11
+ }
@@ -1,6 +1,6 @@
1
- import { IMetadata } from "./IMetadata";
2
-
3
- export interface IMetadataResolved {
4
- original: IMetadata;
5
- returns: IMetadata;
6
- }
1
+ import { IMetadata } from "./IMetadata";
2
+
3
+ export interface IMetadataResolved {
4
+ original: IMetadata;
5
+ returns: IMetadata;
6
+ }