typia 7.0.0-dev.20241012 → 7.0.0-dev.20241018

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 (236) hide show
  1. package/lib/factories/JsonMetadataFactory.js +3 -2
  2. package/lib/factories/JsonMetadataFactory.js.map +1 -1
  3. package/lib/factories/MetadataCollection.d.ts +3 -3
  4. package/lib/factories/MetadataCollection.js +2 -2
  5. package/lib/factories/MetadataCollection.js.map +1 -1
  6. package/lib/factories/MetadataFactory.d.ts +2 -2
  7. package/lib/factories/MetadataFactory.js +3 -3
  8. package/lib/factories/MetadataFactory.js.map +1 -1
  9. package/lib/factories/MetadataTypeTagFactory.d.ts +3 -2
  10. package/lib/factories/MetadataTypeTagFactory.js +26 -3
  11. package/lib/factories/MetadataTypeTagFactory.js.map +1 -1
  12. package/lib/factories/ProtobufFactory.js +829 -156
  13. package/lib/factories/ProtobufFactory.js.map +1 -1
  14. package/lib/factories/internal/metadata/IMetadataIteratorProps.d.ts +1 -0
  15. package/lib/factories/internal/metadata/MetadataHelper.js +1 -1
  16. package/lib/factories/internal/metadata/MetadataHelper.js.map +1 -1
  17. package/lib/factories/internal/metadata/emplace_metadata_alias.d.ts +2 -2
  18. package/lib/factories/internal/metadata/emplace_metadata_object.js +5 -5
  19. package/lib/factories/internal/metadata/emplace_metadata_object.js.map +1 -1
  20. package/lib/factories/internal/metadata/explore_metadata.js +2 -0
  21. package/lib/factories/internal/metadata/explore_metadata.js.map +1 -1
  22. package/lib/factories/internal/metadata/iterate_metadata.js +1 -1
  23. package/lib/factories/internal/metadata/iterate_metadata.js.map +1 -1
  24. package/lib/factories/internal/metadata/iterate_metadata_alias.js +8 -2
  25. package/lib/factories/internal/metadata/iterate_metadata_alias.js.map +1 -1
  26. package/lib/factories/internal/metadata/iterate_metadata_collection.js +6 -6
  27. package/lib/factories/internal/metadata/iterate_metadata_collection.js.map +1 -1
  28. package/lib/factories/internal/metadata/iterate_metadata_intersection.js +262 -137
  29. package/lib/factories/internal/metadata/iterate_metadata_intersection.js.map +1 -1
  30. package/lib/factories/internal/metadata/iterate_metadata_map.js +4 -2
  31. package/lib/factories/internal/metadata/iterate_metadata_map.js.map +1 -1
  32. package/lib/factories/internal/metadata/iterate_metadata_native.js +27 -11
  33. package/lib/factories/internal/metadata/iterate_metadata_native.js.map +1 -1
  34. package/lib/factories/internal/metadata/iterate_metadata_set.js +8 -1
  35. package/lib/factories/internal/metadata/iterate_metadata_set.js.map +1 -1
  36. package/lib/factories/internal/metadata/iterate_metadata_sort.js +1 -1
  37. package/lib/factories/internal/metadata/iterate_metadata_sort.js.map +1 -1
  38. package/lib/factories/internal/metadata/iterate_metadata_template.js +1 -1
  39. package/lib/factories/internal/metadata/iterate_metadata_template.js.map +1 -1
  40. package/lib/programmers/CheckerProgrammer.js +5 -5
  41. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  42. package/lib/programmers/RandomProgrammer.js +12 -12
  43. package/lib/programmers/RandomProgrammer.js.map +1 -1
  44. package/lib/programmers/helpers/AtomicPredicator.js +3 -3
  45. package/lib/programmers/helpers/AtomicPredicator.js.map +1 -1
  46. package/lib/programmers/helpers/ProtobufUtil.d.ts +5 -4
  47. package/lib/programmers/helpers/ProtobufUtil.js +215 -92
  48. package/lib/programmers/helpers/ProtobufUtil.js.map +1 -1
  49. package/lib/programmers/helpers/UnionExplorer.d.ts +4 -2
  50. package/lib/programmers/helpers/UnionExplorer.js +1 -1
  51. package/lib/programmers/helpers/UnionExplorer.js.map +1 -1
  52. package/lib/programmers/http/HttpFormDataProgrammer.js +6 -6
  53. package/lib/programmers/http/HttpFormDataProgrammer.js.map +1 -1
  54. package/lib/programmers/internal/application_escaped.js +2 -2
  55. package/lib/programmers/internal/application_escaped.js.map +1 -1
  56. package/lib/programmers/internal/application_v30_alias.js +13 -8
  57. package/lib/programmers/internal/application_v30_alias.js.map +1 -1
  58. package/lib/programmers/internal/application_v30_native.js +17 -10
  59. package/lib/programmers/internal/application_v30_native.js.map +1 -1
  60. package/lib/programmers/internal/application_v30_object.js +16 -6
  61. package/lib/programmers/internal/application_v30_object.js.map +1 -1
  62. package/lib/programmers/internal/application_v30_schema.js +24 -17
  63. package/lib/programmers/internal/application_v30_schema.js.map +1 -1
  64. package/lib/programmers/internal/application_v31_alias.js +12 -11
  65. package/lib/programmers/internal/application_v31_alias.js.map +1 -1
  66. package/lib/programmers/internal/application_v31_native.js +17 -10
  67. package/lib/programmers/internal/application_v31_native.js.map +1 -1
  68. package/lib/programmers/internal/application_v31_object.js +13 -6
  69. package/lib/programmers/internal/application_v31_object.js.map +1 -1
  70. package/lib/programmers/internal/application_v31_schema.js +23 -16
  71. package/lib/programmers/internal/application_v31_schema.js.map +1 -1
  72. package/lib/programmers/internal/check_dynamic_key.js +4 -4
  73. package/lib/programmers/internal/check_dynamic_key.js.map +1 -1
  74. package/lib/programmers/internal/check_native.js +3 -3
  75. package/lib/programmers/internal/check_union_array_like.js.map +1 -1
  76. package/lib/programmers/internal/llm_schema_escaped.js +2 -2
  77. package/lib/programmers/internal/llm_schema_escaped.js.map +1 -1
  78. package/lib/programmers/internal/llm_schema_object.js +18 -14
  79. package/lib/programmers/internal/llm_schema_object.js.map +1 -1
  80. package/lib/programmers/internal/llm_schema_station.js +8 -8
  81. package/lib/programmers/internal/llm_schema_station.js.map +1 -1
  82. package/lib/programmers/json/JsonSchemasProgrammer.js +5 -5
  83. package/lib/programmers/json/JsonSchemasProgrammer.js.map +1 -1
  84. package/lib/programmers/json/JsonStringifyProgrammer.js +18 -17
  85. package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
  86. package/lib/programmers/llm/LlmSchemaProgrammer.js +6 -6
  87. package/lib/programmers/llm/LlmSchemaProgrammer.js.map +1 -1
  88. package/lib/programmers/misc/MiscCloneProgrammer.js +7 -5
  89. package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
  90. package/lib/programmers/misc/MiscPruneProgrammer.js +1 -1
  91. package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
  92. package/lib/programmers/notations/NotationGeneralProgrammer.js +6 -4
  93. package/lib/programmers/notations/NotationGeneralProgrammer.js.map +1 -1
  94. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js +15 -12
  95. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js.map +1 -1
  96. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js +6 -4
  97. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js.map +1 -1
  98. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js +51 -34
  99. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js.map +1 -1
  100. package/lib/schemas/metadata/IMetadata.d.ts +14 -18
  101. package/lib/schemas/metadata/IMetadataAlias.d.ts +2 -7
  102. package/lib/schemas/metadata/IMetadataAliasType.d.ts +10 -0
  103. package/lib/schemas/metadata/IMetadataAliasType.js +3 -0
  104. package/lib/schemas/metadata/IMetadataAliasType.js.map +1 -0
  105. package/lib/schemas/metadata/IMetadataComponents.d.ts +2 -2
  106. package/lib/schemas/metadata/IMetadataConstantValue.d.ts +1 -1
  107. package/lib/schemas/metadata/IMetadataDictionary.d.ts +2 -2
  108. package/lib/schemas/metadata/IMetadataMap.d.ts +7 -0
  109. package/lib/schemas/metadata/{IMetadataEntry.js → IMetadataMap.js} +1 -1
  110. package/lib/schemas/metadata/IMetadataMap.js.map +1 -0
  111. package/lib/schemas/metadata/IMetadataNative.d.ts +5 -0
  112. package/lib/schemas/metadata/IMetadataNative.js +3 -0
  113. package/lib/schemas/metadata/IMetadataNative.js.map +1 -0
  114. package/lib/schemas/metadata/IMetadataSet.d.ts +6 -0
  115. package/lib/schemas/metadata/IMetadataSet.js +3 -0
  116. package/lib/schemas/metadata/IMetadataSet.js.map +1 -0
  117. package/lib/schemas/metadata/IMetadataTemplate.d.ts +1 -1
  118. package/lib/schemas/metadata/IMetadataTypeTag.d.ts +1 -1
  119. package/lib/schemas/metadata/Metadata.d.ts +6 -9
  120. package/lib/schemas/metadata/Metadata.js +136 -98
  121. package/lib/schemas/metadata/Metadata.js.map +1 -1
  122. package/lib/schemas/metadata/MetadataAlias.d.ts +8 -11
  123. package/lib/schemas/metadata/MetadataAlias.js +48 -33
  124. package/lib/schemas/metadata/MetadataAlias.js.map +1 -1
  125. package/lib/schemas/metadata/MetadataAliasType.d.ts +16 -0
  126. package/lib/schemas/metadata/MetadataAliasType.js +51 -0
  127. package/lib/schemas/metadata/MetadataAliasType.js.map +1 -0
  128. package/lib/schemas/metadata/MetadataComponents.d.ts +2 -2
  129. package/lib/schemas/metadata/MetadataComponents.js +2 -2
  130. package/lib/schemas/metadata/MetadataComponents.js.map +1 -1
  131. package/lib/schemas/metadata/MetadataConstantValue.d.ts +1 -1
  132. package/lib/schemas/metadata/MetadataMap.d.ts +14 -0
  133. package/lib/schemas/metadata/MetadataMap.js +66 -0
  134. package/lib/schemas/metadata/MetadataMap.js.map +1 -0
  135. package/lib/schemas/metadata/MetadataNative.d.ts +12 -0
  136. package/lib/schemas/metadata/MetadataNative.js +65 -0
  137. package/lib/schemas/metadata/MetadataNative.js.map +1 -0
  138. package/lib/schemas/metadata/MetadataSet.d.ts +13 -0
  139. package/lib/schemas/metadata/MetadataSet.js +64 -0
  140. package/lib/schemas/metadata/MetadataSet.js.map +1 -0
  141. package/lib/schemas/metadata/MetadataTemplate.d.ts +1 -1
  142. package/lib/tags/Example.d.ts +2 -2
  143. package/lib/tags/Examples.d.ts +2 -2
  144. package/lib/tags/JsonSchemaPlugin.d.ts +1 -1
  145. package/lib/tags/Sequence.d.ts +9 -0
  146. package/lib/tags/Sequence.js +3 -0
  147. package/lib/tags/Sequence.js.map +1 -0
  148. package/lib/tags/TagBase.d.ts +1 -1
  149. package/lib/tags/index.d.ts +1 -0
  150. package/lib/tags/index.js +1 -0
  151. package/lib/tags/index.js.map +1 -1
  152. package/package.json +1 -1
  153. package/src/factories/JsonMetadataFactory.ts +5 -2
  154. package/src/factories/MetadataCollection.ts +6 -6
  155. package/src/factories/MetadataFactory.ts +7 -7
  156. package/src/factories/MetadataTypeTagFactory.ts +31 -6
  157. package/src/factories/ProtobufFactory.ts +494 -176
  158. package/src/factories/internal/metadata/IMetadataIteratorProps.ts +1 -0
  159. package/src/factories/internal/metadata/MetadataHelper.ts +1 -1
  160. package/src/factories/internal/metadata/emplace_metadata_alias.ts +2 -2
  161. package/src/factories/internal/metadata/emplace_metadata_object.ts +5 -5
  162. package/src/factories/internal/metadata/explore_metadata.ts +1 -0
  163. package/src/factories/internal/metadata/iterate_metadata.ts +1 -1
  164. package/src/factories/internal/metadata/iterate_metadata_alias.ts +9 -4
  165. package/src/factories/internal/metadata/iterate_metadata_collection.ts +6 -6
  166. package/src/factories/internal/metadata/iterate_metadata_intersection.ts +163 -181
  167. package/src/factories/internal/metadata/iterate_metadata_map.ts +5 -2
  168. package/src/factories/internal/metadata/iterate_metadata_native.ts +20 -2
  169. package/src/factories/internal/metadata/iterate_metadata_set.ts +27 -11
  170. package/src/factories/internal/metadata/iterate_metadata_sort.ts +1 -1
  171. package/src/factories/internal/metadata/iterate_metadata_template.ts +1 -3
  172. package/src/programmers/CheckerProgrammer.ts +9 -7
  173. package/src/programmers/RandomProgrammer.ts +16 -14
  174. package/src/programmers/helpers/AtomicPredicator.ts +3 -3
  175. package/src/programmers/helpers/ProtobufUtil.ts +146 -43
  176. package/src/programmers/helpers/UnionExplorer.ts +62 -62
  177. package/src/programmers/http/HttpFormDataProgrammer.ts +10 -6
  178. package/src/programmers/internal/application_escaped.ts +2 -2
  179. package/src/programmers/internal/application_v30_alias.ts +18 -12
  180. package/src/programmers/internal/application_v30_native.ts +22 -12
  181. package/src/programmers/internal/application_v30_object.ts +23 -8
  182. package/src/programmers/internal/application_v30_schema.ts +31 -34
  183. package/src/programmers/internal/application_v31_alias.ts +16 -13
  184. package/src/programmers/internal/application_v31_native.ts +22 -12
  185. package/src/programmers/internal/application_v31_object.ts +19 -8
  186. package/src/programmers/internal/application_v31_schema.ts +26 -29
  187. package/src/programmers/internal/check_dynamic_key.ts +4 -4
  188. package/src/programmers/internal/check_native.ts +4 -4
  189. package/src/programmers/internal/check_union_array_like.ts +2 -1
  190. package/src/programmers/internal/llm_schema_escaped.ts +2 -2
  191. package/src/programmers/internal/llm_schema_object.ts +21 -18
  192. package/src/programmers/internal/llm_schema_station.ts +9 -11
  193. package/src/programmers/json/JsonSchemasProgrammer.ts +5 -5
  194. package/src/programmers/json/JsonStringifyProgrammer.ts +5 -5
  195. package/src/programmers/llm/LlmSchemaProgrammer.ts +6 -6
  196. package/src/programmers/misc/MiscCloneProgrammer.ts +11 -7
  197. package/src/programmers/misc/MiscPruneProgrammer.ts +1 -1
  198. package/src/programmers/notations/NotationGeneralProgrammer.ts +10 -6
  199. package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +14 -7
  200. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +11 -8
  201. package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +45 -20
  202. package/src/schemas/metadata/IMetadata.ts +35 -39
  203. package/src/schemas/metadata/IMetadataAlias.ts +6 -12
  204. package/src/schemas/metadata/IMetadataAliasType.ts +12 -0
  205. package/src/schemas/metadata/IMetadataArray.ts +6 -6
  206. package/src/schemas/metadata/IMetadataComponents.ts +11 -11
  207. package/src/schemas/metadata/IMetadataConstantValue.ts +1 -1
  208. package/src/schemas/metadata/IMetadataDictionary.ts +2 -2
  209. package/src/schemas/metadata/IMetadataMap.ts +8 -0
  210. package/src/schemas/metadata/IMetadataNative.ts +6 -0
  211. package/src/schemas/metadata/IMetadataObjectType.ts +13 -13
  212. package/src/schemas/metadata/IMetadataSet.ts +7 -0
  213. package/src/schemas/metadata/IMetadataTemplate.ts +7 -7
  214. package/src/schemas/metadata/IMetadataTuple.ts +6 -6
  215. package/src/schemas/metadata/IMetadataTypeTag.ts +16 -16
  216. package/src/schemas/metadata/Metadata.ts +100 -47
  217. package/src/schemas/metadata/MetadataAlias.ts +46 -61
  218. package/src/schemas/metadata/MetadataAliasType.ts +63 -0
  219. package/src/schemas/metadata/MetadataArray.ts +49 -49
  220. package/src/schemas/metadata/MetadataComponents.ts +3 -3
  221. package/src/schemas/metadata/MetadataConstantValue.ts +1 -1
  222. package/src/schemas/metadata/MetadataMap.ts +48 -0
  223. package/src/schemas/metadata/MetadataNative.ts +44 -0
  224. package/src/schemas/metadata/MetadataProperty.ts +5 -0
  225. package/src/schemas/metadata/MetadataSet.ts +45 -0
  226. package/src/schemas/metadata/MetadataTemplate.ts +80 -80
  227. package/src/schemas/metadata/MetadataTuple.ts +32 -32
  228. package/src/tags/Example.ts +24 -17
  229. package/src/tags/Examples.ts +16 -16
  230. package/src/tags/JsonSchemaPlugin.ts +8 -8
  231. package/src/tags/Sequence.ts +10 -0
  232. package/src/tags/TagBase.ts +82 -76
  233. package/src/tags/index.ts +1 -0
  234. package/lib/schemas/metadata/IMetadataEntry.d.ts +0 -5
  235. package/lib/schemas/metadata/IMetadataEntry.js.map +0 -1
  236. package/src/schemas/metadata/IMetadataEntry.ts +0 -6
