Skip to content

Commit f81f143

Browse files
sample(@nestjs) fix invalid message property (16-gateways-ws) nestjs#635
1 parent eb639de commit f81f143

46 files changed

Lines changed: 697 additions & 1133 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

bundle/common/index.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
export * from './decorators';
22
export * from './enums';
3-
export { NestModule, INestApplication, INestMicroservice, NestMiddleware, MiddlewareFunction, MiddlewareConsumer, OnModuleInit, ExceptionFilter, WebSocketAdapter, PipeTransform, Paramtype, ArgumentMetadata, OnModuleDestroy, ExecutionContext, CanActivate, RpcExceptionFilter, WsExceptionFilter, NestInterceptor, DynamicModule, INestApplicationContext, HttpServer, HttpServerFactory, ArgumentsHost, INestExpressApplication, INestFastifyApplication } from './interfaces';
3+
export { NestModule, INestApplication, INestMicroservice, NestMiddleware, MiddlewareFunction, MiddlewareConsumer, OnModuleInit, ExceptionFilter, WebSocketAdapter, PipeTransform, Paramtype, ArgumentMetadata, OnModuleDestroy, ExecutionContext, CanActivate, RpcExceptionFilter, WsExceptionFilter, NestInterceptor, DynamicModule, INestApplicationContext, HttpServer, Provider, Type, HttpServerFactory, ArgumentsHost, INestExpressApplication, INestFastifyApplication } from './interfaces';
44
export * from './interceptors';
55
export * from './services/logger.service';
66
export * from './pipes';

bundle/common/interceptors/file.interceptor.js

Lines changed: 10 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,4 @@
11
"use strict";
2-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3-
return new (P || (P = Promise))(function (resolve, reject) {
4-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6-
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
7-
step((generator = generator.apply(thisArg, _arguments || [])).next());
8-
});
9-
};
102
Object.defineProperty(exports, "__esModule", { value: true });
113
const multer = require("multer");
124
const component_decorator_1 = require("../decorators/core/component.decorator");
@@ -16,18 +8,16 @@ function FileInterceptor(fieldName, options) {
168
constructor() {
179
this.upload = multer(options);
1810
}
19-
intercept(context, call$) {
20-
return __awaiter(this, void 0, void 0, function* () {
21-
const ctx = context.switchToHttp();
22-
yield new Promise((resolve, reject) => this.upload.single(fieldName)(ctx.getRequest(), ctx.getResponse(), err => {
23-
if (err) {
24-
const error = multer_utils_1.transformException(err);
25-
return reject(error);
26-
}
27-
resolve();
28-
}));
29-
return call$;
30-
});
11+
async intercept(context, call$) {
12+
const ctx = context.switchToHttp();
13+
await new Promise((resolve, reject) => this.upload.single(fieldName)(ctx.getRequest(), ctx.getResponse(), err => {
14+
if (err) {
15+
const error = multer_utils_1.transformException(err);
16+
return reject(error);
17+
}
18+
resolve();
19+
}));
20+
return call$;
3121
}
3222
});
3323
}

bundle/common/interceptors/files.interceptor.js

