@nestia/core 1.4.2 → 1.4.4-dev.20230713

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -11,10 +11,11 @@ Nestia is a set of helper libraries for NestJS, supporting below features:
11
11
 
12
12
  - `@nestia/core`: super-fast decorators
13
13
  - `@nestia/sdk`:
14
- - SDK generator for clients
15
14
  - Swagger generator evolved than ever
16
- - Automatic E2E test functions generator
15
+ - SDK library generator for clients
17
16
  - Mockup Simulator for client applications
17
+ - Automatic E2E test functions generator
18
+ - `@nestia/migrate`: migration from Swagger to NestJS
18
19
  - `nestia`: just CLI (command line interface) tool
19
20
 
20
21
  > **Note**
@@ -24,12 +25,13 @@ Nestia is a set of helper libraries for NestJS, supporting below features:
24
25
  > - Runtime validator is **20,000x faster** than `class-validator`
25
26
  > - JSON serialization is **200x faster** than `class-transformer`
26
27
  > - Software Development Kit
27
- > - SDK is similar with [tRPC](https://trpc.io), but much advanced
28
- > - Mockup simulator like [msw](https://mswjs.io/), but fully automated
28
+ > - SDK is a collection of `fetch` functions with type definitions like [tRPC](https://trpc.io/)
29
+ > - Mockup simulator means embedded backend simulator in SDK
30
+ > - similar with [msw](https://mswjs.io/), but fully automated
29
31
 
30
32
  ![nestia-sdk-demo](https://user-images.githubusercontent.com/13158709/215004990-368c589d-7101-404e-b81b-fbc936382f05.gif)
31
33
 
32
- > Left is server code, and right is client code utilizing SDK
34
+ > Left is NestJS server code, and right is client (frontend) code utilizing SDK
33
35
 
34
36
 
35
37
 
@@ -63,3 +65,8 @@ Check out the document in the [website](https://nestia.io/docs/):
63
65
  - [SDK Library](https://nestia.io/docs/sdk/sdk/)
64
66
  - [E2E Functions](https://nestia.io/docs/sdk/e2e/)
65
67
  - [Mockup Simulator](https://nestia.io/docs/sdk/simulator/)
68
+ - [Swagger to NestJS](https://nestia.io/docs/migrate/)
69
+
70
+ ### 🔗 Appendix
71
+ - [⇲ Benchmark Result](https://github.com/samchon/nestia/tree/master/benchmark/results/11th%20Gen%20Intel(R)%20Core(TM)%20i5-1135G7%20%40%202.40GHz)
72
+ - [⇲ `dev.to` Articles](https://dev.to/samchon/series/22751)
@@ -19,4 +19,4 @@
19
19
  * @return Parameter decorator
20
20
  * @author Jeongho Nam - https://github.com/samchon
21
21
  */
22
- export declare const PlainBody: () => ParameterDecorator;
22
+ export declare function PlainBody(): ParameterDecorator;
@@ -38,41 +38,46 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.PlainBody = void 0;
40
40
  var common_1 = require("@nestjs/common");
41
+ var typia_1 = require("typia");
41
42
  var get_text_body_1 = require("./internal/get_text_body");
43
+ var validate_request_body_1 = require("./internal/validate_request_body");
42
44
  /**
43
- * Plain body decorator.
44
- *
45
- * `PlainBody` is a decorator function getting full body text from the HTTP request.
46
- *
47
- * If you adjust the regular {@link Body} decorator function to the body parameter,
48
- * you can't get the full body text because the {@link Body} tries to convert the
49
- * body text to JSON object. Therefore, `@nestia/core` provides this `PlainBody`
50
- * decorator function to get the full body text.
51
- *
52
- * ```typescript
53
- * \@TypedRoute.Post("memo")
54
- * public store
55
- * (
56
- * \@PlainBody() body: string
57
- * ): void;
58
- * ```
59
- *
60
- * @return Parameter decorator
61
- * @author Jeongho Nam - https://github.com/samchon
45
+ * @internal
62
46
  */
63
- exports.PlainBody = (0, common_1.createParamDecorator)(function PlainBody(_data, context) {
64
- return __awaiter(this, void 0, void 0, function () {
65
- var request;
66
- return __generator(this, function (_a) {
67
- request = context
68
- .switchToHttp()
69
- .getRequest();
70
- if (!isTextPlain(request.headers["content-type"]))
71
- throw new common_1.BadRequestException("Request body type is not \"text/plain\".");
72
- return [2 /*return*/, (0, get_text_body_1.get_text_body)(request)];
47
+ function PlainBody(assert) {
48
+ var checker = assert
49
+ ? (0, validate_request_body_1.validate_request_body)("PlainBody")({
50
+ type: "assert",
51
+ assert: assert,
52
+ })
53
+ : null;
54
+ return (0, common_1.createParamDecorator)(function PlainBody(_data, context) {
55
+ return __awaiter(this, void 0, void 0, function () {
56
+ var request, value, error;
57
+ return __generator(this, function (_a) {
58
+ switch (_a.label) {
59
+ case 0:
60
+ request = context
61
+ .switchToHttp()
62
+ .getRequest();
63
+ if (!isTextPlain(request.headers["content-type"]))
64
+ throw new common_1.BadRequestException("Request body type is not \"text/plain\".");
65
+ return [4 /*yield*/, (0, get_text_body_1.get_text_body)(request)];
66
+ case 1:
67
+ value = _a.sent();
68
+ if (checker) {
69
+ error = checker(value);
70
+ if (error !== null)
71
+ throw error;
72
+ }
73
+ return [2 /*return*/, value];
74
+ }
75
+ });
73
76
  });
74
- });
75
- });
77
+ })();
78
+ }
79
+ exports.PlainBody = PlainBody;
80
+ Object.assign(PlainBody, typia_1.assert);
76
81
  var isTextPlain = function (text) {
77
82
  return text !== undefined &&
78
83
  text
@@ -1 +1 @@
1
- {"version":3,"file":"PlainBody.js","sourceRoot":"","sources":["../../src/decorators/PlainBody.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAIwB;AAIxB,0DAAyD;AAEzD;;;;;;;;;;;;;;;;;;;;GAoBG;AACU,QAAA,SAAS,GAA6B,IAAA,6BAAoB,EACnE,SAAe,SAAS,CAAC,KAAU,EAAE,OAAyB;;;;YACpD,OAAO,GAAqC,OAAO;iBACpD,YAAY,EAAE;iBACd,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBAC7C,MAAM,IAAI,4BAAmB,CACzB,0CAAwC,CAC3C,CAAC;YACN,sBAAO,IAAA,6BAAa,EAAC,OAAO,CAAC,EAAC;;;CACjC,CACJ,CAAC;AAEF,IAAM,WAAW,GAAG,UAAC,IAAa;IAC9B,OAAA,IAAI,KAAK,SAAS;QAClB,IAAI;aACC,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,IAAI,EAAE,EAAV,CAAU,CAAC;aACxB,IAAI,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,KAAK,YAAY,EAApB,CAAoB,CAAC;AAJxC,CAIwC,CAAC"}
1
+ {"version":3,"file":"PlainBody.js","sourceRoot":"","sources":["../../src/decorators/PlainBody.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAIwB;AAIxB,+BAA+B;AAE/B,0DAAyD;AACzD,0EAAyE;AAyBzE;;GAEG;AACH,SAAgB,SAAS,CACrB,MAAmC;IAEnC,IAAM,OAAO,GAAG,MAAM;QAClB,CAAC,CAAC,IAAA,6CAAqB,EAAC,WAAW,CAAC,CAAC;YAC/B,IAAI,EAAE,QAAQ;YACd,MAAM,QAAA;SACT,CAAC;QACJ,CAAC,CAAC,IAAI,CAAC;IACX,OAAO,IAAA,6BAAoB,EAAC,SAAe,SAAS,CAChD,KAAU,EACV,OAAyB;;;;;;wBAEnB,OAAO,GAAqC,OAAO;6BACpD,YAAY,EAAE;6BACd,UAAU,EAAE,CAAC;wBAClB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;4BAC7C,MAAM,IAAI,4BAAmB,CACzB,0CAAwC,CAC3C,CAAC;wBACgB,qBAAM,IAAA,6BAAa,EAAC,OAAO,CAAC,EAAA;;wBAA5C,KAAK,GAAW,SAA4B;wBAClD,IAAI,OAAO,EAAE;4BACH,KAAK,GAAiB,OAAO,CAAC,KAAK,CAAC,CAAC;4BAC3C,IAAI,KAAK,KAAK,IAAI;gCAAE,MAAM,KAAK,CAAC;yBACnC;wBACD,sBAAO,KAAK,EAAC;;;;KAChB,CAAC,EAAE,CAAC;AACT,CAAC;AA3BD,8BA2BC;AACD,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,cAAM,CAAC,CAAC;AAEjC,IAAM,WAAW,GAAG,UAAC,IAAa;IAC9B,OAAA,IAAI,KAAK,SAAS;QAClB,IAAI;aACC,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,IAAI,EAAE,EAAV,CAAU,CAAC;aACxB,IAAI,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,KAAK,YAAY,EAApB,CAAoB,CAAC;AAJxC,CAIwC,CAAC"}
@@ -5,7 +5,7 @@ exports.TransformError = void 0;
5
5
  * @internal
6
6
  */
7
7
  function TransformError(method) {
8
- return new Error("Error on nestia.core.".concat(method, "(): no transform has been configured. Run \"npx typia setup\" command."));
8
+ return new Error("Error on nestia.core.".concat(method, "(): no transform has been configured. Run \"npx typia setup\" command, or check if you're using non-standard TypeScript compiler like Babel or SWC."));
9
9
  }
10
10
  exports.TransformError = TransformError;
11
11
  //# sourceMappingURL=TransformError.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TransformError.js","sourceRoot":"","sources":["../../../src/decorators/internal/TransformError.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,SAAgB,cAAc,CAAC,MAAc;IACzC,OAAO,IAAI,KAAK,CACZ,+BAAwB,MAAM,2EAAsE,CACvG,CAAC;AACN,CAAC;AAJD,wCAIC"}
1
+ {"version":3,"file":"TransformError.js","sourceRoot":"","sources":["../../../src/decorators/internal/TransformError.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,SAAgB,cAAc,CAAC,MAAc;IACzC,OAAO,IAAI,KAAK,CACZ,+BAAwB,MAAM,wJAAmJ,CACpL,CAAC;AACN,CAAC;AAJD,wCAIC"}
@@ -0,0 +1,5 @@
1
+ import ts from "typescript";
2
+ import { INestiaTransformProject } from "../options/INestiaTransformProject";
3
+ export declare namespace PlainBodyProgrammer {
4
+ const generate: (project: INestiaTransformProject) => (modulo: ts.LeftHandSideExpression) => (type: ts.Type) => readonly ts.Expression[];
5
+ }
@@ -0,0 +1,58 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.PlainBodyProgrammer = void 0;
15
+ var MetadataCollection_1 = require("typia/lib/factories/MetadataCollection");
16
+ var MetadataFactory_1 = require("typia/lib/factories/MetadataFactory");
17
+ var AssertProgrammer_1 = require("typia/lib/programmers/AssertProgrammer");
18
+ var PlainBodyProgrammer;
19
+ (function (PlainBodyProgrammer) {
20
+ PlainBodyProgrammer.generate = function (project) {
21
+ return function (modulo) {
22
+ return function (type) {
23
+ validate(MetadataFactory_1.MetadataFactory.analyze(project.checker)({
24
+ resolve: false,
25
+ constant: true,
26
+ absorb: true,
27
+ })(new MetadataCollection_1.MetadataCollection())(type));
28
+ return [
29
+ AssertProgrammer_1.AssertProgrammer.write(__assign(__assign({}, project), { options: {
30
+ numeric: false,
31
+ finite: false,
32
+ functional: false,
33
+ } }))(modulo)(false)(type),
34
+ ];
35
+ };
36
+ };
37
+ };
38
+ })(PlainBodyProgrammer || (exports.PlainBodyProgrammer = PlainBodyProgrammer = {}));
39
+ var validate = function (metadata) {
40
+ var expected = (metadata.atomics.some(function (t) { return t === "string"; }) ? 1 : 0) +
41
+ metadata.templates.length +
42
+ metadata.constants
43
+ .filter(function (c) { return c.type === "string"; })
44
+ .map(function (c) { return c.values.length; })
45
+ .reduce(function (a, b) { return a + b; }, 0);
46
+ if (expected === 0 || expected !== metadata.size())
47
+ throw error("only string type is allowed");
48
+ else if (metadata.isRequired() === false)
49
+ throw error("do not allow undefindable type");
50
+ else if (metadata.nullable === true)
51
+ throw error("do not allow nullable type");
52
+ else if (metadata.any === true)
53
+ throw error("do not allow any type");
54
+ };
55
+ var error = function (msg) {
56
+ return new Error("Error on nestia.core.PlainBody(): ".concat(msg, "."));
57
+ };
58
+ //# sourceMappingURL=PlainBodyProgrammer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlainBodyProgrammer.js","sourceRoot":"","sources":["../../src/programmers/PlainBodyProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEA,6EAA4E;AAC5E,uEAAsE;AAEtE,2EAA0E;AAI1E,IAAiB,mBAAmB,CAuBnC;AAvBD,WAAiB,mBAAmB;IACnB,4BAAQ,GACjB,UAAC,OAAgC;QACjC,OAAA,UAAC,MAAiC;YAClC,OAAA,UAAC,IAAa;gBACV,QAAQ,CACJ,iCAAe,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBACrC,OAAO,EAAE,KAAK;oBACd,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAE,IAAI;iBACf,CAAC,CAAC,IAAI,uCAAkB,EAAE,CAAC,CAAC,IAAI,CAAC,CACrC,CAAC;gBACF,OAAO;oBACH,mCAAgB,CAAC,KAAK,uBACf,OAAO,KACV,OAAO,EAAE;4BACL,OAAO,EAAE,KAAK;4BACd,MAAM,EAAE,KAAK;4BACb,UAAU,EAAE,KAAK;yBACpB,IACH,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;iBAC1B,CAAC;YACN,CAAC;QAlBD,CAkBC;IAnBD,CAmBC,CAAC;AACV,CAAC,EAvBgB,mBAAmB,mCAAnB,mBAAmB,QAuBnC;AAED,IAAM,QAAQ,GAAG,UAAC,QAAkB;IAChC,IAAM,QAAQ,GACV,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,KAAK,QAAQ,EAAd,CAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,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,KAAK,CAAC,6BAA6B,CAAC,CAAC;SAC1C,IAAI,QAAQ,CAAC,UAAU,EAAE,KAAK,KAAK;QACpC,MAAM,KAAK,CAAC,gCAAgC,CAAC,CAAC;SAC7C,IAAI,QAAQ,CAAC,QAAQ,KAAK,IAAI;QAC/B,MAAM,KAAK,CAAC,4BAA4B,CAAC,CAAC;SACzC,IAAI,QAAQ,CAAC,GAAG,KAAK,IAAI;QAAE,MAAM,KAAK,CAAC,uBAAuB,CAAC,CAAC;AACzE,CAAC,CAAC;AAEF,IAAM,KAAK,GAAG,UAAC,GAAW;IACtB,OAAA,IAAI,KAAK,CAAC,4CAAqC,GAAG,MAAG,CAAC;AAAtD,CAAsD,CAAC"}
@@ -42,8 +42,8 @@ var TypedParamProgrammer;
42
42
  resolve: false,
43
43
  constant: true,
44
44
  absorb: true,
45
- validate: validate,
46
45
  })(new MetadataCollection_1.MetadataCollection())(type);
46
+ validate(metadata);
47
47
  var _a = __read(get_atomic_types(metadata), 1), atomic = _a[0];
48
48
  // AUTO TYPE SPECIFICATION
49
49
  if (parameters.length === 1)
@@ -61,7 +61,7 @@ var TypedParamProgrammer;
61
61
  absorb: true,
62
62
  })(new MetadataCollection_1.MetadataCollection())(checker.getTypeAtLocation(parameters[1]));
63
63
  if (equals(atomic, specified) === false)
64
- throw new Error(error("different type between parameter and variable"));
64
+ throw error("different type between parameter and variable");
65
65
  if (parameters.length === 2)
66
66
  return [
67
67
  parameters[0],
@@ -77,9 +77,9 @@ var TypedParamProgrammer;
77
77
  absorb: true,
78
78
  })(new MetadataCollection_1.MetadataCollection())(checker.getTypeAtLocation(parameters[2]));
79
79
  if (nullable.getName() !== "true" && nullable.getName() !== "false")
80
- throw new Error(error("nullable value must be literal type"));
80
+ throw error("nullable value must be literal type");
81
81
  else if (metadata.nullable !== (nullable.getName() === "true"))
82
- throw new Error(error("different type (nullable) between parameter and variable"));
82
+ throw error("different type (nullable) between parameter and variable");
83
83
  return parameters;
84
84
  };
85
85
  };
@@ -87,20 +87,21 @@ var TypedParamProgrammer;
87
87
  })(TypedParamProgrammer || (exports.TypedParamProgrammer = TypedParamProgrammer = {}));
88
88
  var validate = function (meta) {
89
89
  if (meta.any)
90
- throw new Error(error("do not allow any type"));
91
- else if (meta.required === false)
92
- throw new Error(error("do not allow undefindable type"));
90
+ throw error("do not allow any type");
91
+ else if (meta.isRequired() === false)
92
+ throw error("do not allow undefindable type");
93
93
  var atomics = get_atomic_types(meta);
94
94
  var expected = meta.atomics.length +
95
+ meta.templates.length +
95
96
  meta.constants.map(function (c) { return c.values.length; }).reduce(function (a, b) { return a + b; }, 0);
96
97
  if (meta.size() !== expected || atomics.length === 0)
97
- throw new Error(error("only atomic or constant types is allowed"));
98
+ throw error("only atomic or constant types is allowed");
98
99
  else if (atomics.length > 1)
99
- throw new Error(error("do not allow union type"));
100
+ throw error("do not allow union type");
100
101
  };
101
- var get_atomic_types = function (meta) { return __spreadArray([], __read(new Set(__spreadArray(__spreadArray([], __read(meta.atomics), false), __read(meta.constants.map(function (c) { return c.type; })), false))), false); };
102
+ var get_atomic_types = function (meta) { return __spreadArray([], __read(new Set(__spreadArray(__spreadArray(__spreadArray([], __read(meta.atomics), false), __read(meta.constants.map(function (c) { return c.type; })), false), __read((meta.templates.length ? ["string"] : [])), false))), false); };
102
103
  var error = function (message) {
103
- return "Error on nestia.core.TypedParam(): ".concat(message, ".");
104
+ return new Error("Error on nestia.core.TypedParam(): ".concat(message, "."));
104
105
  };
105
106
  var equals = function (atomic, p) {
106
107
  var name = p.getName();
@@ -1 +1 @@
1
- {"version":3,"file":"TypedParamProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedParamProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TypedParamProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedParamProgrammer.ts"],"names":[],"mappings":"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"}
@@ -81,7 +81,7 @@ var TypedQueryProgrammer;
81
81
  throw new Error(ErrorMessages.object(metadata)("only one object type is allowed."));
82
82
  else if (metadata.nullable === true)
83
83
  throw new Error(ErrorMessages.object(metadata)("query parameter cannot be null."));
84
- else if (metadata.required === false)
84
+ else if (metadata.isRequired() === false)
85
85
  throw new Error(ErrorMessages.object(metadata)("query parameter cannot be undefined."));
86
86
  var object = metadata.objects[0];
87
87
  try {
@@ -106,7 +106,7 @@ var TypedQueryProgrammer;
106
106
  return function (key) {
107
107
  return function (value, depth) {
108
108
  var e_2, _a, e_3, _b, e_4, _c, e_5, _d, e_6, _e;
109
- if (depth === 1 && value.required === false)
109
+ if (depth === 1 && value.isRequired() === false)
110
110
  throw new Error(ErrorMessages.property(obj)(key)("optional type is not allowed in array."));
111
111
  else if (value.maps.length ||
112
112
  value.sets.length ||
@@ -142,7 +142,7 @@ var TypedQueryProgrammer;
142
142
  if (depth === 0 && (value.arrays.length || value.arrays.length)) {
143
143
  if (atom.length)
144
144
  throw new Error(ErrorMessages.property(obj)(key)("union type is not allowed"));
145
- else if (value.required === false)
145
+ else if (value.isRequired() === false)
146
146
  throw new Error(ErrorMessages.property(obj)(key)("array type cannot be optional"));
147
147
  try {
148
148
  for (var _k = __values(value.arrays), _l = _k.next(); !_l.done; _l = _k.next()) {
@@ -1 +1 @@
1
- {"version":3,"file":"TypedQueryProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedQueryProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TypedQueryProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedQueryProgrammer.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ParameterDecoratorTransformer = void 0;
7
7
  var path_1 = __importDefault(require("path"));
8
8
  var typescript_1 = __importDefault(require("typescript"));
9
+ var PlainBodyProgrammer_1 = require("../programmers/PlainBodyProgrammer");
9
10
  var TypedBodyProgrammer_1 = require("../programmers/TypedBodyProgrammer");
10
11
  var TypedParamProgrammer_1 = require("../programmers/TypedParamProgrammer");
11
12
  var TypedQueryProgrammer_1 = require("../programmers/TypedQueryProgrammer");
@@ -63,6 +64,9 @@ var FUNCTORS = {
63
64
  ? parameters
64
65
  : [TypedQueryProgrammer_1.TypedQueryProgrammer.generate(project)(modulo)(type)];
65
66
  }; }; }; },
67
+ PlainBody: function (project) { return function (modulo) { return function () { return function (type) {
68
+ return PlainBodyProgrammer_1.PlainBodyProgrammer.generate(project)(modulo)(type);
69
+ }; }; }; },
66
70
  };
67
71
  var LIB_PATH = path_1.default.join("node_modules", "@nestia", "core", "lib", "decorators");
68
72
  var SRC_PATH = path_1.default.resolve(path_1.default.join(__dirname, "..", "decorators"));
@@ -1 +1 @@
1
- {"version":3,"file":"ParameterDecoratorTransformer.js","sourceRoot":"","sources":["../../src/transformers/ParameterDecoratorTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAwB;AACxB,0DAA4B;AAG5B,0EAAyE;AACzE,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,UAAU,EAAE,UAAC,OAAO,IAAK,OAAA,cAAM,OAAA,2CAAoB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAtC,CAAsC,EAA5C,CAA4C;IACrE,UAAU,EAAE,UAAC,OAAO,IAAK,OAAA,UAAC,MAAM,IAAK,OAAA,UAAC,UAAU,IAAK,OAAA,UAAC,IAAI;QACtD,OAAA,UAAU,CAAC,MAAM;YACb,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,CAAC,2CAAoB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;IAF5D,CAE4D,EAHX,CAGW,EAH3B,CAG2B,EAHvC,CAGuC;CACnE,CAAC;AAEF,IAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CACtB,cAAc,EACd,SAAS,EACT,MAAM,EACN,KAAK,EACL,YAAY,CACf,CAAC;AACF,IAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC"}
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": "1.4.2",
3
+ "version": "1.4.4-dev.20230713",
4
4
  "description": "Super-fast validation decorators of NestJS",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -44,7 +44,7 @@
44
44
  "raw-body": ">= 2.0.0",
45
45
  "reflect-metadata": ">= 0.1.12",
46
46
  "rxjs": ">= 6.0.0",
47
- "typia": "^4.1.2"
47
+ "typia": "^4.1.6"
48
48
  },
49
49
  "peerDependencies": {
50
50
  "@nestia/fetcher": ">= 1.4.0",
@@ -56,7 +56,7 @@
56
56
  "reflect-metadata": ">= 0.1.12",
57
57
  "rxjs": ">= 6.0.0",
58
58
  "typescript": ">= 4.7.4",
59
- "typia": ">= 4.1.2"
59
+ "typia": ">= 4.1.6"
60
60
  },
61
61
  "devDependencies": {
62
62
  "@trivago/prettier-plugin-sort-imports": "^4.0.0",
@@ -6,7 +6,10 @@ import {
6
6
  import type express from "express";
7
7
  import type { FastifyRequest } from "fastify";
8
8
 
9
+ import { assert } from "typia";
10
+
9
11
  import { get_text_body } from "./internal/get_text_body";
12
+ import { validate_request_body } from "./internal/validate_request_body";
10
13
 
11
14
  /**
12
15
  * Plain body decorator.
@@ -29,8 +32,24 @@ import { get_text_body } from "./internal/get_text_body";
29
32
  * @return Parameter decorator
30
33
  * @author Jeongho Nam - https://github.com/samchon
31
34
  */
32
- export const PlainBody: () => ParameterDecorator = createParamDecorator(
33
- async function PlainBody(_data: any, context: ExecutionContext) {
35
+ export function PlainBody(): ParameterDecorator;
36
+
37
+ /**
38
+ * @internal
39
+ */
40
+ export function PlainBody(
41
+ assert?: (input: unknown) => string,
42
+ ): ParameterDecorator {
43
+ const checker = assert
44
+ ? validate_request_body("PlainBody")({
45
+ type: "assert",
46
+ assert,
47
+ })
48
+ : null;
49
+ return createParamDecorator(async function PlainBody(
50
+ _data: any,
51
+ context: ExecutionContext,
52
+ ) {
34
53
  const request: express.Request | FastifyRequest = context
35
54
  .switchToHttp()
36
55
  .getRequest();
@@ -38,9 +57,15 @@ export const PlainBody: () => ParameterDecorator = createParamDecorator(
38
57
  throw new BadRequestException(
39
58
  `Request body type is not "text/plain".`,
40
59
  );
41
- return get_text_body(request);
42
- },
43
- );
60
+ const value: string = await get_text_body(request);
61
+ if (checker) {
62
+ const error: Error | null = checker(value);
63
+ if (error !== null) throw error;
64
+ }
65
+ return value;
66
+ })();
67
+ }
68
+ Object.assign(PlainBody, assert);
44
69
 
45
70
  const isTextPlain = (text?: string): boolean =>
46
71
  text !== undefined &&
@@ -3,6 +3,6 @@
3
3
  */
4
4
  export function TransformError(method: string): Error {
5
5
  return new Error(
6
- `Error on nestia.core.${method}(): no transform has been configured. Run "npx typia setup" command.`,
6
+ `Error on nestia.core.${method}(): no transform has been configured. Run "npx typia setup" command, or check if you're using non-standard TypeScript compiler like Babel or SWC.`,
7
7
  );
8
8
  }
@@ -0,0 +1,53 @@
1
+ import ts from "typescript";
2
+
3
+ import { MetadataCollection } from "typia/lib/factories/MetadataCollection";
4
+ import { MetadataFactory } from "typia/lib/factories/MetadataFactory";
5
+ import { Metadata } from "typia/lib/metadata/Metadata";
6
+ import { AssertProgrammer } from "typia/lib/programmers/AssertProgrammer";
7
+
8
+ import { INestiaTransformProject } from "../options/INestiaTransformProject";
9
+
10
+ export namespace PlainBodyProgrammer {
11
+ export const generate =
12
+ (project: INestiaTransformProject) =>
13
+ (modulo: ts.LeftHandSideExpression) =>
14
+ (type: ts.Type): readonly ts.Expression[] => {
15
+ validate(
16
+ MetadataFactory.analyze(project.checker)({
17
+ resolve: false,
18
+ constant: true,
19
+ absorb: true,
20
+ })(new MetadataCollection())(type),
21
+ );
22
+ return [
23
+ AssertProgrammer.write({
24
+ ...project,
25
+ options: {
26
+ numeric: false,
27
+ finite: false,
28
+ functional: false,
29
+ },
30
+ })(modulo)(false)(type),
31
+ ];
32
+ };
33
+ }
34
+
35
+ const validate = (metadata: Metadata): void => {
36
+ const expected: number =
37
+ (metadata.atomics.some((t) => t === "string") ? 1 : 0) +
38
+ metadata.templates.length +
39
+ metadata.constants
40
+ .filter((c) => c.type === "string")
41
+ .map((c) => c.values.length)
42
+ .reduce((a, b) => a + b, 0);
43
+ if (expected === 0 || expected !== metadata.size())
44
+ throw error(`only string type is allowed`);
45
+ else if (metadata.isRequired() === false)
46
+ throw error(`do not allow undefindable type`);
47
+ else if (metadata.nullable === true)
48
+ throw error(`do not allow nullable type`);
49
+ else if (metadata.any === true) throw error(`do not allow any type`);
50
+ };
51
+
52
+ const error = (msg: string) =>
53
+ new Error(`Error on nestia.core.PlainBody(): ${msg}.`);
@@ -15,8 +15,8 @@ export namespace TypedParamProgrammer {
15
15
  resolve: false,
16
16
  constant: true,
17
17
  absorb: true,
18
- validate,
19
18
  })(new MetadataCollection())(type);
19
+ validate(metadata);
20
20
  const [atomic] = get_atomic_types(metadata);
21
21
 
22
22
  // AUTO TYPE SPECIFICATION
@@ -38,9 +38,8 @@ export namespace TypedParamProgrammer {
38
38
  checker.getTypeAtLocation(parameters[1]),
39
39
  );
40
40
  if (equals(atomic, specified) === false)
41
- throw new Error(
42
- error("different type between parameter and variable"),
43
- );
41
+ throw error("different type between parameter and variable");
42
+
44
43
  if (parameters.length === 2)
45
44
  return [
46
45
  parameters[0],
@@ -59,38 +58,40 @@ export namespace TypedParamProgrammer {
59
58
  checker.getTypeAtLocation(parameters[2]),
60
59
  );
61
60
  if (nullable.getName() !== "true" && nullable.getName() !== "false")
62
- throw new Error(error("nullable value must be literal type"));
61
+ throw error("nullable value must be literal type");
63
62
  else if (metadata.nullable !== (nullable.getName() === "true"))
64
- throw new Error(
65
- error(
66
- "different type (nullable) between parameter and variable",
67
- ),
63
+ throw error(
64
+ "different type (nullable) between parameter and variable",
68
65
  );
69
66
  return parameters;
70
67
  };
71
68
  }
72
69
 
73
70
  const validate = (meta: Metadata) => {
74
- if (meta.any) throw new Error(error("do not allow any type"));
75
- else if (meta.required === false)
76
- throw new Error(error("do not allow undefindable type"));
71
+ if (meta.any) throw error("do not allow any type");
72
+ else if (meta.isRequired() === false)
73
+ throw error("do not allow undefindable type");
77
74
 
78
75
  const atomics: string[] = get_atomic_types(meta);
79
76
  const expected: number =
80
77
  meta.atomics.length +
78
+ meta.templates.length +
81
79
  meta.constants.map((c) => c.values.length).reduce((a, b) => a + b, 0);
82
80
  if (meta.size() !== expected || atomics.length === 0)
83
- throw new Error(error("only atomic or constant types is allowed"));
84
- else if (atomics.length > 1)
85
- throw new Error(error("do not allow union type"));
81
+ throw error("only atomic or constant types is allowed");
82
+ else if (atomics.length > 1) throw error("do not allow union type");
86
83
  };
87
84
 
88
85
  const get_atomic_types = (meta: Metadata): string[] => [
89
- ...new Set([...meta.atomics, ...meta.constants.map((c) => c.type)]),
86
+ ...new Set([
87
+ ...meta.atomics,
88
+ ...meta.constants.map((c) => c.type),
89
+ ...(meta.templates.length ? ["string"] : []),
90
+ ]),
90
91
  ];
91
92
 
92
93
  const error = (message: string) =>
93
- `Error on nestia.core.TypedParam(): ${message}.`;
94
+ new Error(`Error on nestia.core.TypedParam(): ${message}.`);
94
95
 
95
96
  const equals = (atomic: string, p: Metadata) => {
96
97
  const name: string = p.getName();
@@ -43,7 +43,7 @@ export namespace TypedQueryProgrammer {
43
43
  "query parameter cannot be null.",
44
44
  ),
45
45
  );
46
- else if (metadata.required === false)
46
+ else if (metadata.isRequired() === false)
47
47
  throw new Error(
48
48
  ErrorMessages.object(metadata)(
49
49
  "query parameter cannot be undefined.",
@@ -63,7 +63,7 @@ export namespace TypedQueryProgrammer {
63
63
  (obj: MetadataObject) =>
64
64
  (key: Metadata) =>
65
65
  (value: Metadata, depth: number): string[] => {
66
- if (depth === 1 && value.required === false)
66
+ if (depth === 1 && value.isRequired() === false)
67
67
  throw new Error(
68
68
  ErrorMessages.property(obj)(key)(
69
69
  "optional type is not allowed in array.",
@@ -91,7 +91,7 @@ export namespace TypedQueryProgrammer {
91
91
  "union type is not allowed",
92
92
  ),
93
93
  );
94
- else if (value.required === false)
94
+ else if (value.isRequired() === false)
95
95
  throw new Error(
96
96
  ErrorMessages.property(obj)(key)(
97
97
  "array type cannot be optional",
@@ -2,6 +2,7 @@ import path from "path";
2
2
  import ts from "typescript";
3
3
 
4
4
  import { INestiaTransformProject } from "../options/INestiaTransformProject";
5
+ import { PlainBodyProgrammer } from "../programmers/PlainBodyProgrammer";
5
6
  import { TypedBodyProgrammer } from "../programmers/TypedBodyProgrammer";
6
7
  import { TypedParamProgrammer } from "../programmers/TypedParamProgrammer";
7
8
  import { TypedQueryProgrammer } from "../programmers/TypedQueryProgrammer";
@@ -82,6 +83,8 @@ const FUNCTORS: Record<string, Programmer> = {
82
83
  parameters.length
83
84
  ? parameters
84
85
  : [TypedQueryProgrammer.generate(project)(modulo)(type)],
86
+ PlainBody: (project) => (modulo) => () => (type) =>
87
+ PlainBodyProgrammer.generate(project)(modulo)(type),
85
88
  };
86
89
 
87
90
  const LIB_PATH = path.join(