UNPKG

@sprucelabs/schema

Version:

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

17 lines (16 loc) • 595 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const fields_1 = require("../fields"); class FieldFactory { /** Factory for creating a new field from a definition */ static Field(name, definition) { const fieldClass = fields_1.fieldClassMap[definition.type]; if (!fieldClass) { throw new Error(`Failed to find schema field by type "${definition.type}" for field named ${name}.`); } // @ts-ignore const field = new fieldClass(name, definition); return field; } } exports.default = FieldFactory;