typia 3.8.2 → 3.8.3

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 (173) hide show
  1. package/README.md +1 -1
  2. package/lib/Primitive.d.ts +10 -10
  3. package/lib/factories/MetadataFactory.d.ts +1 -1
  4. package/lib/factories/MetadataFactory.js +1 -1
  5. package/lib/factories/MetadataFactory.js.map +1 -1
  6. package/lib/factories/internal/metadata/emplace_metadata_object.js +3 -1
  7. package/lib/factories/internal/metadata/emplace_metadata_object.js.map +1 -1
  8. package/lib/factories/internal/metadata/iterate_metadata_tuple.js +2 -0
  9. package/lib/factories/internal/metadata/iterate_metadata_tuple.js.map +1 -1
  10. package/lib/metadata/IMetadata.d.ts +1 -0
  11. package/lib/metadata/Metadata.d.ts +1 -0
  12. package/lib/metadata/Metadata.js +5 -0
  13. package/lib/metadata/Metadata.js.map +1 -1
  14. package/lib/programmers/CheckerProgrammer.js +17 -6
  15. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  16. package/lib/programmers/internal/application_object.js +1 -0
  17. package/lib/programmers/internal/application_object.js.map +1 -1
  18. package/lib/programmers/internal/application_tuple.js +1 -1
  19. package/lib/programmers/internal/application_tuple.js.map +1 -1
  20. package/lib/schemas/IJsonSchema.d.ts +1 -0
  21. package/package.json +1 -1
  22. package/src/Primitive.ts +123 -120
  23. package/src/executable/TypiaGenerateWizard.ts +85 -85
  24. package/src/executable/TypiaSetupWizard.ts +133 -133
  25. package/src/executable/setup/CommandExecutor.ts +8 -8
  26. package/src/executable/setup/PackageManager.ts +71 -71
  27. package/src/executable/typia.ts +52 -52
  28. package/src/factories/CommentFactory.ts +14 -14
  29. package/src/factories/ExpressionFactory.ts +70 -70
  30. package/src/factories/IdentifierFactory.ts +63 -63
  31. package/src/factories/LiteralFactory.ts +39 -39
  32. package/src/factories/MetadataCollection.ts +121 -121
  33. package/src/factories/MetadataFactory.ts +62 -62
  34. package/src/factories/MetadataTagFactory.ts +297 -297
  35. package/src/factories/StatementFactory.ts +24 -24
  36. package/src/factories/TemplateFactory.ts +58 -58
  37. package/src/factories/TypeFactory.ts +124 -124
  38. package/src/factories/internal/metadata/MetadataHelper.ts +12 -12
  39. package/src/factories/internal/metadata/emplace_metadata_object.ts +143 -140
  40. package/src/factories/internal/metadata/iterate_metadata.ts +67 -67
  41. package/src/factories/internal/metadata/iterate_metadata_map.ts +41 -41
  42. package/src/factories/internal/metadata/iterate_metadata_native.ts +219 -219
  43. package/src/factories/internal/metadata/iterate_metadata_resolve.ts +27 -27
  44. package/src/factories/internal/metadata/iterate_metadata_set.ts +33 -33
  45. package/src/factories/internal/metadata/iterate_metadata_tuple.ts +48 -44
  46. package/src/factories/internal/metadata/iterate_metadata_union.ts +57 -57
  47. package/src/functional/$any.ts +2 -2
  48. package/src/functional/$is_between.ts +2 -2
  49. package/src/functional/$is_custom.ts +14 -14
  50. package/src/functional/$is_date.ts +3 -3
  51. package/src/functional/$is_datetime.ts +2 -2
  52. package/src/functional/$is_email.ts +4 -4
  53. package/src/functional/$is_ipv4.ts +4 -4
  54. package/src/functional/$is_ipv6.ts +4 -4
  55. package/src/functional/$is_url.ts +4 -4
  56. package/src/functional/$is_uuid.ts +4 -4
  57. package/src/functional/$join.ts +46 -46
  58. package/src/functional/$number.ts +12 -12
  59. package/src/functional/$rest.ts +3 -3
  60. package/src/functional/$string.ts +37 -37
  61. package/src/functional/$tail.ts +5 -5
  62. package/src/metadata/IMetadata.ts +1 -0
  63. package/src/metadata/Metadata.ts +539 -533
  64. package/src/metadata/MetadataConstant.ts +3 -3
  65. package/src/metadata/MetadataObject.ts +127 -127
  66. package/src/module.ts +2043 -2043
  67. package/src/programmers/ApplicationProgrammer.ts +62 -62
  68. package/src/programmers/AssertCloneProgrammer.ts +79 -79
  69. package/src/programmers/AssertParseProgrammer.ts +74 -74
  70. package/src/programmers/AssertProgrammer.ts +285 -285
  71. package/src/programmers/AssertPruneProgrammer.ts +76 -76
  72. package/src/programmers/AssertStringifyProgrammer.ts +74 -74
  73. package/src/programmers/CheckerProgrammer.ts +901 -875
  74. package/src/programmers/CloneProgrammer.ts +389 -389
  75. package/src/programmers/FeatureProgrammer.ts +500 -500
  76. package/src/programmers/IsCloneProgrammer.ts +86 -86
  77. package/src/programmers/IsParseProgrammer.ts +80 -80
  78. package/src/programmers/IsProgrammer.ts +212 -212
  79. package/src/programmers/IsPruneProgrammer.ts +81 -81
  80. package/src/programmers/IsStringifyProgrammer.ts +84 -84
  81. package/src/programmers/LiteralsProgrammer.ts +65 -65
  82. package/src/programmers/PruneProgrammer.ts +347 -347
  83. package/src/programmers/RandomProgrammer.ts +423 -423
  84. package/src/programmers/StringifyProgrammer.ts +798 -798
  85. package/src/programmers/TypiaProgrammer.ts +129 -129
  86. package/src/programmers/ValidateCloneProgrammer.ts +93 -93
  87. package/src/programmers/ValidateParseProgrammer.ts +78 -78
  88. package/src/programmers/ValidateProgrammer.ts +316 -316
  89. package/src/programmers/ValidatePruneProgrammer.ts +86 -86
  90. package/src/programmers/ValidateStringifyProgrammer.ts +92 -92
  91. package/src/programmers/helpers/CloneJoiner.ts +131 -131
  92. package/src/programmers/helpers/FunctionImporeter.ts +54 -54
  93. package/src/programmers/helpers/OptionPredicator.ts +15 -15
  94. package/src/programmers/helpers/PruneJoiner.ts +144 -144
  95. package/src/programmers/helpers/StringifyJoinder.ts +113 -113
  96. package/src/programmers/helpers/StringifyPredicator.ts +12 -12
  97. package/src/programmers/helpers/UnionExplorer.ts +275 -275
  98. package/src/programmers/helpers/UnionPredicator.ts +81 -81
  99. package/src/programmers/internal/application_array.ts +36 -36
  100. package/src/programmers/internal/application_boolean.ts +17 -17
  101. package/src/programmers/internal/application_constant.ts +30 -30
  102. package/src/programmers/internal/application_default_string.ts +33 -33
  103. package/src/programmers/internal/application_native.ts +32 -32
  104. package/src/programmers/internal/application_number.ts +73 -73
  105. package/src/programmers/internal/application_object.ts +155 -154
  106. package/src/programmers/internal/application_schema.ts +213 -213
  107. package/src/programmers/internal/application_string.ts +45 -45
  108. package/src/programmers/internal/application_templates.ts +26 -26
  109. package/src/programmers/internal/application_tuple.ts +31 -29
  110. package/src/programmers/internal/check_array.ts +30 -30
  111. package/src/programmers/internal/check_custom.ts +31 -31
  112. package/src/programmers/internal/check_dynamic_properties.ts +194 -194
  113. package/src/programmers/internal/check_everything.ts +28 -28
  114. package/src/programmers/internal/check_native.ts +21 -21
  115. package/src/programmers/internal/check_string_tags.ts +67 -67
  116. package/src/programmers/internal/check_union_array_like.ts +271 -271
  117. package/src/programmers/internal/check_union_tuple.ts +33 -33
  118. package/src/programmers/internal/random_custom.ts +29 -29
  119. package/src/programmers/internal/stringify_dynamic_properties.ts +167 -167
  120. package/src/programmers/internal/stringify_native.ts +7 -7
  121. package/src/programmers/internal/stringify_regular_properties.ts +83 -83
  122. package/src/schemas/IJsonSchema.ts +130 -129
  123. package/src/transform.ts +17 -17
  124. package/src/transformers/CallExpressionTransformer.ts +177 -177
  125. package/src/transformers/FileTransformer.ts +47 -47
  126. package/src/transformers/NodeTransformer.ts +13 -13
  127. package/src/transformers/features/miscellaneous/ApplicationTransformer.ts +114 -114
  128. package/src/transformers/features/miscellaneous/AssertCloneTransformer.ts +9 -9
  129. package/src/transformers/features/miscellaneous/AssertPruneTransformer.ts +9 -9
  130. package/src/transformers/features/miscellaneous/CloneTransformer.ts +9 -9
  131. package/src/transformers/features/miscellaneous/CreateAssertCloneTransformer.ts +9 -9
  132. package/src/transformers/features/miscellaneous/CreateAssertPruneTransformer.ts +9 -9
  133. package/src/transformers/features/miscellaneous/CreateCloneTransformer.ts +9 -9
  134. package/src/transformers/features/miscellaneous/CreateIsCloneTransformer.ts +9 -9
  135. package/src/transformers/features/miscellaneous/CreateIsPruneTransformer.ts +9 -9
  136. package/src/transformers/features/miscellaneous/CreatePruneTransformer.ts +9 -9
  137. package/src/transformers/features/miscellaneous/CreateRandomTransformer.ts +39 -39
  138. package/src/transformers/features/miscellaneous/CreateValidateCloneTransformer.ts +9 -9
  139. package/src/transformers/features/miscellaneous/CreateValidatePruneTransformer.ts +9 -9
  140. package/src/transformers/features/miscellaneous/IsCloneTransformer.ts +9 -9
  141. package/src/transformers/features/miscellaneous/IsPruneTransformer.ts +9 -9
  142. package/src/transformers/features/miscellaneous/LiteralsTransformer.ts +28 -28
  143. package/src/transformers/features/miscellaneous/MetadataTransformer.ts +52 -52
  144. package/src/transformers/features/miscellaneous/PruneTransformer.ts +9 -9
  145. package/src/transformers/features/miscellaneous/RandomTransformer.ts +42 -42
  146. package/src/transformers/features/miscellaneous/ValidateCloneTransformer.ts +9 -9
  147. package/src/transformers/features/miscellaneous/ValidatePruneTransformer.ts +9 -9
  148. package/src/transformers/features/parsers/AssertParseTransformer.ts +9 -9
  149. package/src/transformers/features/parsers/CreateAssertParseTransformer.ts +9 -9
  150. package/src/transformers/features/parsers/CreateIsParseTransformer.ts +9 -9
  151. package/src/transformers/features/parsers/CreateValidateParseTransformer.ts +9 -9
  152. package/src/transformers/features/parsers/IsParseTransformer.ts +9 -9
  153. package/src/transformers/features/parsers/ValidateParseTransformer.ts +9 -9
  154. package/src/transformers/features/stringifiers/AssertStringifyTransformer.ts +10 -10
  155. package/src/transformers/features/stringifiers/CreateAssertStringifyTransformer.ts +12 -12
  156. package/src/transformers/features/stringifiers/CreateIsStringifyTransformer.ts +9 -9
  157. package/src/transformers/features/stringifiers/CreateStringifyTransformer.ts +9 -9
  158. package/src/transformers/features/stringifiers/CreateValidateStringifyProgrammer.ts +12 -12
  159. package/src/transformers/features/stringifiers/IsStringifyTransformer.ts +9 -9
  160. package/src/transformers/features/stringifiers/StringifyTransformer.ts +9 -9
  161. package/src/transformers/features/stringifiers/ValidateStringifyTransformer.ts +10 -10
  162. package/src/transformers/features/validators/AssertTransformer.ts +11 -11
  163. package/src/transformers/features/validators/CreateAssertTransformer.ts +13 -13
  164. package/src/transformers/features/validators/CreateIsTransformer.ts +11 -11
  165. package/src/transformers/features/validators/CreateValidateTransformer.ts +13 -13
  166. package/src/transformers/features/validators/IsTransformer.ts +11 -11
  167. package/src/transformers/features/validators/ValidateTransformer.ts +11 -11
  168. package/src/transformers/internal/GenericTransformer.ts +97 -97
  169. package/src/utils/ArrayUtil.ts +44 -44
  170. package/src/utils/Escaper.ts +45 -45
  171. package/src/utils/MapUtil.ts +12 -12
  172. package/src/utils/PatternUtil.ts +30 -30
  173. package/src/utils/RandomGenerator.ts +81 -81
