@russ-b/nestjs-common-tools
Version:
NestJS utility tools
27 lines • 969 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseOptionalNumberTransformer = void 0;
exports.ToOptionalNumber = ToOptionalNumber;
const class_transformer_1 = require("class-transformer");
function ToOptionalNumber() {
return (0, class_transformer_1.Transform)(exports.parseOptionalNumberTransformer);
}
const parseOptionalNumberTransformer = ({ value, }) => normalizeOptionalNumber(value);
exports.parseOptionalNumberTransformer = parseOptionalNumberTransformer;
function normalizeOptionalNumber(value) {
if (value === null) {
return null;
}
if (value === undefined) {
return undefined;
}
if (typeof value === 'string') {
const trimmedValue = value.trim();
return trimmedValue === '' ? undefined : Number(trimmedValue);
}
if (typeof value === 'number') {
return value;
}
return Number.NaN;
}
//# sourceMappingURL=to-optional-number.decorator.js.map