first-npm-package-nicule
Version:
This isi first npm package
19 lines (15 loc) • 619 B
text/typescript
import { Hypermedia, HypermediaAction } from 'first-npm-package-nicule/core';
export function disableFields(...fieldNames: Array<string>): (hypermediaAction: HypermediaAction, hypermedia: Hypermedia) => HypermediaAction {
return ({ fields, ...rest }: HypermediaAction) => {
fields = fields.map(({ name, isDisabled, ...restField }) => {
if (fieldNames.includes(name)) {
isDisabled = true;
}
return {
name, isDisabled,
...restField
};
});
return { ...rest, fields };
};
}