UNPKG

@topgroup/diginext

Version:

A BUILD SERVER & CLI to deploy apps to any Kubernetes clusters.

33 lines (32 loc) 1.39 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.preprocessInputData = void 0; const class_validator_1 = require("class-validator"); const object_1 = require("diginext-utils/dist/object"); const lodash_1 = require("lodash"); const mongoose_1 = require("mongoose"); const mongodb_1 = require("./mongodb"); function preprocessInputData(data) { const processedData = (0, lodash_1.cloneDeepWith)(data, (val, key) => { // skip envVars if (key === "envVars") return val; // convert {ObjectId} to string if ((0, mongoose_1.isValidObjectId)(val)) return mongodb_1.MongoDB.toString((0, mongodb_1.toObjectId)(val)); if ((0, mongodb_1.isObjectId)(val)) return mongodb_1.MongoDB.toString(val); // if (isNumberString(val)) return val.toString().length < 12 ? toNumber(val) : toString(val); // convert boolean string to boolean if ((0, class_validator_1.isBooleanString)(val)) return (0, object_1.toBool)(val); // convert JSON string to object if ((0, class_validator_1.isJSON)(val)) return JSON.parse(val); // convert "undefined" or "null" to null if (val === "undefined" || val === "null") return null; }); return processedData; } exports.preprocessInputData = preprocessInputData;