typia 4.1.8-dev.20230726 → 4.1.9-dev.20230730

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 (163) hide show
  1. package/lib/factories/CommentFactory.js +83 -9
  2. package/lib/factories/CommentFactory.js.map +1 -1
  3. package/lib/factories/MetadataCollection.js.map +1 -1
  4. package/package.json +2 -3
  5. package/src/factories/CommentFactory.ts +44 -7
  6. package/src/factories/MetadataCollection.ts +264 -255
  7. package/src/factories/MetadataFactory.ts +30 -30
  8. package/src/factories/MetadataTagFactory.ts +355 -355
  9. package/src/factories/internal/metadata/MetadataHelper.ts +12 -12
  10. package/src/factories/internal/metadata/emend_metadata_atomics.ts +33 -33
  11. package/src/factories/internal/metadata/emplace_metadata_alias.ts +40 -40
  12. package/src/factories/internal/metadata/emplace_metadata_array.ts +34 -34
  13. package/src/factories/internal/metadata/emplace_metadata_object.ts +136 -136
  14. package/src/factories/internal/metadata/emplace_metadata_tuple.ts +50 -50
  15. package/src/factories/internal/metadata/explore_metadata.ts +40 -40
  16. package/src/factories/internal/metadata/iterate_metadata.ts +81 -81
  17. package/src/factories/internal/metadata/iterate_metadata_alias.ts +30 -30
  18. package/src/factories/internal/metadata/iterate_metadata_array.ts +24 -24
  19. package/src/factories/internal/metadata/iterate_metadata_atomic.ts +59 -59
  20. package/src/factories/internal/metadata/iterate_metadata_coalesce.ts +33 -33
  21. package/src/factories/internal/metadata/iterate_metadata_collection.ts +133 -133
  22. package/src/factories/internal/metadata/iterate_metadata_constant.ts +58 -58
  23. package/src/factories/internal/metadata/iterate_metadata_intersection.ts +83 -83
  24. package/src/factories/internal/metadata/iterate_metadata_map.ts +41 -41
  25. package/src/factories/internal/metadata/iterate_metadata_native.ts +219 -219
  26. package/src/factories/internal/metadata/iterate_metadata_object.ts +43 -43
  27. package/src/factories/internal/metadata/iterate_metadata_resolve.ts +49 -49
  28. package/src/factories/internal/metadata/iterate_metadata_set.ts +33 -33
  29. package/src/factories/internal/metadata/iterate_metadata_sort.ts +69 -69
  30. package/src/factories/internal/metadata/iterate_metadata_tag.ts +31 -31
  31. package/src/factories/internal/metadata/iterate_metadata_template.ts +38 -38
  32. package/src/factories/internal/metadata/iterate_metadata_tuple.ts +24 -24
  33. package/src/factories/internal/metadata/iterate_metadata_union.ts +24 -24
  34. package/src/functional/$number.ts +12 -12
  35. package/src/metadata/ICommentTag.ts +4 -4
  36. package/src/metadata/IJsDocTagInfo.ts +10 -10
  37. package/src/metadata/IMetadata.ts +28 -28
  38. package/src/metadata/IMetadataAlias.ts +14 -14
  39. package/src/metadata/IMetadataApplication.ts +7 -7
  40. package/src/metadata/IMetadataArray.ts +10 -10
  41. package/src/metadata/IMetadataCollection.ts +11 -11
  42. package/src/metadata/IMetadataConstant.ts +16 -16
  43. package/src/metadata/IMetadataDictionary.ts +14 -14
  44. package/src/metadata/IMetadataEntry.ts +6 -6
  45. package/src/metadata/IMetadataObject.ts +18 -18
  46. package/src/metadata/IMetadataProperty.ts +11 -11
  47. package/src/metadata/IMetadataResolved.ts +6 -6
  48. package/src/metadata/IMetadataTag.ts +105 -105
  49. package/src/metadata/IMetadataTuple.ts +10 -10
  50. package/src/metadata/Metadata.ts +605 -605
  51. package/src/metadata/MetadataAlias.ts +66 -66
  52. package/src/metadata/MetadataArray.ts +55 -55
  53. package/src/metadata/MetadataConstant.ts +3 -3
  54. package/src/metadata/MetadataObject.ts +129 -129
  55. package/src/metadata/MetadataProperty.ts +64 -64
  56. package/src/metadata/MetadataResolved.ts +51 -51
  57. package/src/metadata/MetadataTuple.ts +53 -53
  58. package/src/module.ts +2038 -2038
  59. package/src/programmers/ApplicationProgrammer.ts +47 -47
  60. package/src/programmers/AssertCloneProgrammer.ts +71 -71
  61. package/src/programmers/AssertParseProgrammer.ts +66 -66
  62. package/src/programmers/AssertPruneProgrammer.ts +68 -68
  63. package/src/programmers/AssertStringifyProgrammer.ts +66 -66
  64. package/src/programmers/CheckerProgrammer.ts +1182 -1182
  65. package/src/programmers/CloneProgrammer.ts +587 -587
  66. package/src/programmers/FeatureProgrammer.ts +495 -495
  67. package/src/programmers/IsCloneProgrammer.ts +78 -78
  68. package/src/programmers/IsParseProgrammer.ts +72 -72
  69. package/src/programmers/IsProgrammer.ts +239 -239
  70. package/src/programmers/IsPruneProgrammer.ts +73 -73
  71. package/src/programmers/IsStringifyProgrammer.ts +76 -76
  72. package/src/programmers/LiteralsProgrammer.ts +63 -63
  73. package/src/programmers/PruneProgrammer.ts +542 -542
  74. package/src/programmers/RandomProgrammer.ts +581 -581
  75. package/src/programmers/StringifyProgrammer.ts +978 -978
  76. package/src/programmers/ValidateCloneProgrammer.ts +85 -85
  77. package/src/programmers/ValidateParseProgrammer.ts +70 -70
  78. package/src/programmers/ValidatePruneProgrammer.ts +78 -78
  79. package/src/programmers/ValidateStringifyProgrammer.ts +84 -84
  80. package/src/programmers/helpers/AtomicPredicator.ts +31 -31
  81. package/src/programmers/helpers/IExpressionEntry.ts +12 -12
  82. package/src/programmers/helpers/PruneJoiner.ts +143 -143
  83. package/src/programmers/helpers/RandomJoiner.ts +173 -173
  84. package/src/programmers/helpers/RandomRanger.ts +216 -216
  85. package/src/programmers/helpers/StringifyPredicator.ts +13 -13
  86. package/src/programmers/helpers/UnionExplorer.ts +301 -301
  87. package/src/programmers/helpers/UnionPredicator.ts +81 -81
  88. package/src/programmers/internal/application_alias.ts +66 -66
  89. package/src/programmers/internal/application_array.ts +30 -30
  90. package/src/programmers/internal/application_constant.ts +26 -26
  91. package/src/programmers/internal/application_default.ts +17 -17
  92. package/src/programmers/internal/application_default_string.ts +33 -33
  93. package/src/programmers/internal/application_native.ts +39 -39
  94. package/src/programmers/internal/application_number.ts +74 -74
  95. package/src/programmers/internal/application_object.ts +162 -162
  96. package/src/programmers/internal/application_resolved.ts +55 -55
  97. package/src/programmers/internal/application_schema.ts +157 -157
  98. package/src/programmers/internal/application_string.ts +44 -44
  99. package/src/programmers/internal/application_templates.ts +25 -25
  100. package/src/programmers/internal/application_tuple.ts +57 -57
  101. package/src/programmers/internal/check_array.ts +30 -30
  102. package/src/programmers/internal/check_array_length.ts +35 -35
  103. package/src/programmers/internal/check_bigint.ts +82 -82
  104. package/src/programmers/internal/check_custom.ts +31 -31
  105. package/src/programmers/internal/check_number.ts +177 -177
  106. package/src/programmers/internal/check_string.ts +25 -25
  107. package/src/programmers/internal/check_string_tags.ts +67 -67
  108. package/src/programmers/internal/check_template.ts +56 -56
  109. package/src/programmers/internal/check_union_array_like.ts +329 -329
  110. package/src/programmers/internal/decode_union_object.ts +73 -73
  111. package/src/programmers/internal/feature_object_entries.ts +63 -63
  112. package/src/programmers/internal/get_comment_tags.ts +23 -23
  113. package/src/programmers/internal/metadata_to_pattern.ts +34 -34
  114. package/src/programmers/internal/prune_object_properties.ts +60 -60
  115. package/src/programmers/internal/random_custom.ts +29 -29
  116. package/src/programmers/internal/stringify_regular_properties.ts +83 -83
  117. package/src/programmers/internal/template_to_pattern.ts +15 -15
  118. package/src/programmers/internal/wrap_metadata_rest_tuple.ts +16 -16
  119. package/src/schemas/IJsonApplication.ts +8 -8
  120. package/src/schemas/IJsonComponents.ts +33 -33
  121. package/src/schemas/IJsonSchema.ts +133 -133
  122. package/src/transformers/CallExpressionTransformer.ts +179 -179
  123. package/src/transformers/features/miscellaneous/ApplicationTransformer.ts +104 -104
  124. package/src/transformers/features/miscellaneous/AssertCloneTransformer.ts +9 -9
  125. package/src/transformers/features/miscellaneous/AssertPruneTransformer.ts +9 -9
  126. package/src/transformers/features/miscellaneous/CloneTransformer.ts +9 -9
  127. package/src/transformers/features/miscellaneous/CreateAssertCloneTransformer.ts +9 -9
  128. package/src/transformers/features/miscellaneous/CreateAssertPruneTransformer.ts +9 -9
  129. package/src/transformers/features/miscellaneous/CreateCloneTransformer.ts +9 -9
  130. package/src/transformers/features/miscellaneous/CreateIsCloneTransformer.ts +9 -9
  131. package/src/transformers/features/miscellaneous/CreateIsPruneTransformer.ts +9 -9
  132. package/src/transformers/features/miscellaneous/CreatePruneTransformer.ts +9 -9
  133. package/src/transformers/features/miscellaneous/CreateRandomTransformer.ts +39 -39
  134. package/src/transformers/features/miscellaneous/CreateValidateCloneTransformer.ts +9 -9
  135. package/src/transformers/features/miscellaneous/CreateValidatePruneTransformer.ts +9 -9
  136. package/src/transformers/features/miscellaneous/IsCloneTransformer.ts +9 -9
  137. package/src/transformers/features/miscellaneous/IsPruneTransformer.ts +9 -9
  138. package/src/transformers/features/miscellaneous/LiteralsTransformer.ts +28 -28
  139. package/src/transformers/features/miscellaneous/MetadataTransformer.ts +53 -53
  140. package/src/transformers/features/miscellaneous/PruneTransformer.ts +9 -9
  141. package/src/transformers/features/miscellaneous/RandomTransformer.ts +42 -42
  142. package/src/transformers/features/miscellaneous/ValidateCloneTransformer.ts +9 -9
  143. package/src/transformers/features/miscellaneous/ValidatePruneTransformer.ts +9 -9
  144. package/src/transformers/features/parsers/AssertParseTransformer.ts +9 -9
  145. package/src/transformers/features/parsers/CreateAssertParseTransformer.ts +9 -9
  146. package/src/transformers/features/parsers/CreateIsParseTransformer.ts +9 -9
  147. package/src/transformers/features/parsers/CreateValidateParseTransformer.ts +9 -9
  148. package/src/transformers/features/parsers/IsParseTransformer.ts +9 -9
  149. package/src/transformers/features/parsers/ValidateParseTransformer.ts +9 -9
  150. package/src/transformers/features/stringifiers/AssertStringifyTransformer.ts +10 -10
  151. package/src/transformers/features/stringifiers/CreateAssertStringifyTransformer.ts +12 -12
  152. package/src/transformers/features/stringifiers/CreateIsStringifyTransformer.ts +9 -9
  153. package/src/transformers/features/stringifiers/CreateStringifyTransformer.ts +9 -9
  154. package/src/transformers/features/stringifiers/CreateValidateStringifyProgrammer.ts +12 -12
  155. package/src/transformers/features/stringifiers/IsStringifyTransformer.ts +9 -9
  156. package/src/transformers/features/stringifiers/StringifyTransformer.ts +9 -9
  157. package/src/transformers/features/stringifiers/ValidateStringifyTransformer.ts +10 -10
  158. package/src/transformers/features/validators/AssertTransformer.ts +11 -11
  159. package/src/transformers/features/validators/CreateAssertTransformer.ts +13 -13
  160. package/src/transformers/features/validators/CreateIsTransformer.ts +11 -11
  161. package/src/transformers/features/validators/CreateValidateTransformer.ts +13 -13
  162. package/src/transformers/features/validators/IsTransformer.ts +11 -11
  163. package/src/transformers/features/validators/ValidateTransformer.ts +11 -11
