@sprucelabs/schema
Version:
Static and dynamic binding plus runtime validation and transformation to ensure your app is sound. 🤓
15 lines (14 loc) • 573 B
JavaScript
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);
}