@@ -1,58 +1,58 @@
1
- import ts from "typescript";
2
-
3
- export namespace TemplateFactory {
4
- export const generate = (expressions: ts.Expression[]): ts.Expression => {
5
- if (expressions.every((exp) => ts.isStringLiteral(exp)))
6
- return ts.factory.createStringLiteral(
7
- (expressions as ts.StringLiteral[])
8
- .map((str) => str.text)
9
- .join(""),
10
- );
11
-
12
- const it: IIterator = {
13
- value: "",
14
- index: 0,
15
- };
16
- gather(expressions)(it);
17
-
18
- const head: ts.TemplateHead = ts.factory.createTemplateHead(it.value);
19
- const spans: ts.TemplateSpan[] = [];
20
-
21
- while (true) {
22
- const elem: ts.Expression = expressions[it.index++]!;
23
- gather(expressions)(it);
24
-
25
- const broken: boolean = it.index === expressions.length;
26
- spans.push(
27
- ts.factory.createTemplateSpan(
28
- elem,
29
- broken
30
- ? ts.factory.createTemplateTail(it.value)
31
- : ts.factory.createTemplateMiddle(it.value),
32
- ),
33
- );
34
- if (broken === true) break;
35
- }
36
- return ts.factory.createTemplateExpression(head, spans);
37
- };
38
-
39
- const gather =
40
- (expressions: ts.Expression[]) =>
41
- (it: IIterator): void => {
42
- const found: number = expressions.findIndex(
43
- (elem, index) => index >= it.index && !ts.isStringLiteral(elem),
44
- );
45
-
46
- const last: number = found !== -1 ? found : expressions.length;
47
- it.value = expressions
48
- .slice(it.index, last)
49
- .map((elem) => (elem as ts.StringLiteral).text)
50
- .reduce((x, y) => x + y, "");
51
- it.index = last;
52
- };
53
-
54
- interface IIterator {
55
- value: string;
56
- index: number;
57
- }
58
- }
1
+ import ts from "typescript";
2
+
3
+ export namespace TemplateFactory {
4
+ export const generate = (expressions: ts.Expression[]): ts.Expression => {
5
+ if (expressions.every((exp) => ts.isStringLiteral(exp)))
6
+ return ts.factory.createStringLiteral(
7
+ (expressions as ts.StringLiteral[])
8
+ .map((str) => str.text)
9
+ .join(""),
10
+ );
11
+
12
+ const it: IIterator = {
13
+ value: "",
14
+ index: 0,
15
+ };
16
+ gather(expressions)(it);
17
+
18
+ const head: ts.TemplateHead = ts.factory.createTemplateHead(it.value);
19
+ const spans: ts.TemplateSpan[] = [];
20
+
21
+ while (true) {
22
+ const elem: ts.Expression = expressions[it.index++]!;
23
+ gather(expressions)(it);
24
+
25
+ const broken: boolean = it.index === expressions.length;
26
+ spans.push(
27
+ ts.factory.createTemplateSpan(
28
+ elem,
29
+ broken
30
+ ? ts.factory.createTemplateTail(it.value)
31
+ : ts.factory.createTemplateMiddle(it.value),
32
+ ),
33
+ );
34
+ if (broken === true) break;
35
+ }
36
+ return ts.factory.createTemplateExpression(head, spans);
37
+ };
38
+
39
+ const gather =
40
+ (expressions: ts.Expression[]) =>
41
+ (it: IIterator): void => {
42
+ const found: number = expressions.findIndex(
43
+ (elem, index) => index >= it.index && !ts.isStringLiteral(elem),
44
+ );
45
+
46
+ const last: number = found !== -1 ? found : expressions.length;
47
+ it.value = expressions
48
+ .slice(it.index, last)
49
+ .map((elem) => (elem as ts.StringLiteral).text)
50
+ .reduce((x, y) => x + y, "");
51
+ it.index = last;
52
+ };
53
+
54
+ interface IIterator {
55
+ value: string;
56
+ index: number;
57
+ }
58
+ }
@@ -1,124 +1,124 @@
1
- import ts from "typescript";
2
-
3
- export namespace TypeFactory {
4
- export const resolve =
5
- (checker: ts.TypeChecker) =>
6
- (type: ts.Type): ts.Type | null =>
7
- getReturnType(checker)(type)("toJSON");
8
-
9
- export const isFunction = (type: ts.Type): boolean =>
10
- getFunction(type) !== null;
11
-
12
- const getFunction = (type: ts.Type) => {
13
- const node = type.symbol?.declarations?.[0];
14
- if (node === undefined) return null;
15
-
16
- return ts.isFunctionLike(node)
17
- ? node
18
- : ts.isPropertyAssignment(node) || ts.isPropertyDeclaration(node)
19
- ? ts.isFunctionLike(node.initializer)
20
- ? node.initializer
21
- : null
22
- : null;
23
- };
24
-
25
- export const getReturnType =
26
- (checker: ts.TypeChecker) =>
27
- (type: ts.Type) =>
28
- (name: string): ts.Type | null => {
29
- // FIND TO-JSON METHOD
30
- const symbol: ts.Symbol | undefined = type.getProperty(name);
31
- if (!symbol) return null;
32
- else if (!symbol.valueDeclaration) return null;
33
-
34
- // GET FUNCTION DECLARATION
35
- const functor: ts.Type = checker.getTypeOfSymbolAtLocation(
36
- symbol,
37
- symbol.valueDeclaration,
38
- );
39
-
40
- // RETURNS THE RETURN-TYPE
41
- const signature: ts.Signature | undefined =
42
- checker.getSignaturesOfType(functor, ts.SignatureKind.Call)[0];
43
- return signature ? signature.getReturnType() : null;
44
- };
45
-
46
- export const getFullName =
47
- (checker: ts.TypeChecker) =>
48
- (type: ts.Type, symbol?: ts.Symbol): string => {
49
- // PRIMITIVE
50
- symbol ??= type.aliasSymbol ?? type.getSymbol();
51
- if (symbol === undefined) return checker.typeToString(type);
52
-
53
- // UNION OR INTERSECT
54
- if (
55
- type.aliasSymbol === undefined &&
56
- type.isUnionOrIntersection()
57
- ) {
58
- const joiner: string = type.isIntersection() ? " & " : " | ";
59
- return type.types
60
- .map((child) => getFullName(checker)(child))
61
- .join(joiner);
62
- }
63
-
64
- //----
65
- // SPECIALIZATION
66
- //----
67
- const name: string = get_name(symbol);
68
-
69
- // CHECK GENERIC
70
- const generic: readonly ts.Type[] = type.aliasSymbol
71
- ? type.aliasTypeArguments || []
72
- : checker.getTypeArguments(type as ts.TypeReference);
73
- return generic.length
74
- ? name === "Promise"
75
- ? getFullName(checker)(generic[0]!)
76
- : `${name}<${generic
77
- .map((child) => getFullName(checker)(child))
78
- .join(", ")}>`
79
- : name;
80
- };
81
-
82
- const explore_name =
83
- (decl: ts.Node) =>
84
- (name: string): string =>
85
- ts.isModuleBlock(decl)
86
- ? explore_name(decl.parent.parent)(
87
- `${decl.parent.name.getFullText().trim()}.${name}`,
88
- )
89
- : name;
90
-
91
- const get_name = (symbol: ts.Symbol): string => {
92
- const parent = symbol.getDeclarations()?.[0]?.parent;
93
- return parent
94
- ? explore_name(parent)(symbol.escapedName.toString())
95
- : "__type";
96
- };
97
-
98
- export const keyword = (
99
- type:
100
- | "void"
101
- | "any"
102
- | "unknown"
103
- | "boolean"
104
- | "number"
105
- | "bigint"
106
- | "string",
107
- ) => {
108
- return ts.factory.createKeywordTypeNode(
109
- type === "void"
110
- ? ts.SyntaxKind.VoidKeyword
111
- : type === "any"
112
- ? ts.SyntaxKind.AnyKeyword
113
- : type === "unknown"
114
- ? ts.SyntaxKind.UnknownKeyword
115
- : type === "boolean"
116
- ? ts.SyntaxKind.BooleanKeyword
117
- : type === "number"
118
- ? ts.SyntaxKind.NumberKeyword
119
- : type === "bigint"
120
- ? ts.SyntaxKind.BigIntKeyword
121
- : ts.SyntaxKind.StringKeyword,
122
- );
123
- };
124
- }
1
+ import ts from "typescript";
2
+
3
+ export namespace TypeFactory {
4
+ export const resolve =
5
+ (checker: ts.TypeChecker) =>
6
+ (type: ts.Type): ts.Type | null =>
7
+ getReturnType(checker)(type)("toJSON");
8
+
9
+ export const isFunction = (type: ts.Type): boolean =>
10
+ getFunction(type) !== null;
11
+
12
+ const getFunction = (type: ts.Type) => {
13
+ const node = type.symbol?.declarations?.[0];
14
+ if (node === undefined) return null;
15
+
16
+ return ts.isFunctionLike(node)
17
+ ? node
18
+ : ts.isPropertyAssignment(node) || ts.isPropertyDeclaration(node)
19
+ ? ts.isFunctionLike(node.initializer)
20
+ ? node.initializer
21
+ : null
22
+ : null;
23
+ };
24
+
25
+ export const getReturnType =
26
+ (checker: ts.TypeChecker) =>
27
+ (type: ts.Type) =>
28
+ (name: string): ts.Type | null => {
29
+ // FIND TO-JSON METHOD
30
+ const symbol: ts.Symbol | undefined = type.getProperty(name);
31
+ if (!symbol) return null;
32
+ else if (!symbol.valueDeclaration) return null;
33
+
34
+ // GET FUNCTION DECLARATION
35
+ const functor: ts.Type = checker.getTypeOfSymbolAtLocation(
36
+ symbol,
37
+ symbol.valueDeclaration,
38
+ );
39
+
40
+ // RETURNS THE RETURN-TYPE
41
+ const signature: ts.Signature | undefined =
42
+ checker.getSignaturesOfType(functor, ts.SignatureKind.Call)[0];
43
+ return signature ? signature.getReturnType() : null;
44
+ };
45
+
46
+ export const getFullName =
47
+ (checker: ts.TypeChecker) =>
48
+ (type: ts.Type, symbol?: ts.Symbol): string => {
49
+ // PRIMITIVE
50
+ symbol ??= type.aliasSymbol ?? type.getSymbol();
51
+ if (symbol === undefined) return checker.typeToString(type);
52
+
53
+ // UNION OR INTERSECT
54
+ if (
55
+ type.aliasSymbol === undefined &&
56
+ type.isUnionOrIntersection()
57
+ ) {
58
+ const joiner: string = type.isIntersection() ? " & " : " | ";
59
+ return type.types
60
+ .map((child) => getFullName(checker)(child))
61
+ .join(joiner);
62
+ }
63
+
64
+ //----
65
+ // SPECIALIZATION
66
+ //----
67
+ const name: string = get_name(symbol);
68
+
69
+ // CHECK GENERIC
70
+ const generic: readonly ts.Type[] = type.aliasSymbol
71
+ ? type.aliasTypeArguments || []
72
+ : checker.getTypeArguments(type as ts.TypeReference);
73
+ return generic.length
74
+ ? name === "Promise"
75
+ ? getFullName(checker)(generic[0]!)
76
+ : `${name}<${generic
77
+ .map((child) => getFullName(checker)(child))
78
+ .join(", ")}>`
79
+ : name;
80
+ };
81
+
82
+ const explore_name =
83
+ (decl: ts.Node) =>
84
+ (name: string): string =>
85
+ ts.isModuleBlock(decl)
86
+ ? explore_name(decl.parent.parent)(
87
+ `${decl.parent.name.getFullText().trim()}.${name}`,
88
+ )
89
+ : name;
90
+
91
+ const get_name = (symbol: ts.Symbol): string => {
92
+ const parent = symbol.getDeclarations()?.[0]?.parent;
93
+ return parent
94
+ ? explore_name(parent)(symbol.escapedName.toString())
95
+ : "__type";
96
+ };
97
+
98
+ export const keyword = (
99
+ type:
100
+ | "void"
101
+ | "any"
102
+ | "unknown"
103
+ | "boolean"
104
+ | "number"
105
+ | "bigint"
106
+ | "string",
107
+ ) => {
108
+ return ts.factory.createKeywordTypeNode(
109
+ type === "void"
110
+ ? ts.SyntaxKind.VoidKeyword
111
+ : type === "any"
112
+ ? ts.SyntaxKind.AnyKeyword
113
+ : type === "unknown"
114
+ ? ts.SyntaxKind.UnknownKeyword
115
+ : type === "boolean"
116
+ ? ts.SyntaxKind.BooleanKeyword
117
+ : type === "number"
118
+ ? ts.SyntaxKind.NumberKeyword
119
+ : type === "bigint"
120
+ ? ts.SyntaxKind.BigIntKeyword
121
+ : ts.SyntaxKind.StringKeyword,
122
+ );
123
+ };
124
+ }
@@ -1,12 +1,12 @@
1
- import { Metadata } from "../../../metadata/Metadata";
2
-
3
- export namespace MetadataHelper {
4
- export const literal_to_metadata = (key: string): Metadata => {
5
- const metadata: Metadata = Metadata.initialize();
6
- metadata.constants.push({
7
- type: "string",
8
- values: [key],
9
- });
10
- return metadata;
11
- };
12
- }
1
+ import { Metadata } from "../../../metadata/Metadata";
2
+
3
+ export namespace MetadataHelper {
4
+ export const literal_to_metadata = (key: string): Metadata => {
5
+ const metadata: Metadata = Metadata.initialize();
6
+ metadata.constants.push({
7
+ type: "string",
8
+ values: [key],
9
+ });
10
+ return metadata;
11
+ };
12
+ }