Lines changed: 10 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,4 @@
11
"use strict";
2-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3-
return new (P || (P = Promise))(function (resolve, reject) {
4-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6-
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
7-
step((generator = generator.apply(thisArg, _arguments || [])).next());
8-
});
9-
};
102
Object.defineProperty(exports, "__esModule", { value: true });
113
const multer = require("multer");
124
const multer_utils_1 = require("./multer/multer.utils");
@@ -15,18 +7,16 @@ function FilesInterceptor(fieldName, maxCount, options) {
157
constructor() {
168
this.upload = multer(options);
179
}
18-
intercept(context, call$) {
19-
return __awaiter(this, void 0, void 0, function* () {
20-
const ctx = context.switchToHttp();
21-
yield new Promise((resolve, reject) => this.upload.array(fieldName, maxCount)(ctx.getRequest(), ctx.getResponse(), err => {
22-
if (err) {
23-
const error = multer_utils_1.transformException(err);
24-
return reject(error);
25-
}
26-
resolve();
27-
}));
28-
return call$;
29-
});
10+
async intercept(context, call$) {
11+
const ctx = context.switchToHttp();
12+
await new Promise((resolve, reject) => this.upload.array(fieldName, maxCount)(ctx.getRequest(), ctx.getResponse(), err => {
13+
if (err) {
14+
const error = multer_utils_1.transformException(err);
15+
return reject(error);
16+
}
17+
resolve();
18+
}));
19+
return call$;
3020
}
3121
};
3222
return Interceptor;

bundle/common/interfaces/index.d.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,3 +28,5 @@ export * from './http/http-server-factory.interface';
2828
export * from './features/arguments-host.interface';
2929
export * from './nest-express-application.interface';
3030
export * from './nest-fastify-application.interface';
31+
export * from './modules/provider.interface';
32+
export * from './type.interface';

bundle/common/interfaces/modules/index.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@ export * from './module-metadata.interface';
22
export * from './nest-module.interface';
33
export * from './on-init.interface';
44
export * from './dynamic-module.interface';
5+
export * from './provider.interface';

bundle/common/pipes/parse-int.pipe.js

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -5,28 +5,18 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
55
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
66
return c > 3 && r && Object.defineProperty(target, key, r), r;
77
};
8-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9-
return new (P || (P = Promise))(function (resolve, reject) {
10-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
11-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
12-
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
13-
step((generator = generator.apply(thisArg, _arguments || [])).next());
14-
});
15-
};
168
Object.defineProperty(exports, "__esModule", { value: true });
179
const bad_request_exception_1 = require("../exceptions/bad-request.exception");
1810
const index_1 = require("../index");
1911
let ParseIntPipe = class ParseIntPipe {
20-
transform(value, metadata) {
21-
return __awaiter(this, void 0, void 0, function* () {
22-
const isNumeric = 'string' === typeof value &&
23-
!isNaN(parseFloat(value)) &&
24-
isFinite(value);
25-
if (!isNumeric) {
26-
throw new bad_request_exception_1.BadRequestException('Validation failed (numeric string is expected)');
27-
}
28-
return parseInt(value, 10);
29-
});
12+
async transform(value, metadata) {
13+
const isNumeric = 'string' === typeof value &&
14+
!isNaN(parseFloat(value)) &&
15+
isFinite(value);
16+
if (!isNumeric) {
17+
throw new bad_request_exception_1.BadRequestException('Validation failed (numeric string is expected)');
18+
}
19+
return parseInt(value, 10);
3020
}
3121
};
3222
ParseIntPipe = __decorate([

bundle/common/pipes/validation.pipe.js

Lines changed: 15 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
88
var __metadata = (this && this.__metadata) || function (k, v) {
99
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
1010
};
11-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
12-
return new (P || (P = Promise))(function (resolve, reject) {
13-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
14-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
15-
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
16-
step((generator = generator.apply(thisArg, _arguments || [])).next());
17-
});
18-
};
1911
var __rest = (this && this.__rest) || function (s, e) {
2012
var t = {};
2113
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
@@ -42,23 +34,21 @@ let ValidationPipe = class ValidationPipe {
4234
classValidator = loadPkg('class-validator');
4335
classTransformer = loadPkg('class-transformer');
4436
}
45-
transform(value, metadata) {
46-
return __awaiter(this, void 0, void 0, function* () {
47-
const { metatype } = metadata;
48-
if (!metatype || !this.toValidate(metadata)) {
49-
return value;
50-
}
51-
const entity = classTransformer.plainToClass(metatype, value);
52-
const errors = yield classValidator.validate(entity, this.validatorOptions);
53-
if (errors.length > 0) {
54-
throw new index_1.BadRequestException(errors);
55-
}
56-
return this.isTransformEnabled
57-
? entity
58-
: Object.keys(this.validatorOptions).length > 0
59-
? classTransformer.classToPlain(entity)
60-
: value;
61-
});
37+
async transform(value, metadata) {
38+
const { metatype } = metadata;
39+
if (!metatype || !this.toValidate(metadata)) {
40+
return value;
41+
}
42+
const entity = classTransformer.plainToClass(metatype, value);
43+
const errors = await classValidator.validate(entity, this.validatorOptions);
44+
if (errors.length > 0) {
45+
throw new index_1.BadRequestException(errors);
46+
}
47+
return this.isTransformEnabled
48+
? entity
49+
: Object.keys(this.validatorOptions).length > 0
50+
? classTransformer.classToPlain(entity)
51+
: value;
6252
}
6353
toValidate(metadata) {
6454
const { metatype, type } = metadata;

bundle/core/adapters/express-adapter.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,13 +62,13 @@ class ExpressAdapter {
6262
return this.instance.set(...args);
6363
}
6464
enable(...args) {
65-
return this.instance.set(...args);
65+
return this.instance.enable(...args);
6666
}
6767
disable(...args) {
68-
return this.instance.set(...args);
68+
return this.instance.disable(...args);
6969
}
7070
engine(...args) {
71-
return this.instance.set(...args);
71+
return this.instance.engine(...args);
7272
}
7373
useStaticAssets(path, options) {
7474
return this.use(express.static(path, options));

bundle/core/errors/exceptions-zone.js

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,4 @@
11
"use strict";
2-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3-
return new (P || (P = Promise))(function (resolve, reject) {
4-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6-
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
7-
step((generator = generator.apply(thisArg, _arguments || [])).next());
8-
});
9-
};
102
Object.defineProperty(exports, "__esModule", { value: true });
113
const exception_handler_1 = require("./exception-handler");
124
const messages_1 = require("./messages");
@@ -20,16 +12,14 @@ class ExceptionsZone {
2012
throw messages_1.UNHANDLED_RUNTIME_EXCEPTION;
2113
}
2214
}
23-
static asyncRun(fn) {
24-
return __awaiter(this, void 0, void 0, function* () {
25-
try {
26-
yield fn();
27-
}
28-
catch (e) {
29-
this.exceptionHandler.handle(e);
30-
throw messages_1.UNHANDLED_RUNTIME_EXCEPTION;
31-
}
32-
});
15+
static async asyncRun(fn) {
16+
try {
17+
await fn();
18+
}
19+
catch (e) {
20+
this.exceptionHandler.handle(e);
21+
throw messages_1.UNHANDLED_RUNTIME_EXCEPTION;
22+
}
3323
}
3424
}
3525
ExceptionsZone.exceptionHandler = new exception_handler_1.ExceptionHandler();
Lines changed: 20 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,34 @@
11
"use strict";
2-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3-
return new (P || (P = Promise))(function (resolve, reject) {
4-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6-
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
7-
step((generator = generator.apply(thisArg, _arguments || [])).next());
8-
});
9-
};
102
Object.defineProperty(exports, "__esModule", { value: true });
113
const shared_utils_1 = require("@nestjs/common/utils/shared.utils");
124
const rxjs_1 = require("rxjs");
135
const execution_context_host_1 = require("../helpers/execution-context.host");
146
class GuardsConsumer {
15-
tryActivate(guards, args, instance, callback) {
16-
return __awaiter(this, void 0, void 0, function* () {
17-
if (!guards || shared_utils_1.isEmpty(guards)) {
18-
return true;
19-
}
20-
const context = this.createContext(args, instance, callback);
21-
for (const guard of guards) {
22-
const result = guard.canActivate(context);
23-
if (yield this.pickResult(result)) {
24-
continue;
25-
}
26-
return false;
27-
}
7+
async tryActivate(guards, args, instance, callback) {
8+
if (!guards || shared_utils_1.isEmpty(guards)) {
289
return true;
29-
});
10+
}
11+
const context = this.createContext(args, instance, callback);
12+
for (const guard of guards) {
13+
const result = guard.canActivate(context);
14+
if (await this.pickResult(result)) {
15+
continue;
16+
}
17+
return false;
18+
}
19+
return true;
3020
}
3121
createContext(args, instance, callback) {
3222
return new execution_context_host_1.ExecutionContextHost(args, instance.constructor, callback);
3323
}
34-
pickResult(result) {
35-
return __awaiter(this, void 0, void 0, function* () {
36-
if (result instanceof rxjs_1.Observable) {
37-
return yield result.toPromise();
38-
}
39-
if (result instanceof Promise) {
40-
return yield result;
41-
}
42-
return result;
43-
});
24+
async pickResult(result) {
25+
if (result instanceof rxjs_1.Observable) {
26+
return await result.toPromise();
27+
}
28+
if (result instanceof Promise) {
29+
return await result;
30+
}
31+
return result;
4432
}
4533
}
4634
exports.GuardsConsumer = GuardsConsumer;

0 commit comments

Comments
 (0)