typia 5.2.6 → 5.3.0-dev.20231112

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 (202) hide show
  1. package/lib/factories/ExpressionFactory.js +14 -16
  2. package/lib/factories/ExpressionFactory.js.map +1 -1
  3. package/lib/factories/JsonMetadataFactory.d.ts +1 -1
  4. package/lib/factories/JsonMetadataFactory.js +2 -2
  5. package/lib/factories/JsonMetadataFactory.js.map +1 -1
  6. package/lib/factories/LiteralFactory.js +2 -0
  7. package/lib/factories/LiteralFactory.js.map +1 -1
  8. package/lib/factories/MetadataCollection.d.ts +2 -2
  9. package/lib/factories/MetadataFactory.d.ts +1 -1
  10. package/lib/factories/MetadataFactory.js +236 -170
  11. package/lib/factories/MetadataFactory.js.map +1 -1
  12. package/lib/factories/NumericRangeFactory.d.ts +2 -2
  13. package/lib/factories/NumericRangeFactory.js +41 -21
  14. package/lib/factories/NumericRangeFactory.js.map +1 -1
  15. package/lib/factories/ProtobufFactory.d.ts +1 -1
  16. package/lib/factories/ProtobufFactory.js +2 -2
  17. package/lib/factories/ProtobufFactory.js.map +1 -1
  18. package/lib/factories/internal/metadata/MetadataHelper.js +3 -2
  19. package/lib/factories/internal/metadata/MetadataHelper.js.map +1 -1
  20. package/lib/factories/internal/metadata/iterate_metadata_constant.js +13 -8
  21. package/lib/factories/internal/metadata/iterate_metadata_constant.js.map +1 -1
  22. package/lib/factories/internal/metadata/iterate_metadata_intersection.js +8 -5
  23. package/lib/factories/internal/metadata/iterate_metadata_intersection.js.map +1 -1
  24. package/lib/functional/$from.d.ts +3 -0
  25. package/lib/functional/$from.js +9 -0
  26. package/lib/functional/$from.js.map +1 -0
  27. package/lib/functional/Namespace.js +7 -0
  28. package/lib/functional/Namespace.js.map +1 -1
  29. package/lib/module.d.ts +1 -0
  30. package/lib/module.js +2 -5
  31. package/lib/module.js.map +1 -1
  32. package/lib/programmers/CheckerProgrammer.js +11 -16
  33. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  34. package/lib/programmers/RandomProgrammer.js +1 -1
  35. package/lib/programmers/RandomProgrammer.js.map +1 -1
  36. package/lib/programmers/helpers/ProtobufUtil.js.map +1 -1
  37. package/lib/programmers/http/HttpHeadersProgrammer.js +1 -1
  38. package/lib/programmers/http/HttpHeadersProgrammer.js.map +1 -1
  39. package/lib/programmers/http/HttpParameterProgrammer.js +1 -1
  40. package/lib/programmers/http/HttpParameterProgrammer.js.map +1 -1
  41. package/lib/programmers/http/HttpQueryProgrammer.js +1 -1
  42. package/lib/programmers/http/HttpQueryProgrammer.js.map +1 -1
  43. package/lib/programmers/internal/application_array.js +8 -0
  44. package/lib/programmers/internal/application_array.js.map +1 -1
  45. package/lib/programmers/internal/application_number.js +8 -1
  46. package/lib/programmers/internal/application_number.js.map +1 -1
  47. package/lib/programmers/internal/application_string.js +8 -1
  48. package/lib/programmers/internal/application_string.js.map +1 -1
  49. package/lib/programmers/internal/check_array_length.js +7 -4
  50. package/lib/programmers/internal/check_array_length.js.map +1 -1
  51. package/lib/programmers/internal/check_bigint.js +7 -4
  52. package/lib/programmers/internal/check_bigint.js.map +1 -1
  53. package/lib/programmers/internal/check_number.js +7 -4
  54. package/lib/programmers/internal/check_number.js.map +1 -1
  55. package/lib/programmers/internal/check_string.js +7 -4
  56. package/lib/programmers/internal/check_string.js.map +1 -1
  57. package/lib/programmers/internal/metadata_to_pattern.js +3 -1
  58. package/lib/programmers/internal/metadata_to_pattern.js.map +1 -1
  59. package/lib/programmers/json/JsonAssertParseProgrammer.js +1 -1
  60. package/lib/programmers/json/JsonAssertParseProgrammer.js.map +1 -1
  61. package/lib/programmers/json/JsonIsParseProgrammer.js +1 -1
  62. package/lib/programmers/json/JsonIsParseProgrammer.js.map +1 -1
  63. package/lib/programmers/json/JsonStringifyProgrammer.js +3 -8
  64. package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
  65. package/lib/programmers/json/JsonValidateParseProgrammer.js +1 -1
  66. package/lib/programmers/json/JsonValidateParseProgrammer.js.map +1 -1
  67. package/lib/programmers/misc/MiscCloneProgrammer.js +19 -24
  68. package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
  69. package/lib/programmers/misc/MiscLiteralsProgrammer.js +1 -1
  70. package/lib/programmers/misc/MiscLiteralsProgrammer.js.map +1 -1
  71. package/lib/programmers/misc/MiscPruneProgrammer.js +11 -16
  72. package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
  73. package/lib/programmers/notations/NotationGeneralProgrammer.js +11 -16
  74. package/lib/programmers/notations/NotationGeneralProgrammer.js.map +1 -1
  75. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js +1 -1
  76. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js.map +1 -1
  77. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js +38 -42
  78. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js.map +1 -1
  79. package/lib/programmers/protobuf/ProtobufMessageProgrammer.d.ts +1 -1
  80. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js +22 -25
  81. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js.map +1 -1
  82. package/lib/reflect.d.ts +3 -0
  83. package/lib/reflect.js +13 -0
  84. package/lib/reflect.js.map +1 -0
  85. package/lib/schemas/json/IJsonSchema.d.ts +1 -0
  86. package/lib/schemas/metadata/IMetadataApplication.d.ts +2 -2
  87. package/lib/schemas/metadata/{IMetadataCollection.d.ts → IMetadataComponents.d.ts} +1 -1
  88. package/lib/schemas/metadata/{IMetadataCollection.js → IMetadataComponents.js} +1 -1
  89. package/lib/schemas/metadata/IMetadataComponents.js.map +1 -0
  90. package/lib/schemas/metadata/IMetadataConstant.d.ts +1 -1
  91. package/lib/schemas/metadata/IMetadataTypeTag.d.ts +2 -2
  92. package/lib/schemas/metadata/Metadata.d.ts +2 -2
  93. package/lib/schemas/metadata/Metadata.js +82 -173
  94. package/lib/schemas/metadata/Metadata.js.map +1 -1
  95. package/lib/schemas/metadata/MetadataAlias.js +1 -1
  96. package/lib/schemas/metadata/MetadataAlias.js.map +1 -1
  97. package/lib/schemas/metadata/MetadataApplication.d.ts +13 -0
  98. package/lib/schemas/metadata/MetadataApplication.js +30 -0
  99. package/lib/schemas/metadata/MetadataApplication.js.map +1 -0
  100. package/lib/schemas/metadata/MetadataArrayType.js +1 -1
  101. package/lib/schemas/metadata/MetadataArrayType.js.map +1 -1
  102. package/lib/schemas/metadata/MetadataAtomic.d.ts +3 -0
  103. package/lib/schemas/metadata/MetadataAtomic.js +42 -0
  104. package/lib/schemas/metadata/MetadataAtomic.js.map +1 -1
  105. package/lib/schemas/metadata/MetadataComponents.d.ts +16 -0
  106. package/lib/schemas/metadata/MetadataComponents.js +151 -0
  107. package/lib/schemas/metadata/MetadataComponents.js.map +1 -0
  108. package/lib/schemas/metadata/MetadataConstant.d.ts +9 -1
  109. package/lib/schemas/metadata/MetadataConstant.js +29 -0
  110. package/lib/schemas/metadata/MetadataConstant.js.map +1 -1
  111. package/lib/schemas/metadata/MetadataEscaped.js +4 -4
  112. package/lib/schemas/metadata/MetadataEscaped.js.map +1 -1
  113. package/lib/schemas/metadata/MetadataObject.js +2 -2
  114. package/lib/schemas/metadata/MetadataObject.js.map +1 -1
  115. package/lib/schemas/metadata/MetadataProperty.js +4 -4
  116. package/lib/schemas/metadata/MetadataProperty.js.map +1 -1
  117. package/lib/schemas/metadata/MetadataTupleType.js +1 -1
  118. package/lib/schemas/metadata/MetadataTupleType.js.map +1 -1
  119. package/lib/transformers/CallExpressionTransformer.js +5 -2
  120. package/lib/transformers/CallExpressionTransformer.js.map +1 -1
  121. package/lib/transformers/features/json/JsonApplicationTransformer.d.ts +1 -1
  122. package/lib/transformers/features/json/JsonApplicationTransformer.js +4 -5
  123. package/lib/transformers/features/json/JsonApplicationTransformer.js.map +1 -1
  124. package/lib/transformers/features/reflect/ReflectMetadataTransformer.d.ts +5 -0
  125. package/lib/transformers/features/reflect/ReflectMetadataTransformer.js +58 -0
  126. package/lib/transformers/features/reflect/ReflectMetadataTransformer.js.map +1 -0
  127. package/package.json +2 -2
  128. package/src/Primitive.ts +135 -135
  129. package/src/executable/TypiaSetupWizard.ts +142 -142
  130. package/src/executable/setup/CommandExecutor.ts +8 -8
  131. package/src/factories/ExpressionFactory.ts +12 -13
  132. package/src/factories/JsonMetadataFactory.ts +53 -50
  133. package/src/factories/LiteralFactory.ts +2 -0
  134. package/src/factories/MetadataCollection.ts +282 -282
  135. package/src/factories/MetadataFactory.ts +55 -22
  136. package/src/factories/NumericRangeFactory.ts +56 -17
  137. package/src/factories/ProtobufFactory.ts +5 -2
  138. package/src/factories/internal/metadata/MetadataHelper.ts +7 -4
  139. package/src/factories/internal/metadata/emplace_metadata_object.ts +178 -178
  140. package/src/factories/internal/metadata/iterate_metadata_constant.ts +10 -8
  141. package/src/factories/internal/metadata/iterate_metadata_intersection.ts +9 -8
  142. package/src/functional/$from.ts +5 -0
  143. package/src/functional/$stoll.ts +8 -8
  144. package/src/functional/Namespace.ts +175 -168
  145. package/src/module.ts +1 -19
  146. package/src/programmers/AssertProgrammer.ts +322 -322
  147. package/src/programmers/CheckerProgrammer.ts +16 -17
  148. package/src/programmers/IsProgrammer.ts +258 -258
  149. package/src/programmers/RandomProgrammer.ts +4 -1
  150. package/src/programmers/ValidateProgrammer.ts +350 -350
  151. package/src/programmers/helpers/AtomicPredicator.ts +31 -31
  152. package/src/programmers/helpers/ProtobufUtil.ts +3 -2
  153. package/src/programmers/http/HttpHeadersProgrammer.ts +4 -1
  154. package/src/programmers/http/HttpParameterProgrammer.ts +4 -1
  155. package/src/programmers/http/HttpQueryProgrammer.ts +4 -1
  156. package/src/programmers/internal/application_array.ts +8 -0
  157. package/src/programmers/internal/application_number.ts +8 -1
  158. package/src/programmers/internal/application_string.ts +8 -1
  159. package/src/programmers/internal/check_array_length.ts +5 -2
  160. package/src/programmers/internal/check_bigint.ts +5 -2
  161. package/src/programmers/internal/check_dynamic_key.ts +178 -178
  162. package/src/programmers/internal/check_dynamic_properties.ts +202 -202
  163. package/src/programmers/internal/check_number.ts +5 -2
  164. package/src/programmers/internal/check_object.ts +62 -62
  165. package/src/programmers/internal/check_string.ts +5 -3
  166. package/src/programmers/internal/metadata_to_pattern.ts +3 -1
  167. package/src/programmers/json/JsonAssertParseProgrammer.ts +1 -0
  168. package/src/programmers/json/JsonIsParseProgrammer.ts +1 -0
  169. package/src/programmers/json/JsonStringifyProgrammer.ts +959 -960
  170. package/src/programmers/json/JsonValidateParseProgrammer.ts +1 -0
  171. package/src/programmers/misc/MiscCloneProgrammer.ts +787 -786
  172. package/src/programmers/misc/MiscLiteralsProgrammer.ts +4 -1
  173. package/src/programmers/misc/MiscPruneProgrammer.ts +549 -548
  174. package/src/programmers/notations/NotationGeneralProgrammer.ts +717 -716
  175. package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +1 -0
  176. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +872 -882
  177. package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +21 -21
  178. package/src/reflect.ts +24 -0
  179. package/src/schemas/json/IJsonSchema.ts +1 -0
  180. package/src/schemas/metadata/IMetadataApplication.ts +2 -2
  181. package/src/schemas/metadata/{IMetadataCollection.ts → IMetadataComponents.ts} +1 -1
  182. package/src/schemas/metadata/IMetadataConstant.ts +1 -1
  183. package/src/schemas/metadata/IMetadataTypeTag.ts +9 -2
  184. package/src/schemas/metadata/Metadata.ts +18 -91
  185. package/src/schemas/metadata/MetadataAlias.ts +1 -1
  186. package/src/schemas/metadata/MetadataApplication.ts +44 -0
  187. package/src/schemas/metadata/MetadataArrayType.ts +1 -1
  188. package/src/schemas/metadata/MetadataAtomic.ts +44 -0
  189. package/src/schemas/metadata/MetadataComponents.ts +98 -0
  190. package/src/schemas/metadata/MetadataConstant.ts +44 -1
  191. package/src/schemas/metadata/MetadataEscaped.ts +4 -4
  192. package/src/schemas/metadata/MetadataObject.ts +2 -2
  193. package/src/schemas/metadata/MetadataProperty.ts +4 -7
  194. package/src/schemas/metadata/MetadataTupleType.ts +1 -1
  195. package/src/transform.ts +35 -35
  196. package/src/transformers/CallExpressionTransformer.ts +5 -2
  197. package/src/transformers/features/json/JsonApplicationTransformer.ts +7 -4
  198. package/src/transformers/features/{misc/MetadataTransformer.ts → reflect/ReflectMetadataTransformer.ts} +25 -8
  199. package/lib/schemas/metadata/IMetadataCollection.js.map +0 -1
  200. package/lib/transformers/features/misc/MetadataTransformer.d.ts +0 -5
  201. package/lib/transformers/features/misc/MetadataTransformer.js +0 -55
  202. package/lib/transformers/features/misc/MetadataTransformer.js.map +0 -1
