@overture-stack/lyric
Version:
Data Submission system
20 lines (19 loc) • 707 B
JavaScript
import { Dictionary as SchemasDictionary } from '@overture-stack/lectern-client';
/**
* Get Fields from Schema
* @param {Schema} schema Schema object
* @returns The arrays of requied and options fields from the schema
*/
export const getSchemaFieldNames = (schema) => {
return schema.fields.reduce((acc, field) => {
const requiredRestriction = field.restrictions && 'required' in field.restrictions ? field.restrictions.required : undefined;
if (requiredRestriction) {
acc.required.push(field.name);
}
else {
acc.optional.push(field.name);
}
return acc;
}, { required: [], optional: [] });
};
export { SchemasDictionary };