import Joi from "@stirling-tools/joi"; import { Fragment } from "react"; interface GenericFieldProps { fieldName: string joiDefinition: Joi.Description; } export function GenericField({ fieldName, joiDefinition }: GenericFieldProps) { switch (joiDefinition.type) { case "number": var validValues = joiDefinition.allow; if(validValues) { // Restrained text input return ( {joiDefinition.allow.map((e: string) => { return (
); } else { // TODO: Implement unrestrained text input return (
{JSON.stringify(joiDefinition, null, 2)}
) } break; case "string": var validValues = joiDefinition.allow; if(validValues) { // Restrained text input return ( {joiDefinition.allow.map((e: string) => { return (
); } else { // TODO: Implement unrestrained text input return (
{JSON.stringify(joiDefinition, null, 2)}
) } break; default: return (
Field "{fieldName}":
requested type "{joiDefinition.type}" not found
) } }