UNPKG

1.17 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const tslib_1 = require("tslib");
4const bad_request_exception_1 = require("../exceptions/bad-request.exception");
5const index_1 = require("../index");
6/**
7 * Defines the built-in ParseInt Pipe
8 *
9 * @see [Built-in Pipes](https://docs.nestjs.com/pipes#built-in-pipes)
10 *
11 * @publicApi
12 */
13let ParseIntPipe = class ParseIntPipe {
14 /**
15 * Method that accesses and performs optional transformation on argument for
16 * in-flight requests.
17 *
18 * @param value currently processed route argument
19 * @param metadata contains metadata about the currently processed route argument
20 */
21 async transform(value, metadata) {
22 const isNumeric = ['string', 'number'].includes(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 }
30};
31ParseIntPipe = tslib_1.__decorate([
32 index_1.Injectable()
33], ParseIntPipe);
34exports.ParseIntPipe = ParseIntPipe;