UNPKG

nestjs-swagger-dto

Version:
16 lines 1.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.IsNumber = void 0; const class_transformer_1 = require("class-transformer"); const class_validator_1 = require("class-validator"); const core_1 = require("../core"); /** * *NOTE*: If type is not set it defaults to number * * *NOTE*: `format` is only used for OpenAPI spec * * **WARNING**: Setting `type: 'integer'` will not convert floats to integers during `classToPlain` */ const IsNumber = ({ min, max, stringified, type, format, ...base } = {}) => (0, core_1.compose)({ type: type ?? 'number', format, minimum: min, maximum: max }, base, (0, class_validator_1.IsNumber)({ ...(type === 'integer' && { maxDecimalPlaces: 0 }) }, { each: !!base.isArray }), stringified ? (0, class_transformer_1.Transform)(({ value }) => ((0, class_validator_1.isNumberString)(value) ? Number(value) : value)) : core_1.noop, min !== undefined ? (0, class_validator_1.Min)(min, { each: !!base.isArray }) : core_1.noop, max !== undefined ? (0, class_validator_1.Max)(max, { each: !!base.isArray }) : core_1.noop); exports.IsNumber = IsNumber; //# sourceMappingURL=is-number.js.map