typia 3.7.1 → 3.7.2
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/README.md +3 -1
- package/lib/module.d.ts +33 -0
- package/lib/module.js +5 -1
- package/lib/module.js.map +1 -1
- package/lib/programmers/LiteralsProgrammer.d.ts +5 -0
- package/lib/programmers/LiteralsProgrammer.js +75 -0
- package/lib/programmers/LiteralsProgrammer.js.map +1 -0
- package/lib/transformers/CallExpressionTransformer.js +2 -0
- package/lib/transformers/CallExpressionTransformer.js.map +1 -1
- package/lib/transformers/ImportTransformer.js +8 -1
- package/lib/transformers/ImportTransformer.js.map +1 -1
- package/lib/transformers/features/miscellaneous/ApplicationTransformer.js +6 -3
- package/lib/transformers/features/miscellaneous/ApplicationTransformer.js.map +1 -1
- package/lib/transformers/features/miscellaneous/CreateRandomTransformer.js +4 -2
- package/lib/transformers/features/miscellaneous/CreateRandomTransformer.js.map +1 -1
- package/lib/transformers/features/miscellaneous/LiteralsTransformer.d.ts +5 -0
- package/lib/transformers/features/miscellaneous/LiteralsTransformer.js +21 -0
- package/lib/transformers/features/miscellaneous/LiteralsTransformer.js.map +1 -0
- package/lib/transformers/features/miscellaneous/MetadataTransformer.js +4 -2
- package/lib/transformers/features/miscellaneous/MetadataTransformer.js.map +1 -1
- package/lib/transformers/features/miscellaneous/RandomTransformer.js +4 -2
- package/lib/transformers/features/miscellaneous/RandomTransformer.js.map +1 -1
- package/package.json +2 -2
- package/src/IRandomGenerator.ts +33 -33
- package/src/factories/IdentifierFactory.ts +81 -81
- package/src/factories/MetadataTagFactory.ts +302 -302
- package/src/metadata/ICommentTag.ts +4 -4
- package/src/module.ts +43 -0
- package/src/programmers/LiteralsProgrammer.ts +65 -0
- package/src/programmers/RandomProgrammer.ts +413 -413
- package/src/programmers/helpers/RandomJoiner.ts +161 -161
- package/src/programmers/helpers/RandomRanger.ts +216 -216
- package/src/programmers/internal/application_native.ts +32 -32
- package/src/programmers/internal/check_array.ts +30 -30
- package/src/programmers/internal/check_array_length.ts +35 -35
- package/src/programmers/internal/check_custom.ts +33 -33
- package/src/programmers/internal/check_number.ts +177 -177
- package/src/programmers/internal/check_object.ts +55 -55
- package/src/programmers/internal/check_union_array_like.ts +272 -272
- package/src/programmers/internal/feature_object_entries.ts +63 -63
- package/src/programmers/internal/get_comment_tags.ts +23 -23
- package/src/programmers/internal/metadata_to_pattern.ts +34 -34
- package/src/programmers/internal/random_custom.ts +30 -30
- package/src/programmers/internal/stringify_dynamic_properties.ts +168 -168
- package/src/programmers/internal/stringify_regular_properties.ts +84 -84
- package/src/transformers/CallExpressionTransformer.ts +174 -172
- package/src/transformers/ImportTransformer.ts +9 -3
- package/src/transformers/features/miscellaneous/ApplicationTransformer.ts +8 -9
- package/src/transformers/features/miscellaneous/CreateRandomTransformer.ts +41 -43
- package/src/transformers/features/miscellaneous/LiteralsTransformer.ts +30 -0
- package/src/transformers/features/miscellaneous/MetadataTransformer.ts +5 -6
- package/src/transformers/features/miscellaneous/RandomTransformer.ts +6 -8
- package/src/typings/Customizable.ts +5 -5
|
@@ -1,81 +1,81 @@
|
|
|
1
|
-
import ts from "typescript";
|
|
2
|
-
|
|
3
|
-
import { Escaper } from "../utils/Escaper";
|
|
4
|
-
|
|
5
|
-
export namespace IdentifierFactory {
|
|
6
|
-
export function generate(name: string) {
|
|
7
|
-
return Escaper.variable(name)
|
|
8
|
-
? ts.factory.createIdentifier(name)
|
|
9
|
-
: ts.factory.createStringLiteral(name);
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export function join(prefix: ts.Expression, name: string) {
|
|
13
|
-
const postfix = generate(name);
|
|
14
|
-
return ts.isStringLiteral(postfix)
|
|
15
|
-
? ts.factory.createElementAccessExpression(prefix, postfix)
|
|
16
|
-
: ts.factory.createPropertyAccessExpression(prefix, postfix);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export function postfix(str: string): string {
|
|
20
|
-
return Escaper.variable(str)
|
|
21
|
-
? `".${str}"`
|
|
22
|
-
: `"[${JSON.stringify(str).split('"').join('\\"')}]"`;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export function parameter(
|
|
26
|
-
name: string | ts.BindingName,
|
|
27
|
-
type?: ts.TypeNode,
|
|
28
|
-
init?: ts.Expression | ts.PunctuationToken<ts.SyntaxKind.QuestionToken>,
|
|
29
|
-
) {
|
|
30
|
-
if (ts.version >= "4.8")
|
|
31
|
-
return ts.factory.createParameterDeclaration(
|
|
32
|
-
undefined,
|
|
33
|
-
undefined,
|
|
34
|
-
name,
|
|
35
|
-
init?.kind === ts.SyntaxKind.QuestionToken
|
|
36
|
-
? ts.factory.createToken(ts.SyntaxKind.QuestionToken)
|
|
37
|
-
: undefined,
|
|
38
|
-
type,
|
|
39
|
-
init && init.kind !== ts.SyntaxKind.QuestionToken
|
|
40
|
-
? init
|
|
41
|
-
: undefined,
|
|
42
|
-
);
|
|
43
|
-
// eslint-disable-next-line
|
|
44
|
-
return ts.factory.createParameterDeclaration(
|
|
45
|
-
undefined,
|
|
46
|
-
undefined,
|
|
47
|
-
undefined,
|
|
48
|
-
name,
|
|
49
|
-
init?.kind === ts.SyntaxKind.QuestionToken
|
|
50
|
-
? ts.factory.createToken(ts.SyntaxKind.QuestionToken)
|
|
51
|
-
: undefined,
|
|
52
|
-
type,
|
|
53
|
-
init && init.kind !== ts.SyntaxKind.QuestionToken
|
|
54
|
-
? init
|
|
55
|
-
: undefined,
|
|
56
|
-
);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
// export function property(
|
|
60
|
-
// name: string | ts.PropertyName,
|
|
61
|
-
// value: ts.Expression,
|
|
62
|
-
// ): ts.PropertyDeclaration {
|
|
63
|
-
// if (ts.version >= "4.8")
|
|
64
|
-
// return ts.factory.createPropertyDeclaration(
|
|
65
|
-
// undefined,
|
|
66
|
-
// name,
|
|
67
|
-
// undefined,
|
|
68
|
-
// undefined,
|
|
69
|
-
// value,
|
|
70
|
-
// );
|
|
71
|
-
// // eslint-disable-next-line
|
|
72
|
-
// return ts.factory.createPropertyDeclaration(
|
|
73
|
-
// undefined,
|
|
74
|
-
// undefined,
|
|
75
|
-
// name,
|
|
76
|
-
// undefined,
|
|
77
|
-
// undefined,
|
|
78
|
-
// value,
|
|
79
|
-
// );
|
|
80
|
-
// }
|
|
81
|
-
}
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
|
|
3
|
+
import { Escaper } from "../utils/Escaper";
|
|
4
|
+
|
|
5
|
+
export namespace IdentifierFactory {
|
|
6
|
+
export function generate(name: string) {
|
|
7
|
+
return Escaper.variable(name)
|
|
8
|
+
? ts.factory.createIdentifier(name)
|
|
9
|
+
: ts.factory.createStringLiteral(name);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export function join(prefix: ts.Expression, name: string) {
|
|
13
|
+
const postfix = generate(name);
|
|
14
|
+
return ts.isStringLiteral(postfix)
|
|
15
|
+
? ts.factory.createElementAccessExpression(prefix, postfix)
|
|
16
|
+
: ts.factory.createPropertyAccessExpression(prefix, postfix);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export function postfix(str: string): string {
|
|
20
|
+
return Escaper.variable(str)
|
|
21
|
+
? `".${str}"`
|
|
22
|
+
: `"[${JSON.stringify(str).split('"').join('\\"')}]"`;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export function parameter(
|
|
26
|
+
name: string | ts.BindingName,
|
|
27
|
+
type?: ts.TypeNode,
|
|
28
|
+
init?: ts.Expression | ts.PunctuationToken<ts.SyntaxKind.QuestionToken>,
|
|
29
|
+
) {
|
|
30
|
+
if (ts.version >= "4.8")
|
|
31
|
+
return ts.factory.createParameterDeclaration(
|
|
32
|
+
undefined,
|
|
33
|
+
undefined,
|
|
34
|
+
name,
|
|
35
|
+
init?.kind === ts.SyntaxKind.QuestionToken
|
|
36
|
+
? ts.factory.createToken(ts.SyntaxKind.QuestionToken)
|
|
37
|
+
: undefined,
|
|
38
|
+
type,
|
|
39
|
+
init && init.kind !== ts.SyntaxKind.QuestionToken
|
|
40
|
+
? init
|
|
41
|
+
: undefined,
|
|
42
|
+
);
|
|
43
|
+
// eslint-disable-next-line
|
|
44
|
+
return ts.factory.createParameterDeclaration(
|
|
45
|
+
undefined,
|
|
46
|
+
undefined,
|
|
47
|
+
undefined,
|
|
48
|
+
name,
|
|
49
|
+
init?.kind === ts.SyntaxKind.QuestionToken
|
|
50
|
+
? ts.factory.createToken(ts.SyntaxKind.QuestionToken)
|
|
51
|
+
: undefined,
|
|
52
|
+
type,
|
|
53
|
+
init && init.kind !== ts.SyntaxKind.QuestionToken
|
|
54
|
+
? init
|
|
55
|
+
: undefined,
|
|
56
|
+
);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// export function property(
|
|
60
|
+
// name: string | ts.PropertyName,
|
|
61
|
+
// value: ts.Expression,
|
|
62
|
+
// ): ts.PropertyDeclaration {
|
|
63
|
+
// if (ts.version >= "4.8")
|
|
64
|
+
// return ts.factory.createPropertyDeclaration(
|
|
65
|
+
// undefined,
|
|
66
|
+
// name,
|
|
67
|
+
// undefined,
|
|
68
|
+
// undefined,
|
|
69
|
+
// value,
|
|
70
|
+
// );
|
|
71
|
+
// // eslint-disable-next-line
|
|
72
|
+
// return ts.factory.createPropertyDeclaration(
|
|
73
|
+
// undefined,
|
|
74
|
+
// undefined,
|
|
75
|
+
// name,
|
|
76
|
+
// undefined,
|
|
77
|
+
// undefined,
|
|
78
|
+
// value,
|
|
79
|
+
// );
|
|
80
|
+
// }
|
|
81
|
+
}
|