UNPKG

@backland/schema

Version:

TypeScript schema declaration and validation library with static type inference

33 lines 1.05 kB
import { RuntimeError } from '@backland/utils'; import { types } from './fields/fieldTypes'; export function fieldInstanceFromDef(definition) { if (!types[definition.type]) { throw new RuntimeError("invalid field definition. types[\"".concat(definition === null || definition === void 0 ? void 0 : definition.type, "\"] is undefined"), { definition }); } var fieldConstructor = types[definition.type]; var field = fieldConstructor.create(definition.def); if (definition.list) { // @ts-ignore field = field.toList(definition.list); } if (definition.optional) { // @ts-ignore field = field.toOptional(); } if (definition.name) { field.name = definition.name; } if (definition.hidden) { field.hidden = definition.hidden; } if (definition.defaultValue !== undefined) { field = field.setDefaultValue(definition.defaultValue); } if (definition.description) { field = field.describe(definition.description); } return field; } //# sourceMappingURL=fieldInstanceFromDef.js.map