@nestia/core 12.0.0-rc.4 → 12.1.0
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/McpAdaptor.js +21 -18
- package/lib/adaptors/McpAdaptor.js.map +1 -1
- package/lib/decorators/EncryptedBody.js +2 -7
- package/lib/decorators/EncryptedBody.js.map +1 -1
- package/lib/decorators/EncryptedRoute.js +1 -1
- package/lib/decorators/EncryptedRoute.js.map +1 -1
- package/lib/decorators/McpRoute.js +1 -1
- package/lib/decorators/McpRoute.js.map +1 -1
- package/lib/decorators/NoTransformConfigurationError.js +2 -2
- package/lib/decorators/PlainBody.js +2 -7
- 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/SwaggerExample.d.ts +37 -40
- package/lib/decorators/SwaggerExample.js +24 -26
- package/lib/decorators/SwaggerExample.js.map +1 -1
- package/lib/decorators/TypedBody.js +3 -7
- package/lib/decorators/TypedBody.js.map +1 -1
- package/lib/decorators/TypedException.d.ts +2 -2
- package/lib/decorators/TypedFormData.js +2 -7
- package/lib/decorators/TypedFormData.js.map +1 -1
- package/lib/decorators/TypedQuery.js +2 -9
- package/lib/decorators/TypedQuery.js.map +1 -1
- package/lib/decorators/WebSocketRoute.js +1 -1
- package/lib/decorators/WebSocketRoute.js.map +1 -1
- package/lib/decorators/internal/get_path_and_querify.js +1 -1
- package/lib/decorators/internal/get_path_and_querify.js.map +1 -1
- package/lib/decorators/internal/is_media_type.d.ts +1 -0
- package/lib/decorators/internal/is_media_type.js +11 -0
- package/lib/decorators/internal/is_media_type.js.map +1 -0
- package/lib/decorators/internal/validate_request_query.js.map +1 -1
- package/native/plugin/plan.go +17 -0
- package/native/transform/build.go +39 -80
- package/native/transform/contributor.go +4 -64
- package/native/transform/core_transform.go +42 -705
- package/native/transform/node_transform.go +3 -5
- package/native/transform/printer.go +0 -217
- package/native/transform/transform.go +2 -91
- package/native/transform/typia_fast.go +0 -320
- package/package.json +10 -10
- package/src/adaptors/McpAdaptor.ts +29 -21
- package/src/decorators/EncryptedBody.ts +2 -9
- package/src/decorators/EncryptedRoute.ts +1 -1
- package/src/decorators/McpRoute.ts +6 -5
- package/src/decorators/NoTransformConfigurationError.ts +2 -2
- package/src/decorators/PlainBody.ts +2 -9
- package/src/decorators/SwaggerCustomizer.ts +8 -2
- package/src/decorators/SwaggerExample.ts +43 -45
- package/src/decorators/TypedBody.ts +5 -9
- package/src/decorators/TypedException.ts +2 -2
- package/src/decorators/TypedFormData.ts +7 -9
- package/src/decorators/TypedQuery.ts +7 -12
- package/src/decorators/WebSocketRoute.ts +1 -1
- package/src/decorators/internal/get_path_and_querify.ts +1 -1
- package/src/decorators/internal/is_media_type.ts +10 -0
- package/src/decorators/internal/validate_request_query.ts +2 -1
- package/native/transform/cleanup.go +0 -408
- package/native/transform/exports.go +0 -13
- package/native/transform/rewrite.go +0 -668
- package/native/transform/typia_replacement.go +0 -24
|
@@ -108,24 +108,27 @@ class McpAdaptor {
|
|
|
108
108
|
const instance = wrapper.instance;
|
|
109
109
|
if (!instance)
|
|
110
110
|
continue;
|
|
111
|
-
const
|
|
112
|
-
for (
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
111
|
+
const visited = new Set();
|
|
112
|
+
for (let proto = Object.getPrototypeOf(instance); proto !== null && proto !== Object.prototype; proto = Object.getPrototypeOf(proto)) {
|
|
113
|
+
for (const key of Object.getOwnPropertyNames(proto)) {
|
|
114
|
+
if (key === "constructor" || visited.has(key))
|
|
115
|
+
continue;
|
|
116
|
+
visited.add(key);
|
|
117
|
+
const method = proto[key];
|
|
118
|
+
if (typeof method !== "function")
|
|
119
|
+
continue;
|
|
120
|
+
const meta = Reflect.getMetadata("nestia/McpRoute", method);
|
|
121
|
+
if (!meta)
|
|
122
|
+
continue;
|
|
123
|
+
const params = (_d = Reflect.getMetadata("nestia/McpRoute/Parameters", proto, key)) !== null && _d !== void 0 ? _d : [];
|
|
124
|
+
const paramValidator = (_a = params.find((p) => p.category === "params")) === null || _a === void 0 ? void 0 : _a.validate;
|
|
125
|
+
tools.push({
|
|
126
|
+
meta,
|
|
127
|
+
source: `${(_f = (_e = (_b = wrapper.metatype) === null || _b === void 0 ? void 0 : _b.name) !== null && _e !== void 0 ? _e : (_c = proto.constructor) === null || _c === void 0 ? void 0 : _c.name) !== null && _f !== void 0 ? _f : "UnknownController"}.${String(key)}`,
|
|
128
|
+
validateArgs: paramValidator,
|
|
129
|
+
handler: (args) => __awaiter(this, void 0, void 0, function* () { return method.call(instance, args); }),
|
|
130
|
+
});
|
|
131
|
+
}
|
|
129
132
|
}
|
|
130
133
|
}
|
|
131
134
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"McpAdaptor.js","sourceRoot":"","sources":["../../src/adaptors/McpAdaptor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAIwB;AAKxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH;IACE;;;;;;;;;;;;;;OAcG;IACI,MAAM,CAAO,OAAO;6DACzB,GAAqB,EACrB,OAAO,GAAwB,EAAE;;;YAEjC,IAAI,WAAW,IAAK,OAAmC;gBACrD,MAAM,IAAI,KAAK,CACb,kGAAkG,CACnG,CAAC;YAEJ,MAAM,KAAK,GAAuB,EAAE,CAAC;YACrC,MAAM,SAAS,GAAI,GAAW,CAAC,SAA0B,CAAC;YAC1D,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC;gBACrD,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC;oBAClD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;oBAClC,IAAI,CAAC,QAAQ;wBAAE,SAAS;oBACxB,MAAM,
|
|
1
|
+
{"version":3,"file":"McpAdaptor.js","sourceRoot":"","sources":["../../src/adaptors/McpAdaptor.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,7 @@ const Singleton_1 = require("../utils/Singleton");
|
|
|
16
16
|
const EncryptedConstant_1 = require("./internal/EncryptedConstant");
|
|
17
17
|
const get_text_body_1 = require("./internal/get_text_body");
|
|
18
18
|
const headers_to_object_1 = require("./internal/headers_to_object");
|
|
19
|
+
const is_media_type_1 = require("./internal/is_media_type");
|
|
19
20
|
const validate_request_body_1 = require("./internal/validate_request_body");
|
|
20
21
|
/**
|
|
21
22
|
* Encrypted body decorator.
|
|
@@ -45,7 +46,7 @@ function EncryptedBody(validator) {
|
|
|
45
46
|
const request = context
|
|
46
47
|
.switchToHttp()
|
|
47
48
|
.getRequest();
|
|
48
|
-
if (
|
|
49
|
+
if ((0, is_media_type_1.is_media_type)(request.headers["content-type"], "text/plain") === false)
|
|
49
50
|
throw new common_1.BadRequestException(`Request body type is not "text/plain".`);
|
|
50
51
|
const param = Reflect.getMetadata(EncryptedConstant_1.ENCRYPTION_METADATA_KEY, context.getClass());
|
|
51
52
|
if (!param)
|
|
@@ -77,10 +78,4 @@ const decrypt = (body, key, iv) => {
|
|
|
77
78
|
throw exp;
|
|
78
79
|
}
|
|
79
80
|
};
|
|
80
|
-
/** @internal */
|
|
81
|
-
const isTextPlain = (text) => text !== undefined &&
|
|
82
|
-
text
|
|
83
|
-
.split(";")
|
|
84
|
-
.map((str) => str.trim())
|
|
85
|
-
.some((str) => str === "text/plain");
|
|
86
81
|
//# sourceMappingURL=EncryptedBody.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EncryptedBody.js","sourceRoot":"","sources":["../../src/decorators/EncryptedBody.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,2DAAwD;AACxD,2CAIwB;AAKxB,kDAA+C;AAC/C,oEAAuE;AACvE,4DAAyD;AACzD,oEAAiE;AACjE,4EAAyE;AAEzE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,uBACE,SAAoC;IAEpC,MAAM,OAAO,GAAG,IAAA,6CAAqB,EAAC,eAAe,CAAC,CAAC,SAAS,CAAC,CAAC;IAClE,OAAO,IAAA,6BAAoB,EAAC,SAAe,aAAa,CACtD,QAAa,EACb,OAAyB;;YAEzB,MAAM,OAAO,GAAqC,OAAO;iBACtD,YAAY,EAAE;iBACd,UAAU,EAAE,CAAC;YAChB,IAAI,
|
|
1
|
+
{"version":3,"file":"EncryptedBody.js","sourceRoot":"","sources":["../../src/decorators/EncryptedBody.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,2DAAwD;AACxD,2CAIwB;AAKxB,kDAA+C;AAC/C,oEAAuE;AACvE,4DAAyD;AACzD,oEAAiE;AACjE,4DAAyD;AACzD,4EAAyE;AAEzE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,uBACE,SAAoC;IAEpC,MAAM,OAAO,GAAG,IAAA,6CAAqB,EAAC,eAAe,CAAC,CAAC,SAAS,CAAC,CAAC;IAClE,OAAO,IAAA,6BAAoB,EAAC,SAAe,aAAa,CACtD,QAAa,EACb,OAAyB;;YAEzB,MAAM,OAAO,GAAqC,OAAO;iBACtD,YAAY,EAAE;iBACd,UAAU,EAAE,CAAC;YAChB,IAAI,IAAA,6BAAa,EAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,YAAY,CAAC,KAAK,KAAK;gBACxE,MAAM,IAAI,4BAAmB,CAAC,wCAAwC,CAAC,CAAC;YAE1E,MAAM,KAAK,GACT,OAAO,CAAC,WAAW,CAAC,2CAAuB,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YACnE,IAAI,CAAC,KAAK;gBACR,MAAM,IAAI,KAAK,CACb,wEAAwE,CACzE,CAAC;YAEJ,gBAAgB;YAChB,MAAM,OAAO,GAAsC,IAAI,qBAAS,CAAC,GAAG,EAAE,CACpE,IAAA,qCAAiB,EAAC,OAAO,CAAC,OAAO,CAAC,CACnC,CAAC;YACF,MAAM,IAAI,GAAW,MAAM,IAAA,6BAAa,EAAC,OAAO,CAAC,CAAC;YAClD,MAAM,QAAQ,GACZ,OAAO,KAAK,KAAK,UAAU;gBACzB,CAAC,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;gBAC9D,CAAC,CAAC,KAAK,CAAC;YAEZ,0BAA0B;YAC1B,MAAM,IAAI,GAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;YACvE,MAAM,KAAK,GAAiB,OAAO,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,KAAK,KAAK,IAAI;gBAAE,MAAM,KAAK,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;KAAA,CAAC,EAAE,CAAC;AACP,CAAC;AAED,gBAAgB;AAChB,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,GAAW,EAAE,EAAU,EAAU,EAAE;IAChE,IAAI,CAAC;QACH,OAAO,mBAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,KAAK;YACtB,MAAM,IAAI,4BAAmB,CAC3B,qFAAqF,CACtF,CAAC;;YACC,MAAM,GAAG,CAAC;IACjB,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -126,7 +126,7 @@ class EncryptedRouteInterceptor {
|
|
|
126
126
|
return next.handle().pipe((0, operators_1.map)((value) => {
|
|
127
127
|
const param = Reflect.getMetadata(EncryptedConstant_1.ENCRYPTION_METADATA_KEY, context.getClass());
|
|
128
128
|
if (!param)
|
|
129
|
-
|
|
129
|
+
throw new Error(`Error on EncryptedRoute.${this.method}(): no password found.`);
|
|
130
130
|
const request = http.getRequest();
|
|
131
131
|
const headers = new Singleton_1.Singleton(() => (0, headers_to_object_1.headers_to_object)(request.headers));
|
|
132
132
|
const body = this.stringify(value, request.method, request.url);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EncryptedRoute.js","sourceRoot":"","sources":["../../src/decorators/EncryptedRoute.ts"],"names":[],"mappings":";;;;;;AACA,2DAAwD;AACxD,2CAWwB;AAGxB,8CAAiD;AACjD,kDAA0B;AAG1B,kDAA+C;AAC/C,6CAA0C;AAC1C,oEAAuE;AACvE,8EAA2E;AAC3E,oEAAiE;AACjE,wDAAqD;AAErD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,IAAiB,cAAc,CAsF9B;AAtFD,WAAiB,cAAc;IAC7B;;;;;OAKG;IACU,kBAAG,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAEpC;;;;;OAKG;IACU,mBAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAEtC;;;;;OAKG;IACU,oBAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IAExC;;;;;OAKG;IACU,kBAAG,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAEpC;;;;;OAKG;IACU,qBAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAE1C;;;;;;;;;;;;;;OAcG;IACH,SAAgB,sBAAsB,CACpC,IAAsC;QAEtC,uBAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAJe,eAAA,sBAAsB,yBAIrC,CAAA;IAID,gBAAgB;IAChB,SAAS,SAAS,CAAC,MAAmD;QAUpE,SAAS,KAAK,CAAC,GAAG,IAAW;YAC3B,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,IAAA,+CAAsB,EAC9C,GAAG,EAAE,CAAC,uBAAU,CAAC,QAAQ,CAC1B,CAAC,kBAAkB,MAAM,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;YACvC,OAAO,IAAA,wBAAe,EACpB,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EACrB,IAAA,wBAAe,EAAC,IAAI,yBAAyB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAClE,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,EAtFgB,cAAc,aAAd,cAAc,GAAd,cAAc,QAsF9B;AAED,KAAK,MAAM,MAAM,IAAI;IACnB,eAAK,CAAC,IAAI,CAAC,WAAW;IACtB,eAAK,CAAC,IAAI,CAAC,eAAe;IAC1B,eAAK,CAAC,IAAI,CAAC,iBAAiB;IAC5B,eAAK,CAAC,IAAI,CAAC,SAAS;CACrB;IACC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;QAC/C,KAAK,MAAM,IAAI,IAAI;YACjB,cAAc,CAAC,GAAG;YAClB,cAAc,CAAC,MAAM;YACrB,cAAc,CAAC,IAAI;YACnB,cAAc,CAAC,GAAG;YAClB,cAAc,CAAC,KAAK;SACrB;YACE,IAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAEjC,gBAAgB;AAChB,MAAM,yBAAyB;IAC7B,YACmB,MAAc,EACd,SAIN;sBALM,MAAM;yBACN,SAAS;IAKzB,CAAC;IAEG,SAAS,CAAC,OAAyB,EAAE,IAAiB;QAC3D,MAAM,IAAI,GAAsB,OAAO,CAAC,YAAY,EAAE,CAAC;QACvD,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CACvB,IAAA,eAAG,EAAC,CAAC,KAAK,EAAE,EAAE;YACZ,MAAM,KAAK,GAGK,OAAO,CAAC,WAAW,CACjC,2CAAuB,EACvB,OAAO,CAAC,QAAQ,EAAE,CACnB,CAAC;YACF,IAAI,CAAC,KAAK;gBACR,
|
|
1
|
+
{"version":3,"file":"EncryptedRoute.js","sourceRoot":"","sources":["../../src/decorators/EncryptedRoute.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,7 +48,7 @@ function McpRoute(input) {
|
|
|
48
48
|
McpRoute.Params = Params;
|
|
49
49
|
/** @internal */
|
|
50
50
|
const emplace = (target, propertyKey, value) => {
|
|
51
|
-
const array = Reflect.
|
|
51
|
+
const array = Reflect.getOwnMetadata("nestia/McpRoute/Parameters", target, propertyKey);
|
|
52
52
|
if (array !== undefined)
|
|
53
53
|
array.push(value);
|
|
54
54
|
else
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"McpRoute.js","sourceRoot":"","sources":["../../src/decorators/McpRoute.ts"],"names":[],"mappings":";;;AAEA,4EAAyE;AAsDzE,kBAAyB,KAAgC;IACvD,MAAM,MAAM,GACV,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IACtD,OAAO,SAAS,QAAQ,CACtB,OAAe,EACf,YAA6B,EAC7B,UAAwC;;QAExC,OAAO,CAAC,cAAc,CACpB,iBAAiB,EACjB;YACE,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,WAAW,QAAE,MAAM,CAAC,WAAW,mCAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;YACrE,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,WAAW,EAAE,MAAM,CAAC,WAAW;SACL,EAC5B,UAAU,CAAC,KAAK,CACjB,CAAC;QACF,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC;AAED,WAAiB,QAAQ;IAmBvB;;;;;;;;;;;;;;;;OAgBG;IACH,SAAgB,MAAM,CACpB,SAAoC;QAEpC,MAAM,QAAQ,GAAG,IAAA,6CAAqB,EAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC;QACrE,OAAO,SAAS,cAAc,CAC5B,MAAc,EACd,WAAwC,EACxC,cAAsB;YAEtB,OAAO,CAAC,MAAM,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,EAAE,EAAE;gBACjC,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,cAAc;gBACrB,QAAQ;aACT,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC;IAfe,SAAA,MAAM,SAerB,CAAA;IAED,gBAAgB;IAChB,MAAM,OAAO,GAAG,CACd,MAAc,EACd,WAA4B,EAC5B,KAAiC,EACjC,EAAE;QACF,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"McpRoute.js","sourceRoot":"","sources":["../../src/decorators/McpRoute.ts"],"names":[],"mappings":";;;AAEA,4EAAyE;AAsDzE,kBAAyB,KAAgC;IACvD,MAAM,MAAM,GACV,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IACtD,OAAO,SAAS,QAAQ,CACtB,OAAe,EACf,YAA6B,EAC7B,UAAwC;;QAExC,OAAO,CAAC,cAAc,CACpB,iBAAiB,EACjB;YACE,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,WAAW,QAAE,MAAM,CAAC,WAAW,mCAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;YACrE,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,WAAW,EAAE,MAAM,CAAC,WAAW;SACL,EAC5B,UAAU,CAAC,KAAK,CACjB,CAAC;QACF,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC;AAED,WAAiB,QAAQ;IAmBvB;;;;;;;;;;;;;;;;OAgBG;IACH,SAAgB,MAAM,CACpB,SAAoC;QAEpC,MAAM,QAAQ,GAAG,IAAA,6CAAqB,EAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC;QACrE,OAAO,SAAS,cAAc,CAC5B,MAAc,EACd,WAAwC,EACxC,cAAsB;YAEtB,OAAO,CAAC,MAAM,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,EAAE,EAAE;gBACjC,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,cAAc;gBACrB,QAAQ;aACT,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC;IAfe,SAAA,MAAM,SAerB,CAAA;IAED,gBAAgB;IAChB,MAAM,OAAO,GAAG,CACd,MAAc,EACd,WAA4B,EAC5B,KAAiC,EACjC,EAAE;QACF,MAAM,KAAK,GACT,OAAO,CAAC,cAAc,CACpB,4BAA4B,EAC5B,MAAM,EACN,WAAW,CACZ,CAAC;QACJ,IAAI,KAAK,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;YAEzC,OAAO,CAAC,cAAc,CACpB,4BAA4B,EAC5B,CAAC,KAAK,CAAC,EACP,MAAM,EACN,WAAW,CACZ,CAAC;IACN,CAAC,CAAC;AACJ,CAAC,EA1EgB,QAAQ,aAxBT,QAAQ,GAwBP,QAAQ,QA0ExB"}
|
|
@@ -24,8 +24,8 @@ function NoTransformConfigurationError(method) {
|
|
|
24
24
|
*
|
|
25
25
|
* Even if the transform did not run, the error will not be thrown and the
|
|
26
26
|
* program will be continued. Instead, every validation and assertion will be
|
|
27
|
-
* skipped and the value
|
|
28
|
-
*
|
|
27
|
+
* skipped and the value will be returned as it is. Furthermore, unexpected
|
|
28
|
+
* behaviors may occur.
|
|
29
29
|
*
|
|
30
30
|
* Therefore, it is not recommended to set this value to `false` in production
|
|
31
31
|
* environment. Configure this value to be `false` only when you're debugging
|
|
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.PlainBody = PlainBody;
|
|
13
13
|
const common_1 = require("@nestjs/common");
|
|
14
14
|
const get_text_body_1 = require("./internal/get_text_body");
|
|
15
|
+
const is_media_type_1 = require("./internal/is_media_type");
|
|
15
16
|
const is_request_body_undefined_1 = require("./internal/is_request_body_undefined");
|
|
16
17
|
const validate_request_body_1 = require("./internal/validate_request_body");
|
|
17
18
|
/** @internal */
|
|
@@ -30,7 +31,7 @@ function PlainBody(assert) {
|
|
|
30
31
|
if ((0, is_request_body_undefined_1.is_request_body_undefined)(request) &&
|
|
31
32
|
(checker !== null && checker !== void 0 ? checker : (() => null))(undefined) === null)
|
|
32
33
|
return undefined;
|
|
33
|
-
else if (!
|
|
34
|
+
else if (!(0, is_media_type_1.is_media_type)(request.headers["content-type"], "text/plain"))
|
|
34
35
|
throw new common_1.BadRequestException(`Request body type is not "text/plain".`);
|
|
35
36
|
const value = yield (0, get_text_body_1.get_text_body)(request);
|
|
36
37
|
if (checker) {
|
|
@@ -42,10 +43,4 @@ function PlainBody(assert) {
|
|
|
42
43
|
});
|
|
43
44
|
})();
|
|
44
45
|
}
|
|
45
|
-
/** @internal */
|
|
46
|
-
const isTextPlain = (text) => text !== undefined &&
|
|
47
|
-
text
|
|
48
|
-
.split(";")
|
|
49
|
-
.map((str) => str.trim())
|
|
50
|
-
.some((str) => str === "text/plain");
|
|
51
46
|
//# sourceMappingURL=PlainBody.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlainBody.js","sourceRoot":"","sources":["../../src/decorators/PlainBody.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAIwB;AAIxB,4DAAyD;AACzD,oFAAiF;AACjF,4EAAyE;AA0BzE,gBAAgB;AAChB,mBACE,MAAmC;IAEnC,MAAM,OAAO,GAAG,MAAM;QACpB,CAAC,CAAC,IAAA,6CAAqB,EAAC,WAAW,CAAC,CAAC;YACjC,IAAI,EAAE,QAAQ;YACd,MAAM;SACP,CAAC;QACJ,CAAC,CAAC,IAAI,CAAC;IACT,OAAO,IAAA,6BAAoB,EAAC,SAAe,SAAS,CAClD,KAAU,EACV,OAAyB;;YAEzB,MAAM,OAAO,GAAqC,OAAO;iBACtD,YAAY,EAAE;iBACd,UAAU,EAAE,CAAC;YAChB,IACE,IAAA,qDAAyB,EAAC,OAAO,CAAC;gBAClC,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,SAAgB,CAAC,KAAK,IAAI;gBAEpD,OAAO,SAAS,CAAC;iBACd,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"PlainBody.js","sourceRoot":"","sources":["../../src/decorators/PlainBody.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAIwB;AAIxB,4DAAyD;AACzD,4DAAyD;AACzD,oFAAiF;AACjF,4EAAyE;AA0BzE,gBAAgB;AAChB,mBACE,MAAmC;IAEnC,MAAM,OAAO,GAAG,MAAM;QACpB,CAAC,CAAC,IAAA,6CAAqB,EAAC,WAAW,CAAC,CAAC;YACjC,IAAI,EAAE,QAAQ;YACd,MAAM;SACP,CAAC;QACJ,CAAC,CAAC,IAAI,CAAC;IACT,OAAO,IAAA,6BAAoB,EAAC,SAAe,SAAS,CAClD,KAAU,EACV,OAAyB;;YAEzB,MAAM,OAAO,GAAqC,OAAO;iBACtD,YAAY,EAAE;iBACd,UAAU,EAAE,CAAC;YAChB,IACE,IAAA,qDAAyB,EAAC,OAAO,CAAC;gBAClC,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,SAAgB,CAAC,KAAK,IAAI;gBAEpD,OAAO,SAAS,CAAC;iBACd,IAAI,CAAC,IAAA,6BAAa,EAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,YAAY,CAAC;gBACpE,MAAM,IAAI,4BAAmB,CAAC,wCAAwC,CAAC,CAAC;YAC1E,MAAM,KAAK,GAAW,MAAM,IAAA,6BAAa,EAAC,OAAO,CAAC,CAAC;YACnD,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,KAAK,GAAiB,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC3C,IAAI,KAAK,KAAK,IAAI;oBAAE,MAAM,KAAK,CAAC;YAClC,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;KAAA,CAAC,EAAE,CAAC;AACP,CAAC"}
|
|
@@ -18,8 +18,8 @@ exports.SwaggerCustomizer = SwaggerCustomizer;
|
|
|
18
18
|
function SwaggerCustomizer(closure) {
|
|
19
19
|
return function SwaggerCustomizer(target, propertyKey, descriptor) {
|
|
20
20
|
const array = (() => {
|
|
21
|
-
if (Reflect.
|
|
22
|
-
return Reflect.
|
|
21
|
+
if (Reflect.hasOwnMetadata("nestia/SwaggerCustomizer", target, propertyKey))
|
|
22
|
+
return Reflect.getOwnMetadata("nestia/SwaggerCustomizer", target, propertyKey);
|
|
23
23
|
const array = [];
|
|
24
24
|
Reflect.defineMetadata("nestia/SwaggerCustomizer", array, target, propertyKey);
|
|
25
25
|
return array;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SwaggerCustomizer.js","sourceRoot":"","sources":["../../src/decorators/SwaggerCustomizer.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;;;;;;GAaG;AACH,2BACE,OAAqD;IAErD,OAAO,SAAS,iBAAiB,CAC/B,MAAc,EACd,WAA4B,EAC5B,UAAwC;QAExC,MAAM,KAAK,GAAwD,CAAC,GAAG,EAAE;YACvE,
|
|
1
|
+
{"version":3,"file":"SwaggerCustomizer.js","sourceRoot":"","sources":["../../src/decorators/SwaggerCustomizer.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;;;;;;GAaG;AACH,2BACE,OAAqD;IAErD,OAAO,SAAS,iBAAiB,CAC/B,MAAc,EACd,WAA4B,EAC5B,UAAwC;QAExC,MAAM,KAAK,GAAwD,CAAC,GAAG,EAAE;YACvE,IACE,OAAO,CAAC,cAAc,CACpB,0BAA0B,EAC1B,MAAM,EACN,WAAW,CACZ;gBAED,OAAO,OAAO,CAAC,cAAc,CAC3B,0BAA0B,EAC1B,MAAM,EACN,WAAW,CACZ,CAAC;YACJ,MAAM,KAAK,GAAwD,EAAE,CAAC;YACtE,OAAO,CAAC,cAAc,CACpB,0BAA0B,EAC1B,KAAK,EACL,MAAM,EACN,WAAW,CACZ,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,EAAE,CAAC;QACL,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -1,40 +1,38 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Attach example values to Swagger documents.
|
|
3
3
|
*
|
|
4
|
-
* `SwaggerExample` is a namespace of decorators that attach example values
|
|
5
|
-
*
|
|
4
|
+
* `SwaggerExample` is a namespace of decorators that attach example values to
|
|
5
|
+
* controller methods (request/response bodies, parameters), so that
|
|
6
6
|
* `@nestia/sdk`'s Swagger generator can populate the `example` / `examples`
|
|
7
7
|
* fields of the generated OpenAPI document.
|
|
8
8
|
*
|
|
9
9
|
* The decorators only affect Swagger document generation. They do not change
|
|
10
10
|
* runtime behavior, validation, or SDK function signatures.
|
|
11
11
|
*
|
|
12
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
12
13
|
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* import core from "@nestia/core";
|
|
16
|
+
* import { Controller } from "@nestjs/common";
|
|
17
|
+
* import typia from "typia";
|
|
13
18
|
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
* @core.TypedBody()
|
|
30
|
-
* input: IBbsArticle.ICreate,
|
|
31
|
-
* ): Promise<IBbsArticle> {
|
|
32
|
-
* // ...
|
|
19
|
+
* @Controller("bbs/articles")
|
|
20
|
+
* export class BbsArticlesController {
|
|
21
|
+
* // Single response example.
|
|
22
|
+
* @core.SwaggerExample.Response(typia.random<IBbsArticle>())
|
|
23
|
+
* @core.TypedRoute.Post()
|
|
24
|
+
* public async create(
|
|
25
|
+
* // Multiple named parameter examples plus a default one.
|
|
26
|
+
* @core.SwaggerExample.Parameter(typia.random<IBbsArticle.ICreate>())
|
|
27
|
+
* @core.SwaggerExample.Parameter("x", typia.random<IBbsArticle.ICreate>())
|
|
28
|
+
* @core.SwaggerExample.Parameter("y", typia.random<IBbsArticle.ICreate>())
|
|
29
|
+
* @core.TypedBody()
|
|
30
|
+
* input: IBbsArticle.ICreate,
|
|
31
|
+
* ): Promise<IBbsArticle> {
|
|
32
|
+
* // ...
|
|
33
|
+
* }
|
|
33
34
|
* }
|
|
34
|
-
*
|
|
35
|
-
* ```
|
|
36
|
-
*
|
|
37
|
-
* @author Jeongho Nam - https://github.com/samchon
|
|
35
|
+
* ```;
|
|
38
36
|
*/
|
|
39
37
|
export declare namespace SwaggerExample {
|
|
40
38
|
/**
|
|
@@ -45,32 +43,31 @@ export declare namespace SwaggerExample {
|
|
|
45
43
|
* - {@link Response | `Response(value)`}: registers `value` as the single
|
|
46
44
|
* default `example`.
|
|
47
45
|
* - {@link Response | `Response(key, value)`}: registers `value` under
|
|
48
|
-
* `examples[key]`. May be applied multiple times to attach several
|
|
49
|
-
*
|
|
46
|
+
* `examples[key]`. May be applied multiple times to attach several named
|
|
47
|
+
* examples.
|
|
50
48
|
*
|
|
51
|
-
* Both forms can coexist on the same method — the default `example` and
|
|
52
|
-
*
|
|
53
|
-
*
|
|
49
|
+
* Both forms can coexist on the same method — the default `example` and any
|
|
50
|
+
* number of named `examples` will all surface in the generated Swagger
|
|
51
|
+
* document.
|
|
54
52
|
*
|
|
55
53
|
* @template T Type of the example value (typically the route's response DTO).
|
|
56
54
|
*/
|
|
57
55
|
function Response<T>(value: T): MethodDecorator;
|
|
58
56
|
function Response<T>(key: string, value: T): MethodDecorator;
|
|
59
57
|
/**
|
|
60
|
-
* Attach an example value to a request parameter (body, path, query, etc.)
|
|
61
|
-
*
|
|
58
|
+
* Attach an example value to a request parameter (body, path, query, etc.) of
|
|
59
|
+
* a controller method.
|
|
62
60
|
*
|
|
63
61
|
* Two forms are supported:
|
|
64
62
|
*
|
|
65
63
|
* - {@link Parameter | `Parameter(value)`}: registers `value` as the single
|
|
66
64
|
* default `example` for that parameter.
|
|
67
65
|
* - {@link Parameter | `Parameter(key, value)`}: registers `value` under
|
|
68
|
-
* `examples[key]`. May be applied multiple times to attach several
|
|
69
|
-
*
|
|
66
|
+
* `examples[key]`. May be applied multiple times to attach several named
|
|
67
|
+
* examples to the same parameter.
|
|
70
68
|
*
|
|
71
|
-
* Apply alongside the actual parameter decorator
|
|
72
|
-
*
|
|
73
|
-
* order does not matter.
|
|
69
|
+
* Apply alongside the actual parameter decorator (`@TypedBody()`,
|
|
70
|
+
* `@TypedParam()`, `@TypedQuery()`, etc.); decorator order does not matter.
|
|
74
71
|
*
|
|
75
72
|
* @template T Type of the example value (typically the parameter's DTO).
|
|
76
73
|
*/
|
|
@@ -79,9 +76,9 @@ export declare namespace SwaggerExample {
|
|
|
79
76
|
/**
|
|
80
77
|
* Internal storage shape for `SwaggerExample` metadata.
|
|
81
78
|
*
|
|
82
|
-
* Reflects the OpenAPI spec's two example fields: a single default
|
|
83
|
-
*
|
|
84
|
-
*
|
|
79
|
+
* Reflects the OpenAPI spec's two example fields: a single default `example`,
|
|
80
|
+
* and/or a named map `examples`. `index` is used internally to associate
|
|
81
|
+
* parameter examples with the right parameter position.
|
|
85
82
|
*/
|
|
86
83
|
interface IData<T> {
|
|
87
84
|
examples?: Record<string, T>;
|
|
@@ -4,40 +4,38 @@ exports.SwaggerExample = void 0;
|
|
|
4
4
|
/**
|
|
5
5
|
* Attach example values to Swagger documents.
|
|
6
6
|
*
|
|
7
|
-
* `SwaggerExample` is a namespace of decorators that attach example values
|
|
8
|
-
*
|
|
7
|
+
* `SwaggerExample` is a namespace of decorators that attach example values to
|
|
8
|
+
* controller methods (request/response bodies, parameters), so that
|
|
9
9
|
* `@nestia/sdk`'s Swagger generator can populate the `example` / `examples`
|
|
10
10
|
* fields of the generated OpenAPI document.
|
|
11
11
|
*
|
|
12
12
|
* The decorators only affect Swagger document generation. They do not change
|
|
13
13
|
* runtime behavior, validation, or SDK function signatures.
|
|
14
14
|
*
|
|
15
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
15
16
|
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* import core from "@nestia/core";
|
|
19
|
+
* import { Controller } from "@nestjs/common";
|
|
20
|
+
* import typia from "typia";
|
|
16
21
|
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
* @core.TypedBody()
|
|
33
|
-
* input: IBbsArticle.ICreate,
|
|
34
|
-
* ): Promise<IBbsArticle> {
|
|
35
|
-
* // ...
|
|
22
|
+
* @Controller("bbs/articles")
|
|
23
|
+
* export class BbsArticlesController {
|
|
24
|
+
* // Single response example.
|
|
25
|
+
* @core.SwaggerExample.Response(typia.random<IBbsArticle>())
|
|
26
|
+
* @core.TypedRoute.Post()
|
|
27
|
+
* public async create(
|
|
28
|
+
* // Multiple named parameter examples plus a default one.
|
|
29
|
+
* @core.SwaggerExample.Parameter(typia.random<IBbsArticle.ICreate>())
|
|
30
|
+
* @core.SwaggerExample.Parameter("x", typia.random<IBbsArticle.ICreate>())
|
|
31
|
+
* @core.SwaggerExample.Parameter("y", typia.random<IBbsArticle.ICreate>())
|
|
32
|
+
* @core.TypedBody()
|
|
33
|
+
* input: IBbsArticle.ICreate,
|
|
34
|
+
* ): Promise<IBbsArticle> {
|
|
35
|
+
* // ...
|
|
36
|
+
* }
|
|
36
37
|
* }
|
|
37
|
-
*
|
|
38
|
-
* ```
|
|
39
|
-
*
|
|
40
|
-
* @author Jeongho Nam - https://github.com/samchon
|
|
38
|
+
* ```;
|
|
41
39
|
*/
|
|
42
40
|
var SwaggerExample;
|
|
43
41
|
(function (SwaggerExample) {
|
|
@@ -84,7 +82,7 @@ const emplaceOfParameter = (target, propertyKey, index) => {
|
|
|
84
82
|
return data;
|
|
85
83
|
};
|
|
86
84
|
const emplaceArrayOfParameters = (target, propertyKey) => {
|
|
87
|
-
const array = Reflect.
|
|
85
|
+
const array = Reflect.getOwnMetadata("nestia/SwaggerExample/Parameters", target, propertyKey);
|
|
88
86
|
if (array !== undefined)
|
|
89
87
|
return array;
|
|
90
88
|
const newbie = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SwaggerExample.js","sourceRoot":"","sources":["../../src/decorators/SwaggerExample.ts"],"names":[],"mappings":";;;AAAA
|
|
1
|
+
{"version":3,"file":"SwaggerExample.js","sourceRoot":"","sources":["../../src/decorators/SwaggerExample.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.TypedBody = TypedBody;
|
|
4
4
|
const common_1 = require("@nestjs/common");
|
|
5
|
+
const is_media_type_1 = require("./internal/is_media_type");
|
|
5
6
|
const is_request_body_undefined_1 = require("./internal/is_request_body_undefined");
|
|
6
7
|
const validate_request_body_1 = require("./internal/validate_request_body");
|
|
7
8
|
/**
|
|
@@ -26,7 +27,8 @@ function TypedBody(validator) {
|
|
|
26
27
|
.getRequest();
|
|
27
28
|
if ((0, is_request_body_undefined_1.is_request_body_undefined)(request) && checker(undefined) === null)
|
|
28
29
|
return undefined;
|
|
29
|
-
else if (
|
|
30
|
+
else if ((0, is_media_type_1.is_media_type)(request.headers["content-type"], "application/json") ===
|
|
31
|
+
false)
|
|
30
32
|
throw new common_1.BadRequestException(`Request body type is not "application/json".`);
|
|
31
33
|
const error = checker(request.body);
|
|
32
34
|
if (error !== null)
|
|
@@ -34,10 +36,4 @@ function TypedBody(validator) {
|
|
|
34
36
|
return request.body;
|
|
35
37
|
})();
|
|
36
38
|
}
|
|
37
|
-
/** @internal */
|
|
38
|
-
const isApplicationJson = (text) => text !== undefined &&
|
|
39
|
-
text
|
|
40
|
-
.split(";")
|
|
41
|
-
.map((str) => str.trim())
|
|
42
|
-
.some((str) => str === "application/json");
|
|
43
39
|
//# sourceMappingURL=TypedBody.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypedBody.js","sourceRoot":"","sources":["../../src/decorators/TypedBody.ts"],"names":[],"mappings":";;;AAAA,2CAIwB;AAKxB,oFAAiF;AACjF,4EAAyE;AAEzE;;;;;;;;;;;;;GAaG;AACH,mBACE,SAAoC;IAEpC,MAAM,OAAO,GAAG,IAAA,6CAAqB,EAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC;IAC9D,OAAO,IAAA,6BAAoB,EAAC,SAAS,SAAS,CAC5C,QAAa,EACb,OAAyB;QAEzB,MAAM,OAAO,GAAqC,OAAO;aACtD,YAAY,EAAE;aACd,UAAU,EAAE,CAAC;QAChB,IAAI,IAAA,qDAAyB,EAAC,OAAO,CAAC,IAAI,OAAO,CAAC,SAAc,CAAC,KAAK,IAAI;YACxE,OAAO,SAAS,CAAC;aACd,
|
|
1
|
+
{"version":3,"file":"TypedBody.js","sourceRoot":"","sources":["../../src/decorators/TypedBody.ts"],"names":[],"mappings":";;;AAAA,2CAIwB;AAKxB,4DAAyD;AACzD,oFAAiF;AACjF,4EAAyE;AAEzE;;;;;;;;;;;;;GAaG;AACH,mBACE,SAAoC;IAEpC,MAAM,OAAO,GAAG,IAAA,6CAAqB,EAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC;IAC9D,OAAO,IAAA,6BAAoB,EAAC,SAAS,SAAS,CAC5C,QAAa,EACb,OAAyB;QAEzB,MAAM,OAAO,GAAqC,OAAO;aACtD,YAAY,EAAE;aACd,UAAU,EAAE,CAAC;QAChB,IAAI,IAAA,qDAAyB,EAAC,OAAO,CAAC,IAAI,OAAO,CAAC,SAAc,CAAC,KAAK,IAAI;YACxE,OAAO,SAAS,CAAC;aACd,IACH,IAAA,6BAAa,EAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,kBAAkB,CAAC;YAClE,KAAK;YAEL,MAAM,IAAI,4BAAmB,CAC3B,8CAA8C,CAC/C,CAAC;QAEJ,MAAM,KAAK,GAAiB,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,KAAK,KAAK,IAAI;YAAE,MAAM,KAAK,CAAC;QAChC,OAAO,OAAO,CAAC,IAAI,CAAC;IACtB,CAAC,CAAC,EAAE,CAAC;AACP,CAAC"}
|
|
@@ -68,12 +68,12 @@ export declare function TypedException<T>(props: TypedException.IProps<T>): Meth
|
|
|
68
68
|
* @author Jeongho Nam - https://github.com/samchon
|
|
69
69
|
* @deprecated Use {@link TypedException.IProps} typed function instead. This
|
|
70
70
|
* typed function is deprecated and will be removed in the next major update.
|
|
71
|
-
* @template T Type of the exception
|
|
71
|
+
* @template T Type of the exception, consumed by the transformer only
|
|
72
72
|
* @param status Status number or pattern like "2XX", "3XX", "4XX", "5XX"
|
|
73
73
|
* @param description Description about the exception
|
|
74
74
|
* @returns Method decorator
|
|
75
75
|
*/
|
|
76
|
-
export declare function TypedException<T>(status: number | "2XX" | "3XX" | "4XX" | "5XX", description?: string | undefined): MethodDecorator
|
|
76
|
+
export declare function TypedException<T>(status: number | "2XX" | "3XX" | "4XX" | "5XX", description?: string | undefined): MethodDecorator & Pick<TypedException.IProps<T>, never>;
|
|
77
77
|
export declare namespace TypedException {
|
|
78
78
|
/** Properties for the exception. */
|
|
79
79
|
interface IProps<T> {
|
|
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.TypedFormData = void 0;
|
|
13
13
|
const common_1 = require("@nestjs/common");
|
|
14
14
|
const Singleton_1 = require("../utils/Singleton");
|
|
15
|
+
const is_media_type_1 = require("./internal/is_media_type");
|
|
15
16
|
const validate_request_form_data_1 = require("./internal/validate_request_form_data");
|
|
16
17
|
/**
|
|
17
18
|
* Type safe multipart/form-data decorator.
|
|
@@ -74,7 +75,7 @@ var TypedFormData;
|
|
|
74
75
|
return __awaiter(this, void 0, void 0, function* () {
|
|
75
76
|
const http = context.switchToHttp();
|
|
76
77
|
const request = http.getRequest();
|
|
77
|
-
if (
|
|
78
|
+
if ((0, is_media_type_1.is_media_type)(request.headers["content-type"], "multipart/form-data") === false)
|
|
78
79
|
throw new common_1.BadRequestException(`Request body type is not "multipart/form-data".`);
|
|
79
80
|
const data = yield (yield uploader.get())({
|
|
80
81
|
request: request,
|
|
@@ -126,10 +127,4 @@ const parseFiles = (data) => (files) => {
|
|
|
126
127
|
type: file.mimetype,
|
|
127
128
|
}));
|
|
128
129
|
};
|
|
129
|
-
/** @internal */
|
|
130
|
-
const isMultipartFormData = (text) => text !== undefined &&
|
|
131
|
-
text
|
|
132
|
-
.split(";")
|
|
133
|
-
.map((str) => str.trim())
|
|
134
|
-
.some((str) => str === "multipart/form-data");
|
|
135
130
|
//# sourceMappingURL=TypedFormData.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypedFormData.js","sourceRoot":"","sources":["../../src/decorators/TypedFormData.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAIwB;AAMxB,kDAA+C;AAC/C,sFAAmF;AAEnF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,IAAiB,aAAa,
|
|
1
|
+
{"version":3,"file":"TypedFormData.js","sourceRoot":"","sources":["../../src/decorators/TypedFormData.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ const common_1 = require("@nestjs/common");
|
|
|
8
8
|
const rxjs_1 = require("rxjs");
|
|
9
9
|
const typia_1 = __importDefault(require("typia"));
|
|
10
10
|
const get_path_and_querify_1 = require("./internal/get_path_and_querify");
|
|
11
|
+
const is_media_type_1 = require("./internal/is_media_type");
|
|
11
12
|
const route_error_1 = require("./internal/route_error");
|
|
12
13
|
const validate_request_query_1 = require("./internal/validate_request_query");
|
|
13
14
|
/**
|
|
@@ -55,7 +56,7 @@ function TypedQuery(validator) {
|
|
|
55
56
|
const request = context
|
|
56
57
|
.switchToHttp()
|
|
57
58
|
.getRequest();
|
|
58
|
-
if (
|
|
59
|
+
if ((0, is_media_type_1.is_media_type)(request.headers["content-type"], "application/x-www-form-urlencoded") === false)
|
|
59
60
|
throw new common_1.BadRequestException(`Request body type is not "application/x-www-form-urlencoded".`);
|
|
60
61
|
const params = request.body instanceof URLSearchParams
|
|
61
62
|
? request.body
|
|
@@ -127,14 +128,6 @@ function tail(url) {
|
|
|
127
128
|
return index === -1 ? "" : url.substring(index + 1);
|
|
128
129
|
}
|
|
129
130
|
/** @internal */
|
|
130
|
-
function isApplicationQuery(text) {
|
|
131
|
-
return (text !== undefined &&
|
|
132
|
-
text
|
|
133
|
-
.split(";")
|
|
134
|
-
.map((str) => str.trim())
|
|
135
|
-
.some((str) => str === "application/x-www-form-urlencoded"));
|
|
136
|
-
}
|
|
137
|
-
/** @internal */
|
|
138
131
|
class FakeURLSearchParams {
|
|
139
132
|
constructor(target) {
|
|
140
133
|
this.target = target;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypedQuery.js","sourceRoot":"","sources":["../../src/decorators/TypedQuery.ts"],"names":[],"mappings":";;;;;;AAAA,2CAawB;AAIxB,+BAAuC;AACvC,kDAA0B;AAI1B,0EAAuE;AACvE,wDAAqD;AACrD,8EAA2E;AAE3E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,oBACE,SAAqC;IAErC,MAAM,OAAO,GAAG,IAAA,+CAAsB,EAAC,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC;IAChE,OAAO,IAAA,6BAAoB,EAAC,SAAS,UAAU,CAC7C,QAAa,EACb,OAAyB;QAEzB,MAAM,OAAO,GAAqC,OAAO;aACtD,YAAY,EAAE;aACd,UAAU,EAAE,CAAC;QAChB,MAAM,MAAM,GAAoB,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAEvE,MAAM,MAAM,GAAc,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,MAAM,YAAY,KAAK;YAAE,MAAM,MAAM,CAAC;QAC1C,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,EAAE,CAAC;AACP,CAAC;AACD,WAAiB,UAAU;IACzB;;;;OAIG;IACH,SAAgB,IAAI,CAClB,SAAqC;QAErC,MAAM,OAAO,GAAG,IAAA,+CAAsB,EAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,CAAC;QACrE,OAAO,IAAA,6BAAoB,EAAC,SAAS,cAAc,CACjD,QAAa,EACb,OAAyB;YAEzB,MAAM,OAAO,GAAqC,OAAO;iBACtD,YAAY,EAAE;iBACd,UAAU,EAAE,CAAC;YAChB,
|
|
1
|
+
{"version":3,"file":"TypedQuery.js","sourceRoot":"","sources":["../../src/decorators/TypedQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -182,7 +182,7 @@ function WebSocketRoute(path) {
|
|
|
182
182
|
WebSocketRoute.Query = Query;
|
|
183
183
|
/** @internal */
|
|
184
184
|
const emplace = (target, propertyKey, value) => {
|
|
185
|
-
const array = Reflect.
|
|
185
|
+
const array = Reflect.getOwnMetadata("nestia/WebSocketRoute/Parameters", target, propertyKey);
|
|
186
186
|
if (array !== undefined)
|
|
187
187
|
array.push(value);
|
|
188
188
|
else
|