@typia/interface 12.0.0-dev.20260307-2 → 12.0.0-dev.20260310

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 (85) hide show
  1. package/lib/http/IHttpLlmController.d.ts +5 -5
  2. package/lib/schema/IJsonParseResult.d.ts +1 -3
  3. package/lib/schema/ILlmApplication.d.ts +1 -1
  4. package/lib/schema/ILlmController.d.ts +2 -5
  5. package/lib/schema/ILlmFunction.d.ts +35 -9
  6. package/package.json +1 -1
  7. package/src/http/IHttpConnection.ts +200 -200
  8. package/src/http/IHttpLlmApplication.ts +72 -72
  9. package/src/http/IHttpLlmController.ts +96 -96
  10. package/src/http/IHttpLlmFunction.ts +34 -34
  11. package/src/http/IHttpMigrateApplication.ts +48 -48
  12. package/src/http/IHttpMigrateRoute.ts +165 -165
  13. package/src/http/IHttpResponse.ts +42 -42
  14. package/src/http/index.ts +7 -7
  15. package/src/index.ts +9 -9
  16. package/src/metadata/IJsDocTagInfo.ts +25 -25
  17. package/src/metadata/IMetadataComponents.ts +24 -24
  18. package/src/metadata/IMetadataSchema.ts +293 -293
  19. package/src/metadata/IMetadataSchemaCollection.ts +20 -20
  20. package/src/metadata/IMetadataSchemaUnit.ts +20 -20
  21. package/src/metadata/IMetadataTypeTag.ts +39 -39
  22. package/src/metadata/index.ts +6 -6
  23. package/src/openapi/OpenApi.ts +643 -643
  24. package/src/openapi/OpenApiV3.ts +655 -655
  25. package/src/openapi/OpenApiV3_1.ts +735 -735
  26. package/src/openapi/SwaggerV2.ts +559 -559
  27. package/src/openapi/index.ts +4 -4
  28. package/src/protobuf/ProtobufWire.ts +51 -51
  29. package/src/protobuf/index.ts +1 -1
  30. package/src/schema/IJsonParseResult.ts +134 -136
  31. package/src/schema/IJsonSchemaApplication.ts +274 -274
  32. package/src/schema/IJsonSchemaAttribute.ts +158 -158
  33. package/src/schema/IJsonSchemaCollection.ts +123 -123
  34. package/src/schema/IJsonSchemaTransformError.ts +86 -86
  35. package/src/schema/IJsonSchemaUnit.ts +120 -120
  36. package/src/schema/ILlmApplication.ts +99 -99
  37. package/src/schema/ILlmController.ts +54 -57
  38. package/src/schema/ILlmFunction.ts +145 -118
  39. package/src/schema/ILlmSchema.ts +484 -484
  40. package/src/schema/IResult.ts +84 -84
  41. package/src/schema/IValidation.ts +134 -134
  42. package/src/schema/index.ts +14 -14
  43. package/src/tags/Constant.ts +49 -49
  44. package/src/tags/ContentMediaType.ts +40 -40
  45. package/src/tags/Default.ts +50 -50
  46. package/src/tags/Example.ts +48 -48
  47. package/src/tags/Examples.ts +50 -50
  48. package/src/tags/ExclusiveMaximum.ts +46 -46
  49. package/src/tags/ExclusiveMinimum.ts +46 -46
  50. package/src/tags/Format.ts +76 -76
  51. package/src/tags/JsonSchemaPlugin.ts +45 -45
  52. package/src/tags/MaxItems.ts +39 -39
  53. package/src/tags/MaxLength.ts +37 -37
  54. package/src/tags/Maximum.ts +44 -44
  55. package/src/tags/MinItems.ts +39 -39
  56. package/src/tags/MinLength.ts +37 -37
  57. package/src/tags/Minimum.ts +44 -44
  58. package/src/tags/MultipleOf.ts +54 -54
  59. package/src/tags/Pattern.ts +59 -59
  60. package/src/tags/Sequence.ts +43 -43
  61. package/src/tags/TagBase.ts +131 -131
  62. package/src/tags/Type.ts +70 -70
  63. package/src/tags/UniqueItems.ts +44 -44
  64. package/src/tags/index.ts +21 -21
  65. package/src/typings/AssertionGuard.ts +12 -12
  66. package/src/typings/Atomic.ts +21 -21
  67. package/src/typings/CamelCase.ts +75 -75
  68. package/src/typings/ClassProperties.ts +15 -15
  69. package/src/typings/DeepPartial.ts +39 -39
  70. package/src/typings/OmitNever.ts +12 -12
  71. package/src/typings/PascalCase.ts +71 -71
  72. package/src/typings/Primitive.ts +71 -71
  73. package/src/typings/ProtobufAtomic.ts +30 -30
  74. package/src/typings/Resolved.ts +58 -58
  75. package/src/typings/SnakeCase.ts +126 -126
  76. package/src/typings/SpecialFields.ts +13 -13
  77. package/src/typings/ValidationPipe.ts +20 -20
  78. package/src/typings/index.ts +14 -14
  79. package/src/typings/internal/Equal.ts +14 -14
  80. package/src/typings/internal/IsTuple.ts +17 -17
  81. package/src/typings/internal/NativeClass.ts +31 -31
  82. package/src/typings/internal/ValueOf.ts +29 -29
  83. package/src/utils/IRandomGenerator.ts +105 -105
  84. package/src/utils/IReadableURLSearchParams.ts +25 -25
  85. package/src/utils/index.ts +2 -2
