UNPKG

@sparklink-pro/apant

Version:

Apollo & Antd tools

34 lines 1.09 kB
import { isArray, isString, every, flatten, isNumber } from 'lodash-es'; export const normalizeFieldName = (name) => { if (isString(name)) { return name.split('.'); } if (isArray(name)) { return flatten(name.map((n) => (isString(n) ? normalizeFieldName(n) : n))); } if (isNumber(name)) { return [name]; } throw new Error(`Invalid field name of type ${typeof name}`); }; export const dottedFieldName = (name) => name.join('.'); export const getFormHelpers = (form) => ({ isset(...names) { return every(names, (name) => form.getFieldValue(normalizeFieldName(name))); }, unset(...names) { return every(names, (name) => !form.getFieldValue(normalizeFieldName(name))); }, }); export const mergeNamePath = (...namePaths) => { const mergedNamePath = []; namePaths.forEach((namePath) => { if (!namePath) { return; } mergedNamePath.push(...normalizeFieldName(namePath)); }); return mergedNamePath; }; export default getFormHelpers; //# sourceMappingURL=form.js.map