UNPKG

@nestjs/common

Version:

Nest - modern, fast, powerful node.js web framework (@common)

35 lines (34 loc) 1.17 kB
"use strict"; 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;