@applicaster/zapp-react-native-utils
Version:
Applicaster Zapp React Native utilities package
32 lines (25 loc) • 665 B
text/typescript
import {
flatMap,
get,
flatten,
difference,
} from "@applicaster/zapp-react-native-utils/utils";
const extractFields = (field: any) => {
if (field.group === true) {
return field.fields;
}
return field;
};
export const getAllFields = (...configs: any[]) => {
const allFields = flatMap(configs, (config) => get(config, "fields", []));
const processedFields = flatten(allFields.map(extractFields))
.map((field) => get(field, "key"))
.filter(Boolean);
return processedFields;
};
export const getConfigurationDiff = (
defaultConfig,
config: Record<string, any>
) => {
return difference(defaultConfig, Object.keys(config));
};