@@ -1,168 +1,175 @@
1
- import { NamingConvention } from "../utils/NamingConvention";
2
- import { RandomGenerator } from "../utils/RandomGenerator";
3
-
4
- import { IValidation } from "../IValidation";
5
- import { TypeGuardError } from "../TypeGuardError";
6
- import { $HeadersReader } from "./$HeadersReader";
7
- import { $ParameterReader } from "./$ParameterReader";
8
- import { $ProtobufReader } from "./$ProtobufReader";
9
- import { $ProtobufSizer } from "./$ProtobufSizer";
10
- import { $ProtobufWriter } from "./$ProtobufWriter";
11
- import { $QueryReader } from "./$QueryReader";
12
- import { $any } from "./$any";
13
- import { $convention } from "./$convention";
14
- import { $every } from "./$every";
15
- import { $guard } from "./$guard";
16
- import { $is_between } from "./$is_between";
17
- import { $join } from "./$join";
18
- import { $number } from "./$number";
19
- import { $report } from "./$report";
20
- import { $rest } from "./$rest";
21
- import { $is_bigint_string } from "./$stoll";
22
- import { $string } from "./$string";
23
- import { $strlen } from "./$strlen";
24
- import { $tail } from "./$tail";
25
-
26
- /**
27
- * @internal
28
- */
29
- export namespace Namespace {
30
- export const is = () => ({
31
- is_between: $is_between,
32
- is_bigint_string: $is_bigint_string,
33
- });
34
-
35
- export const assert = (method: string) => ({
36
- ...is(),
37
- join: $join,
38
- every: $every,
39
- guard: $guard(`typia.${method}`),
40
- predicate: (
41
- matched: boolean,
42
- exceptionable: boolean,
43
- closure: () => Omit<TypeGuardError.IProps, "method">,
44
- ): boolean => {
45
- if (matched === false && exceptionable === true)
46
- throw new TypeGuardError({
47
- ...closure(),
48
- method: `typia.${method}`,
49
- });
50
- return matched;
51
- },
52
- });
53
-
54
- export const validate = () => ({
55
- ...is(),
56
- join: $join,
57
- report: $report,
58
- predicate:
59
- (res: IValidation) =>
60
- (
61
- matched: boolean,
62
- exceptionable: boolean,
63
- closure: () => IValidation.IError,
64
- ) => {
65
- // CHECK FAILURE
66
- if (matched === false && exceptionable === true)
67
- (() => {
68
- res.success &&= false;
69
- const errorList = (res as IValidation.IFailure).errors;
70
-
71
- // TRACE ERROR
72
- const error = closure();
73
- if (errorList.length) {
74
- const last = errorList[errorList.length - 1]!.path;
75
- if (
76
- last.length >= error.path.length &&
77
- last.substring(0, error.path.length) ===
78
- error.path
79
- )
80
- return;
81
- }
82
- errorList.push(error);
83
- return;
84
- })();
85
- return matched;
86
- },
87
- });
88
-
89
- export namespace json {
90
- export const stringify = (method: string) => ({
91
- ...is(),
92
- number: $number,
93
- string: $string,
94
- tail: $tail,
95
- rest: $rest,
96
- throws: $throws(`json.${method}`),
97
- });
98
- }
99
-
100
- export namespace protobuf {
101
- export const decode = (method: string) => ({
102
- ...is(),
103
- Reader: $ProtobufReader,
104
- throws: $throws(`protobuf.${method}`),
105
- });
106
-
107
- export const encode = (method: string) => ({
108
- ...is(),
109
- Sizer: $ProtobufSizer,
110
- Writer: $ProtobufWriter,
111
- strlen: $strlen,
112
- throws: $throws(method),
113
- });
114
- }
115
-
116
- export namespace http {
117
- export const query = () => $QueryReader;
118
- export const headers = () => $HeadersReader;
119
- export const parameter = () => $ParameterReader;
120
- }
121
-
122
- export namespace misc {
123
- export const clone = (method: string) => ({
124
- ...is(),
125
- throws: $throws(`misc.${method}`),
126
- any: $any,
127
- });
128
-
129
- export const prune = (method: string) => ({
130
- ...is(),
131
- throws: $throws(`misc.${method}`),
132
- });
133
- }
134
-
135
- export namespace notations {
136
- export const camel = (method: string) => ({
137
- ...base(method),
138
- any: $convention(NamingConvention.camel),
139
- });
140
- export const pascal = (method: string) => ({
141
- ...base(method),
142
- any: $convention(NamingConvention.pascal),
143
- });
144
- export const snake = (method: string) => ({
145
- ...base(method),
146
- any: $convention(NamingConvention.snake),
147
- });
148
-
149
- const base = (method: string) => ({
150
- ...is(),
151
- throws: $throws(`notations.${method}`),
152
- });
153
- }
154
-
155
- export const random = () => ({
156
- generator: RandomGenerator,
157
- pick: RandomGenerator.pick,
158
- });
159
-
160
- const $throws =
161
- (method: string) =>
162
- (props: Pick<TypeGuardError.IProps, "expected" | "value">) => {
163
- throw new TypeGuardError({
164
- ...props,
165
- method: `typia.${method}`,
166
- });
167
- };
168
- }
1
+ import { NamingConvention } from "../utils/NamingConvention";
2
+ import { RandomGenerator } from "../utils/RandomGenerator";
3
+
4
+ import { IValidation } from "../IValidation";
5
+ import { TypeGuardError } from "../TypeGuardError";
6
+ import { $HeadersReader } from "./$HeadersReader";
7
+ import { $ParameterReader } from "./$ParameterReader";
8
+ import { $ProtobufReader } from "./$ProtobufReader";
9
+ import { $ProtobufSizer } from "./$ProtobufSizer";
10
+ import { $ProtobufWriter } from "./$ProtobufWriter";
11
+ import { $QueryReader } from "./$QueryReader";
12
+ import { $any } from "./$any";
13
+ import { $convention } from "./$convention";
14
+ import { $every } from "./$every";
15
+ import { $from } from "./$from";
16
+ import { $guard } from "./$guard";
17
+ import { $is_between } from "./$is_between";
18
+ import { $join } from "./$join";
19
+ import { $number } from "./$number";
20
+ import { $report } from "./$report";
21
+ import { $rest } from "./$rest";
22
+ import { $is_bigint_string } from "./$stoll";
23
+ import { $string } from "./$string";
24
+ import { $strlen } from "./$strlen";
25
+ import { $tail } from "./$tail";
26
+
27
+ /**
28
+ * @internal
29
+ */
30
+ export namespace Namespace {
31
+ export const is = () => ({
32
+ is_between: $is_between,
33
+ is_bigint_string: $is_bigint_string,
34
+ });
35
+
36
+ export const assert = (method: string) => ({
37
+ ...is(),
38
+ join: $join,
39
+ every: $every,
40
+ guard: $guard(`typia.${method}`),
41
+ predicate: (
42
+ matched: boolean,
43
+ exceptionable: boolean,
44
+ closure: () => Omit<TypeGuardError.IProps, "method">,
45
+ ): boolean => {
46
+ if (matched === false && exceptionable === true)
47
+ throw new TypeGuardError({
48
+ ...closure(),
49
+ method: `typia.${method}`,
50
+ });
51
+ return matched;
52
+ },
53
+ });
54
+
55
+ export const validate = () => ({
56
+ ...is(),
57
+ join: $join,
58
+ report: $report,
59
+ predicate:
60
+ (res: IValidation) =>
61
+ (
62
+ matched: boolean,
63
+ exceptionable: boolean,
64
+ closure: () => IValidation.IError,
65
+ ) => {
66
+ // CHECK FAILURE
67
+ if (matched === false && exceptionable === true)
68
+ (() => {
69
+ res.success &&= false;
70
+ const errorList = (res as IValidation.IFailure).errors;
71
+
72
+ // TRACE ERROR
73
+ const error = closure();
74
+ if (errorList.length) {
75
+ const last = errorList[errorList.length - 1]!.path;
76
+ if (
77
+ last.length >= error.path.length &&
78
+ last.substring(0, error.path.length) ===
79
+ error.path
80
+ )
81
+ return;
82
+ }
83
+ errorList.push(error);
84
+ return;
85
+ })();
86
+ return matched;
87
+ },
88
+ });
89
+
90
+ export namespace json {
91
+ export const stringify = (method: string) => ({
92
+ ...is(),
93
+ number: $number,
94
+ string: $string,
95
+ tail: $tail,
96
+ rest: $rest,
97
+ throws: $throws(`json.${method}`),
98
+ });
99
+ }
100
+
101
+ export namespace protobuf {
102
+ export const decode = (method: string) => ({
103
+ ...is(),
104
+ Reader: $ProtobufReader,
105
+ throws: $throws(`protobuf.${method}`),
106
+ });
107
+
108
+ export const encode = (method: string) => ({
109
+ ...is(),
110
+ Sizer: $ProtobufSizer,
111
+ Writer: $ProtobufWriter,
112
+ strlen: $strlen,
113
+ throws: $throws(method),
114
+ });
115
+ }
116
+
117
+ export namespace reflect {
118
+ export const metadata = () => ({
119
+ from: $from,
120
+ });
121
+ }
122
+
123
+ export namespace http {
124
+ export const query = () => $QueryReader;
125
+ export const headers = () => $HeadersReader;
126
+ export const parameter = () => $ParameterReader;
127
+ }
128
+
129
+ export namespace misc {
130
+ export const clone = (method: string) => ({
131
+ ...is(),
132
+ throws: $throws(`misc.${method}`),
133
+ any: $any,
134
+ });
135
+
136
+ export const prune = (method: string) => ({
137
+ ...is(),
138
+ throws: $throws(`misc.${method}`),
139
+ });
140
+ }
141
+
142
+ export namespace notations {
143
+ export const camel = (method: string) => ({
144
+ ...base(method),
145
+ any: $convention(NamingConvention.camel),
146
+ });
147
+ export const pascal = (method: string) => ({
148
+ ...base(method),
149
+ any: $convention(NamingConvention.pascal),
150
+ });
151
+ export const snake = (method: string) => ({
152
+ ...base(method),
153
+ any: $convention(NamingConvention.snake),
154
+ });
155
+
156
+ const base = (method: string) => ({
157
+ ...is(),
158
+ throws: $throws(`notations.${method}`),
159
+ });
160
+ }
161
+
162
+ export const random = () => ({
163
+ generator: RandomGenerator,
164
+ pick: RandomGenerator.pick,
165
+ });
166
+
167
+ const $throws =
168
+ (method: string) =>
169
+ (props: Pick<TypeGuardError.IProps, "expected" | "value">) => {
170
+ throw new TypeGuardError({
171
+ ...props,
172
+ method: `typia.${method}`,
173
+ });
174
+ };
175
+ }
package/src/module.ts CHANGED
@@ -1,7 +1,5 @@
1
1
  import { Namespace } from "./functional/Namespace";
