UNPKG

unleash-server

Version:

Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.

29 lines 1.23 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.generateObjectCombinations = exports.generateCombinations = exports.splitByComma = void 0; const splitByComma = (obj) => { return Object.entries(obj).reduce((acc, [key, value]) => { if (key === 'properties' && typeof value === 'object') { const nested = (0, exports.splitByComma)(value); return { ...acc, ...nested }; } else if (typeof value === 'string') { return { ...acc, [key]: value.split(',') }; } else { return { ...acc, [key]: [value] }; } }, {}); }; exports.splitByComma = splitByComma; const generateCombinations = (obj) => { const keys = Object.keys(obj); return keys.reduce((results, key) => results.flatMap((result) => obj[key].map((value) => ({ ...result, [key]: value }))), [{}]); }; exports.generateCombinations = generateCombinations; const generateObjectCombinations = (obj) => { const splitObj = (0, exports.splitByComma)(obj); return (0, exports.generateCombinations)(splitObj); }; exports.generateObjectCombinations = generateObjectCombinations; //# sourceMappingURL=generateObjectCombinations.js.map