UNPKG

@sprucelabs/schema

Version:

Static and dynamic binding plus runtime validation and transformation to ensure your app is sound. 🤓

15 lines (14 loc) • 573 B
import set from 'just-safe-set'; import { validateSchema } from '../index.js'; import EntityFactory from '../factories/SchemaEntityFactory.js'; export default function validateSchemaValues(schema, values, options) { const { ...opts } = options !== null && options !== void 0 ? options : {}; validateSchema(schema); const mapped = Object.keys(values).reduce((mapped, key) => { //@ts-ignore set(mapped, key, values[key]); return mapped; }, {}); const instance = EntityFactory.Entity(schema, mapped); instance.validate(opts); }