Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | 2x 2x 2x | const { mapObject, mapObjectValues } = require('../utils/helpers'); const { isNestedStyles, isAtRuleObject } = require('../utils/styles'); function flatten(type, object) { return mapObject(object, ([key, value]) => { return [`${type} ${key}`, flattenObjectAtRules(value)]; }); } function flattenObjectAtRules(styles) { const entries = Object.entries(styles).flatMap(([name, value]) => { if (!isNestedStyles(value)) { return [[name, value]]; } if (isAtRuleObject(name)) { return Object.entries(flatten(name, value)); } return [[name, flattenObjectAtRules(value)]]; }); return Object.fromEntries(entries); } function flattenAtRules(obj) { return mapObjectValues(obj, flattenObjectAtRules); } module.exports = flattenAtRules; |