@nestjs/common
Version:
Nest - modern, fast, powerful node.js web framework (@common)
35 lines (34 loc) • 1.17 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const bad_request_exception_1 = require("../exceptions/bad-request.exception");
const index_1 = require("../index");
/**
* Defines the built-in ParseInt Pipe
*
* @see [Built-in Pipes](https://docs.nestjs.com/pipes#built-in-pipes)
*
* @publicApi
*/
let ParseIntPipe = class ParseIntPipe {
/**
* Method that accesses and performs optional transformation on argument for
* in-flight requests.
*
* @param value currently processed route argument
* @param metadata contains metadata about the currently processed route argument
*/
async transform(value, metadata) {
const isNumeric = ['string', 'number'].includes(typeof value) &&
!isNaN(parseFloat(value)) &&
isFinite(value);
if (!isNumeric) {
throw new bad_request_exception_1.BadRequestException('Validation failed (numeric string is expected)');
}
return parseInt(value, 10);
}
};
ParseIntPipe = tslib_1.__decorate([
index_1.Injectable()
], ParseIntPipe);
exports.ParseIntPipe = ParseIntPipe;