@nestia/core 3.0.5 → 3.1.0-dev.20240429
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/adaptors/WebSocketAdaptor.d.ts +21 -0
- package/lib/adaptors/WebSocketAdaptor.js +275 -0
- package/lib/adaptors/WebSocketAdaptor.js.map +1 -0
- package/lib/decorators/DynamicModule.js +12 -59
- package/lib/decorators/DynamicModule.js.map +1 -1
- package/lib/decorators/EncryptedBody.js +36 -73
- package/lib/decorators/EncryptedBody.js.map +1 -1
- package/lib/decorators/EncryptedController.js +2 -2
- package/lib/decorators/EncryptedController.js.map +1 -1
- package/lib/decorators/EncryptedModule.js +24 -107
- package/lib/decorators/EncryptedModule.js.map +1 -1
- package/lib/decorators/EncryptedRoute.js +43 -119
- package/lib/decorators/EncryptedRoute.js.map +1 -1
- package/lib/decorators/PlainBody.js +24 -61
- package/lib/decorators/PlainBody.js.map +1 -1
- package/lib/decorators/SwaggerCustomizer.js +2 -2
- package/lib/decorators/SwaggerCustomizer.js.map +1 -1
- package/lib/decorators/TypedBody.js +12 -14
- package/lib/decorators/TypedBody.js.map +1 -1
- package/lib/decorators/TypedException.js +5 -5
- package/lib/decorators/TypedException.js.map +1 -1
- package/lib/decorators/TypedFormData.js +88 -291
- package/lib/decorators/TypedFormData.js.map +1 -1
- package/lib/decorators/TypedHeaders.js +6 -6
- package/lib/decorators/TypedHeaders.js.map +1 -1
- package/lib/decorators/TypedParam.d.ts +5 -6
- package/lib/decorators/TypedParam.js +14 -15
- package/lib/decorators/TypedParam.js.map +1 -1
- package/lib/decorators/TypedQuery.d.ts +2 -2
- package/lib/decorators/TypedQuery.js +52 -129
- package/lib/decorators/TypedQuery.js.map +1 -1
- package/lib/decorators/TypedRoute.js +31 -107
- package/lib/decorators/TypedRoute.js.map +1 -1
- package/lib/decorators/WebSocketRoute.d.ts +120 -0
- package/lib/decorators/WebSocketRoute.js +202 -0
- package/lib/decorators/WebSocketRoute.js.map +1 -0
- package/lib/decorators/internal/IWebSocketRouteReflect.d.ts +25 -0
- package/lib/decorators/internal/IWebSocketRouteReflect.js +3 -0
- package/lib/decorators/internal/IWebSocketRouteReflect.js.map +1 -0
- package/lib/decorators/internal/NoTransformConfigureError.js +1 -1
- package/lib/decorators/internal/NoTransformConfigureError.js.map +1 -1
- package/lib/decorators/internal/get_path_and_querify.js +67 -131
- package/lib/decorators/internal/get_path_and_querify.js.map +1 -1
- package/lib/decorators/internal/get_path_and_stringify.js +57 -71
- package/lib/decorators/internal/get_path_and_stringify.js.map +1 -1
- package/lib/decorators/internal/get_text_body.js +7 -46
- package/lib/decorators/internal/get_text_body.js.map +1 -1
- package/lib/decorators/internal/headers_to_object.js +3 -42
- package/lib/decorators/internal/headers_to_object.js.map +1 -1
- package/lib/decorators/internal/load_controller.js +29 -106
- package/lib/decorators/internal/load_controller.js.map +1 -1
- package/lib/decorators/internal/route_error.js +15 -65
- package/lib/decorators/internal/route_error.js.map +1 -1
- package/lib/decorators/internal/validate_request_body.js +44 -54
- package/lib/decorators/internal/validate_request_body.js.map +1 -1
- package/lib/decorators/internal/validate_request_form_data.js +36 -44
- package/lib/decorators/internal/validate_request_form_data.js.map +1 -1
- package/lib/decorators/internal/validate_request_headers.js +36 -44
- package/lib/decorators/internal/validate_request_headers.js.map +1 -1
- package/lib/decorators/internal/validate_request_query.js +36 -44
- package/lib/decorators/internal/validate_request_query.js.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/module.d.ts +10 -9
- package/lib/module.js +10 -9
- package/lib/module.js.map +1 -1
- package/lib/programmers/PlainBodyProgrammer.js +29 -44
- package/lib/programmers/PlainBodyProgrammer.js.map +1 -1
- package/lib/programmers/TypedBodyProgrammer.js +57 -82
- package/lib/programmers/TypedBodyProgrammer.js.map +1 -1
- package/lib/programmers/TypedExceptionProgrammer.js +51 -54
- package/lib/programmers/TypedExceptionProgrammer.js.map +1 -1
- package/lib/programmers/TypedFormDataBodyProgrammer.js +50 -73
- package/lib/programmers/TypedFormDataBodyProgrammer.js.map +1 -1
- package/lib/programmers/TypedHeadersProgrammer.js +24 -43
- package/lib/programmers/TypedHeadersProgrammer.js.map +1 -1
- package/lib/programmers/TypedParamProgrammer.js +11 -28
- package/lib/programmers/TypedParamProgrammer.js.map +1 -1
- package/lib/programmers/TypedQueryBodyProgrammer.js +24 -43
- package/lib/programmers/TypedQueryBodyProgrammer.js.map +1 -1
- package/lib/programmers/TypedQueryProgrammer.js +24 -43
- package/lib/programmers/TypedQueryProgrammer.js.map +1 -1
- package/lib/programmers/TypedQueryRouteProgrammer.js +22 -39
- package/lib/programmers/TypedQueryRouteProgrammer.js.map +1 -1
- package/lib/programmers/TypedRouteProgrammer.js +22 -39
- package/lib/programmers/TypedRouteProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpAssertQuerifyProgrammer.js +12 -29
- package/lib/programmers/http/HttpAssertQuerifyProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpIsQuerifyProgrammer.js +10 -27
- package/lib/programmers/http/HttpIsQuerifyProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpQuerifyProgrammer.js +33 -69
- package/lib/programmers/http/HttpQuerifyProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpValidateQuerifyProgrammer.js +11 -28
- package/lib/programmers/http/HttpValidateQuerifyProgrammer.js.map +1 -1
- package/lib/programmers/internal/CoreMetadataUtil.js +12 -37
- package/lib/programmers/internal/CoreMetadataUtil.js.map +1 -1
- package/lib/transform.js +8 -8
- package/lib/transform.js.map +1 -1
- package/lib/transformers/FileTransformer.js +35 -66
- package/lib/transformers/FileTransformer.js.map +1 -1
- package/lib/transformers/MethodTransformer.js +39 -50
- package/lib/transformers/MethodTransformer.js.map +1 -1
- package/lib/transformers/NodeTransformer.js +8 -12
- package/lib/transformers/NodeTransformer.js.map +1 -1
- package/lib/transformers/ParameterDecoratorTransformer.js +75 -90
- package/lib/transformers/ParameterDecoratorTransformer.js.map +1 -1
- package/lib/transformers/ParameterTransformer.js +18 -24
- package/lib/transformers/ParameterTransformer.js.map +1 -1
- package/lib/transformers/TypedExceptionTransformer.js +24 -27
- package/lib/transformers/TypedExceptionTransformer.js.map +1 -1
- package/lib/transformers/TypedRouteTransformer.js +50 -88
- package/lib/transformers/TypedRouteTransformer.js.map +1 -1
- package/lib/transformers/WebSocketRouteTransformer.d.ts +6 -0
- package/lib/transformers/WebSocketRouteTransformer.js +72 -0
- package/lib/transformers/WebSocketRouteTransformer.js.map +1 -0
- package/lib/utils/ArrayUtil.d.ts +3 -0
- package/lib/utils/ArrayUtil.js +11 -0
- package/lib/utils/ArrayUtil.js.map +1 -0
- package/lib/utils/ExceptionManager.js +9 -31
- package/lib/utils/ExceptionManager.js.map +1 -1
- package/lib/utils/Singleton.js +6 -7
- package/lib/utils/Singleton.js.map +1 -1
- package/lib/utils/SourceFinder.js +38 -215
- package/lib/utils/SourceFinder.js.map +1 -1
- package/lib/utils/VersioningStrategy.d.ts +9 -0
- package/lib/utils/VersioningStrategy.js +17 -0
- package/lib/utils/VersioningStrategy.js.map +1 -0
- package/package.json +10 -6
- package/src/adaptors/WebSocketAdaptor.ts +416 -0
- package/src/decorators/TypedParam.ts +5 -6
- package/src/decorators/TypedQuery.ts +251 -251
- package/src/decorators/WebSocketRoute.ts +249 -0
- package/src/decorators/internal/IWebSocketRouteReflect.ts +23 -0
- package/src/decorators/internal/validate_request_body.ts +72 -72
- package/src/decorators/internal/validate_request_form_data.ts +75 -75
- package/src/decorators/internal/validate_request_headers.ts +83 -83
- package/src/decorators/internal/validate_request_query.ts +71 -71
- package/src/module.ts +20 -16
- package/src/transformers/MethodTransformer.ts +7 -4
- package/src/transformers/ParameterDecoratorTransformer.ts +129 -120
- package/src/transformers/TypedExceptionTransformer.ts +9 -13
- package/src/transformers/TypedRouteTransformer.ts +1 -8
- package/src/transformers/WebSocketRouteTransformer.ts +103 -0
- package/src/typings/get-function-location.d.ts +7 -0
- package/src/utils/ArrayUtil.ts +7 -0
- package/src/utils/VersioningStrategy.ts +27 -0
|
@@ -1,60 +1,45 @@
|
|
|
1
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
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
3
|
exports.PlainBodyProgrammer = void 0;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
4
|
+
const MetadataCollection_1 = require("typia/lib/factories/MetadataCollection");
|
|
5
|
+
const MetadataFactory_1 = require("typia/lib/factories/MetadataFactory");
|
|
6
|
+
const AssertProgrammer_1 = require("typia/lib/programmers/AssertProgrammer");
|
|
7
|
+
const TransformerError_1 = require("typia/lib/transformers/TransformerError");
|
|
19
8
|
var PlainBodyProgrammer;
|
|
20
9
|
(function (PlainBodyProgrammer) {
|
|
21
|
-
PlainBodyProgrammer.generate =
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
functional: false,
|
|
36
|
-
} }))(modulo)(false)(type);
|
|
37
|
-
};
|
|
38
|
-
};
|
|
10
|
+
PlainBodyProgrammer.generate = (project) => (modulo) => (type) => {
|
|
11
|
+
const result = MetadataFactory_1.MetadataFactory.analyze(project.checker)({
|
|
12
|
+
escape: false,
|
|
13
|
+
constant: true,
|
|
14
|
+
absorb: true,
|
|
15
|
+
validate,
|
|
16
|
+
})(new MetadataCollection_1.MetadataCollection())(type);
|
|
17
|
+
if (result.success === false)
|
|
18
|
+
throw TransformerError_1.TransformerError.from("nestia.core.TypedParam")(result.errors);
|
|
19
|
+
return AssertProgrammer_1.AssertProgrammer.write(Object.assign(Object.assign({}, project), { options: {
|
|
20
|
+
numeric: false,
|
|
21
|
+
finite: false,
|
|
22
|
+
functional: false,
|
|
23
|
+
} }))(modulo)(false)(type);
|
|
39
24
|
};
|
|
40
25
|
})(PlainBodyProgrammer || (exports.PlainBodyProgrammer = PlainBodyProgrammer = {}));
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
26
|
+
const validate = (metadata) => {
|
|
27
|
+
const errors = [];
|
|
28
|
+
const insert = (msg) => errors.push(msg);
|
|
29
|
+
const expected = (metadata.atomics.some((a) => a.type === "string") ? 1 : 0) +
|
|
45
30
|
metadata.templates.length +
|
|
46
31
|
metadata.constants
|
|
47
|
-
.filter(
|
|
48
|
-
.map(
|
|
49
|
-
.reduce(
|
|
32
|
+
.filter((c) => c.type === "string")
|
|
33
|
+
.map((c) => c.values.length)
|
|
34
|
+
.reduce((a, b) => a + b, 0);
|
|
50
35
|
if (expected === 0 || expected !== metadata.size())
|
|
51
|
-
insert(
|
|
36
|
+
insert(`only string type is allowed`);
|
|
52
37
|
if (metadata.isRequired() === false)
|
|
53
|
-
insert(
|
|
38
|
+
insert(`do not allow undefindable type`);
|
|
54
39
|
if (metadata.nullable === true)
|
|
55
|
-
insert(
|
|
40
|
+
insert(`do not allow nullable type`);
|
|
56
41
|
else if (metadata.any === true)
|
|
57
|
-
insert(
|
|
42
|
+
insert(`do not allow any type`);
|
|
58
43
|
return errors;
|
|
59
44
|
};
|
|
60
45
|
//# sourceMappingURL=PlainBodyProgrammer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlainBodyProgrammer.js","sourceRoot":"","sources":["../../src/programmers/PlainBodyProgrammer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PlainBodyProgrammer.js","sourceRoot":"","sources":["../../src/programmers/PlainBodyProgrammer.ts"],"names":[],"mappings":";;;AACA,+EAA4E;AAC5E,yEAAsE;AACtE,6EAA0E;AAE1E,8EAA2E;AAI3E,IAAiB,mBAAmB,CAsBnC;AAtBD,WAAiB,mBAAmB;IACrB,4BAAQ,GACnB,CAAC,OAAgC,EAAE,EAAE,CACrC,CAAC,MAAiC,EAAE,EAAE,CACtC,CAAC,IAAa,EAAiB,EAAE;QAC/B,MAAM,MAAM,GAAG,iCAAe,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACtD,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;YACZ,QAAQ;SACT,CAAC,CAAC,IAAI,uCAAkB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;YAC1B,MAAM,mCAAgB,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvE,OAAO,mCAAgB,CAAC,KAAK,iCACxB,OAAO,KACV,OAAO,EAAE;gBACP,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,KAAK;gBACb,UAAU,EAAE,KAAK;aAClB,IACD,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC;AACN,CAAC,EAtBgB,mBAAmB,mCAAnB,mBAAmB,QAsBnC;AAED,MAAM,QAAQ,GAAG,CAAC,QAAkB,EAAY,EAAE;IAChD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEjD,MAAM,QAAQ,GACZ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,QAAQ,CAAC,SAAS,CAAC,MAAM;QACzB,QAAQ,CAAC,SAAS;aACf,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;aAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;aAC3B,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,IAAI,QAAQ,KAAK,CAAC,IAAI,QAAQ,KAAK,QAAQ,CAAC,IAAI,EAAE;QAChD,MAAM,CAAC,6BAA6B,CAAC,CAAC;IACxC,IAAI,QAAQ,CAAC,UAAU,EAAE,KAAK,KAAK;QAAE,MAAM,CAAC,gCAAgC,CAAC,CAAC;IAC9E,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;AAChB,CAAC,CAAC"}
|
|
@@ -1,93 +1,68 @@
|
|
|
1
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
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
4
|
};
|
|
16
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
6
|
exports.TypedBodyProgrammer = void 0;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
7
|
+
const typescript_1 = __importDefault(require("typescript"));
|
|
8
|
+
const JsonMetadataFactory_1 = require("typia/lib/factories/JsonMetadataFactory");
|
|
9
|
+
const AssertProgrammer_1 = require("typia/lib/programmers/AssertProgrammer");
|
|
10
|
+
const IsProgrammer_1 = require("typia/lib/programmers/IsProgrammer");
|
|
11
|
+
const ValidateProgrammer_1 = require("typia/lib/programmers/ValidateProgrammer");
|
|
12
|
+
const MiscAssertCloneProgrammer_1 = require("typia/lib/programmers/misc/MiscAssertCloneProgrammer");
|
|
13
|
+
const MiscAssertPruneProgrammer_1 = require("typia/lib/programmers/misc/MiscAssertPruneProgrammer");
|
|
14
|
+
const MiscValidateCloneProgrammer_1 = require("typia/lib/programmers/misc/MiscValidateCloneProgrammer");
|
|
15
|
+
const MiscValidatePruneProgrammer_1 = require("typia/lib/programmers/misc/MiscValidatePruneProgrammer");
|
|
27
16
|
var TypedBodyProgrammer;
|
|
28
17
|
(function (TypedBodyProgrammer) {
|
|
29
|
-
TypedBodyProgrammer.generate =
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
// CLONE
|
|
78
|
-
else if (category === "assertClone")
|
|
79
|
-
return misc("assert")(MiscAssertCloneProgrammer_1.MiscAssertCloneProgrammer.write);
|
|
80
|
-
else if (category === "validateClone")
|
|
81
|
-
return misc("validate")(MiscValidateCloneProgrammer_1.MiscValidateCloneProgrammer.write);
|
|
82
|
-
// PRUNE
|
|
83
|
-
else if (category === "assertPrune")
|
|
84
|
-
return misc("assert")(MiscAssertPruneProgrammer_1.MiscAssertPruneProgrammer.write);
|
|
85
|
-
else if (category === "validatePrune")
|
|
86
|
-
return misc("validate")(MiscValidatePruneProgrammer_1.MiscValidatePruneProgrammer.write);
|
|
87
|
-
// DEFAULT
|
|
88
|
-
return check("assert")(false)(AssertProgrammer_1.AssertProgrammer.write);
|
|
89
|
-
};
|
|
90
|
-
};
|
|
18
|
+
TypedBodyProgrammer.generate = (project) => (modulo) => (type) => {
|
|
19
|
+
// VALIDATE TYPE
|
|
20
|
+
JsonMetadataFactory_1.JsonMetadataFactory.analyze("@nestia.core.TypedBody")(project.checker)(type);
|
|
21
|
+
// GENERATE VALIDATION PLAN
|
|
22
|
+
const check = (key) => (equals) => (programmer) => typescript_1.default.factory.createObjectLiteralExpression([
|
|
23
|
+
typescript_1.default.factory.createPropertyAssignment(typescript_1.default.factory.createIdentifier("type"), typescript_1.default.factory.createStringLiteral(key)),
|
|
24
|
+
typescript_1.default.factory.createPropertyAssignment(typescript_1.default.factory.createIdentifier(key), programmer(Object.assign(Object.assign({}, project), { options: {
|
|
25
|
+
numeric: false,
|
|
26
|
+
finite: false,
|
|
27
|
+
functional: false,
|
|
28
|
+
} }))(modulo)(equals)(type)),
|
|
29
|
+
]);
|
|
30
|
+
const misc = (key) => (programmer) => typescript_1.default.factory.createObjectLiteralExpression([
|
|
31
|
+
typescript_1.default.factory.createPropertyAssignment(typescript_1.default.factory.createIdentifier("type"), typescript_1.default.factory.createStringLiteral(key)),
|
|
32
|
+
typescript_1.default.factory.createPropertyAssignment(typescript_1.default.factory.createIdentifier(key), programmer(Object.assign(Object.assign({}, project), { options: {
|
|
33
|
+
numeric: false,
|
|
34
|
+
finite: false,
|
|
35
|
+
functional: false,
|
|
36
|
+
} }))(modulo)(type)),
|
|
37
|
+
]);
|
|
38
|
+
//----
|
|
39
|
+
// RETURNS
|
|
40
|
+
//----
|
|
41
|
+
const category = project.options.validate;
|
|
42
|
+
// NORMAL
|
|
43
|
+
if (category === "is")
|
|
44
|
+
return check("is")(false)(IsProgrammer_1.IsProgrammer.write);
|
|
45
|
+
else if (category === "validate")
|
|
46
|
+
return check("validate")(false)(ValidateProgrammer_1.ValidateProgrammer.write);
|
|
47
|
+
// STRICT
|
|
48
|
+
else if (category === "validateEquals")
|
|
49
|
+
return check("validate")(true)(ValidateProgrammer_1.ValidateProgrammer.write);
|
|
50
|
+
else if (category === "equals")
|
|
51
|
+
return check("is")(true)(IsProgrammer_1.IsProgrammer.write);
|
|
52
|
+
else if (category === "assertEquals")
|
|
53
|
+
return check("assert")(true)(AssertProgrammer_1.AssertProgrammer.write);
|
|
54
|
+
// CLONE
|
|
55
|
+
else if (category === "assertClone")
|
|
56
|
+
return misc("assert")(MiscAssertCloneProgrammer_1.MiscAssertCloneProgrammer.write);
|
|
57
|
+
else if (category === "validateClone")
|
|
58
|
+
return misc("validate")(MiscValidateCloneProgrammer_1.MiscValidateCloneProgrammer.write);
|
|
59
|
+
// PRUNE
|
|
60
|
+
else if (category === "assertPrune")
|
|
61
|
+
return misc("assert")(MiscAssertPruneProgrammer_1.MiscAssertPruneProgrammer.write);
|
|
62
|
+
else if (category === "validatePrune")
|
|
63
|
+
return misc("validate")(MiscValidatePruneProgrammer_1.MiscValidatePruneProgrammer.write);
|
|
64
|
+
// DEFAULT
|
|
65
|
+
return check("assert")(false)(AssertProgrammer_1.AssertProgrammer.write);
|
|
91
66
|
};
|
|
92
67
|
})(TypedBodyProgrammer || (exports.TypedBodyProgrammer = TypedBodyProgrammer = {}));
|
|
93
68
|
//# sourceMappingURL=TypedBodyProgrammer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypedBodyProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedBodyProgrammer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TypedBodyProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedBodyProgrammer.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,65 +4,62 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.TypedExceptionProgrammer = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
const typescript_1 = __importDefault(require("typescript"));
|
|
8
|
+
const JsonMetadataFactory_1 = require("typia/lib/factories/JsonMetadataFactory");
|
|
9
|
+
const TypeFactory_1 = require("typia/lib/factories/TypeFactory");
|
|
10
|
+
const TransformerError_1 = require("typia/lib/transformers/TransformerError");
|
|
11
11
|
var TypedExceptionProgrammer;
|
|
12
12
|
(function (TypedExceptionProgrammer) {
|
|
13
|
-
TypedExceptionProgrammer.generate =
|
|
14
|
-
var
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
escaped: false,
|
|
29
|
-
aliased: false,
|
|
30
|
-
},
|
|
13
|
+
TypedExceptionProgrammer.generate = ({ checker }) => (expression) => {
|
|
14
|
+
var _a, _b;
|
|
15
|
+
// CHECK GENERIC ARGUMENT EXISTENCE
|
|
16
|
+
if (!((_a = expression.typeArguments) === null || _a === void 0 ? void 0 : _a[0]))
|
|
17
|
+
throw TransformerError_1.TransformerError.from("nestia.core.TypedException")([
|
|
18
|
+
{
|
|
19
|
+
name: "uknown",
|
|
20
|
+
messages: [NOT_SPECIFIED],
|
|
21
|
+
explore: {
|
|
22
|
+
top: true,
|
|
23
|
+
object: null,
|
|
24
|
+
property: null,
|
|
25
|
+
nested: null,
|
|
26
|
+
escaped: false,
|
|
27
|
+
aliased: false,
|
|
31
28
|
},
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
29
|
+
},
|
|
30
|
+
]);
|
|
31
|
+
// CHECK DUPLICATED TRNASFORMATION
|
|
32
|
+
else if (expression.arguments.length === 3)
|
|
33
|
+
return expression;
|
|
34
|
+
// GET TYPE INFO
|
|
35
|
+
const node = expression.typeArguments[0];
|
|
36
|
+
const type = checker.getTypeFromTypeNode(node);
|
|
37
|
+
// VALIDATE TYPE
|
|
38
|
+
if (type.isTypeParameter())
|
|
39
|
+
throw TransformerError_1.TransformerError.from("nestia.core.TypedException")([
|
|
40
|
+
{
|
|
41
|
+
name: TypeFactory_1.TypeFactory.getFullName(checker)(type),
|
|
42
|
+
messages: [NO_GENERIC_ARGUMENT],
|
|
43
|
+
explore: {
|
|
44
|
+
top: true,
|
|
45
|
+
object: null,
|
|
46
|
+
property: null,
|
|
47
|
+
nested: null,
|
|
48
|
+
escaped: false,
|
|
49
|
+
aliased: false,
|
|
53
50
|
},
|
|
54
|
-
|
|
55
|
-
JsonMetadataFactory_1.JsonMetadataFactory.analyze("@nestia.core.TypedException")(checker)(type);
|
|
56
|
-
// DO TRANSFORM
|
|
57
|
-
var name = TypeFactory_1.TypeFactory.getFullName(checker)(type);
|
|
58
|
-
return typescript_1.default.factory.updateCallExpression(expression, expression.expression, expression.typeArguments, [
|
|
59
|
-
expression.arguments[0],
|
|
60
|
-
(_b = expression.arguments[1]) !== null && _b !== void 0 ? _b : typescript_1.default.factory.createIdentifier("undefined"),
|
|
61
|
-
typescript_1.default.factory.createStringLiteral(name),
|
|
51
|
+
},
|
|
62
52
|
]);
|
|
63
|
-
|
|
53
|
+
JsonMetadataFactory_1.JsonMetadataFactory.analyze("@nestia.core.TypedException")(checker)(type);
|
|
54
|
+
// DO TRANSFORM
|
|
55
|
+
const name = TypeFactory_1.TypeFactory.getFullName(checker)(type);
|
|
56
|
+
return typescript_1.default.factory.updateCallExpression(expression, expression.expression, expression.typeArguments, [
|
|
57
|
+
expression.arguments[0],
|
|
58
|
+
(_b = expression.arguments[1]) !== null && _b !== void 0 ? _b : typescript_1.default.factory.createIdentifier("undefined"),
|
|
59
|
+
typescript_1.default.factory.createStringLiteral(name),
|
|
60
|
+
]);
|
|
64
61
|
};
|
|
65
62
|
})(TypedExceptionProgrammer || (exports.TypedExceptionProgrammer = TypedExceptionProgrammer = {}));
|
|
66
|
-
|
|
67
|
-
|
|
63
|
+
const NOT_SPECIFIED = "Error on @nestia.core.TypedException(): generic argument is not specified.";
|
|
64
|
+
const NO_GENERIC_ARGUMENT = "Error on @nestia.core.TypedException(): non-specified generic argument.";
|
|
68
65
|
//# sourceMappingURL=TypedExceptionProgrammer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypedExceptionProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedExceptionProgrammer.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"TypedExceptionProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedExceptionProgrammer.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA4B;AAC5B,iFAA8E;AAC9E,iEAA8D;AAC9D,8EAA2E;AAI3E,IAAiB,wBAAwB,CA0DxC;AA1DD,WAAiB,wBAAwB;IAC1B,iCAAQ,GACnB,CAAC,EAAE,OAAO,EAA2B,EAAE,EAAE,CACzC,CAAC,UAA6B,EAAqB,EAAE;;QACnD,mCAAmC;QACnC,IAAI,CAAC,CAAA,MAAA,UAAU,CAAC,aAAa,0CAAG,CAAC,CAAC,CAAA;YAChC,MAAM,mCAAgB,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;gBACxD;oBACE,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,CAAC,aAAa,CAAC;oBACzB,OAAO,EAAE;wBACP,GAAG,EAAE,IAAI;wBACT,MAAM,EAAE,IAAI;wBACZ,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE,IAAI;wBACZ,OAAO,EAAE,KAAK;wBACd,OAAO,EAAE,KAAK;qBACf;iBACF;aACF,CAAC,CAAC;QACL,kCAAkC;aAC7B,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,UAAU,CAAC;QAE9D,gBAAgB;QAChB,MAAM,IAAI,GAAgB,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACtD,MAAM,IAAI,GAAY,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAExD,gBAAgB;QAChB,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,MAAM,mCAAgB,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;gBACxD;oBACE,IAAI,EAAE,yBAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;oBAC5C,QAAQ,EAAE,CAAC,mBAAmB,CAAC;oBAC/B,OAAO,EAAE;wBACP,GAAG,EAAE,IAAI;wBACT,MAAM,EAAE,IAAI;wBACZ,QAAQ,EAAE,IAAI;wBACd,MAAM,EAAE,IAAI;wBACZ,OAAO,EAAE,KAAK;wBACd,OAAO,EAAE,KAAK;qBACf;iBACF;aACF,CAAC,CAAC;QACL,yCAAmB,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;QAE1E,eAAe;QACf,MAAM,IAAI,GAAW,yBAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5D,OAAO,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CACpC,UAAU,EACV,UAAU,CAAC,UAAU,EACrB,UAAU,CAAC,aAAa,EACxB;YACE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;YACvB,MAAA,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,mCAAI,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC;YACnE,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC;SACrC,CACF,CAAC;IACJ,CAAC,CAAC;AACN,CAAC,EA1DgB,wBAAwB,wCAAxB,wBAAwB,QA0DxC;AAED,MAAM,aAAa,GACjB,4EAA4E,CAAC;AAC/E,MAAM,mBAAmB,GACvB,yEAAyE,CAAC"}
|
|
@@ -1,84 +1,61 @@
|
|
|
1
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
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
4
|
};
|
|
16
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
6
|
exports.TypedFormDataBodyProgrammer = void 0;
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
7
|
+
const typescript_1 = __importDefault(require("typescript"));
|
|
8
|
+
const LiteralFactory_1 = require("typia/lib/factories/LiteralFactory");
|
|
9
|
+
const MetadataCollection_1 = require("typia/lib/factories/MetadataCollection");
|
|
10
|
+
const MetadataFactory_1 = require("typia/lib/factories/MetadataFactory");
|
|
11
|
+
const HttpAssertFormDataProgrammer_1 = require("typia/lib/programmers/http/HttpAssertFormDataProgrammer");
|
|
12
|
+
const HttpFormDataProgrammer_1 = require("typia/lib/programmers/http/HttpFormDataProgrammer");
|
|
13
|
+
const HttpIsFormDataProgrammer_1 = require("typia/lib/programmers/http/HttpIsFormDataProgrammer");
|
|
14
|
+
const HttpValidateFormDataProgrammer_1 = require("typia/lib/programmers/http/HttpValidateFormDataProgrammer");
|
|
15
|
+
const TransformerError_1 = require("typia/lib/transformers/TransformerError");
|
|
27
16
|
var TypedFormDataBodyProgrammer;
|
|
28
17
|
(function (TypedFormDataBodyProgrammer) {
|
|
29
|
-
TypedFormDataBodyProgrammer.generate =
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
if (category === "is" || category === "equals")
|
|
70
|
-
return parameter("is")(HttpIsFormDataProgrammer_1.HttpIsFormDataProgrammer.write);
|
|
71
|
-
else if (category === "validate" ||
|
|
72
|
-
category === "validateEquals" ||
|
|
73
|
-
category === "validateClone" ||
|
|
74
|
-
category === "validatePrune")
|
|
75
|
-
return parameter("validate")(HttpValidateFormDataProgrammer_1.HttpValidateFormDataProgrammer.write);
|
|
76
|
-
return parameter("assert")(HttpAssertFormDataProgrammer_1.HttpAssertFormDataProgrammer.write);
|
|
77
|
-
};
|
|
78
|
-
};
|
|
18
|
+
TypedFormDataBodyProgrammer.generate = (project) => (modulo) => (type) => {
|
|
19
|
+
// VALIDATE TYPE
|
|
20
|
+
const collection = new MetadataCollection_1.MetadataCollection();
|
|
21
|
+
const result = MetadataFactory_1.MetadataFactory.analyze(project.checker, project.context)({
|
|
22
|
+
escape: false,
|
|
23
|
+
constant: true,
|
|
24
|
+
absorb: true,
|
|
25
|
+
validate: HttpFormDataProgrammer_1.HttpFormDataProgrammer.validate,
|
|
26
|
+
})(collection)(type);
|
|
27
|
+
if (result.success === false)
|
|
28
|
+
throw TransformerError_1.TransformerError.from("nestia.core.TypedFormData.Body")(result.errors);
|
|
29
|
+
const files = result.data.objects[0].properties
|
|
30
|
+
.filter((p) => isFile(p.value) ||
|
|
31
|
+
p.value.arrays.some((a) => isFile(a.type.value)))
|
|
32
|
+
.map((p) => ({
|
|
33
|
+
name: p.key.constants[0].values[0].value,
|
|
34
|
+
limit: !!p.value.natives.length ? 1 : null,
|
|
35
|
+
}));
|
|
36
|
+
// GENERATE VALIDATION PLAN
|
|
37
|
+
const parameter = (key) => (programmer) => typescript_1.default.factory.createObjectLiteralExpression([
|
|
38
|
+
typescript_1.default.factory.createPropertyAssignment(typescript_1.default.factory.createIdentifier("files"), LiteralFactory_1.LiteralFactory.generate(files)),
|
|
39
|
+
typescript_1.default.factory.createPropertyAssignment(typescript_1.default.factory.createIdentifier("validator"), typescript_1.default.factory.createObjectLiteralExpression([
|
|
40
|
+
typescript_1.default.factory.createPropertyAssignment(typescript_1.default.factory.createIdentifier("type"), typescript_1.default.factory.createStringLiteral(key)),
|
|
41
|
+
typescript_1.default.factory.createPropertyAssignment(typescript_1.default.factory.createIdentifier(key), programmer(Object.assign(Object.assign({}, project), { options: {
|
|
42
|
+
numeric: false,
|
|
43
|
+
finite: false,
|
|
44
|
+
functional: false,
|
|
45
|
+
} }))(modulo)(type)),
|
|
46
|
+
], true)),
|
|
47
|
+
], true);
|
|
48
|
+
// RETURNS
|
|
49
|
+
const category = project.options.validate;
|
|
50
|
+
if (category === "is" || category === "equals")
|
|
51
|
+
return parameter("is")(HttpIsFormDataProgrammer_1.HttpIsFormDataProgrammer.write);
|
|
52
|
+
else if (category === "validate" ||
|
|
53
|
+
category === "validateEquals" ||
|
|
54
|
+
category === "validateClone" ||
|
|
55
|
+
category === "validatePrune")
|
|
56
|
+
return parameter("validate")(HttpValidateFormDataProgrammer_1.HttpValidateFormDataProgrammer.write);
|
|
57
|
+
return parameter("assert")(HttpAssertFormDataProgrammer_1.HttpAssertFormDataProgrammer.write);
|
|
79
58
|
};
|
|
80
59
|
})(TypedFormDataBodyProgrammer || (exports.TypedFormDataBodyProgrammer = TypedFormDataBodyProgrammer = {}));
|
|
81
|
-
|
|
82
|
-
return meta.natives.some(function (n) { return n === "File" || n === "Blob"; });
|
|
83
|
-
};
|
|
60
|
+
const isFile = (meta) => meta.natives.some((n) => n === "File" || n === "Blob");
|
|
84
61
|
//# sourceMappingURL=TypedFormDataBodyProgrammer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypedFormDataBodyProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedFormDataBodyProgrammer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TypedFormDataBodyProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedFormDataBodyProgrammer.ts"],"names":[],"mappings":"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"}
|