@@ -1,76 +1,82 @@
1
- export type TagBase<
2
- Props extends TagBase.IProps<any, any, any, any, any, any>,
3
- > = {
4
- /**
5
- * This is a dummy property for compilation.
6
- *
7
- * It does not mean anything in runtime.
8
- */
9
- "typia.tag"?: Props;
10
- };
11
- export namespace TagBase {
12
- export interface IProps<
13
- Target extends "boolean" | "bigint" | "number" | "string" | "array",
14
- Kind extends string,
15
- Value extends boolean | bigint | number | string | undefined,
16
- Validate extends
17
- | string
18
- | {
19
- [key in Target]?: string;
20
- },
21
- Exclusive extends boolean | string[],
22
- Schema extends object | undefined,
23
- > {
24
- /**
25
- * Target type.
26
- *
27
- * If user tries to adapt this tag to a different type, it would be a compile
28
- * error.
29
- *
30
- * For example, you've configured target type as `string`, but user adapted it
31
- * onto a `number` type (`number & YourCustomTag<Value>`), then it would be
32
- * blocked by TypeScript compiler.
33
- */
34
- target: Target;
35
-
36
- /**
37
- * What kind of tag is this?
38
- */
39
- kind: Kind;
40
-
41
- /**
42
- * Value to be configured by user.
43
- */
44
- value: Value;
45
-
46
- /**
47
- * Validation script.
48
- *
49
- * This script would be inserted into the generated validation function.
50
- * In here script, target variable name must be `$input`. The variable name
51
- * `$input` would be transformed to the suitable when compilation.
52
- *
53
- * Also, If you've take a mistake on this script, compile error would be
54
- * occured. So, define it with confidence. Compiler will block all your
55
- * mistakes.
56
- */
57
- validate?: Validate;
58
-
59
- /**
60
- * Exclusive option.
61
- *
62
- * If this property configured as `true`, same {@link kind} tag cannot be
63
- * duplicated in the target type. Otherwise, if you've configured this
64
- * property as string array, all of the {@link kind} value assigned
65
- * tags cannot be compatible in the target type.
66
- *
67
- * @default false
68
- */
69
- exclusive?: Exclusive | string[];
70
-
71
- /**
72
- * Additional schema info assigned to the {@link IJsonSchema} object.
73
- */
74
- schema?: Schema;
75
- }
76
- }
1
+ export type TagBase<
2
+ Props extends TagBase.IProps<any, any, any, any, any, any>,
3
+ > = {
4
+ /**
5
+ * This is a dummy property for compilation.
6
+ *
7
+ * It does not mean anything in runtime.
8
+ */
9
+ "typia.tag"?: Props;
10
+ };
11
+ export namespace TagBase {
12
+ export interface IProps<
13
+ Target extends
14
+ | "boolean"
15
+ | "bigint"
16
+ | "number"
17
+ | "string"
18
+ | "array"
19
+ | "object",
20
+ Kind extends string,
21
+ Value extends boolean | bigint | number | string | undefined,
22
+ Validate extends
23
+ | string
24
+ | {
25
+ [key in Target]?: string;
26
+ },
27
+ Exclusive extends boolean | string[],
28
+ Schema extends object | undefined,
29
+ > {
30
+ /**
31
+ * Target type.
32
+ *
33
+ * If user tries to adapt this tag to a different type, it would be a compile
34
+ * error.
35
+ *
36
+ * For example, you've configured target type as `string`, but user adapted it
37
+ * onto a `number` type (`number & YourCustomTag<Value>`), then it would be
38
+ * blocked by TypeScript compiler.
39
+ */
40
+ target: Target;
41
+
42
+ /**
43
+ * What kind of tag is this?
44
+ */
45
+ kind: Kind;
46
+
47
+ /**
48
+ * Value to be configured by user.
49
+ */
50
+ value: Value;
51
+
52
+ /**
53
+ * Validation script.
54
+ *
55
+ * This script would be inserted into the generated validation function.
56
+ * In here script, target variable name must be `$input`. The variable name
57
+ * `$input` would be transformed to the suitable when compilation.
58
+ *
59
+ * Also, If you've take a mistake on this script, compile error would be
60
+ * occured. So, define it with confidence. Compiler will block all your
61
+ * mistakes.
62
+ */
63
+ validate?: Validate;
64
+
65
+ /**
66
+ * Exclusive option.
67
+ *
68
+ * If this property configured as `true`, same {@link kind} tag cannot be
69
+ * duplicated in the target type. Otherwise, if you've configured this
70
+ * property as string array, all of the {@link kind} value assigned
71
+ * tags cannot be compatible in the target type.
72
+ *
73
+ * @default false
74
+ */
75
+ exclusive?: Exclusive | string[];
76
+
77
+ /**
78
+ * Additional schema info assigned to the {@link IJsonSchema} object.
79
+ */
80
+ schema?: Schema;
81
+ }
82
+ }
package/src/tags/index.ts CHANGED
@@ -15,6 +15,7 @@ export * from "./MinItems";
15
15
  export * from "./MinLength";
16
16
  export * from "./MultipleOf";
17
17
  export * from "./Pattern";
18
+ export * from "./Sequence";
18
19
  export * from "./TagBase";
19
20
  export * from "./Type";
20
21
  export * from "./UniqueItems";
@@ -1,5 +0,0 @@
1
- import { IMetadata } from "./IMetadata";
2
- export interface IMetadataEntry {
3
- key: IMetadata;
4
- value: IMetadata;
5
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"IMetadataEntry.js","sourceRoot":"","sources":["../../../src/schemas/metadata/IMetadataEntry.ts"],"names":[],"mappings":""}
@@ -1,6 +0,0 @@
1
- import { IMetadata } from "./IMetadata";
2
-
3
- export interface IMetadataEntry {
4
- key: IMetadata;
5
- value: IMetadata;
6
- }