@@ -1,293 +1,293 @@
1
- import { Atomic } from "../typings/Atomic";
2
- import { IJsDocTagInfo } from "./IJsDocTagInfo";
3
- import { IMetadataTypeTag } from "./IMetadataTypeTag";
4
-
5
- /**
6
- * Metadata schema representing a TypeScript type's structure.
7
- *
8
- * `IMetadataSchema` is typia's internal type representation, capturing full
9
- * TypeScript type information including unions, optionality, nullability, and
10
- * type constraints. Used by `typia.reflect.schema<T>()` for runtime type
11
- * introspection.
12
- *
13
- * Type categories:
14
- *
15
- * - Primitives: {@link atomics} (boolean, bigint, number, string)
16
- * - Literals: {@link constants} (literal values like `"hello"` or `42`)
17
- * - Templates: {@link templates} (template literal types)
18
- * - Collections: {@link arrays}, {@link tuples}, {@link sets}, {@link maps}
19
- * - Objects: {@link objects} (named object types)
20
- * - Aliases: {@link aliases} (type aliases)
21
- * - Natives: {@link natives} (built-in classes like Date, Uint8Array)
22
- * - Functions: {@link functions} (function types)
23
- *
24
- * @author Jeongho Nam - https://github.com/samchon
25
- */
26
- export interface IMetadataSchema {
27
- /** Whether the type is `any`. */
28
- any: boolean;
29
-
30
- /** Whether the type is required (not `undefined`). */
31
- required: boolean;
32
-
33
- /** Whether the type is optional (`?` modifier). */
34
- optional: boolean;
35
-
36
- /** Whether the type is nullable (`null` included). */
37
- nullable: boolean;
38
-
39
- /** Function types in the union. */
40
- functions: IMetadataSchema.IFunction[];
41
-
42
- /** Primitive types (boolean, bigint, number, string) in the union. */
43
- atomics: IMetadataSchema.IAtomic[];
44
-
45
- /** Literal constant values in the union. */
46
- constants: IMetadataSchema.IConstant[];
47
-
48
- /** Template literal types in the union. */
49
- templates: IMetadataSchema.ITemplate[];
50
-
51
- /** Escaped type info (original and transformed). */
52
- escaped: IMetadataSchema.IEscaped | null;
53
-
54
- /** Rest element type for variadic tuples. */
55
- rest: IMetadataSchema | null;
56
-
57
- /** Array type references in the union. */
58
- arrays: IMetadataSchema.IReference[];
59
-
60
- /** Tuple type references in the union. */
61
- tuples: IMetadataSchema.IReference[];
62
-
63
- /** Object type references in the union. */
64
- objects: IMetadataSchema.IReference[];
65
-
66
- /** Type alias references in the union. */
67
- aliases: IMetadataSchema.IReference[];
68
-
69
- /** Native class references (Date, Uint8Array, etc.) in the union. */
70
- natives: IMetadataSchema.IReference[];
71
-
72
- /** Set types in the union. */
73
- sets: IMetadataSchema.ISet[];
74
-
75
- /** Map types in the union. */
76
- maps: IMetadataSchema.IMap[];
77
- }
78
- export namespace IMetadataSchema {
79
- /** Function type metadata. */
80
- export interface IFunction {
81
- /** Whether the function is async. */
82
- async: boolean;
83
-
84
- /** Function parameters. */
85
- parameters: IParameter[];
86
-
87
- /** Return type schema. */
88
- output: IMetadataSchema;
89
- }
90
-
91
- /** Function parameter metadata. */
92
- export interface IParameter {
93
- /** Parameter name. */
94
- name: string;
95
-
96
- /** Parameter type schema. */
97
- type: IMetadataSchema;
98
-
99
- /** JSDoc description. */
100
- description: string | null;
101
-
102
- /** JSDoc tags. */
103
- jsDocTags: IJsDocTagInfo[];
104
- }
105
-
106
- /** Primitive atomic type metadata. */
107
- export interface IAtomic {
108
- /** Primitive type kind. */
109
- type: "boolean" | "bigint" | "number" | "string";
110
-
111
- /** Type constraint tags (e.g., `@minimum`, `@format`). */
112
- tags: IMetadataTypeTag[][];
113
- }
114
-
115
- /** Literal constant type metadata. */
116
- export type IConstant =
117
- | IConstant.IBase<"boolean">
118
- | IConstant.IBase<"number">
119
- | IConstant.IBase<"string">
120
- | IConstant.IBase<"bigint">;
121
- export namespace IConstant {
122
- /** Base interface for constant types. */
123
- export interface IBase<Type extends Atomic.Literal> {
124
- /** Constant type kind. */
125
- type: Type;
126
-
127
- /** Literal values in the union. */
128
- values: IValue<Atomic.Mapper[Type]>[];
129
- }
130
-
131
- /** Single constant value metadata. */
132
- export interface IValue<T extends Atomic.Type> {
133
- /** The literal value. */
134
- value: T;
135
-
136
- /** Type constraint tags. */
137
- tags: IMetadataTypeTag[][];
138
-
139
- /** JSDoc description. */
140
- description?: string | null;
141
-
142
- /** JSDoc tags. */
143
- jsDocTags?: IJsDocTagInfo[];
144
- }
145
- }
146
-
147
- /** Template literal type metadata. */
148
- export interface ITemplate {
149
- /** Template parts as schemas. */
150
- row: IMetadataSchema[];
151
-
152
- /** Type constraint tags. */
153
- tags: IMetadataTypeTag[][];
154
- }
155
-
156
- /** Escaped type metadata (for special transformations). */
157
- export interface IEscaped {
158
- /** Original type before escaping. */
159
- original: IMetadataSchema;
160
-
161
- /** Transformed return type. */
162
- returns: IMetadataSchema;
163
- }
164
-
165
- /** Type alias definition. */
166
- export interface IAliasType {
167
- /** Alias name. */
168
- name: string;
169
-
170
- /** Underlying type schema. */
171
- value: IMetadataSchema;
172
-
173
- /** Nullability per reference site. */
174
- nullables: boolean[];
175
-
176
- /** JSDoc description. */
177
- description: string | null;
178
-
179
- /** JSDoc tags. */
180
- jsDocTags: IJsDocTagInfo[];
181
-
182
- /** Whether the alias is recursive. */
183
- recursive: boolean;
184
- }
185
-
186
- /** Array type definition. */
187
- export interface IArrayType {
188
- /** Array type name. */
189
- name: string;
190
-
191
- /** Element type schema. */
192
- value: IMetadataSchema;
193
-
194
- /** Nullability per reference site. */
195
- nullables: boolean[];
196
-
197
- /** Whether the array type is recursive. */
198
- recursive: boolean;
199
-
200
- /** Index in components (for deduplication). */
201
- index: number | null;
202
- }
203
-
204
- /** Tuple type definition. */
205
- export interface ITupleType {
206
- /** Tuple type name. */
207
- name: string;
208
-
209
- /** Element schemas in order. */
210
- elements: IMetadataSchema[];
211
-
212
- /** Index in components (for deduplication). */
213
- index: number | null;
214
-
215
- /** Whether the tuple type is recursive. */
216
- recursive: boolean;
217
-
218
- /** Nullability per reference site. */
219
- nullables: boolean[];
220
- }
221
-
222
- /** Object type definition. */
223
- export interface IObjectType {
224
- /** Object type name. */
225
- name: string;
226
-
227
- /** Object properties. */
228
- properties: IProperty[];
229
-
230
- /** JSDoc description. */
231
- description?: undefined | string;
232
-
233
- /** JSDoc tags. */
234
- jsDocTags: IJsDocTagInfo[];
235
-
236
- /** Index in components (for deduplication). */
237
- index: number;
238
-
239
- /** Whether the object type is recursive. */
240
- recursive: boolean;
241
-
242
- /** Nullability per reference site. */
243
- nullables: boolean[];
244
- }
245
-
246
- /** Object property metadata. */
247
- export interface IProperty {
248
- /** Property key schema (string or symbol). */
249
- key: IMetadataSchema;
250
-
251
- /** Property value schema. */
252
- value: IMetadataSchema;
253
-
254
- /** JSDoc description. */
255
- description: string | null;
256
-
257
- /** JSDoc tags. */
258
- jsDocTags: IJsDocTagInfo[];
259
-
260
- /** Property mutability (`readonly` or mutable). */
261
- mutability?: "readonly" | null | undefined;
262
- }
263
-
264
- /** Map type metadata. */
265
- export interface IMap {
266
- /** Key type schema. */
267
- key: IMetadataSchema;
268
-
269
- /** Value type schema. */
270
- value: IMetadataSchema;
271
-
272
- /** Type constraint tags. */
273
- tags: IMetadataTypeTag[][];
274
- }
275
-
276
- /** Set type metadata. */
277
- export interface ISet {
278
- /** Element type schema. */
279
- value: IMetadataSchema;
280
-
281
- /** Type constraint tags. */
282
- tags: IMetadataTypeTag[][];
283
- }
284
-
285
- /** Reference to a named type in components. */
286
- export interface IReference {
287
- /** Referenced type name. */
288
- name: string;
289
-
290
- /** Type constraint tags. */
291
- tags: IMetadataTypeTag[][];
292
- }
293
- }
1
+ import { Atomic } from "../typings/Atomic";
2
+ import { IJsDocTagInfo } from "./IJsDocTagInfo";
3
+ import { IMetadataTypeTag } from "./IMetadataTypeTag";
4
+
5
+ /**
6
+ * Metadata schema representing a TypeScript type's structure.
7
+ *
8
+ * `IMetadataSchema` is typia's internal type representation, capturing full
9
+ * TypeScript type information including unions, optionality, nullability, and
10
+ * type constraints. Used by `typia.reflect.schema<T>()` for runtime type
11
+ * introspection.
12
+ *
13
+ * Type categories:
14
+ *
15
+ * - Primitives: {@link atomics} (boolean, bigint, number, string)
16
+ * - Literals: {@link constants} (literal values like `"hello"` or `42`)
17
+ * - Templates: {@link templates} (template literal types)
18
+ * - Collections: {@link arrays}, {@link tuples}, {@link sets}, {@link maps}
19
+ * - Objects: {@link objects} (named object types)
20
+ * - Aliases: {@link aliases} (type aliases)
21
+ * - Natives: {@link natives} (built-in classes like Date, Uint8Array)
22
+ * - Functions: {@link functions} (function types)
23
+ *
24
+ * @author Jeongho Nam - https://github.com/samchon
25
+ */
26
+ export interface IMetadataSchema {
27
+ /** Whether the type is `any`. */
28
+ any: boolean;
29
+
30
+ /** Whether the type is required (not `undefined`). */
31
+ required: boolean;
32
+
33
+ /** Whether the type is optional (`?` modifier). */
34
+ optional: boolean;
35
+
36
+ /** Whether the type is nullable (`null` included). */
37
+ nullable: boolean;
38
+
39
+ /** Function types in the union. */
40
+ functions: IMetadataSchema.IFunction[];
41
+
42
+ /** Primitive types (boolean, bigint, number, string) in the union. */
43
+ atomics: IMetadataSchema.IAtomic[];
44
+
45
+ /** Literal constant values in the union. */
46
+ constants: IMetadataSchema.IConstant[];
47
+
48
+ /** Template literal types in the union. */
49
+ templates: IMetadataSchema.ITemplate[];
50
+
51
+ /** Escaped type info (original and transformed). */
52
+ escaped: IMetadataSchema.IEscaped | null;
53
+
54
+ /** Rest element type for variadic tuples. */
55
+ rest: IMetadataSchema | null;
56
+
57
+ /** Array type references in the union. */
58
+ arrays: IMetadataSchema.IReference[];
59
+
60
+ /** Tuple type references in the union. */
61
+ tuples: IMetadataSchema.IReference[];
62
+
63
+ /** Object type references in the union. */
64
+ objects: IMetadataSchema.IReference[];
65
+
66
+ /** Type alias references in the union. */
67
+ aliases: IMetadataSchema.IReference[];
68
+
69
+ /** Native class references (Date, Uint8Array, etc.) in the union. */
70
+ natives: IMetadataSchema.IReference[];
71
+
72
+ /** Set types in the union. */
73
+ sets: IMetadataSchema.ISet[];
74
+
75
+ /** Map types in the union. */
76
+ maps: IMetadataSchema.IMap[];
77
+ }
78
+ export namespace IMetadataSchema {
79
+ /** Function type metadata. */
80
+ export interface IFunction {
81
+ /** Whether the function is async. */
82
+ async: boolean;
83
+
84
+ /** Function parameters. */
85
+ parameters: IParameter[];
86
+
87
+ /** Return type schema. */
88
+ output: IMetadataSchema;
89
+ }
90
+
91
+ /** Function parameter metadata. */
92
+ export interface IParameter {
93
+ /** Parameter name. */
94
+ name: string;
95
+
96
+ /** Parameter type schema. */
97
+ type: IMetadataSchema;
98
+
99
+ /** JSDoc description. */
100
+ description: string | null;
101
+
102
+ /** JSDoc tags. */
103
+ jsDocTags: IJsDocTagInfo[];
104
+ }
105
+
106
+ /** Primitive atomic type metadata. */
107
+ export interface IAtomic {
108
+ /** Primitive type kind. */
109
+ type: "boolean" | "bigint" | "number" | "string";
110
+
111
+ /** Type constraint tags (e.g., `@minimum`, `@format`). */
112
+ tags: IMetadataTypeTag[][];
113
+ }
114
+
115
+ /** Literal constant type metadata. */
116
+ export type IConstant =
117
+ | IConstant.IBase<"boolean">
118
+ | IConstant.IBase<"number">
119
+ | IConstant.IBase<"string">
120
+ | IConstant.IBase<"bigint">;
121
+ export namespace IConstant {
122
+ /** Base interface for constant types. */
123
+ export interface IBase<Type extends Atomic.Literal> {
124
+ /** Constant type kind. */
125
+ type: Type;
126
+
127
+ /** Literal values in the union. */
128
+ values: IValue<Atomic.Mapper[Type]>[];
129
+ }
130
+
131
+ /** Single constant value metadata. */
132
+ export interface IValue<T extends Atomic.Type> {
133
+ /** The literal value. */
134
+ value: T;
135
+
136
+ /** Type constraint tags. */
137
+ tags: IMetadataTypeTag[][];
138
+
139
+ /** JSDoc description. */
140
+ description?: string | null;
141
+
142
+ /** JSDoc tags. */
143
+ jsDocTags?: IJsDocTagInfo[];
144
+ }
145
+ }
146
+
147
+ /** Template literal type metadata. */
148
+ export interface ITemplate {
149
+ /** Template parts as schemas. */
150
+ row: IMetadataSchema[];
151
+
152
+ /** Type constraint tags. */
153
+ tags: IMetadataTypeTag[][];
154
+ }
155
+
156
+ /** Escaped type metadata (for special transformations). */
157
+ export interface IEscaped {
158
+ /** Original type before escaping. */
159
+ original: IMetadataSchema;
160
+
161
+ /** Transformed return type. */
162
+ returns: IMetadataSchema;
163
+ }
164
+
165
+ /** Type alias definition. */
166
+ export interface IAliasType {
167
+ /** Alias name. */
168
+ name: string;
169
+
170
+ /** Underlying type schema. */
171
+ value: IMetadataSchema;
172
+
173
+ /** Nullability per reference site. */
174
+ nullables: boolean[];
175
+
176
+ /** JSDoc description. */
177
+ description: string | null;
178
+
179
+ /** JSDoc tags. */
180
+ jsDocTags: IJsDocTagInfo[];
181
+
182
+ /** Whether the alias is recursive. */
183
+ recursive: boolean;
184
+ }
185
+
186
+ /** Array type definition. */
187
+ export interface IArrayType {
188
+ /** Array type name. */
189
+ name: string;
190
+
191
+ /** Element type schema. */
192
+ value: IMetadataSchema;
193
+
194
+ /** Nullability per reference site. */
195
+ nullables: boolean[];
196
+
197
+ /** Whether the array type is recursive. */
198
+ recursive: boolean;
199
+
200
+ /** Index in components (for deduplication). */
201
+ index: number | null;
202
+ }
203
+
204
+ /** Tuple type definition. */
205
+ export interface ITupleType {
206
+ /** Tuple type name. */
207
+ name: string;
208
+
209
+ /** Element schemas in order. */
210
+ elements: IMetadataSchema[];
211
+
212
+ /** Index in components (for deduplication). */
213
+ index: number | null;
214
+
215
+ /** Whether the tuple type is recursive. */
216
+ recursive: boolean;
217
+
218
+ /** Nullability per reference site. */
219
+ nullables: boolean[];
220
+ }
221
+
222
+ /** Object type definition. */
223
+ export interface IObjectType {
224
+ /** Object type name. */
225
+ name: string;
226
+
227
+ /** Object properties. */
228
+ properties: IProperty[];
229
+
230
+ /** JSDoc description. */
231
+ description?: undefined | string;
232
+
233
+ /** JSDoc tags. */
234
+ jsDocTags: IJsDocTagInfo[];
235
+
236
+ /** Index in components (for deduplication). */
237
+ index: number;
238
+
239
+ /** Whether the object type is recursive. */
240
+ recursive: boolean;
241
+
242
+ /** Nullability per reference site. */
243
+ nullables: boolean[];
244
+ }
245
+
246
+ /** Object property metadata. */
247
+ export interface IProperty {
248
+ /** Property key schema (string or symbol). */
249
+ key: IMetadataSchema;
250
+
251
+ /** Property value schema. */
252
+ value: IMetadataSchema;
253
+
254
+ /** JSDoc description. */
255
+ description: string | null;
256
+
257
+ /** JSDoc tags. */
258
+ jsDocTags: IJsDocTagInfo[];
259
+
260
+ /** Property mutability (`readonly` or mutable). */
261
+ mutability?: "readonly" | null | undefined;
262
+ }
263
+
264
+ /** Map type metadata. */
265
+ export interface IMap {
266
+ /** Key type schema. */
267
+ key: IMetadataSchema;
268
+
269
+ /** Value type schema. */
270
+ value: IMetadataSchema;
271
+
272
+ /** Type constraint tags. */
273
+ tags: IMetadataTypeTag[][];
274
+ }
275
+
276
+ /** Set type metadata. */
277
+ export interface ISet {
278
+ /** Element type schema. */
279
+ value: IMetadataSchema;
280
+
281
+ /** Type constraint tags. */
282
+ tags: IMetadataTypeTag[][];
283
+ }
284
+
285
+ /** Reference to a named type in components. */
286
+ export interface IReference {
287
+ /** Referenced type name. */
288
+ name: string;
289
+
290
+ /** Type constraint tags. */
291
+ tags: IMetadataTypeTag[][];
292
+ }
293
+ }
@@ -1,20 +1,20 @@
1
- import { IMetadataComponents } from "./IMetadataComponents";
2
- import { IMetadataSchema } from "./IMetadataSchema";
3
-
4
- /**
5
- * Collection of metadata schemas for multiple types.
6
- *
7
- * `IMetadataSchemaCollection` contains metadata schemas generated from multiple
8
- * TypeScript types via `typia.reflect.schemas<[T1, T2, ...]>()`. Each schema in
9
- * {@link schemas} corresponds to one input type, while shared type definitions
10
- * (objects, aliases, arrays, tuples) are stored in {@link components}.
11
- *
12
- * @author Jeongho Nam - https://github.com/samchon
13
- */
14
- export interface IMetadataSchemaCollection {
15
- /** Array of metadata schemas, one per input type. */
16
- schemas: IMetadataSchema[];
17
-
18
- /** Shared type definitions referenced by schemas. */
19
- components: IMetadataComponents;
20
- }
1
+ import { IMetadataComponents } from "./IMetadataComponents";
2
+ import { IMetadataSchema } from "./IMetadataSchema";
3
+
4
+ /**
5
+ * Collection of metadata schemas for multiple types.
6
+ *
7
+ * `IMetadataSchemaCollection` contains metadata schemas generated from multiple
8
+ * TypeScript types via `typia.reflect.schemas<[T1, T2, ...]>()`. Each schema in
9
+ * {@link schemas} corresponds to one input type, while shared type definitions
10
+ * (objects, aliases, arrays, tuples) are stored in {@link components}.
11
+ *
12
+ * @author Jeongho Nam - https://github.com/samchon
13
+ */
14
+ export interface IMetadataSchemaCollection {
15
+ /** Array of metadata schemas, one per input type. */
16
+ schemas: IMetadataSchema[];
17
+
18
+ /** Shared type definitions referenced by schemas. */
19
+ components: IMetadataComponents;
20
+ }
@@ -1,20 +1,20 @@
1
- import { IMetadataComponents } from "./IMetadataComponents";
2
- import { IMetadataSchema } from "./IMetadataSchema";
3
-
4
- /**
5
- * Single unit of metadata schema for one type.
6
- *
7
- * `IMetadataSchemaUnit` contains a metadata schema generated from a single
8
- * TypeScript type via `typia.reflect.schema<T>()`. The main schema is in
9
- * {@link schema}, while shared type definitions (objects, aliases, arrays,
10
- * tuples) are stored in {@link components}.
11
- *
12
- * @author Jeongho Nam - https://github.com/samchon
13
- */
14
- export interface IMetadataSchemaUnit {
15
- /** Metadata schema for the target type. */
16
- schema: IMetadataSchema;
17
-
18
- /** Shared type definitions referenced by the schema. */
19
- components: IMetadataComponents;
20
- }
1
+ import { IMetadataComponents } from "./IMetadataComponents";
2
+ import { IMetadataSchema } from "./IMetadataSchema";
3
+
4
+ /**
5
+ * Single unit of metadata schema for one type.
6
+ *
7
+ * `IMetadataSchemaUnit` contains a metadata schema generated from a single
8
+ * TypeScript type via `typia.reflect.schema<T>()`. The main schema is in
9
+ * {@link schema}, while shared type definitions (objects, aliases, arrays,
10
+ * tuples) are stored in {@link components}.
11
+ *
12
+ * @author Jeongho Nam - https://github.com/samchon
13
+ */
14
+ export interface IMetadataSchemaUnit {
15
+ /** Metadata schema for the target type. */
16
+ schema: IMetadataSchema;
17
+
18
+ /** Shared type definitions referenced by the schema. */
19
+ components: IMetadataComponents;
20
+ }