@nestia/core 2.0.0-dev.20230991 → 2.0.1
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/decorators/TypedException.d.ts +1 -2
- package/lib/decorators/TypedException.js.map +1 -1
- package/lib/decorators/TypedParam.d.ts +1 -1
- package/lib/decorators/TypedParam.js.map +1 -1
- package/lib/programmers/PlainBodyProgrammer.d.ts +1 -1
- package/lib/programmers/PlainBodyProgrammer.js +5 -7
- package/lib/programmers/PlainBodyProgrammer.js.map +1 -1
- package/lib/programmers/TypedHeadersProgrammer.js +0 -4
- package/lib/programmers/TypedHeadersProgrammer.js.map +1 -1
- package/lib/programmers/TypedParamProgrammer.js +15 -10
- package/lib/programmers/TypedParamProgrammer.js.map +1 -1
- package/lib/programmers/TypedQueryProgrammer.js +0 -4
- package/lib/programmers/TypedQueryProgrammer.js.map +1 -1
- package/lib/transformers/FileTransformer.js +20 -8
- package/lib/transformers/FileTransformer.js.map +1 -1
- package/lib/transformers/ParameterDecoratorTransformer.js +5 -5
- package/lib/transformers/ParameterDecoratorTransformer.js.map +1 -1
- package/package.json +7 -6
- package/src/decorators/TypedException.ts +2 -3
- package/src/decorators/TypedParam.ts +2 -2
- package/src/programmers/PlainBodyProgrammer.ts +9 -11
- package/src/programmers/TypedHeadersProgrammer.ts +0 -6
- package/src/programmers/TypedParamProgrammer.ts +60 -39
- package/src/programmers/TypedQueryProgrammer.ts +0 -6
- package/src/transformers/FileTransformer.ts +22 -12
- package/src/transformers/ParameterDecoratorTransformer.ts +5 -4
|
@@ -16,7 +16,6 @@ import "reflect-metadata";
|
|
|
16
16
|
* @returns Method decorator
|
|
17
17
|
*
|
|
18
18
|
* @author Jeongho Nam - https://github.com/samchon
|
|
19
|
-
* @deprecated
|
|
20
19
|
*/
|
|
21
20
|
export declare function TypedException(status: number | "2XX" | "3XX" | "4XX" | "5XX", description?: string | undefined): never;
|
|
22
21
|
/**
|
|
@@ -36,4 +35,4 @@ export declare function TypedException(status: number | "2XX" | "3XX" | "4XX" |
|
|
|
36
35
|
*
|
|
37
36
|
* @author Jeongho Nam - https://github.com/samchon
|
|
38
37
|
*/
|
|
39
|
-
export declare function TypedException<T
|
|
38
|
+
export declare function TypedException<T>(status: number | "2XX" | "3XX" | "4XX" | "5XX", description?: string | undefined): MethodDecorator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypedException.js","sourceRoot":"","sources":["../../src/decorators/TypedException.ts"],"names":[],"mappings":";;;AAAA,4BAA0B;
|
|
1
|
+
{"version":3,"file":"TypedException.js","sourceRoot":"","sources":["../../src/decorators/TypedException.ts"],"names":[],"mappings":";;;AAAA,4BAA0B;AA+C1B;;GAEG;AACH,SAAgB,cAAc,CAC1B,MAA8C,EAC9C,WAAgC,EAChC,IAAyB;IAEzB,OAAO,SAAS,cAAc,CAC1B,MAAkB,EAClB,WAA4B,EAC5B,UAAwC;QAExC,IAAM,KAAK,GAAa,CAAC;YACrB,IAAM,MAAM,GAAyB,OAAO,CAAC,WAAW,CACpD,wBAAwB,EACvB,MAAc,CAAC,WAAW,CAAC,CAC/B,CAAC;YACF,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,MAAM,CAAC;YAExC,IAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,OAAO,CAAC,cAAc,CAClB,wBAAwB,EACxB,MAAM,EACL,MAAc,CAAC,WAAW,CAAC,CAC/B,CAAC;YACF,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC,EAAE,CAAC;QACL,KAAK,CAAC,IAAI,CAAC;YACP,MAAM,QAAA;YACN,WAAW,aAAA;YACX,IAAI,EAAE,IAAK;SACd,CAAC,CAAC;QACH,OAAO,UAAU,CAAC;IACtB,CAAC,CAAC;AACN,CAAC;AAhCD,wCAgCC"}
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
*
|
|
23
23
|
* @author Jeongho Nam - https://github.com/samchon
|
|
24
24
|
*/
|
|
25
|
-
export declare function TypedParam(name: string, props?: TypedParam.IProps<
|
|
25
|
+
export declare function TypedParam<T>(name: string, props?: TypedParam.IProps<T>): ParameterDecorator;
|
|
26
26
|
export declare namespace TypedParam {
|
|
27
27
|
interface IProps<T> {
|
|
28
28
|
type: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypedParam.js","sourceRoot":"","sources":["../../src/decorators/TypedParam.ts"],"names":[],"mappings":";;;AAAA,yCAIwB;AAIxB,kFAAiF;AAEjF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,SAAgB,UAAU,CACtB,IAAY,EACZ,
|
|
1
|
+
{"version":3,"file":"TypedParam.js","sourceRoot":"","sources":["../../src/decorators/TypedParam.ts"],"names":[],"mappings":";;;AAAA,yCAIwB;AAIxB,kFAAiF;AAEjF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,SAAgB,UAAU,CACtB,IAAY,EACZ,KAA4B;IAE5B,IAAI,KAAK,KAAK,SAAS;QAAE,MAAM,IAAA,qDAAyB,EAAC,YAAY,CAAC,CAAC;IAEvE,OAAO,IAAA,6BAAoB,EAAC,SAAS,UAAU,CAC3C,EAAO,EACP,OAAyB;QAEzB,IAAM,OAAO,GAAqC,OAAO;aACpD,YAAY,EAAE;aACd,UAAU,EAAE,CAAC;QAClB,IAAM,GAAG,GAAY,OAAO,CAAC,MAAc,CAAC,IAAI,CAAC,CAAC;QAClD,IAAM,KAAK,GAAQ,KAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,KAAM,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK;YAC1B,MAAM,IAAI,4BAAmB,CACzB,uCAA+B,IAAI,uBAC/B,KAAM,CAAC,IAAI,WACP,CACX,CAAC;QACN,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACb,CAAC;AAvBD,gCAuBC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import ts from "typescript";
|
|
2
2
|
import { INestiaTransformProject } from "../options/INestiaTransformProject";
|
|
3
3
|
export declare namespace PlainBodyProgrammer {
|
|
4
|
-
const generate: (project: INestiaTransformProject) => (modulo: ts.LeftHandSideExpression) => (type: ts.Type) =>
|
|
4
|
+
const generate: (project: INestiaTransformProject) => (modulo: ts.LeftHandSideExpression) => (type: ts.Type) => ts.Expression;
|
|
5
5
|
}
|
|
@@ -29,13 +29,11 @@ var PlainBodyProgrammer;
|
|
|
29
29
|
})(new MetadataCollection_1.MetadataCollection())(type);
|
|
30
30
|
if (result.success === false)
|
|
31
31
|
throw TransformerError_1.TransformerError.from("@core.nestia.TypedParam")(result.errors);
|
|
32
|
-
return
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
} }))(modulo)(false)(type),
|
|
38
|
-
];
|
|
32
|
+
return AssertProgrammer_1.AssertProgrammer.write(__assign(__assign({}, project), { options: {
|
|
33
|
+
numeric: false,
|
|
34
|
+
finite: false,
|
|
35
|
+
functional: false,
|
|
36
|
+
} }))(modulo)(false)(type);
|
|
39
37
|
};
|
|
40
38
|
};
|
|
41
39
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlainBodyProgrammer.js","sourceRoot":"","sources":["../../src/programmers/PlainBodyProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEA,6EAA4E;AAC5E,uEAAsE;AACtE,2EAA0E;AAE1E,4EAA2E;AAI3E,IAAiB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"PlainBodyProgrammer.js","sourceRoot":"","sources":["../../src/programmers/PlainBodyProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEA,6EAA4E;AAC5E,uEAAsE;AACtE,2EAA0E;AAE1E,4EAA2E;AAI3E,IAAiB,mBAAmB,CAwBnC;AAxBD,WAAiB,mBAAmB;IACnB,4BAAQ,GACjB,UAAC,OAAgC;QACjC,OAAA,UAAC,MAAiC;YAClC,OAAA,UAAC,IAAa;gBACV,IAAM,MAAM,GAAG,iCAAe,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBACpD,MAAM,EAAE,KAAK;oBACb,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAE,IAAI;oBACZ,QAAQ,UAAA;iBACX,CAAC,CAAC,IAAI,uCAAkB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;gBACnC,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;oBACxB,MAAM,mCAAgB,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAClD,MAAM,CAAC,MAAM,CAChB,CAAC;gBACN,OAAO,mCAAgB,CAAC,KAAK,uBACtB,OAAO,KACV,OAAO,EAAE;wBACL,OAAO,EAAE,KAAK;wBACd,MAAM,EAAE,KAAK;wBACb,UAAU,EAAE,KAAK;qBACpB,IACH,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;QAnBD,CAmBC;IApBD,CAoBC,CAAC;AACV,CAAC,EAxBgB,mBAAmB,mCAAnB,mBAAmB,QAwBnC;AAED,IAAM,QAAQ,GAAG,UAAC,QAAkB;IAChC,IAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAM,MAAM,GAAG,UAAC,GAAW,IAAK,OAAA,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAhB,CAAgB,CAAC;IAEjD,IAAM,QAAQ,GACV,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAnB,CAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,QAAQ,CAAC,SAAS,CAAC,MAAM;QACzB,QAAQ,CAAC,SAAS;aACb,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAnB,CAAmB,CAAC;aAClC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,MAAM,CAAC,MAAM,EAAf,CAAe,CAAC;aAC3B,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,GAAG,CAAC,EAAL,CAAK,EAAE,CAAC,CAAC,CAAC;IACpC,IAAI,QAAQ,KAAK,CAAC,IAAI,QAAQ,KAAK,QAAQ,CAAC,IAAI,EAAE;QAC9C,MAAM,CAAC,6BAA6B,CAAC,CAAC;IAC1C,IAAI,QAAQ,CAAC,UAAU,EAAE,KAAK,KAAK;QAC/B,MAAM,CAAC,gCAAgC,CAAC,CAAC;IAC7C,IAAI,QAAQ,CAAC,QAAQ,KAAK,IAAI;QAAE,MAAM,CAAC,4BAA4B,CAAC,CAAC;SAChE,IAAI,QAAQ,CAAC,GAAG,KAAK,IAAI;QAAE,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAEhE,OAAO,MAAM,CAAC;AAClB,CAAC,CAAC"}
|
|
@@ -97,10 +97,6 @@ var TypedHeadersProgrammer;
|
|
|
97
97
|
// PROPERTY MUST BE SOLE
|
|
98
98
|
if (typeof explore.property === "object")
|
|
99
99
|
insert("dynamic property is not allowed.");
|
|
100
|
-
// MUST BE LOWER-CASE
|
|
101
|
-
if (typeof explore.property === "string" &&
|
|
102
|
-
explore.property !== explore.property.toLowerCase())
|
|
103
|
-
insert("property name must be lower-case.");
|
|
104
100
|
// DO NOT ALLOW TUPLE TYPE
|
|
105
101
|
if (meta.tuples.length)
|
|
106
102
|
insert("tuple type is not allowed.");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypedHeadersProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedHeadersProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,2EAA0E;AAC1E,6EAA4E;AAC5E,uEAAsE;AACtE,yEAAwE;AACxE,2EAA0E;AAC1E,qFAAmF;AAEnF,0EAAyE;AAGzE,4EAA2E;AAE3E,mDAAkD;AAGlD,gEAA+D;AAE/D,IAAiB,sBAAsB,
|
|
1
|
+
{"version":3,"file":"TypedHeadersProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedHeadersProgrammer.ts"],"names":[],"mappings":"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"}
|
|
@@ -69,11 +69,11 @@ var TypedParamProgrammer;
|
|
|
69
69
|
var is = IsProgrammer_1.IsProgrammer.write(__assign(__assign({}, project), { options: {
|
|
70
70
|
numeric: true,
|
|
71
71
|
} }))(modulo)(false)(type);
|
|
72
|
-
var cast = CASTERS[atomic]();
|
|
72
|
+
var cast = CASTERS[atomic](result.data.nullable);
|
|
73
73
|
return [
|
|
74
74
|
parameters[0],
|
|
75
75
|
typescript_1.default.factory.createObjectLiteralExpression([
|
|
76
|
-
typescript_1.default.factory.createPropertyAssignment("name", typescript_1.default.factory.
|
|
76
|
+
typescript_1.default.factory.createPropertyAssignment("name", typescript_1.default.factory.createStringLiteral(name)),
|
|
77
77
|
typescript_1.default.factory.createPropertyAssignment("is", is),
|
|
78
78
|
typescript_1.default.factory.createPropertyAssignment("cast", cast),
|
|
79
79
|
], true),
|
|
@@ -103,17 +103,22 @@ var TypedParamProgrammer;
|
|
|
103
103
|
};
|
|
104
104
|
})(TypedParamProgrammer || (exports.TypedParamProgrammer = TypedParamProgrammer = {}));
|
|
105
105
|
var CASTERS = {
|
|
106
|
-
boolean: function () {
|
|
107
|
-
return typescript_1.default.factory.
|
|
106
|
+
boolean: function (nullable) {
|
|
107
|
+
return createArrow(nullable)(typescript_1.default.factory.createConditionalExpression(typescript_1.default.factory.createLogicalOr(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createStringLiteral("false"), typescript_1.default.factory.createIdentifier("str")), typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createStringLiteral("0"), typescript_1.default.factory.createIdentifier("str"))), undefined, typescript_1.default.factory.createFalse(), undefined, typescript_1.default.factory.createConditionalExpression(typescript_1.default.factory.createLogicalOr(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createStringLiteral("true"), typescript_1.default.factory.createIdentifier("str")), typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createStringLiteral("1"), typescript_1.default.factory.createIdentifier("str"))), undefined, typescript_1.default.factory.createTrue(), undefined, typescript_1.default.factory.createIdentifier("str"))));
|
|
108
108
|
},
|
|
109
|
-
number: function () {
|
|
110
|
-
return
|
|
109
|
+
number: function (nullable) {
|
|
110
|
+
return createArrow(nullable)(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("Number"), undefined, [typescript_1.default.factory.createIdentifier("str")]));
|
|
111
111
|
},
|
|
112
|
-
bigint: function () {
|
|
113
|
-
return
|
|
112
|
+
bigint: function (nullable) {
|
|
113
|
+
return createArrow(nullable)(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("BigInt"), undefined, [typescript_1.default.factory.createIdentifier("str")]));
|
|
114
114
|
},
|
|
115
|
-
string: function () {
|
|
116
|
-
return
|
|
115
|
+
string: function (nullable) {
|
|
116
|
+
return createArrow(nullable)(typescript_1.default.factory.createIdentifier("str"));
|
|
117
117
|
},
|
|
118
118
|
};
|
|
119
|
+
var createArrow = function (nullable) { return function (expr) {
|
|
120
|
+
return typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("str")], undefined, undefined, nullable
|
|
121
|
+
? typescript_1.default.factory.createConditionalExpression(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createStringLiteral("null"), typescript_1.default.factory.createIdentifier("str")), undefined, typescript_1.default.factory.createNull(), undefined, expr)
|
|
122
|
+
: expr);
|
|
123
|
+
}; };
|
|
119
124
|
//# sourceMappingURL=TypedParamProgrammer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypedParamProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedParamProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,2EAA0E;AAC1E,6EAA4E;AAC5E,uEAAsE;AACtE,mEAAkE;AAElE,4EAA2E;AAG3E,gEAA+D;AAE/D,IAAiB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"TypedParamProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedParamProgrammer.ts"],"names":[],"mappings":"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"}
|
|
@@ -97,10 +97,6 @@ var TypedQueryProgrammer;
|
|
|
97
97
|
// PROPERTY MUST BE SOLE
|
|
98
98
|
if (typeof explore.property === "object")
|
|
99
99
|
insert("dynamic property is not allowed.");
|
|
100
|
-
// MUST BE LOWER-CASE
|
|
101
|
-
if (typeof explore.property === "string" &&
|
|
102
|
-
explore.property !== explore.property.toLowerCase())
|
|
103
|
-
insert("property name must be lower-case.");
|
|
104
100
|
// DO NOT ALLOW TUPLE TYPE
|
|
105
101
|
if (meta.tuples.length)
|
|
106
102
|
insert("tuple type is not allowed.");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypedQueryProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedQueryProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,2EAA0E;AAC1E,6EAA4E;AAC5E,uEAAsE;AACtE,yEAAwE;AACxE,2EAA0E;AAC1E,qFAAmF;AAEnF,0EAAyE;AAGzE,4EAA2E;AAE3E,mDAAkD;AAGlD,gEAA+D;AAE/D,IAAiB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"TypedQueryProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedQueryProgrammer.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,26 +31,38 @@ var FileTransformer;
|
|
|
31
31
|
var iterate_node = function (project) {
|
|
32
32
|
return function (context) {
|
|
33
33
|
return function (node) {
|
|
34
|
-
|
|
34
|
+
var _a;
|
|
35
|
+
return typescript_1.default.visitEachChild((_a = try_transform_node(project)(node)) !== null && _a !== void 0 ? _a : node, function (child) { return iterate_node(project)(context)(child); }, context);
|
|
35
36
|
};
|
|
36
37
|
};
|
|
37
38
|
};
|
|
38
39
|
var try_transform_node = function (project) {
|
|
39
40
|
return function (node) {
|
|
40
|
-
if (!node)
|
|
41
|
-
return node;
|
|
42
41
|
try {
|
|
43
42
|
return NodeTransformer_1.NodeTransformer.transform(project)(node);
|
|
44
43
|
}
|
|
45
44
|
catch (exp) {
|
|
46
|
-
|
|
45
|
+
// ONLY ACCEPT TRANSFORMER-ERROR
|
|
46
|
+
if (!isTransformerError(exp))
|
|
47
47
|
throw exp;
|
|
48
|
-
|
|
49
|
-
var
|
|
50
|
-
|
|
51
|
-
|
|
48
|
+
// REPORT DIAGNOSTIC
|
|
49
|
+
var diagnostic = typescript_1.default.createDiagnosticForNode(node, {
|
|
50
|
+
key: exp.code,
|
|
51
|
+
category: typescript_1.default.DiagnosticCategory.Error,
|
|
52
|
+
message: exp.message,
|
|
53
|
+
code: "(".concat(exp.code, ")"),
|
|
54
|
+
});
|
|
55
|
+
project.extras.addDiagnostic(diagnostic);
|
|
56
|
+
return null;
|
|
52
57
|
}
|
|
53
58
|
};
|
|
54
59
|
};
|
|
55
60
|
})(FileTransformer || (exports.FileTransformer = FileTransformer = {}));
|
|
61
|
+
var isTransformerError = function (error) {
|
|
62
|
+
return typeof error === "object" &&
|
|
63
|
+
error !== null &&
|
|
64
|
+
error.constructor.name === "TransformerError" &&
|
|
65
|
+
typeof error.code === "string" &&
|
|
66
|
+
typeof error.message === "string";
|
|
67
|
+
};
|
|
56
68
|
//# sourceMappingURL=FileTransformer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileTransformer.js","sourceRoot":"","sources":["../../src/transformers/FileTransformer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;
|
|
1
|
+
{"version":3,"file":"FileTransformer.js","sourceRoot":"","sources":["../../src/transformers/FileTransformer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAK5B,qDAAoD;AAEpD,IAAiB,eAAe,CA6C/B;AA7CD,WAAiB,eAAe;IACf,yBAAS,GAClB,UAAC,OAAiD;QAClD,OAAA,UAAC,OAAiC;YAClC,OAAA,UAAC,IAAmB;gBAChB,OAAA,oBAAE,CAAC,cAAc,CACb,IAAI,EACJ,UAAC,IAAI;oBACD,OAAA,YAAY,uBACL,OAAO,KACV,OAAO,SAAA,IACT,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;gBAHjB,CAGiB,EACrB,OAAO,CACV;YARD,CAQC;QATL,CASK;IAVL,CAUK,CAAC;IAEV,IAAM,YAAY,GACd,UAAC,OAAgC;QACjC,OAAA,UAAC,OAAiC;YAClC,OAAA,UAAC,IAAa;;gBACV,OAAA,oBAAE,CAAC,cAAc,CACb,MAAA,kBAAkB,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,mCAAI,IAAI,EACzC,UAAC,KAAK,IAAK,OAAA,YAAY,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,EAArC,CAAqC,EAChD,OAAO,CACV,CAAA;aAAA;QALL,CAKK;IANL,CAMK,CAAC;IAEV,IAAM,kBAAkB,GACpB,UAAC,OAAgC;QACjC,OAAA,UAAC,IAAa;YACV,IAAI;gBACA,OAAO,iCAAe,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;aACnD;YAAC,OAAO,GAAG,EAAE;gBACV,gCAAgC;gBAChC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC;oBAAE,MAAM,GAAG,CAAC;gBAExC,oBAAoB;gBACpB,IAAM,UAAU,GAAG,oBAAE,CAAC,uBAAuB,CAAC,IAAI,EAAE;oBAChD,GAAG,EAAE,GAAG,CAAC,IAAI;oBACb,QAAQ,EAAE,oBAAE,CAAC,kBAAkB,CAAC,KAAK;oBACrC,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,IAAI,EAAE,WAAI,GAAG,CAAC,IAAI,MAAU;iBAC/B,CAAC,CAAC;gBACH,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;gBACzC,OAAO,IAAI,CAAC;aACf;QACL,CAAC;IAjBD,CAiBC,CAAC;AACV,CAAC,EA7CgB,eAAe,+BAAf,eAAe,QA6C/B;AAED,IAAM,kBAAkB,GAAG,UAAC,KAAU;IAClC,OAAA,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,kBAAkB;QAC7C,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;AAJjC,CAIiC,CAAC"}
|
|
@@ -64,16 +64,16 @@ var FUNCTORS = {
|
|
|
64
64
|
? parameters
|
|
65
65
|
: [TypedHeadersProgrammer_1.TypedHeadersProgrammer.generate(project)(modulo)(type)];
|
|
66
66
|
}; }; }; },
|
|
67
|
-
TypedParam: function (project) { return
|
|
68
|
-
return TypedParamProgrammer_1.TypedParamProgrammer.generate(project)(modulo);
|
|
69
|
-
}; },
|
|
67
|
+
TypedParam: function (project) { return TypedParamProgrammer_1.TypedParamProgrammer.generate(project); },
|
|
70
68
|
TypedQuery: function (project) { return function (modulo) { return function (parameters) { return function (type) {
|
|
71
69
|
return parameters.length
|
|
72
70
|
? parameters
|
|
73
71
|
: [TypedQueryProgrammer_1.TypedQueryProgrammer.generate(project)(modulo)(type)];
|
|
74
72
|
}; }; }; },
|
|
75
|
-
PlainBody: function (project) { return function (modulo) { return function () { return function (type) {
|
|
76
|
-
return
|
|
73
|
+
PlainBody: function (project) { return function (modulo) { return function (parameters) { return function (type) {
|
|
74
|
+
return parameters.length
|
|
75
|
+
? parameters
|
|
76
|
+
: [PlainBodyProgrammer_1.PlainBodyProgrammer.generate(project)(modulo)(type)];
|
|
77
77
|
}; }; }; },
|
|
78
78
|
};
|
|
79
79
|
var LIB_PATH = path_1.default.join("node_modules", "@nestia", "core", "lib", "decorators");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ParameterDecoratorTransformer.js","sourceRoot":"","sources":["../../src/transformers/ParameterDecoratorTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAwB;AACxB,0DAA4B;AAG5B,0EAAyE;AACzE,0EAAyE;AACzE,gFAA+E;AAC/E,4EAA2E;AAC3E,4EAA2E;AAE3E,IAAiB,6BAA6B,CAoD7C;AApDD,WAAiB,6BAA6B;IAC7B,uCAAS,GAClB,UAAC,OAAgC;QACjC,OAAA,UAAC,IAAa;YACd,OAAA,UAAC,SAAuB;;gBACpB,MAAM;gBACN,cAAc;gBACd,MAAM;gBACN,kBAAkB;gBAClB,IAAI,CAAC,oBAAE,CAAC,gBAAgB,CAAC,SAAS,CAAC,UAAU,CAAC;oBAAE,OAAO,SAAS,CAAC;gBAEjE,wBAAwB;gBACxB,IAAM,WAAW,GACb,MAAA,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAChC,SAAS,CAAC,UAAU,CACvB,0CAAE,WAAW,CAAC;gBACnB,IAAI,WAAW,KAAK,SAAS;oBAAE,OAAO,SAAS,CAAC;gBAEhD,YAAY;gBACZ,IAAM,IAAI,GAAW,cAAI,CAAC,OAAO,CAC7B,WAAW,CAAC,aAAa,EAAE,CAAC,QAAQ,CACvC,CAAC;gBACF,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBAC9D,OAAO,SAAS,CAAC;gBAErB,MAAM;gBACN,iBAAiB;gBACjB,MAAM;gBACN,kBAAkB;gBAClB,IAAM,UAAU,GACZ,QAAQ,CACJ,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,IAAI,CAC7D,CAAC;gBACN,IAAI,UAAU,KAAK,SAAS;oBAAE,OAAO,SAAS,CAAC;gBAE/C,gBAAgB;gBAChB,IAAM,QAAQ,GACV,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;gBAC/D,IAAI,QAAQ,KAAK,SAAS;oBAAE,OAAO,SAAS,CAAC;gBAE7C,eAAe;gBACf,OAAO,oBAAE,CAAC,OAAO,CAAC,eAAe,CAC7B,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,SAAS,CAAC,UAAU,EACpB,SAAS,CAAC,UAAU,CAAC,UAAU,EAC/B,SAAS,CAAC,UAAU,CAAC,aAAa,EAClC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,CAChD,SAAS,CAAC,UAAU,CAAC,SAAS,CACjC,CAAC,IAAI,CAAC,CACV,CACJ,CAAC;YACN,CAAC;QA/CD,CA+CC;IAhDD,CAgDC,CAAC;AACV,CAAC,EApDgB,6BAA6B,6CAA7B,6BAA6B,QAoD7C;AAUD,IAAM,QAAQ,GAA+B;IACzC,aAAa,EAAE,UAAC,OAAO,IAAK,OAAA,UAAC,MAAM,IAAK,OAAA,UAAC,UAAU,IAAK,OAAA,UAAC,IAAI;QACzD,OAAA,UAAU,CAAC,MAAM;YACb,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,CAAC,yCAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;IAF3D,CAE2D,EAHP,CAGO,EAHvB,CAGuB,EAHnC,CAGmC;IAC/D,SAAS,EAAE,UAAC,OAAO,IAAK,OAAA,UAAC,MAAM,IAAK,OAAA,UAAC,UAAU,IAAK,OAAA,UAAC,IAAI;QACrD,OAAA,UAAU,CAAC,MAAM;YACb,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,CAAC,yCAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;IAF3D,CAE2D,EAHX,CAGW,EAH3B,CAG2B,EAHvC,CAGuC;IAC/D,YAAY,EAAE,UAAC,OAAO,IAAK,OAAA,UAAC,MAAM,IAAK,OAAA,UAAC,UAAU,IAAK,OAAA,UAAC,IAAI;QACxD,OAAA,UAAU,CAAC,MAAM;YACb,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,CAAC,+CAAsB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;IAF9D,CAE8D,EAHX,CAGW,EAH3B,CAG2B,EAHvC,CAGuC;IAClE,UAAU,EAAE,UAAC,OAAO,IAAK,OAAA,
|
|
1
|
+
{"version":3,"file":"ParameterDecoratorTransformer.js","sourceRoot":"","sources":["../../src/transformers/ParameterDecoratorTransformer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nestia/core",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.1",
|
|
4
4
|
"description": "Super-fast validation decorators of NestJS",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"typings": "lib/index.d.ts",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
},
|
|
35
35
|
"homepage": "https://nestia.io",
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@nestia/fetcher": "^2.0.
|
|
37
|
+
"@nestia/fetcher": "^2.0.1",
|
|
38
38
|
"@nestjs/common": ">= 7.0.1",
|
|
39
39
|
"@nestjs/core": ">= 7.0.1",
|
|
40
40
|
"@nestjs/platform-express": ">= 7.0.1",
|
|
@@ -44,10 +44,10 @@
|
|
|
44
44
|
"raw-body": ">= 2.0.0",
|
|
45
45
|
"reflect-metadata": ">= 0.1.12",
|
|
46
46
|
"rxjs": ">= 6.0.0",
|
|
47
|
-
"typia": "^5.0.
|
|
47
|
+
"typia": "^5.0.2"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
|
50
|
-
"@nestia/fetcher": ">=2.0.
|
|
50
|
+
"@nestia/fetcher": ">=2.0.1",
|
|
51
51
|
"@nestjs/common": ">=7.0.1",
|
|
52
52
|
"@nestjs/core": ">=7.0.1",
|
|
53
53
|
"@nestjs/platform-express": ">=7.0.1",
|
|
@@ -56,13 +56,14 @@
|
|
|
56
56
|
"reflect-metadata": ">=0.1.12",
|
|
57
57
|
"rxjs": ">=6.0.0",
|
|
58
58
|
"typescript": ">=4.8.0",
|
|
59
|
-
"typia": ">=5.0.
|
|
59
|
+
"typia": ">=5.0.2 <6.0.0"
|
|
60
60
|
},
|
|
61
61
|
"devDependencies": {
|
|
62
62
|
"@trivago/prettier-plugin-sort-imports": "^4.0.0",
|
|
63
63
|
"@types/express": "^4.17.15",
|
|
64
64
|
"@types/glob": "^7.2.0",
|
|
65
65
|
"@types/inquirer": "^9.0.3",
|
|
66
|
+
"@types/ts-expose-internals": "npm:ts-expose-internals@5.1.6",
|
|
66
67
|
"@typescript-eslint/eslint-plugin": "^5.46.1",
|
|
67
68
|
"@typescript-eslint/parser": "^5.46.1",
|
|
68
69
|
"commander": "^10.0.0",
|
|
@@ -75,7 +76,7 @@
|
|
|
75
76
|
"ts-node": "^10.9.1",
|
|
76
77
|
"ts-patch": "^3.0.2",
|
|
77
78
|
"tstl": "^2.5.13",
|
|
78
|
-
"typescript": "^5.
|
|
79
|
+
"typescript": "^5.2.2",
|
|
79
80
|
"typescript-transform-paths": "^3.4.6"
|
|
80
81
|
},
|
|
81
82
|
"files": [
|
|
@@ -17,7 +17,6 @@ import "reflect-metadata";
|
|
|
17
17
|
* @returns Method decorator
|
|
18
18
|
*
|
|
19
19
|
* @author Jeongho Nam - https://github.com/samchon
|
|
20
|
-
* @deprecated
|
|
21
20
|
*/
|
|
22
21
|
export function TypedException(
|
|
23
22
|
status: number | "2XX" | "3XX" | "4XX" | "5XX",
|
|
@@ -41,7 +40,7 @@ export function TypedException(
|
|
|
41
40
|
*
|
|
42
41
|
* @author Jeongho Nam - https://github.com/samchon
|
|
43
42
|
*/
|
|
44
|
-
export function TypedException<T
|
|
43
|
+
export function TypedException<T>(
|
|
45
44
|
status: number | "2XX" | "3XX" | "4XX" | "5XX",
|
|
46
45
|
description?: string | undefined,
|
|
47
46
|
): MethodDecorator;
|
|
@@ -49,7 +48,7 @@ export function TypedException<T extends object>(
|
|
|
49
48
|
/**
|
|
50
49
|
* @internal
|
|
51
50
|
*/
|
|
52
|
-
export function TypedException<T
|
|
51
|
+
export function TypedException<T>(
|
|
53
52
|
status: number | "2XX" | "3XX" | "4XX" | "5XX",
|
|
54
53
|
description?: string | undefined,
|
|
55
54
|
type?: string | undefined,
|
|
@@ -32,9 +32,9 @@ import { NoTransformConfigureError } from "./internal/NoTransformConfigureError"
|
|
|
32
32
|
*
|
|
33
33
|
* @author Jeongho Nam - https://github.com/samchon
|
|
34
34
|
*/
|
|
35
|
-
export function TypedParam(
|
|
35
|
+
export function TypedParam<T>(
|
|
36
36
|
name: string,
|
|
37
|
-
props?: TypedParam.IProps<
|
|
37
|
+
props?: TypedParam.IProps<T>,
|
|
38
38
|
): ParameterDecorator {
|
|
39
39
|
if (props === undefined) throw NoTransformConfigureError("TypedParam");
|
|
40
40
|
|
|
@@ -12,7 +12,7 @@ export namespace PlainBodyProgrammer {
|
|
|
12
12
|
export const generate =
|
|
13
13
|
(project: INestiaTransformProject) =>
|
|
14
14
|
(modulo: ts.LeftHandSideExpression) =>
|
|
15
|
-
(type: ts.Type):
|
|
15
|
+
(type: ts.Type): ts.Expression => {
|
|
16
16
|
const result = MetadataFactory.analyze(project.checker)({
|
|
17
17
|
escape: false,
|
|
18
18
|
constant: true,
|
|
@@ -23,16 +23,14 @@ export namespace PlainBodyProgrammer {
|
|
|
23
23
|
throw TransformerError.from("@core.nestia.TypedParam")(
|
|
24
24
|
result.errors,
|
|
25
25
|
);
|
|
26
|
-
return
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
})(modulo)(false)(type),
|
|
35
|
-
];
|
|
26
|
+
return AssertProgrammer.write({
|
|
27
|
+
...project,
|
|
28
|
+
options: {
|
|
29
|
+
numeric: false,
|
|
30
|
+
finite: false,
|
|
31
|
+
functional: false,
|
|
32
|
+
},
|
|
33
|
+
})(modulo)(false)(type);
|
|
36
34
|
};
|
|
37
35
|
}
|
|
38
36
|
|
|
@@ -63,12 +63,6 @@ export namespace TypedHeadersProgrammer {
|
|
|
63
63
|
// PROPERTY MUST BE SOLE
|
|
64
64
|
if (typeof explore.property === "object")
|
|
65
65
|
insert("dynamic property is not allowed.");
|
|
66
|
-
// MUST BE LOWER-CASE
|
|
67
|
-
if (
|
|
68
|
-
typeof explore.property === "string" &&
|
|
69
|
-
explore.property !== explore.property.toLowerCase()
|
|
70
|
-
)
|
|
71
|
-
insert("property name must be lower-case.");
|
|
72
66
|
// DO NOT ALLOW TUPLE TYPE
|
|
73
67
|
if (meta.tuples.length) insert("tuple type is not allowed.");
|
|
74
68
|
// DO NOT ALLOW UNION TYPE
|
|
@@ -37,15 +37,16 @@ export namespace TypedParamProgrammer {
|
|
|
37
37
|
numeric: true,
|
|
38
38
|
},
|
|
39
39
|
})(modulo)(false)(type);
|
|
40
|
-
const cast: ts.ArrowFunction = CASTERS[atomic](
|
|
41
|
-
|
|
40
|
+
const cast: ts.ArrowFunction = CASTERS[atomic](
|
|
41
|
+
result.data.nullable,
|
|
42
|
+
);
|
|
42
43
|
return [
|
|
43
44
|
parameters[0],
|
|
44
45
|
ts.factory.createObjectLiteralExpression(
|
|
45
46
|
[
|
|
46
47
|
ts.factory.createPropertyAssignment(
|
|
47
48
|
"name",
|
|
48
|
-
ts.factory.
|
|
49
|
+
ts.factory.createStringLiteral(name),
|
|
49
50
|
),
|
|
50
51
|
ts.factory.createPropertyAssignment("is", is),
|
|
51
52
|
ts.factory.createPropertyAssignment("cast", cast),
|
|
@@ -79,57 +80,77 @@ export namespace TypedParamProgrammer {
|
|
|
79
80
|
}
|
|
80
81
|
|
|
81
82
|
const CASTERS = {
|
|
82
|
-
boolean: () =>
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
83
|
+
boolean: (nullable: boolean) =>
|
|
84
|
+
createArrow(nullable)(
|
|
85
|
+
ts.factory.createConditionalExpression(
|
|
86
|
+
ts.factory.createLogicalOr(
|
|
87
|
+
ts.factory.createStrictEquality(
|
|
88
|
+
ts.factory.createStringLiteral("false"),
|
|
89
|
+
ts.factory.createIdentifier("str"),
|
|
90
|
+
),
|
|
91
|
+
ts.factory.createStrictEquality(
|
|
92
|
+
ts.factory.createStringLiteral("0"),
|
|
93
|
+
ts.factory.createIdentifier("str"),
|
|
94
|
+
),
|
|
93
95
|
),
|
|
94
|
-
|
|
95
|
-
|
|
96
|
+
undefined,
|
|
97
|
+
ts.factory.createFalse(),
|
|
98
|
+
undefined,
|
|
99
|
+
ts.factory.createConditionalExpression(
|
|
100
|
+
ts.factory.createLogicalOr(
|
|
101
|
+
ts.factory.createStrictEquality(
|
|
102
|
+
ts.factory.createStringLiteral("true"),
|
|
103
|
+
ts.factory.createIdentifier("str"),
|
|
104
|
+
),
|
|
105
|
+
ts.factory.createStrictEquality(
|
|
106
|
+
ts.factory.createStringLiteral("1"),
|
|
107
|
+
ts.factory.createIdentifier("str"),
|
|
108
|
+
),
|
|
109
|
+
),
|
|
110
|
+
undefined,
|
|
111
|
+
ts.factory.createTrue(),
|
|
112
|
+
undefined,
|
|
96
113
|
ts.factory.createIdentifier("str"),
|
|
97
114
|
),
|
|
98
115
|
),
|
|
99
116
|
),
|
|
100
|
-
number: () =>
|
|
101
|
-
|
|
102
|
-
undefined,
|
|
103
|
-
undefined,
|
|
104
|
-
[IdentifierFactory.parameter("str")],
|
|
105
|
-
undefined,
|
|
106
|
-
undefined,
|
|
117
|
+
number: (nullable: boolean) =>
|
|
118
|
+
createArrow(nullable)(
|
|
107
119
|
ts.factory.createCallExpression(
|
|
108
120
|
ts.factory.createIdentifier("Number"),
|
|
109
121
|
undefined,
|
|
110
122
|
[ts.factory.createIdentifier("str")],
|
|
111
123
|
),
|
|
112
124
|
),
|
|
113
|
-
bigint: () =>
|
|
114
|
-
|
|
115
|
-
undefined,
|
|
116
|
-
undefined,
|
|
117
|
-
[IdentifierFactory.parameter("str")],
|
|
118
|
-
undefined,
|
|
119
|
-
undefined,
|
|
125
|
+
bigint: (nullable: boolean) =>
|
|
126
|
+
createArrow(nullable)(
|
|
120
127
|
ts.factory.createCallExpression(
|
|
121
128
|
ts.factory.createIdentifier("BigInt"),
|
|
122
129
|
undefined,
|
|
123
130
|
[ts.factory.createIdentifier("str")],
|
|
124
131
|
),
|
|
125
132
|
),
|
|
126
|
-
string: () =>
|
|
127
|
-
ts.factory.
|
|
128
|
-
undefined,
|
|
129
|
-
undefined,
|
|
130
|
-
[IdentifierFactory.parameter("str")],
|
|
131
|
-
undefined,
|
|
132
|
-
undefined,
|
|
133
|
-
ts.factory.createIdentifier("str"),
|
|
134
|
-
),
|
|
133
|
+
string: (nullable: boolean) =>
|
|
134
|
+
createArrow(nullable)(ts.factory.createIdentifier("str")),
|
|
135
135
|
};
|
|
136
|
+
|
|
137
|
+
const createArrow = (nullable: boolean) => (expr: ts.Expression) =>
|
|
138
|
+
ts.factory.createArrowFunction(
|
|
139
|
+
undefined,
|
|
140
|
+
undefined,
|
|
141
|
+
[IdentifierFactory.parameter("str")],
|
|
142
|
+
undefined,
|
|
143
|
+
undefined,
|
|
144
|
+
nullable
|
|
145
|
+
? ts.factory.createConditionalExpression(
|
|
146
|
+
ts.factory.createStrictEquality(
|
|
147
|
+
ts.factory.createStringLiteral("null"),
|
|
148
|
+
ts.factory.createIdentifier("str"),
|
|
149
|
+
),
|
|
150
|
+
undefined,
|
|
151
|
+
ts.factory.createNull(),
|
|
152
|
+
undefined,
|
|
153
|
+
expr,
|
|
154
|
+
)
|
|
155
|
+
: expr,
|
|
156
|
+
);
|
|
@@ -65,12 +65,6 @@ export namespace TypedQueryProgrammer {
|
|
|
65
65
|
// PROPERTY MUST BE SOLE
|
|
66
66
|
if (typeof explore.property === "object")
|
|
67
67
|
insert("dynamic property is not allowed.");
|
|
68
|
-
// MUST BE LOWER-CASE
|
|
69
|
-
if (
|
|
70
|
-
typeof explore.property === "string" &&
|
|
71
|
-
explore.property !== explore.property.toLowerCase()
|
|
72
|
-
)
|
|
73
|
-
insert("property name must be lower-case.");
|
|
74
68
|
// DO NOT ALLOW TUPLE TYPE
|
|
75
69
|
if (meta.tuples.length) insert("tuple type is not allowed.");
|
|
76
70
|
// DO NOT ALLOW UNION TYPE
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import ts from "typescript";
|
|
2
2
|
|
|
3
|
+
import { TransformerError } from "typia/lib/transformers/TransformerError";
|
|
4
|
+
|
|
3
5
|
import { INestiaTransformProject } from "../options/INestiaTransformProject";
|
|
4
6
|
import { NodeTransformer } from "./NodeTransformer";
|
|
5
7
|
|
|
@@ -23,28 +25,36 @@ export namespace FileTransformer {
|
|
|
23
25
|
(context: ts.TransformationContext) =>
|
|
24
26
|
(node: ts.Node): ts.Node =>
|
|
25
27
|
ts.visitEachChild(
|
|
26
|
-
try_transform_node(project)(node),
|
|
28
|
+
try_transform_node(project)(node) ?? node,
|
|
27
29
|
(child) => iterate_node(project)(context)(child),
|
|
28
30
|
context,
|
|
29
31
|
);
|
|
30
32
|
|
|
31
33
|
const try_transform_node =
|
|
32
34
|
(project: INestiaTransformProject) =>
|
|
33
|
-
(node: ts.Node): ts.Node => {
|
|
34
|
-
if (!node) return node;
|
|
35
|
+
(node: ts.Node): ts.Node | null => {
|
|
35
36
|
try {
|
|
36
37
|
return NodeTransformer.transform(project)(node);
|
|
37
38
|
} catch (exp) {
|
|
38
|
-
|
|
39
|
+
// ONLY ACCEPT TRANSFORMER-ERROR
|
|
40
|
+
if (!isTransformerError(exp)) throw exp;
|
|
39
41
|
|
|
40
|
-
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
|
|
42
|
+
// REPORT DIAGNOSTIC
|
|
43
|
+
const diagnostic = ts.createDiagnosticForNode(node, {
|
|
44
|
+
key: exp.code,
|
|
45
|
+
category: ts.DiagnosticCategory.Error,
|
|
46
|
+
message: exp.message,
|
|
47
|
+
code: `(${exp.code})` as any,
|
|
48
|
+
});
|
|
49
|
+
project.extras.addDiagnostic(diagnostic);
|
|
50
|
+
return null;
|
|
48
51
|
}
|
|
49
52
|
};
|
|
50
53
|
}
|
|
54
|
+
|
|
55
|
+
const isTransformerError = (error: any): error is TransformerError =>
|
|
56
|
+
typeof error === "object" &&
|
|
57
|
+
error !== null &&
|
|
58
|
+
error.constructor.name === "TransformerError" &&
|
|
59
|
+
typeof error.code === "string" &&
|
|
60
|
+
typeof error.message === "string";
|
|
@@ -83,14 +83,15 @@ const FUNCTORS: Record<string, Programmer> = {
|
|
|
83
83
|
parameters.length
|
|
84
84
|
? parameters
|
|
85
85
|
: [TypedHeadersProgrammer.generate(project)(modulo)(type)],
|
|
86
|
-
TypedParam: (project) => (
|
|
87
|
-
TypedParamProgrammer.generate(project)(modulo),
|
|
86
|
+
TypedParam: (project) => TypedParamProgrammer.generate(project),
|
|
88
87
|
TypedQuery: (project) => (modulo) => (parameters) => (type) =>
|
|
89
88
|
parameters.length
|
|
90
89
|
? parameters
|
|
91
90
|
: [TypedQueryProgrammer.generate(project)(modulo)(type)],
|
|
92
|
-
PlainBody: (project) => (modulo) => () => (type) =>
|
|
93
|
-
|
|
91
|
+
PlainBody: (project) => (modulo) => (parameters) => (type) =>
|
|
92
|
+
parameters.length
|
|
93
|
+
? parameters
|
|
94
|
+
: [PlainBodyProgrammer.generate(project)(modulo)(type)],
|
|
94
95
|
};
|
|
95
96
|
|
|
96
97
|
const LIB_PATH = path.join(
|