@@ -1,16 +1,16 @@
1
- import { Atomic } from "../typings/Atomic";
2
-
3
- export type IMetadataConstant =
4
- | IMetadataConstant.IBase<"boolean", boolean>
5
- | IMetadataConstant.IBase<"number", number>
6
- | IMetadataConstant.IBase<"string", string>
7
- | IMetadataConstant.IBase<"bigint", bigint>;
8
- export namespace IMetadataConstant {
9
- export interface IBase<
10
- Type extends Atomic.Literal,
11
- Value extends Atomic.Type,
12
- > {
13
- type: Type;
14
- values: Value[];
15
- }
16
- }
1
+ import { Atomic } from "../typings/Atomic";
2
+
3
+ export type IMetadataConstant =
4
+ | IMetadataConstant.IBase<"boolean", boolean>
5
+ | IMetadataConstant.IBase<"number", number>
6
+ | IMetadataConstant.IBase<"string", string>
7
+ | IMetadataConstant.IBase<"bigint", bigint>;
8
+ export namespace IMetadataConstant {
9
+ export interface IBase<
10
+ Type extends Atomic.Literal,
11
+ Value extends Atomic.Type,
12
+ > {
13
+ type: Type;
14
+ values: Value[];
15
+ }
16
+ }
@@ -1,14 +1,14 @@
1
- import { MetadataAlias } from "./MetadataAlias";
2
- import { MetadataArray } from "./MetadataArray";
3
- import { MetadataObject } from "./MetadataObject";
4
- import { MetadataTuple } from "./MetadataTuple";
5
-
6
- /**
7
- * @internal
8
- */
9
- export interface IMetadataDictionary {
10
- objects: Map<string, MetadataObject>;
11
- aliases: Map<string, MetadataAlias>;
12
- arrays: Map<string, MetadataArray>;
13
- tuples: Map<string, MetadataTuple>;
14
- }
1
+ import { MetadataAlias } from "./MetadataAlias";
2
+ import { MetadataArray } from "./MetadataArray";
3
+ import { MetadataObject } from "./MetadataObject";
4
+ import { MetadataTuple } from "./MetadataTuple";
5
+
6
+ /**
7
+ * @internal
8
+ */
9
+ export interface IMetadataDictionary {
10
+ objects: Map<string, MetadataObject>;
11
+ aliases: Map<string, MetadataAlias>;
12
+ arrays: Map<string, MetadataArray>;
13
+ tuples: Map<string, MetadataTuple>;
14
+ }
@@ -1,6 +1,6 @@
1
- import { IMetadata } from "./IMetadata";
2
-
3
- export interface IMetadataEntry {
4
- key: IMetadata;
5
- value: IMetadata;
6
- }
1
+ import { IMetadata } from "./IMetadata";
2
+
3
+ export interface IMetadataEntry {
4
+ key: IMetadata;
5
+ value: IMetadata;
6
+ }
@@ -1,18 +1,18 @@
1
- import { IJsDocTagInfo } from "./IJsDocTagInfo";
2
- import { IMetadataProperty } from "./IMetadataProperty";
3
-
4
- export interface IMetadataObject {
5
- name: string;
6
- properties: IMetadataProperty[];
7
- description?: string;
8
- jsDocTags: IJsDocTagInfo[];
9
-
10
- index: number;
11
- recursive: boolean;
12
- nullables: boolean[];
13
-
14
- /**
15
- * @internal
16
- */
17
- validated: boolean;
18
- }
1
+ import { IJsDocTagInfo } from "./IJsDocTagInfo";
2
+ import { IMetadataProperty } from "./IMetadataProperty";
3
+
4
+ export interface IMetadataObject {
5
+ name: string;
6
+ properties: IMetadataProperty[];
7
+ description?: string;
8
+ jsDocTags: IJsDocTagInfo[];
9
+
10
+ index: number;
11
+ recursive: boolean;
12
+ nullables: boolean[];
13
+
14
+ /**
15
+ * @internal
16
+ */
17
+ validated: boolean;
18
+ }
@@ -1,11 +1,11 @@
1
- import { IJsDocTagInfo } from "./IJsDocTagInfo";
2
- import { IMetadata } from "./IMetadata";
3
- import { IMetadataTag } from "./IMetadataTag";
4
-
5
- export interface IMetadataProperty {
6
- key: IMetadata;
7
- value: IMetadata;
8
- description: string | null;
9
- tags: IMetadataTag[];
10
- jsDocTags: IJsDocTagInfo[];
11
- }
1
+ import { IJsDocTagInfo } from "./IJsDocTagInfo";
2
+ import { IMetadata } from "./IMetadata";
3
+ import { IMetadataTag } from "./IMetadataTag";
4
+
5
+ export interface IMetadataProperty {
6
+ key: IMetadata;
7
+ value: IMetadata;
8
+ description: string | null;
9
+ tags: IMetadataTag[];
10
+ jsDocTags: IJsDocTagInfo[];
11
+ }
@@ -1,6 +1,6 @@
1
- import { IMetadata } from "./IMetadata";
2
-
3
- export interface IMetadataResolved {
4
- original: IMetadata;
5
- returns: IMetadata;
6
- }
1
+ import { IMetadata } from "./IMetadata";
2
+
3
+ export interface IMetadataResolved {
4
+ original: IMetadata;
5
+ returns: IMetadata;
6
+ }
@@ -1,105 +1,105 @@
1
- export type IMetadataTag =
2
- // NUMBER
3
- | IMetadataTag.IType
4
- | IMetadataTag.IMinimum
5
- | IMetadataTag.IMaximum
6
- | IMetadataTag.IExclusiveMinimum
7
- | IMetadataTag.IExclusiveMaximum
8
- | IMetadataTag.IMultipleOf
9
- | IMetadataTag.IStep
10
- // STRING
11
- | IMetadataTag.IFormat
12
- | IMetadataTag.IPattern
13
- | IMetadataTag.ILength
14
- | IMetadataTag.IMinLength
15
- | IMetadataTag.IMaxLength
16
- // ARRAY
17
- | IMetadataTag.IItems
18
- | IMetadataTag.IMinItems
19
- | IMetadataTag.IMaxItems;
20
-
21
- export namespace IMetadataTag {
22
- /* -----------------------------------------------------------
23
- NUMBER
24
- ----------------------------------------------------------- */
25
- export interface IType {
26
- kind: "type";
27
- value: "int" | "uint";
28
- }
29
-
30
- export interface IMinimum {
31
- kind: "minimum";
32
- value: number;
33
- }
34
-
35
- export interface IMaximum {
36
- kind: "maximum";
37
- value: number;
38
- }
39
-
40
- export interface IExclusiveMinimum {
41
- kind: "exclusiveMinimum";
42
- value: number;
43
- }
44
-
45
- export interface IExclusiveMaximum {
46
- kind: "exclusiveMaximum";
47
- value: number;
48
- }
49
-
50
- export interface IMultipleOf {
51
- kind: "multipleOf";
52
- value: number;
53
- }
54
-
55
- export interface IStep {
56
- kind: "step";
57
- value: number;
58
- }
59
-
60
- /* -----------------------------------------------------------
61
- STRING
62
- ----------------------------------------------------------- */
63
- export interface IFormat {
64
- kind: "format";
65
- value: "uuid" | "email" | "url" | "ipv4" | "ipv6" | "date" | "datetime";
66
- }
67
-
68
- export interface IPattern {
69
- kind: "pattern";
70
- value: string;
71
- }
72
-
73
- export interface ILength {
74
- kind: "length";
75
- value: number;
76
- }
77
-
78
- export interface IMinLength {
79
- kind: "minLength";
80
- value: number;
81
- }
82
-
83
- export interface IMaxLength {
84
- kind: "maxLength";
85
- value: number;
86
- }
87
-
88
- /* -----------------------------------------------------------
89
- ARRAY
90
- ----------------------------------------------------------- */
91
- export interface IItems {
92
- kind: "items";
93
- value: number;
94
- }
95
-
96
- export interface IMinItems {
97
- kind: "minItems";
98
- value: number;
99
- }
100
-
101
- export interface IMaxItems {
102
- kind: "maxItems";
103
- value: number;
104
- }
105
- }
1
+ export type IMetadataTag =
2
+ // NUMBER
3
+ | IMetadataTag.IType
4
+ | IMetadataTag.IMinimum
5
+ | IMetadataTag.IMaximum
6
+ | IMetadataTag.IExclusiveMinimum
7
+ | IMetadataTag.IExclusiveMaximum
8
+ | IMetadataTag.IMultipleOf
9
+ | IMetadataTag.IStep
10
+ // STRING
11
+ | IMetadataTag.IFormat
12
+ | IMetadataTag.IPattern
13
+ | IMetadataTag.ILength
14
+ | IMetadataTag.IMinLength
15
+ | IMetadataTag.IMaxLength
16
+ // ARRAY
17
+ | IMetadataTag.IItems
18
+ | IMetadataTag.IMinItems
19
+ | IMetadataTag.IMaxItems;
20
+
21
+ export namespace IMetadataTag {
22
+ /* -----------------------------------------------------------
23
+ NUMBER
24
+ ----------------------------------------------------------- */
25
+ export interface IType {
26
+ kind: "type";
27
+ value: "int" | "uint";
28
+ }
29
+
30
+ export interface IMinimum {
31
+ kind: "minimum";
32
+ value: number;
33
+ }
34
+
35
+ export interface IMaximum {
36
+ kind: "maximum";
37
+ value: number;
38
+ }
39
+
40
+ export interface IExclusiveMinimum {
41
+ kind: "exclusiveMinimum";
42
+ value: number;
43
+ }
44
+
45
+ export interface IExclusiveMaximum {
46
+ kind: "exclusiveMaximum";
47
+ value: number;
48
+ }
49
+
50
+ export interface IMultipleOf {
51
+ kind: "multipleOf";
52
+ value: number;
53
+ }
54
+
55
+ export interface IStep {
56
+ kind: "step";
57
+ value: number;
58
+ }
59
+
60
+ /* -----------------------------------------------------------
61
+ STRING
62
+ ----------------------------------------------------------- */
63
+ export interface IFormat {
64
+ kind: "format";
65
+ value: "uuid" | "email" | "url" | "ipv4" | "ipv6" | "date" | "datetime";
66
+ }
67
+
68
+ export interface IPattern {
69
+ kind: "pattern";
70
+ value: string;
71
+ }
72
+
73
+ export interface ILength {
74
+ kind: "length";
75
+ value: number;
76
+ }
77
+
78
+ export interface IMinLength {
79
+ kind: "minLength";
80
+ value: number;
81
+ }
82
+
83
+ export interface IMaxLength {
84
+ kind: "maxLength";
85
+ value: number;
86
+ }
87
+
88
+ /* -----------------------------------------------------------
89
+ ARRAY
90
+ ----------------------------------------------------------- */
91
+ export interface IItems {
92
+ kind: "items";
93
+ value: number;
94
+ }
95
+
96
+ export interface IMinItems {
97
+ kind: "minItems";
98
+ value: number;
99
+ }
100
+
101
+ export interface IMaxItems {
102
+ kind: "maxItems";
103
+ value: number;
104
+ }
105
+ }
@@ -1,10 +1,10 @@
1
- import { IMetadata } from "./IMetadata";
2
-
3
- export interface IMetadataTuple {
4
- name: string;
5
- elements: IMetadata[];
6
-
7
- index: number | null;
8
- recursive: boolean;
9
- nullables: boolean[];
10
- }
1
+ import { IMetadata } from "./IMetadata";
2
+
3
+ export interface IMetadataTuple {
4
+ name: string;
5
+ elements: IMetadata[];
6
+
7
+ index: number | null;
8
+ recursive: boolean;
9
+ nullables: boolean[];
10
+ }