2
2
 
3
- import { IMetadataApplication } from "./schemas/metadata/IMetadataApplication";
4
-
5
3
  import { IRandomGenerator } from "./IRandomGenerator";
6
4
  import { IValidation } from "./IValidation";
7
5
  import { Resolved } from "./Resolved";
@@ -11,6 +9,7 @@ export * as json from "./json";
11
9
  export * as misc from "./misc";
12
10
  export * as notations from "./notations";
13
11
  export * as protobuf from "./protobuf";
12
+ export * as reflect from "./reflect";
14
13
  export * as tags from "./tags";
15
14
 
16
15
  export * from "./schemas/json/IJsonApplication";
@@ -425,23 +424,6 @@ export function random(): never {
425
424
  }
426
425
  Object.assign(random, Namespace.random());
427
426
 
428
- /**
429
- * @internal
430
- */
431
- export function metadata(): never;
432
-
433
- /**
434
- * @internal
435
- */
436
- export function metadata<Types extends unknown[]>(): IMetadataApplication;
437
-
438
- /**
439
- * @internal
440
- */
441
- export function metadata(): never {
442
- halt("metadata");
443
- }
444
-
445
427
  /* -----------------------------------------------------------
446
428
  FACTORY FUNCTIONS
447
429
  ----------------------------------------------------------- */