typia 5.5.5 → 5.5.6-dev.20240320
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/factories/MetadataCommentTagFactory.js +54 -0
- package/lib/factories/MetadataCommentTagFactory.js.map +1 -1
- package/lib/factories/MetadataTypeTagFactory.js +20 -0
- package/lib/factories/MetadataTypeTagFactory.js.map +1 -1
- package/lib/factories/MetadataTypeTagSchemaFactory.d.ts +4 -0
- package/lib/factories/MetadataTypeTagSchemaFactory.js +84 -0
- package/lib/factories/MetadataTypeTagSchemaFactory.js.map +1 -0
- package/lib/programmers/internal/application_array.js +5 -1
- package/lib/programmers/internal/application_array.js.map +1 -1
- package/lib/programmers/internal/application_boolean.js +12 -4
- package/lib/programmers/internal/application_boolean.js.map +1 -1
- package/lib/programmers/internal/application_string.js +5 -1
- package/lib/programmers/internal/application_string.js.map +1 -1
- package/lib/schemas/metadata/IMetadataTypeTag.d.ts +1 -0
- package/lib/schemas/metadata/MetadataAtomic.js +2 -0
- package/lib/schemas/metadata/MetadataAtomic.js.map +1 -1
- package/lib/tags/Default.d.ts +3 -0
- package/lib/tags/ExclusiveMaximum.d.ts +4 -0
- package/lib/tags/ExclusiveMinimum.d.ts +4 -0
- package/lib/tags/Format.d.ts +3 -0
- package/lib/tags/MaxItems.d.ts +3 -0
- package/lib/tags/MaxLength.d.ts +3 -0
- package/lib/tags/Maximum.d.ts +3 -0
- package/lib/tags/MinItems.d.ts +3 -0
- package/lib/tags/MinLength.d.ts +3 -0
- package/lib/tags/Minimum.d.ts +3 -0
- package/lib/tags/MultipleOf.d.ts +3 -0
- package/lib/tags/Pattern.d.ts +3 -0
- package/lib/tags/TagBase.d.ts +6 -2
- package/package.json +1 -1
- package/src/factories/MetadataCommentTagFactory.ts +64 -9
- package/src/factories/MetadataTypeTagFactory.ts +20 -1
- package/src/factories/MetadataTypeTagSchemaFactory.ts +58 -0
- package/src/programmers/internal/application_array.ts +5 -1
- package/src/programmers/internal/application_boolean.ts +12 -3
- package/src/programmers/internal/application_string.ts +5 -1
- package/src/schemas/metadata/IMetadataTypeTag.ts +1 -0
- package/src/schemas/metadata/MetadataAtomic.ts +1 -0
- package/src/tags/Default.ts +7 -4
- package/src/tags/ExclusiveMaximum.ts +6 -0
- package/src/tags/ExclusiveMinimum.ts +6 -0
- package/src/tags/Format.ts +3 -0
- package/src/tags/MaxItems.ts +3 -0
- package/src/tags/MaxLength.ts +3 -0
- package/src/tags/Maximum.ts +5 -0
- package/src/tags/MinItems.ts +3 -0
- package/src/tags/MinLength.ts +3 -0
- package/src/tags/Minimum.ts +5 -0
- package/src/tags/MultipleOf.ts +5 -0
- package/src/tags/Pattern.ts +3 -0
- package/src/tags/TagBase.ts +9 -1
package/src/tags/Minimum.ts
CHANGED
|
@@ -6,6 +6,11 @@ export type Minimum<Value extends number | bigint> = TagBase<{
|
|
|
6
6
|
value: Value;
|
|
7
7
|
validate: `${Numeric<Value>} <= $input`;
|
|
8
8
|
exclusive: ["minimum", "exclusiveMinimum"];
|
|
9
|
+
schema: Value extends number
|
|
10
|
+
? {
|
|
11
|
+
minimum: Value;
|
|
12
|
+
}
|
|
13
|
+
: undefined;
|
|
9
14
|
}>;
|
|
10
15
|
|
|
11
16
|
type Numeric<Value extends number | bigint> = Value extends number
|
package/src/tags/MultipleOf.ts
CHANGED
|
@@ -8,6 +8,11 @@ export type MultipleOf<Value extends number | bigint> = TagBase<{
|
|
|
8
8
|
? Numeric<0n>
|
|
9
9
|
: 0}`;
|
|
10
10
|
exclusive: true;
|
|
11
|
+
schema: Value extends number
|
|
12
|
+
? {
|
|
13
|
+
multipleOf: Value;
|
|
14
|
+
}
|
|
15
|
+
: undefined;
|
|
11
16
|
}>;
|
|
12
17
|
|
|
13
18
|
type Numeric<Value extends number | bigint> = Value extends number
|
package/src/tags/Pattern.ts
CHANGED
package/src/tags/TagBase.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
export type TagBase<
|
|
1
|
+
export type TagBase<
|
|
2
|
+
Props extends TagBase.IProps<any, any, any, any, any, any>,
|
|
3
|
+
> = {
|
|
2
4
|
/**
|
|
3
5
|
* This is a dummy property for compilation.
|
|
4
6
|
*
|
|
@@ -17,6 +19,7 @@ export namespace TagBase {
|
|
|
17
19
|
[key in Target]?: string;
|
|
18
20
|
},
|
|
19
21
|
Exclusive extends boolean | string[],
|
|
22
|
+
Schema extends object | undefined,
|
|
20
23
|
> {
|
|
21
24
|
/**
|
|
22
25
|
* Target type.
|
|
@@ -64,5 +67,10 @@ export namespace TagBase {
|
|
|
64
67
|
* @default false
|
|
65
68
|
*/
|
|
66
69
|
exclusive?: Exclusive | string[];
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Additional schema info assigned to the {@link IJsonSchema} object.
|
|
73
|
+
*/
|
|
74
|
+
schema?: Schema;
|
|
67
75
|
}
|
|
68
76
|
}
|