@nestia/core 2.1.8 → 2.2.0-dev.20231010
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/TypedQuery.d.ts +59 -0
- package/lib/decorators/TypedQuery.js +220 -0
- package/lib/decorators/TypedQuery.js.map +1 -1
- package/lib/decorators/internal/get_path_and_querify.d.ts +1 -0
- package/lib/decorators/internal/get_path_and_querify.js +164 -0
- package/lib/decorators/internal/get_path_and_querify.js.map +1 -0
- package/lib/options/IResponseBodyQuerifier.d.ts +20 -0
- package/lib/options/IResponseBodyQuerifier.js +3 -0
- package/lib/options/IResponseBodyQuerifier.js.map +1 -0
- package/lib/programmers/TypedQueryBodyProgrammer.d.ts +5 -0
- package/lib/programmers/TypedQueryBodyProgrammer.js +51 -0
- package/lib/programmers/TypedQueryBodyProgrammer.js.map +1 -0
- package/lib/programmers/TypedQueryRouteProgrammer.d.ts +5 -0
- package/lib/programmers/TypedQueryRouteProgrammer.js +50 -0
- package/lib/programmers/TypedQueryRouteProgrammer.js.map +1 -0
- package/lib/programmers/http/HttpAssertQuerifyProgrammer.d.ts +5 -0
- package/lib/programmers/http/HttpAssertQuerifyProgrammer.js +39 -0
- package/lib/programmers/http/HttpAssertQuerifyProgrammer.js.map +1 -0
- package/lib/programmers/http/HttpIsQuerifyProgrammer.d.ts +5 -0
- package/lib/programmers/http/HttpIsQuerifyProgrammer.js +37 -0
- package/lib/programmers/http/HttpIsQuerifyProgrammer.js.map +1 -0
- package/lib/programmers/http/HttpQuerifyProgrammer.d.ts +5 -0
- package/lib/programmers/http/HttpQuerifyProgrammer.js +80 -0
- package/lib/programmers/http/HttpQuerifyProgrammer.js.map +1 -0
- package/lib/programmers/http/HttpValidateQuerifyProgrammer.d.ts +5 -0
- package/lib/programmers/http/HttpValidateQuerifyProgrammer.js +38 -0
- package/lib/programmers/http/HttpValidateQuerifyProgrammer.js.map +1 -0
- package/lib/transformers/ParameterDecoratorTransformer.js +21 -1
- package/lib/transformers/ParameterDecoratorTransformer.js.map +1 -1
- package/lib/transformers/TypedRouteTransformer.js +13 -6
- package/lib/transformers/TypedRouteTransformer.js.map +1 -1
- package/package.json +13 -13
- package/src/decorators/TypedQuery.ts +197 -1
- package/src/decorators/internal/get_path_and_querify.ts +104 -0
- package/src/options/IResponseBodyQuerifier.ts +25 -0
- package/src/programmers/TypedQueryBodyProgrammer.ts +52 -0
- package/src/programmers/TypedQueryRouteProgrammer.ts +55 -0
- package/src/programmers/http/HttpAssertQuerifyProgrammer.ts +59 -0
- package/src/programmers/http/HttpIsQuerifyProgrammer.ts +63 -0
- package/src/programmers/http/HttpQuerifyProgrammer.ts +105 -0
- package/src/programmers/http/HttpValidateQuerifyProgrammer.ts +64 -0
- package/src/transformers/ParameterDecoratorTransformer.ts +23 -1
- package/src/transformers/TypedRouteTransformer.ts +15 -8
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.HttpAssertQuerifyProgrammer = void 0;
|
|
18
|
+
var typescript_1 = __importDefault(require("typescript"));
|
|
19
|
+
var IdentifierFactory_1 = require("typia/lib/factories/IdentifierFactory");
|
|
20
|
+
var StatementFactory_1 = require("typia/lib/factories/StatementFactory");
|
|
21
|
+
var AssertProgrammer_1 = require("typia/lib/programmers/AssertProgrammer");
|
|
22
|
+
var HttpQuerifyProgrammer_1 = require("./HttpQuerifyProgrammer");
|
|
23
|
+
var HttpAssertQuerifyProgrammer;
|
|
24
|
+
(function (HttpAssertQuerifyProgrammer) {
|
|
25
|
+
HttpAssertQuerifyProgrammer.write = function (project) {
|
|
26
|
+
return function (modulo) {
|
|
27
|
+
return function (type, name) {
|
|
28
|
+
return typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("input")], undefined, undefined, typescript_1.default.factory.createBlock([
|
|
29
|
+
StatementFactory_1.StatementFactory.constant("assert", AssertProgrammer_1.AssertProgrammer.write(__assign(__assign({}, project), { options: __assign(__assign({}, project.options), { functional: false, numeric: false }) }))(modulo)(false)(type, name)),
|
|
30
|
+
StatementFactory_1.StatementFactory.constant("stringify", HttpQuerifyProgrammer_1.HttpQuerifyProgrammer.write(__assign(__assign({}, project), { options: __assign(__assign({}, project.options), { functional: false, numeric: false }) }))(modulo)(type)),
|
|
31
|
+
typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("stringify"), undefined, [
|
|
32
|
+
typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("assert"), undefined, [typescript_1.default.factory.createIdentifier("input")]),
|
|
33
|
+
])),
|
|
34
|
+
]));
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
})(HttpAssertQuerifyProgrammer || (exports.HttpAssertQuerifyProgrammer = HttpAssertQuerifyProgrammer = {}));
|
|
39
|
+
//# sourceMappingURL=HttpAssertQuerifyProgrammer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HttpAssertQuerifyProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/http/HttpAssertQuerifyProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,2EAA0E;AAC1E,yEAAwE;AACxE,2EAA0E;AAG1E,iEAAgE;AAEhE,IAAiB,2BAA2B,CAiD3C;AAjDD,WAAiB,2BAA2B;IAC3B,iCAAK,GACd,UAAC,OAAiB;QAClB,OAAA,UAAC,MAAiC;YAClC,OAAA,UAAC,IAAa,EAAE,IAAa;gBACzB,OAAA,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,SAAS,EACT,SAAS,EACT,CAAC,qCAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EACtC,SAAS,EACT,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC;oBACnB,mCAAgB,CAAC,QAAQ,CACrB,QAAQ,EACR,mCAAgB,CAAC,KAAK,uBACf,OAAO,KACV,OAAO,wBACA,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,KAAK,OAEpB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAChC;oBACD,mCAAgB,CAAC,QAAQ,CACrB,WAAW,EACX,6CAAqB,CAAC,KAAK,uBACpB,OAAO,KACV,OAAO,wBACA,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,KAAK,OAEpB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CACnB;oBACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC5B,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,EACxC,SAAS,EACT;wBACI,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EACrC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC;qBACJ,CACJ,CACJ;iBACJ,CAAC,CACL;YA3CD,CA2CC;QA5CL,CA4CK;IA7CL,CA6CK,CAAC;AACd,CAAC,EAjDgB,2BAA2B,2CAA3B,2BAA2B,QAiD3C"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.HttpIsQuerifyProgrammer = void 0;
|
|
18
|
+
var typescript_1 = __importDefault(require("typescript"));
|
|
19
|
+
var IdentifierFactory_1 = require("typia/lib/factories/IdentifierFactory");
|
|
20
|
+
var StatementFactory_1 = require("typia/lib/factories/StatementFactory");
|
|
21
|
+
var IsProgrammer_1 = require("typia/lib/programmers/IsProgrammer");
|
|
22
|
+
var HttpQuerifyProgrammer_1 = require("./HttpQuerifyProgrammer");
|
|
23
|
+
var HttpIsQuerifyProgrammer;
|
|
24
|
+
(function (HttpIsQuerifyProgrammer) {
|
|
25
|
+
HttpIsQuerifyProgrammer.write = function (project) {
|
|
26
|
+
return function (modulo) {
|
|
27
|
+
return function (type) {
|
|
28
|
+
return typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("input")], undefined, undefined, typescript_1.default.factory.createBlock([
|
|
29
|
+
StatementFactory_1.StatementFactory.constant("is", IsProgrammer_1.IsProgrammer.write(__assign(__assign({}, project), { options: __assign(__assign({}, project.options), { functional: false, numeric: false }) }))(modulo)(false)(type)),
|
|
30
|
+
StatementFactory_1.StatementFactory.constant("stringify", HttpQuerifyProgrammer_1.HttpQuerifyProgrammer.write(__assign(__assign({}, project), { options: __assign(__assign({}, project.options), { functional: false, numeric: false }) }))(modulo)(type)),
|
|
31
|
+
typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createConditionalExpression(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("is"), undefined, [typescript_1.default.factory.createIdentifier("input")]), undefined, typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("stringify"), undefined, [typescript_1.default.factory.createIdentifier("input")]), undefined, typescript_1.default.factory.createNull())),
|
|
32
|
+
]));
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
})(HttpIsQuerifyProgrammer || (exports.HttpIsQuerifyProgrammer = HttpIsQuerifyProgrammer = {}));
|
|
37
|
+
//# sourceMappingURL=HttpIsQuerifyProgrammer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HttpIsQuerifyProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/http/HttpIsQuerifyProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,2EAA0E;AAC1E,yEAAwE;AACxE,mEAAkE;AAGlE,iEAAgE;AAEhE,IAAiB,uBAAuB,CAqDvC;AArDD,WAAiB,uBAAuB;IACvB,6BAAK,GACd,UAAC,OAAiB;QAClB,OAAA,UAAC,MAAiC;YAClC,OAAA,UAAC,IAAa;gBACV,OAAA,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,SAAS,EACT,SAAS,EACT,CAAC,qCAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EACtC,SAAS,EACT,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC;oBACnB,mCAAgB,CAAC,QAAQ,CACrB,IAAI,EACJ,2BAAY,CAAC,KAAK,uBACX,OAAO,KACV,OAAO,wBACA,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,KAAK,OAEpB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAC1B;oBACD,mCAAgB,CAAC,QAAQ,CACrB,WAAW,EACX,6CAAqB,CAAC,KAAK,uBACpB,OAAO,KACV,OAAO,wBACA,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,KAAK,OAEpB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CACnB;oBACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC5B,oBAAE,CAAC,OAAO,CAAC,2BAA2B,CAClC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EACjC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,EACD,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,EACxC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,EACD,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CAC1B,CACJ;iBACJ,CAAC,CACL;YA/CD,CA+CC;QAhDL,CAgDK;IAjDL,CAiDK,CAAC;AACd,CAAC,EArDgB,uBAAuB,uCAAvB,uBAAuB,QAqDvC"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
3
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
4
|
+
if (!m) return o;
|
|
5
|
+
var i = m.call(o), r, ar = [], e;
|
|
6
|
+
try {
|
|
7
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
8
|
+
}
|
|
9
|
+
catch (error) { e = { error: error }; }
|
|
10
|
+
finally {
|
|
11
|
+
try {
|
|
12
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
13
|
+
}
|
|
14
|
+
finally { if (e) throw e.error; }
|
|
15
|
+
}
|
|
16
|
+
return ar;
|
|
17
|
+
};
|
|
18
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
19
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
20
|
+
if (ar || !(i in from)) {
|
|
21
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
22
|
+
ar[i] = from[i];
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
26
|
+
};
|
|
27
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
28
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
29
|
+
};
|
|
30
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
31
|
+
exports.HttpQuerifyProgrammer = void 0;
|
|
32
|
+
var typescript_1 = __importDefault(require("typescript"));
|
|
33
|
+
var IdentifierFactory_1 = require("typia/lib/factories/IdentifierFactory");
|
|
34
|
+
var MetadataCollection_1 = require("typia/lib/factories/MetadataCollection");
|
|
35
|
+
var MetadataFactory_1 = require("typia/lib/factories/MetadataFactory");
|
|
36
|
+
var StatementFactory_1 = require("typia/lib/factories/StatementFactory");
|
|
37
|
+
var FunctionImporeter_1 = require("typia/lib/programmers/helpers/FunctionImporeter");
|
|
38
|
+
var HttpQueryProgrammer_1 = require("typia/lib/programmers/http/HttpQueryProgrammer");
|
|
39
|
+
var TransformerError_1 = require("typia/lib/transformers/TransformerError");
|
|
40
|
+
var HttpQuerifyProgrammer;
|
|
41
|
+
(function (HttpQuerifyProgrammer) {
|
|
42
|
+
HttpQuerifyProgrammer.write = function (project) {
|
|
43
|
+
return function (modulo) {
|
|
44
|
+
return function (type) {
|
|
45
|
+
// GET OBJECT TYPE
|
|
46
|
+
var importer = new FunctionImporeter_1.FunctionImporter(modulo.getText());
|
|
47
|
+
var collection = new MetadataCollection_1.MetadataCollection();
|
|
48
|
+
var result = MetadataFactory_1.MetadataFactory.analyze(project.checker)({
|
|
49
|
+
escape: false,
|
|
50
|
+
constant: true,
|
|
51
|
+
absorb: true,
|
|
52
|
+
validate: HttpQueryProgrammer_1.HttpQueryProgrammer.validate,
|
|
53
|
+
})(collection)(type);
|
|
54
|
+
if (result.success === false)
|
|
55
|
+
throw TransformerError_1.TransformerError.from("@nestia.core.TypedQuery.".concat(importer.method))(result.errors);
|
|
56
|
+
var object = result.data.objects[0];
|
|
57
|
+
return typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("input")], undefined, undefined, typescript_1.default.factory.createBlock(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read(importer.declare(modulo)), false), [
|
|
58
|
+
StatementFactory_1.StatementFactory.constant("output", typescript_1.default.factory.createNewExpression(typescript_1.default.factory.createIdentifier("URLSearchParams"), undefined, []))
|
|
59
|
+
], false), __read(object.properties.map(function (p) {
|
|
60
|
+
return typescript_1.default.factory.createExpressionStatement(decode(p.key.constants[0].values[0])(p.value));
|
|
61
|
+
})), false), [
|
|
62
|
+
typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createIdentifier("output")),
|
|
63
|
+
], false), true));
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
var decode = function (key) {
|
|
68
|
+
return function (value) {
|
|
69
|
+
return !!value.arrays.length
|
|
70
|
+
? typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier("input"))(key))("forEach"), undefined, [
|
|
71
|
+
typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("elem")], undefined, undefined, append(key)(typescript_1.default.factory.createIdentifier("elem"))),
|
|
72
|
+
])
|
|
73
|
+
: append(key)(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier("input"))(key));
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
var append = function (key) { return function (elem) {
|
|
77
|
+
return typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier("output"))("append"), undefined, [typescript_1.default.factory.createStringLiteral(key), elem]);
|
|
78
|
+
}; };
|
|
79
|
+
})(HttpQuerifyProgrammer || (exports.HttpQuerifyProgrammer = HttpQuerifyProgrammer = {}));
|
|
80
|
+
//# sourceMappingURL=HttpQuerifyProgrammer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HttpQuerifyProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/http/HttpQuerifyProgrammer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
import { IProject } from "typia/lib/transformers/IProject";
|
|
3
|
+
export declare namespace HttpValidateQuerifyProgrammer {
|
|
4
|
+
const write: (project: IProject) => (modulo: ts.LeftHandSideExpression) => (type: ts.Type, name?: string) => ts.ArrowFunction;
|
|
5
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.HttpValidateQuerifyProgrammer = void 0;
|
|
18
|
+
var typescript_1 = __importDefault(require("typescript"));
|
|
19
|
+
var IdentifierFactory_1 = require("typia/lib/factories/IdentifierFactory");
|
|
20
|
+
var StatementFactory_1 = require("typia/lib/factories/StatementFactory");
|
|
21
|
+
var ValidateProgrammer_1 = require("typia/lib/programmers/ValidateProgrammer");
|
|
22
|
+
var HttpQuerifyProgrammer_1 = require("./HttpQuerifyProgrammer");
|
|
23
|
+
var HttpValidateQuerifyProgrammer;
|
|
24
|
+
(function (HttpValidateQuerifyProgrammer) {
|
|
25
|
+
HttpValidateQuerifyProgrammer.write = function (project) {
|
|
26
|
+
return function (modulo) {
|
|
27
|
+
return function (type, name) {
|
|
28
|
+
return typescript_1.default.factory.createArrowFunction(undefined, undefined, [IdentifierFactory_1.IdentifierFactory.parameter("input")], undefined, undefined, typescript_1.default.factory.createBlock([
|
|
29
|
+
StatementFactory_1.StatementFactory.constant("validate", ValidateProgrammer_1.ValidateProgrammer.write(__assign(__assign({}, project), { options: __assign(__assign({}, project.options), { functional: false, numeric: true }) }))(modulo)(false)(type, name)),
|
|
30
|
+
StatementFactory_1.StatementFactory.constant("query", HttpQuerifyProgrammer_1.HttpQuerifyProgrammer.write(__assign(__assign({}, project), { options: __assign(__assign({}, project.options), { functional: false, numeric: false }) }))(modulo)(type)),
|
|
31
|
+
StatementFactory_1.StatementFactory.constant("output", typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("query"), undefined, [typescript_1.default.factory.createIdentifier("input")])),
|
|
32
|
+
typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createAsExpression(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("validate"), undefined, [typescript_1.default.factory.createIdentifier("output")]), typescript_1.default.factory.createTypeReferenceNode("any"))),
|
|
33
|
+
]));
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
})(HttpValidateQuerifyProgrammer || (exports.HttpValidateQuerifyProgrammer = HttpValidateQuerifyProgrammer = {}));
|
|
38
|
+
//# sourceMappingURL=HttpValidateQuerifyProgrammer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HttpValidateQuerifyProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/http/HttpValidateQuerifyProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,2EAA0E;AAC1E,yEAAwE;AACxE,+EAA8E;AAG9E,iEAAgE;AAEhE,IAAiB,6BAA6B,CAsD7C;AAtDD,WAAiB,6BAA6B;IAC7B,mCAAK,GACd,UAAC,OAAiB;QAClB,OAAA,UAAC,MAAiC;YAClC,OAAA,UAAC,IAAa,EAAE,IAAa;gBACzB,OAAA,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,SAAS,EACT,SAAS,EACT,CAAC,qCAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EACtC,SAAS,EACT,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC;oBACnB,mCAAgB,CAAC,QAAQ,CACrB,UAAU,EACV,uCAAkB,CAAC,KAAK,uBACjB,OAAO,KACV,OAAO,wBACA,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,IAAI,OAEnB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAChC;oBACD,mCAAgB,CAAC,QAAQ,CACrB,OAAO,EACP,6CAAqB,CAAC,KAAK,uBACpB,OAAO,KACV,OAAO,wBACA,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,KAAK,OAEpB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CACnB;oBACD,mCAAgB,CAAC,QAAQ,CACrB,QAAQ,EACR,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EACpC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACzC,CACJ;oBACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC5B,oBAAE,CAAC,OAAO,CAAC,kBAAkB,CACzB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,EACvC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAC1C,EACD,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAC5C,CACJ;iBACJ,CAAC,CACL;YAhDD,CAgDC;QAjDL,CAiDK;IAlDL,CAkDK,CAAC;AACd,CAAC,EAtDgB,6BAA6B,6CAA7B,6BAA6B,QAsD7C"}
|
|
@@ -10,6 +10,7 @@ var PlainBodyProgrammer_1 = require("../programmers/PlainBodyProgrammer");
|
|
|
10
10
|
var TypedBodyProgrammer_1 = require("../programmers/TypedBodyProgrammer");
|
|
11
11
|
var TypedHeadersProgrammer_1 = require("../programmers/TypedHeadersProgrammer");
|
|
12
12
|
var TypedParamProgrammer_1 = require("../programmers/TypedParamProgrammer");
|
|
13
|
+
var TypedQueryBodyProgrammer_1 = require("../programmers/TypedQueryBodyProgrammer");
|
|
13
14
|
var TypedQueryProgrammer_1 = require("../programmers/TypedQueryProgrammer");
|
|
14
15
|
var ParameterDecoratorTransformer;
|
|
15
16
|
(function (ParameterDecoratorTransformer) {
|
|
@@ -35,7 +36,7 @@ var ParameterDecoratorTransformer;
|
|
|
35
36
|
// TRANSFORMATION
|
|
36
37
|
//----
|
|
37
38
|
// FIND PROGRAMMER
|
|
38
|
-
var programmer = FUNCTORS[project.checker.getTypeAtLocation(declaration).symbol
|
|
39
|
+
var programmer = FUNCTORS[getName(project.checker.getTypeAtLocation(declaration).symbol)];
|
|
39
40
|
if (programmer === undefined)
|
|
40
41
|
return decorator;
|
|
41
42
|
// GET TYPE INFO
|
|
@@ -70,6 +71,11 @@ var FUNCTORS = {
|
|
|
70
71
|
? parameters
|
|
71
72
|
: [TypedQueryProgrammer_1.TypedQueryProgrammer.generate(project)(modulo)(type)];
|
|
72
73
|
}; }; }; },
|
|
74
|
+
"TypedQuery.Body": function (project) { return function (modulo) { return function (parameters) { return function (type) {
|
|
75
|
+
return parameters.length
|
|
76
|
+
? parameters
|
|
77
|
+
: [TypedQueryBodyProgrammer_1.TypedQueryBodyProgrammer.generate(project)(modulo)(type)];
|
|
78
|
+
}; }; }; },
|
|
73
79
|
PlainBody: function (project) { return function (modulo) { return function (parameters) { return function (type) {
|
|
74
80
|
return parameters.length
|
|
75
81
|
? parameters
|
|
@@ -78,4 +84,18 @@ var FUNCTORS = {
|
|
|
78
84
|
};
|
|
79
85
|
var LIB_PATH = path_1.default.join("node_modules", "@nestia", "core", "lib", "decorators");
|
|
80
86
|
var SRC_PATH = path_1.default.resolve(path_1.default.join(__dirname, "..", "decorators"));
|
|
87
|
+
var getName = function (symbol) {
|
|
88
|
+
var _a, _b;
|
|
89
|
+
var parent = (_b = (_a = symbol.getDeclarations()) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.parent;
|
|
90
|
+
return parent
|
|
91
|
+
? exploreName(parent)(symbol.escapedName.toString())
|
|
92
|
+
: "__type";
|
|
93
|
+
};
|
|
94
|
+
var exploreName = function (decl) {
|
|
95
|
+
return function (name) {
|
|
96
|
+
return typescript_1.default.isModuleBlock(decl)
|
|
97
|
+
? exploreName(decl.parent.parent)("".concat(decl.parent.name.getFullText().trim(), ".").concat(name))
|
|
98
|
+
: name;
|
|
99
|
+
};
|
|
100
|
+
};
|
|
81
101
|
//# sourceMappingURL=ParameterDecoratorTransformer.js.map
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"ParameterDecoratorTransformer.js","sourceRoot":"","sources":["../../src/transformers/ParameterDecoratorTransformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
31
31
|
exports.TypedRouteTransformer = void 0;
|
|
32
32
|
var path_1 = __importDefault(require("path"));
|
|
33
33
|
var typescript_1 = __importDefault(require("typescript"));
|
|
34
|
+
var TypedQueryRouteProgrammer_1 = require("../programmers/TypedQueryRouteProgrammer");
|
|
34
35
|
var TypedRouteProgrammer_1 = require("../programmers/TypedRouteProgrammer");
|
|
35
36
|
var TypedRouteTransformer;
|
|
36
37
|
(function (TypedRouteTransformer) {
|
|
@@ -44,12 +45,13 @@ var TypedRouteTransformer;
|
|
|
44
45
|
if (!signature || !signature.declaration)
|
|
45
46
|
return decorator;
|
|
46
47
|
// CHECK TO BE TRANSFORMED
|
|
47
|
-
var
|
|
48
|
+
var modulo = (function () {
|
|
49
|
+
var _a;
|
|
48
50
|
// CHECK FILENAME
|
|
49
51
|
var location = path_1.default.resolve(signature.declaration.getSourceFile().fileName);
|
|
50
52
|
if (LIB_PATHS.every(function (str) { return location.indexOf(str) === -1; }) &&
|
|
51
53
|
SRC_PATHS.every(function (str) { return location !== str; }))
|
|
52
|
-
return
|
|
54
|
+
return null;
|
|
53
55
|
// CHECK DUPLICATE BOOSTER
|
|
54
56
|
if (decorator.expression.arguments.length >= 2)
|
|
55
57
|
return false;
|
|
@@ -59,9 +61,12 @@ var TypedRouteTransformer;
|
|
|
59
61
|
if (isObject(project.checker)(type_1))
|
|
60
62
|
return false;
|
|
61
63
|
}
|
|
62
|
-
return
|
|
64
|
+
return ((_a = location.split(path_1.default.sep).at(-1)) === null || _a === void 0 ? void 0 : _a.split(".")[0]) ===
|
|
65
|
+
"TypedQuery"
|
|
66
|
+
? "TypedQuery"
|
|
67
|
+
: "TypedRoute";
|
|
63
68
|
})();
|
|
64
|
-
if (
|
|
69
|
+
if (modulo === null)
|
|
65
70
|
return decorator;
|
|
66
71
|
// CHECK TYPE NODE
|
|
67
72
|
var typeNode = project.checker.typeToTypeNode(type, undefined, undefined);
|
|
@@ -69,7 +74,9 @@ var TypedRouteTransformer;
|
|
|
69
74
|
return decorator;
|
|
70
75
|
// DO TRANSFORM
|
|
71
76
|
return typescript_1.default.factory.createDecorator(typescript_1.default.factory.updateCallExpression(decorator.expression, decorator.expression.expression, decorator.expression.typeArguments, __spreadArray(__spreadArray([], __read(decorator.expression.arguments), false), [
|
|
72
|
-
|
|
77
|
+
(modulo === "TypedQuery"
|
|
78
|
+
? TypedQueryRouteProgrammer_1.TypedQueryRouteProgrammer
|
|
79
|
+
: TypedRouteProgrammer_1.TypedRouteProgrammer).generate(project)(decorator.expression.expression)(type),
|
|
73
80
|
], false)));
|
|
74
81
|
};
|
|
75
82
|
};
|
|
@@ -82,7 +89,7 @@ var TypedRouteTransformer;
|
|
|
82
89
|
!checker.isArrayLikeType(type);
|
|
83
90
|
};
|
|
84
91
|
};
|
|
85
|
-
var CLASSES = ["EncryptedRoute", "TypedRoute"];
|
|
92
|
+
var CLASSES = ["EncryptedRoute", "TypedRoute", "TypedQuery"];
|
|
86
93
|
var LIB_PATHS = CLASSES.map(function (cla) {
|
|
87
94
|
return path_1.default.join("node_modules", "@nestia", "core", "lib", "decorators", "".concat(cla, ".d.ts"));
|
|
88
95
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypedRouteTransformer.js","sourceRoot":"","sources":["../../src/transformers/TypedRouteTransformer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAwB;AACxB,0DAA4B;AAG5B,4EAA2E;AAE3E,IAAiB,qBAAqB,
|
|
1
|
+
{"version":3,"file":"TypedRouteTransformer.js","sourceRoot":"","sources":["../../src/transformers/TypedRouteTransformer.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.
|
|
3
|
+
"version": "2.2.0-dev.20231010",
|
|
4
4
|
"description": "Super-fast validation decorators of NestJS",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"typings": "lib/index.d.ts",
|
|
@@ -34,20 +34,20 @@
|
|
|
34
34
|
},
|
|
35
35
|
"homepage": "https://nestia.io",
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@nestia/fetcher": "^2.
|
|
38
|
-
"@nestjs/common": ">=
|
|
39
|
-
"@nestjs/core": ">=
|
|
40
|
-
"@nestjs/platform-express": ">=
|
|
41
|
-
"@nestjs/platform-fastify": ">=
|
|
37
|
+
"@nestia/fetcher": "^2.2.0-dev.20231010",
|
|
38
|
+
"@nestjs/common": ">=7.0.1",
|
|
39
|
+
"@nestjs/core": ">=7.0.1",
|
|
40
|
+
"@nestjs/platform-express": ">=7.0.1",
|
|
41
|
+
"@nestjs/platform-fastify": ">=7.0.1",
|
|
42
42
|
"detect-ts-node": "^1.0.5",
|
|
43
43
|
"glob": "^7.2.0",
|
|
44
|
-
"raw-body": ">=
|
|
45
|
-
"reflect-metadata": ">=
|
|
46
|
-
"rxjs": ">=
|
|
47
|
-
"typia": "
|
|
44
|
+
"raw-body": ">=2.0.0",
|
|
45
|
+
"reflect-metadata": ">=0.1.12",
|
|
46
|
+
"rxjs": ">=6.0.0",
|
|
47
|
+
"typia": ">=5.2.0 <6.0.0"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
|
50
|
-
"@nestia/fetcher": ">=2.
|
|
50
|
+
"@nestia/fetcher": ">=2.2.0-dev.20231010",
|
|
51
51
|
"@nestjs/common": ">=7.0.1",
|
|
52
52
|
"@nestjs/core": ">=7.0.1",
|
|
53
53
|
"@nestjs/platform-express": ">=7.0.1",
|
|
@@ -56,14 +56,14 @@
|
|
|
56
56
|
"reflect-metadata": ">=0.1.12",
|
|
57
57
|
"rxjs": ">=6.0.0",
|
|
58
58
|
"typescript": ">=4.8.0",
|
|
59
|
-
"typia": ">=5.
|
|
59
|
+
"typia": ">=5.2.0 <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.
|
|
66
|
+
"@types/ts-expose-internals": "npm:ts-expose-internals@5.2.2",
|
|
67
67
|
"@typescript-eslint/eslint-plugin": "^5.46.1",
|
|
68
68
|
"@typescript-eslint/parser": "^5.46.1",
|
|
69
69
|
"commander": "^10.0.0",
|