unleash-server
Version:
Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.
23 lines • 877 B
JavaScript
export const splitByComma = (obj) => {
return Object.entries(obj).reduce((acc, [key, value]) => {
if (key === 'properties' && typeof value === 'object') {
const nested = splitByComma(value);
return { ...acc, ...nested };
}
else if (typeof value === 'string') {
return { ...acc, [key]: value.split(',') };
}
else {
return { ...acc, [key]: [value] };
}
}, {});
};
export const generateCombinations = (obj) => {
const keys = Object.keys(obj);
return keys.reduce((results, key) => results.flatMap((result) => obj[key].map((value) => ({ ...result, [key]: value }))), [{}]);
};
export const generateObjectCombinations = (obj) => {
const splitObj = splitByComma(obj);
return generateCombinations(splitObj);
};
//# sourceMappingURL=generateObjectCombinations.js.map