UNPKG

@korbiniankuhn/validator

Version:

Validate object schemas for js, expressjs, angular and mongoose.

41 lines 1.44 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const lodash_1 = require("./lodash"); exports.cloneSchema = (schema) => { const clonedSchema = Object.create(Object.getPrototypeOf(schema)); Object.getOwnPropertyNames(schema).forEach(key => { switch (key) { case '_message': clonedSchema._message = schema._message; break; case '_func': case '_object_func': { clonedSchema._func = schema._func; break; } case '_regex': clonedSchema._regex = { pattern: lodash_1.cloneRegex(schema._regex.pattern), locales: schema._regex.locales }; break; case '_type': case '_body': case '_query': case '_params': clonedSchema[key] = schema[key].clone(); break; case '_object': { clonedSchema._object = {}; Object.keys(schema._object).map(k => { clonedSchema._object[k] = schema._object[k].clone(); }); break; } default: clonedSchema[key] = lodash_1.clone(schema[key]); } }); return clonedSchema; }; //# sourceMappingURL=clone.js.map