typia 9.6.1 → 9.7.0
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.
- package/lib/CamelCase.d.mts +1 -1
- package/lib/CamelCase.d.ts +1 -1
- package/lib/IRandomGenerator.d.mts +240 -0
- package/lib/IRandomGenerator.d.ts +240 -0
- package/lib/PascalCase.d.mts +1 -1
- package/lib/PascalCase.d.ts +1 -1
- package/lib/Primitive.d.mts +8 -8
- package/lib/Primitive.d.ts +8 -8
- package/lib/Resolved.d.mts +9 -9
- package/lib/Resolved.d.ts +9 -9
- package/lib/SnakeCase.d.mts +1 -1
- package/lib/SnakeCase.d.ts +1 -1
- package/lib/factories/TypeFactory.d.mts +1 -0
- package/lib/factories/TypeFactory.d.ts +1 -0
- package/lib/factories/TypeFactory.js +1 -1
- package/lib/factories/TypeFactory.js.map +1 -1
- package/lib/factories/TypeFactory.mjs +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_map.js +2 -3
- package/lib/factories/internal/metadata/iterate_metadata_map.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_map.mjs +2 -3
- package/lib/factories/internal/metadata/iterate_metadata_set.js +2 -3
- package/lib/factories/internal/metadata/iterate_metadata_set.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_set.mjs +2 -3
- package/lib/functional.js +1 -1
- package/lib/functional.js.map +1 -1
- package/lib/functional.mjs +1 -1
- package/lib/http.d.mts +23 -23
- package/lib/http.d.ts +23 -23
- package/lib/internal/_llmApplicationFinalize.d.mts +1 -1
- package/lib/internal/_llmApplicationFinalize.d.ts +1 -1
- package/lib/internal/_llmApplicationFinalize.js +14 -11
- package/lib/internal/_llmApplicationFinalize.js.map +1 -1
- package/lib/internal/_llmApplicationFinalize.mjs +13 -9
- package/lib/json.d.mts +16 -16
- package/lib/json.d.ts +16 -16
- package/lib/llm.d.mts +18 -18
- package/lib/llm.d.ts +18 -18
- package/lib/llm.js.map +1 -1
- package/lib/misc.d.mts +23 -23
- package/lib/misc.d.ts +23 -23
- package/lib/module.d.mts +75 -75
- package/lib/module.d.ts +75 -75
- package/lib/module.js.map +1 -1
- package/lib/transformers/features/llm/LlmApplicationTransformer.js +8 -9
- package/lib/transformers/features/llm/LlmApplicationTransformer.js.map +1 -1
- package/lib/transformers/features/llm/LlmApplicationTransformer.mjs +8 -9
- package/package.json +2 -2
- package/src/CamelCase.ts +1 -1
- package/src/IRandomGenerator.ts +284 -6
- package/src/PascalCase.ts +1 -1
- package/src/Primitive.ts +8 -8
- package/src/Resolved.ts +9 -9
- package/src/SnakeCase.ts +1 -1
- package/src/factories/TypeFactory.ts +5 -3
- package/src/factories/internal/metadata/iterate_metadata_map.ts +3 -3
- package/src/factories/internal/metadata/iterate_metadata_set.ts +2 -3
- package/src/functional.ts +1 -1
- package/src/http.ts +23 -23
- package/src/internal/_llmApplicationFinalize.ts +25 -11
- package/src/json.ts +16 -16
- package/src/llm.ts +26 -18
- package/src/misc.ts +23 -23
- package/src/module.ts +76 -75
- package/src/transformers/features/llm/LlmApplicationTransformer.ts +18 -22
package/src/module.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
2
|
+
|
|
2
3
|
import { NoTransformConfigurationError } from "./transformers/NoTransformConfigurationError";
|
|
3
4
|
|
|
4
5
|
import { AssertionGuard } from "./AssertionGuard";
|
|
@@ -39,24 +40,24 @@ export * from "./IReadableURLSearchParams";
|
|
|
39
40
|
/**
|
|
40
41
|
* Asserts a value type.
|
|
41
42
|
*
|
|
42
|
-
* Asserts a parametric value type and throws a {@link TypeGuardError} with detailed
|
|
43
|
-
* reason, if the parametric value is not following the type `T`. Otherwise, the
|
|
44
|
-
* value is following the type `T`,
|
|
43
|
+
* Asserts a parametric value type and throws a {@link TypeGuardError} with a detailed
|
|
44
|
+
* reason, if the parametric value is not following the type `T`. Otherwise, if the
|
|
45
|
+
* value is following the type `T`, the input parameter will be returned.
|
|
45
46
|
*
|
|
46
47
|
* If what you want is not asserting but just knowing whether the parametric value is
|
|
47
48
|
* following the type `T` or not, you can choose the {@link is} function instead.
|
|
48
|
-
* Otherwise you want to know all the errors, {@link validate} is the way to go.
|
|
49
|
+
* Otherwise, if you want to know all the errors, {@link validate} is the way to go.
|
|
49
50
|
* Also, if you want to automatically cast the parametric value to the type `T`
|
|
50
|
-
* when no problem (perform the assertion guard of type).
|
|
51
|
+
* when there is no problem (perform the assertion guard of type).
|
|
51
52
|
*
|
|
52
|
-
* On the other
|
|
53
|
+
* On the other hand, if you don't want to allow any superfluous property that is not
|
|
53
54
|
* enrolled to the type `T`, you can use {@link assertEquals} function instead.
|
|
54
55
|
*
|
|
55
56
|
* @template T Type of the input value
|
|
56
57
|
* @param input A value to be asserted
|
|
57
58
|
* @param errorFactory Custom error factory. Default is `TypeGuardError`
|
|
58
59
|
* @returns Parametric input value
|
|
59
|
-
* @throws A {@link TypeGuardError} instance with detailed reason
|
|
60
|
+
* @throws A {@link TypeGuardError} instance with a detailed reason
|
|
60
61
|
*
|
|
61
62
|
* @author Jeongho Nam - https://github.com/samchon
|
|
62
63
|
*/
|
|
@@ -68,22 +69,22 @@ export function assert<T>(
|
|
|
68
69
|
/**
|
|
69
70
|
* Asserts a value type.
|
|
70
71
|
*
|
|
71
|
-
* Asserts a parametric value type and throws a {@link TypeGuardError} with detailed
|
|
72
|
-
* reason, if the parametric value is not following the type `T`. Otherwise, the
|
|
73
|
-
* value is following the type `T`,
|
|
72
|
+
* Asserts a parametric value type and throws a {@link TypeGuardError} with a detailed
|
|
73
|
+
* reason, if the parametric value is not following the type `T`. Otherwise, if the
|
|
74
|
+
* value is following the type `T`, the input parameter will be returned.
|
|
74
75
|
*
|
|
75
76
|
* If what you want is not asserting but just knowing whether the parametric value is
|
|
76
77
|
* following the type `T` or not, you can choose the {@link is} function instead.
|
|
77
|
-
* Otherwise, you want to know all the errors, {@link validate} is the way to go.
|
|
78
|
+
* Otherwise, if you want to know all the errors, {@link validate} is the way to go.
|
|
78
79
|
*
|
|
79
|
-
* On the other
|
|
80
|
+
* On the other hand, if you don't want to allow any superfluous property that is not
|
|
80
81
|
* enrolled to the type `T`, you can use {@link assertEquals} function instead.
|
|
81
82
|
*
|
|
82
83
|
* @template T Type of the input value
|
|
83
84
|
* @param input A value to be asserted
|
|
84
85
|
* @param errorFactory Custom error factory. Default is `TypeGuardError`
|
|
85
86
|
* @returns Parametric input value casted as `T`
|
|
86
|
-
* @throws A {@link TypeGuardError} instance with detailed reason
|
|
87
|
+
* @throws A {@link TypeGuardError} instance with a detailed reason
|
|
87
88
|
*
|
|
88
89
|
* @author Jeongho Nam - https://github.com/samchon
|
|
89
90
|
*/
|
|
@@ -102,25 +103,25 @@ export function assert(): never {
|
|
|
102
103
|
/**
|
|
103
104
|
* Assertion guard of a value type.
|
|
104
105
|
*
|
|
105
|
-
* Asserts a parametric value type and throws a {@link TypeGuardError} with detailed
|
|
106
|
-
* reason, if the parametric value is not following the type `T`. Otherwise, the
|
|
107
|
-
* value is following the type `T`, nothing
|
|
108
|
-
*
|
|
106
|
+
* Asserts a parametric value type and throws a {@link TypeGuardError} with a detailed
|
|
107
|
+
* reason, if the parametric value is not following the type `T`. Otherwise, if the
|
|
108
|
+
* value is following the type `T`, nothing will be returned, but the input value
|
|
109
|
+
* will be automatically casted to the type `T`. This is the concept of
|
|
109
110
|
* "Assertion Guard" of a value type.
|
|
110
111
|
*
|
|
111
112
|
* If what you want is not asserting but just knowing whether the parametric value is
|
|
112
113
|
* following the type `T` or not, you can choose the {@link is} function instead.
|
|
113
|
-
* Otherwise you want to know all the errors, {@link validate} is the way to go.
|
|
114
|
-
* Also, if you want to
|
|
114
|
+
* Otherwise, if you want to know all the errors, {@link validate} is the way to go.
|
|
115
|
+
* Also, if you want to return the parametric value when there is no problem, you can use
|
|
115
116
|
* {@link assert} function instead.
|
|
116
117
|
*
|
|
117
|
-
* On the other
|
|
118
|
+
* On the other hand, if you don't want to allow any superfluous property that is not
|
|
118
119
|
* enrolled to the type `T`, you can use {@link assertGuardEquals} function instead.
|
|
119
120
|
*
|
|
120
121
|
* @template T Type of the input value
|
|
121
122
|
* @param input A value to be asserted
|
|
122
123
|
* @param errorFactory Custom error factory. Default is `TypeGuardError`
|
|
123
|
-
* @throws A {@link TypeGuardError} instance with detailed reason
|
|
124
|
+
* @throws A {@link TypeGuardError} instance with a detailed reason
|
|
124
125
|
*
|
|
125
126
|
* @author Jeongho Nam - https://github.com/samchon
|
|
126
127
|
*/
|
|
@@ -132,25 +133,25 @@ export function assertGuard<T>(
|
|
|
132
133
|
/**
|
|
133
134
|
* Assertion guard of a value type.
|
|
134
135
|
*
|
|
135
|
-
* Asserts a parametric value type and throws a {@link TypeGuardError} with detailed
|
|
136
|
-
* reason, if the parametric value is not following the type `T`. Otherwise, the
|
|
137
|
-
* value is following the type `T`, nothing
|
|
138
|
-
*
|
|
136
|
+
* Asserts a parametric value type and throws a {@link TypeGuardError} with a detailed
|
|
137
|
+
* reason, if the parametric value is not following the type `T`. Otherwise, if the
|
|
138
|
+
* value is following the type `T`, nothing will be returned, but the input value
|
|
139
|
+
* will be automatically casted to the type `T`. This is the concept of
|
|
139
140
|
* "Assertion Guard" of a value type.
|
|
140
141
|
*
|
|
141
142
|
* If what you want is not asserting but just knowing whether the parametric value is
|
|
142
143
|
* following the type `T` or not, you can choose the {@link is} function instead.
|
|
143
|
-
* Otherwise you want to know all the errors, {@link validate} is the way to go.
|
|
144
|
-
* Also, if you want to
|
|
144
|
+
* Otherwise, if you want to know all the errors, {@link validate} is the way to go.
|
|
145
|
+
* Also, if you want to return the parametric value when there is no problem, you can use
|
|
145
146
|
* {@link assert} function instead.
|
|
146
147
|
*
|
|
147
|
-
* On the other
|
|
148
|
+
* On the other hand, if you don't want to allow any superfluous property that is not
|
|
148
149
|
* enrolled to the type `T`, you can use {@link assertGuardEquals} function instead.
|
|
149
150
|
*
|
|
150
151
|
* @template T Type of the input value
|
|
151
152
|
* @param input A value to be asserted
|
|
152
153
|
* @param errorFactory Custom error factory. Default is `TypeGuardError`
|
|
153
|
-
* @throws A {@link TypeGuardError} instance with detailed reason
|
|
154
|
+
* @throws A {@link TypeGuardError} instance with a detailed reason
|
|
154
155
|
*
|
|
155
156
|
* @author Jeongho Nam - https://github.com/samchon
|
|
156
157
|
*/
|
|
@@ -170,16 +171,16 @@ export function assertGuard(): never {
|
|
|
170
171
|
* Tests a value type.
|
|
171
172
|
*
|
|
172
173
|
* Tests a parametric value type and returns whether it's following the type `T` or not.
|
|
173
|
-
* If the parametric value is matched with the type `T`, `true` value
|
|
174
|
-
* Otherwise, the parametric value is not following the type `T`, `false` value
|
|
174
|
+
* If the parametric value is matched with the type `T`, `true` value will be returned.
|
|
175
|
+
* Otherwise, if the parametric value is not following the type `T`, `false` value will be
|
|
175
176
|
* returned.
|
|
176
177
|
*
|
|
177
178
|
* If what you want is not just knowing whether the parametric value is following the
|
|
178
|
-
* type `T` or not, but throwing an exception with detailed reason, you can choose
|
|
179
|
+
* type `T` or not, but throwing an exception with a detailed reason, you can choose
|
|
179
180
|
* {@link assert} function instead. Also, if you want to know all the errors with
|
|
180
|
-
* detailed reasons, {@link validate} function
|
|
181
|
+
* detailed reasons, {@link validate} function will be useful.
|
|
181
182
|
*
|
|
182
|
-
* On the other
|
|
183
|
+
* On the other hand, if you don't want to allow any superfluous property that is not
|
|
183
184
|
* enrolled to the type `T`, you can use {@link equals} function instead.
|
|
184
185
|
*
|
|
185
186
|
* @template T Type of the input value
|
|
@@ -195,16 +196,16 @@ export function is<T>(input: T): input is T;
|
|
|
195
196
|
* Tests a value type.
|
|
196
197
|
*
|
|
197
198
|
* Tests a parametric value type and returns whether it's following the type `T` or not.
|
|
198
|
-
* If the parametric value is matched with the type `T`, `true` value
|
|
199
|
-
* Otherwise, the parametric value is not following the type `T`, `false` value
|
|
199
|
+
* If the parametric value is matched with the type `T`, `true` value will be returned.
|
|
200
|
+
* Otherwise, if the parametric value is not following the type `T`, `false` value will be
|
|
200
201
|
* returned.
|
|
201
202
|
*
|
|
202
203
|
* If what you want is not just knowing whether the parametric value is following the
|
|
203
|
-
* type `T` or not, but throwing an exception with detailed reason, you can choose
|
|
204
|
+
* type `T` or not, but throwing an exception with a detailed reason, you can choose
|
|
204
205
|
* {@link assert} function instead. Also, if you want to know all the errors with
|
|
205
|
-
* detailed reasons, {@link validate} function
|
|
206
|
+
* detailed reasons, {@link validate} function will be useful.
|
|
206
207
|
*
|
|
207
|
-
* On the other
|
|
208
|
+
* On the other hand, if you don't want to allow any superfluous property that is not
|
|
208
209
|
* enrolled to the type `T`, you can use {@link equals} function instead.
|
|
209
210
|
*
|
|
210
211
|
* @template T Type of the input value
|
|
@@ -228,18 +229,18 @@ export function is(): never {
|
|
|
228
229
|
* Validates a parametric value type and archives all the type errors into an
|
|
229
230
|
* {@link IValidation.errors} array, if the parametric value is not following the
|
|
230
231
|
* type `T`. Of course, if the parametric value is following the type `T`, the
|
|
231
|
-
* {@link IValidation.errors} array
|
|
232
|
-
*
|
|
232
|
+
* {@link IValidation.errors} array will be empty and {@link IValidation.success}
|
|
233
|
+
* will have the `true` value.
|
|
233
234
|
*
|
|
234
|
-
* If what you want is not finding all the
|
|
235
|
+
* If what you want is not finding all the errors, but asserting the parametric value
|
|
235
236
|
* type with exception throwing, you can choose {@link assert} function instead.
|
|
236
|
-
* Otherwise, you just want to know whether the parametric value is matched with the
|
|
237
|
+
* Otherwise, if you just want to know whether the parametric value is matched with the
|
|
237
238
|
* type `T`, {@link is} function is the way to go.
|
|
238
239
|
*
|
|
239
|
-
* On the other
|
|
240
|
+
* On the other hand, if you don't want to allow any superfluous property that is not
|
|
240
241
|
* enrolled to the type `T`, you can use {@link validateEquals} function instead.
|
|
241
242
|
*
|
|
242
|
-
* @template Type of the input value
|
|
243
|
+
* @template T Type of the input value
|
|
243
244
|
* @param input A value to be validated
|
|
244
245
|
* @returns Validation result
|
|
245
246
|
*
|
|
@@ -253,18 +254,18 @@ export function validate<T>(input: T): IValidation<T>;
|
|
|
253
254
|
* Validates a parametric value type and archives all the type errors into an
|
|
254
255
|
* {@link IValidation.errors} array, if the parametric value is not following the
|
|
255
256
|
* type `T`. Of course, if the parametric value is following the type `T`, the
|
|
256
|
-
* {@link IValidation.errors} array
|
|
257
|
-
*
|
|
257
|
+
* {@link IValidation.errors} array will be empty and {@link IValidation.success}
|
|
258
|
+
* will have the `true` value.
|
|
258
259
|
*
|
|
259
|
-
* If what you want is not finding all the
|
|
260
|
+
* If what you want is not finding all the errors, but asserting the parametric value
|
|
260
261
|
* type with exception throwing, you can choose {@link assert} function instead.
|
|
261
|
-
* Otherwise, you just want to know whether the parametric value is matched with the
|
|
262
|
+
* Otherwise, if you just want to know whether the parametric value is matched with the
|
|
262
263
|
* type `T`, {@link is} function is the way to go.
|
|
263
264
|
*
|
|
264
|
-
* On the other
|
|
265
|
+
* On the other hand, if you don't want to allow any superfluous property that is not
|
|
265
266
|
* enrolled to the type `T`, you can use {@link validateEquals} function instead.
|
|
266
267
|
*
|
|
267
|
-
* @template Type of the input value
|
|
268
|
+
* @template T Type of the input value
|
|
268
269
|
* @param input A value to be validated
|
|
269
270
|
* @returns Validation result
|
|
270
271
|
*
|
|
@@ -293,7 +294,7 @@ export function validate(): never {
|
|
|
293
294
|
*
|
|
294
295
|
* If what you want is not asserting but just knowing whether the parametric value is
|
|
295
296
|
* following the type `T` or not, you can choose the {@link equals} function instead.
|
|
296
|
-
* Otherwise, you want to know all the errors, {@link validateEquals} is the way to go.
|
|
297
|
+
* Otherwise, if you want to know all the errors, {@link validateEquals} is the way to go.
|
|
297
298
|
*
|
|
298
299
|
* On the other hand, if you want to allow superfluous property that is not enrolled
|
|
299
300
|
* to the type `T`, you can use {@link assert} function instead.
|
|
@@ -302,7 +303,7 @@ export function validate(): never {
|
|
|
302
303
|
* @param input A value to be asserted
|
|
303
304
|
* @param errorFactory Custom error factory. Default is `TypeGuardError`
|
|
304
305
|
* @returns Parametric input value
|
|
305
|
-
* @throws A {@link TypeGuardError} instance with detailed reason
|
|
306
|
+
* @throws A {@link TypeGuardError} instance with a detailed reason
|
|
306
307
|
*
|
|
307
308
|
* @author Jeongho Nam - https://github.com/samchon
|
|
308
309
|
*/
|
|
@@ -322,7 +323,7 @@ export function assertEquals<T>(
|
|
|
322
323
|
*
|
|
323
324
|
* If what you want is not asserting but just knowing whether the parametric value is
|
|
324
325
|
* following the type `T` or not, you can choose the {@link equals} function instead.
|
|
325
|
-
* Otherwise, you want to know all the errors, {@link validateEquals} is the way to go.
|
|
326
|
+
* Otherwise, if you want to know all the errors, {@link validateEquals} is the way to go.
|
|
326
327
|
*
|
|
327
328
|
* On the other hand, if you want to allow superfluous property that is not enrolled
|
|
328
329
|
* to the type `T`, you can use {@link assert} function instead.
|
|
@@ -331,7 +332,7 @@ export function assertEquals<T>(
|
|
|
331
332
|
* @param input A value to be asserted
|
|
332
333
|
* @param errorFactory Custom error factory. Default is `TypeGuardError`
|
|
333
334
|
* @returns Parametric input value casted as `T`
|
|
334
|
-
* @throws A {@link TypeGuardError} instance with detailed reason
|
|
335
|
+
* @throws A {@link TypeGuardError} instance with a detailed reason
|
|
335
336
|
*
|
|
336
337
|
* @author Jeongho Nam - https://github.com/samchon
|
|
337
338
|
*/
|
|
@@ -355,12 +356,12 @@ export function assertEquals(): never {
|
|
|
355
356
|
* property that is not listed on the type `T` has been found.
|
|
356
357
|
*
|
|
357
358
|
* Otherwise, the value is following the type `T` without any superfluous property,
|
|
358
|
-
* nothing
|
|
359
|
+
* nothing will be returned, but the input value would be automatically casted to
|
|
359
360
|
* the type `T`. This is the concept of "Assertion Guard" of a value type.
|
|
360
361
|
*
|
|
361
362
|
* If what you want is not asserting but just knowing whether the parametric value is
|
|
362
363
|
* following the type `T` or not, you can choose the {@link equals} function instead.
|
|
363
|
-
* Otherwise, you want to know all the errors, {@link validateEquals} is the way to go.
|
|
364
|
+
* Otherwise, if you want to know all the errors, {@link validateEquals} is the way to go.
|
|
364
365
|
* Also, if you want to returns the parametric value when no problem, you can use
|
|
365
366
|
* {@link assert} function instead.
|
|
366
367
|
*
|
|
@@ -371,7 +372,7 @@ export function assertEquals(): never {
|
|
|
371
372
|
* @param input A value to be asserted
|
|
372
373
|
* @param errorFactory Custom error factory. Default is `TypeGuardError`
|
|
373
374
|
* @returns Parametric input value casted as `T`
|
|
374
|
-
* @throws A {@link TypeGuardError} instance with detailed reason
|
|
375
|
+
* @throws A {@link TypeGuardError} instance with a detailed reason
|
|
375
376
|
*
|
|
376
377
|
* @author Jeongho Nam - https://github.com/samchon
|
|
377
378
|
*/
|
|
@@ -388,12 +389,12 @@ export function assertGuardEquals<T>(
|
|
|
388
389
|
* property that is not listed on the type `T` has been found.
|
|
389
390
|
*
|
|
390
391
|
* Otherwise, the value is following the type `T` without any superfluous property,
|
|
391
|
-
* nothing
|
|
392
|
+
* nothing will be returned, but the input value would be automatically casted to
|
|
392
393
|
* the type `T`. This is the concept of "Assertion Guard" of a value type.
|
|
393
394
|
*
|
|
394
395
|
* If what you want is not asserting but just knowing whether the parametric value is
|
|
395
396
|
* following the type `T` or not, you can choose the {@link equals} function instead.
|
|
396
|
-
* Otherwise, you want to know all the errors, {@link validateEquals} is the way to go.
|
|
397
|
+
* Otherwise, if you want to know all the errors, {@link validateEquals} is the way to go.
|
|
397
398
|
* Also, if you want to returns the parametric value when no problem, you can use
|
|
398
399
|
* {@link assertEquals} function instead.
|
|
399
400
|
*
|
|
@@ -404,7 +405,7 @@ export function assertGuardEquals<T>(
|
|
|
404
405
|
* @param input A value to be asserted
|
|
405
406
|
* @param errorFactory Custom error factory. Default is `TypeGuardError`
|
|
406
407
|
* @returns Parametric input value casted as `T`
|
|
407
|
-
* @throws A {@link TypeGuardError} instance with detailed reason
|
|
408
|
+
* @throws A {@link TypeGuardError} instance with a detailed reason
|
|
408
409
|
*
|
|
409
410
|
* @author Jeongho Nam - https://github.com/samchon
|
|
410
411
|
*/
|
|
@@ -425,14 +426,14 @@ export function assertGuardEquals(): never {
|
|
|
425
426
|
*
|
|
426
427
|
* Tests a parametric value type and returns whether it's equivalent to the type `T`
|
|
427
428
|
* or not. If the parametric value is matched with the type `T` and there's not any
|
|
428
|
-
* superfluous property that is not listed on the type `T`, `true` value
|
|
429
|
-
* returned. Otherwise, the parametric value is not following the type `T` or some
|
|
430
|
-
* superfluous property exists, `false` value
|
|
429
|
+
* superfluous property that is not listed on the type `T`, `true` value will be
|
|
430
|
+
* returned. Otherwise, if the parametric value is not following the type `T` or some
|
|
431
|
+
* superfluous property exists, `false` value will be returned.
|
|
431
432
|
*
|
|
432
433
|
* If what you want is not just knowing whether the parametric value is following the
|
|
433
|
-
* type `T` or not, but throwing an exception with detailed reason, you can choose
|
|
434
|
+
* type `T` or not, but throwing an exception with a detailed reason, you can choose
|
|
434
435
|
* {@link assertEquals} function instead. Also, if you want to know all the errors with
|
|
435
|
-
* detailed reasons, {@link validateEquals} function
|
|
436
|
+
* detailed reasons, {@link validateEquals} function will be useful.
|
|
436
437
|
*
|
|
437
438
|
* On the other hand, if you want to allow superfluous property that is not enrolled
|
|
438
439
|
* to the type `T`, you can use {@link is} function instead.
|
|
@@ -450,14 +451,14 @@ export function equals<T>(input: T): input is T;
|
|
|
450
451
|
*
|
|
451
452
|
* Tests a parametric value type and returns whether it's equivalent to the type `T`
|
|
452
453
|
* or not. If the parametric value is matched with the type `T` and there's not any
|
|
453
|
-
* superfluous property that is not listed on the type `T`, `true` value
|
|
454
|
-
* returned. Otherwise, the parametric value is not following the type `T` or some
|
|
455
|
-
* superfluous property exists, `false` value
|
|
454
|
+
* superfluous property that is not listed on the type `T`, `true` value will be
|
|
455
|
+
* returned. Otherwise, if the parametric value is not following the type `T` or some
|
|
456
|
+
* superfluous property exists, `false` value will be returned.
|
|
456
457
|
*
|
|
457
458
|
* If what you want is not just knowing whether the parametric value is following the
|
|
458
|
-
* type `T` or not, but throwing an exception with detailed reason, you can choose
|
|
459
|
+
* type `T` or not, but throwing an exception with a detailed reason, you can choose
|
|
459
460
|
* {@link assertEquals} function instead. Also, if you want to know all the errors with
|
|
460
|
-
* detailed reasons, {@link validateEquals} function
|
|
461
|
+
* detailed reasons, {@link validateEquals} function will be useful.
|
|
461
462
|
*
|
|
462
463
|
* On the other hand, if you want to allow superfluous property that is not enrolled
|
|
463
464
|
* to the type `T`, you can use {@link is} function instead.
|
|
@@ -492,7 +493,7 @@ export function equals(): never {
|
|
|
492
493
|
* Otherwise, you just want to know whether the parametric value is matched with the
|
|
493
494
|
* type `T`, {@link is} function is the way to go.
|
|
494
495
|
*
|
|
495
|
-
* On the other
|
|
496
|
+
* On the other hand, if you don't want to allow any superfluous property that is not
|
|
496
497
|
* enrolled to the type `T`, you can use {@link validateEquals} function instead.
|
|
497
498
|
*
|
|
498
499
|
* @template Type of the input value
|
|
@@ -518,7 +519,7 @@ export function validateEquals<T>(input: T): IValidation<T>;
|
|
|
518
519
|
* Otherwise, you just want to know whether the parametric value is matched with the
|
|
519
520
|
* type `T`, {@link is} function is the way to go.
|
|
520
521
|
*
|
|
521
|
-
* On the other
|
|
522
|
+
* On the other hand, if you don't want to allow any superfluous property that is not
|
|
522
523
|
* enrolled to the type `T`, you can use {@link validateEquals} function instead.
|
|
523
524
|
*
|
|
524
525
|
* @template Type of the input value
|
|
@@ -549,7 +550,7 @@ export function validateEquals(): never {
|
|
|
549
550
|
* For reference, this `typia.random()` function generates only primitive type.
|
|
550
551
|
* If there're some methods in the type `T` or its nested instances, those would
|
|
551
552
|
* be ignored. Also, when the type `T` has a `toJSON()` method, its return type
|
|
552
|
-
*
|
|
553
|
+
* will be generated instead.
|
|
553
554
|
*
|
|
554
555
|
* @template T Type of data to generate
|
|
555
556
|
* @param generator Random data generator
|
|
@@ -567,7 +568,7 @@ export function random(generator?: Partial<IRandomGenerator>): never;
|
|
|
567
568
|
* For reference, this `typia.random()` function generates only primitive type.
|
|
568
569
|
* If there're some methods in the type `T` or its nested instances, those would
|
|
569
570
|
* be ignored. Also, when the type `T` has a `toJSON()` method, its return type
|
|
570
|
-
*
|
|
571
|
+
* will be generated instead.
|
|
571
572
|
*
|
|
572
573
|
* @template T Type of data to generate
|
|
573
574
|
* @param generator Random data generator
|
|
@@ -186,9 +186,14 @@ export namespace LlmApplicationTransformer {
|
|
|
186
186
|
],
|
|
187
187
|
false,
|
|
188
188
|
),
|
|
189
|
-
ts.factory.
|
|
190
|
-
ts.factory.
|
|
191
|
-
|
|
189
|
+
ts.factory.createUnionTypeNode([
|
|
190
|
+
ts.factory.createLiteralTypeNode(
|
|
191
|
+
ts.factory.createStringLiteral("separate"),
|
|
192
|
+
),
|
|
193
|
+
ts.factory.createLiteralTypeNode(
|
|
194
|
+
ts.factory.createStringLiteral("validate"),
|
|
195
|
+
),
|
|
196
|
+
]),
|
|
192
197
|
],
|
|
193
198
|
),
|
|
194
199
|
],
|
|
@@ -200,27 +205,18 @@ export namespace LlmApplicationTransformer {
|
|
|
200
205
|
props.value,
|
|
201
206
|
ts.factory.createObjectLiteralExpression(
|
|
202
207
|
[
|
|
203
|
-
ts.factory.
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
props.argument,
|
|
208
|
-
satisfiesTypeNode,
|
|
209
|
-
),
|
|
210
|
-
ts.factory.createToken(ts.SyntaxKind.QuestionDotToken),
|
|
211
|
-
"separate",
|
|
208
|
+
ts.factory.createSpreadAssignment(
|
|
209
|
+
ts.factory.createSatisfiesExpression(
|
|
210
|
+
props.argument,
|
|
211
|
+
satisfiesTypeNode,
|
|
212
212
|
),
|
|
213
213
|
),
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
: ts.factory.createFalse(),
|
|
221
|
-
),
|
|
222
|
-
]
|
|
223
|
-
: []),
|
|
214
|
+
ts.factory.createPropertyAssignment(
|
|
215
|
+
"equals",
|
|
216
|
+
props.equals === true
|
|
217
|
+
? ts.factory.createTrue()
|
|
218
|
+
: ts.factory.createFalse(),
|
|
219
|
+
),
|
|
224
220
|
],
|
|
225
221
|
true,
|
|
226
222
|
),
|