UNPKG

first-npm-package-nicule

Version:

This isi first npm package

23 lines (20 loc) 901 B
import { Hypermedia, HypermediaAction } from 'first-npm-package-nicule/core'; export function prefixFieldOptions(fieldName: string, prefix: string): (hypermediaAction: HypermediaAction, hypermedia: Hypermedia) => HypermediaAction { return (hypermediaAction: HypermediaAction) => { const { fields: oldFields, ...rest } = hypermediaAction; const fields = []; const groupedFields = []; oldFields.forEach((oldField, index) => { if (fieldName === oldField.name && oldField.options) { const newOptions = oldField.options.map(({ name, ...option }) => ({ ...option, name: prefix + name })); fields.push({ ...oldField, options: newOptions }); } else { fields.push(oldField); } }); return { ...rest, fields }; }; }