UNPKG

joiful

Version:

TypeScript Declarative Validation. Decorate your class properties to validate them using Joi.

22 lines 1.26 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createObjectPropertyDecorator = exports.getObjectSchemaModifierProviders = void 0; const core_1 = require("../core"); const common_1 = require("./common"); const any_1 = require("./any"); function getObjectSchemaModifierProviders(getJoi) { const result = Object.assign(Object.assign({}, any_1.getAnySchemaModifierProviders(getJoi)), { keys: (keyShemaMap) => ({ schema }) => schema.keys((typeof keyShemaMap === 'function') ? keyShemaMap(getJoi()) : keyShemaMap) }); return result; } exports.getObjectSchemaModifierProviders = getObjectSchemaModifierProviders; const createObjectPropertyDecorator = (options, joifulOptions) => (common_1.createPropertyDecorator()(({ joi, target, propertyKey }) => { const elementType = (options && options.objectClass) ? options.objectClass : Reflect.getMetadata('design:type', target, propertyKey); const schema = ((elementType && elementType !== Object) && core_1.getJoiSchema(elementType, joi)) || joi.object(); return schema; }, getObjectSchemaModifierProviders, joifulOptions)); exports.createObjectPropertyDecorator = createObjectPropertyDecorator; //# sourceMappingURL=object.js.map