@swell/cli
Version:
Swell's command line interface/utility
41 lines (40 loc) • 996 B
JavaScript
import { titleize } from 'inflection';
const parseViews = (views) => {
if (views.length === 0) {
return [];
}
const viewResponse = [];
for (const viewId of views) {
viewResponse.push({
id: viewId,
...(viewId === 'list' ? { nav: {} } : {}),
fields: [],
tabs: [],
});
}
return viewResponse;
};
const parseFields = (fields) => {
if (fields.length === 0) {
return [];
}
const fieldResponse = [];
for (const fieldPair of fields) {
if (fieldPair.includes(':')) {
const [id, type] = fieldPair.split(':');
fieldResponse.push({
id,
label: titleize(id),
type,
});
}
else {
fieldResponse.push({
id: fieldPair,
label: titleize(fieldPair),
});
}
}
return fieldResponse;
};
export { parseFields, parseViews };