@sparklink-pro/apant
Version:
Apollo & Antd tools
34 lines • 1.09 kB
JavaScript
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