map-keys.js 399 B

123456789101112131415
  1. functions.add('map-keys', function ({ ruleset: { rules } } = { ruleset: { rules: [] } }) {
  2. const keys = []
  3. rules.forEach(rule => {
  4. // Not exactly sure how to handle other types (or if they should be handled at all).
  5. if (! (rule instanceof tree.Declaration))
  6. return
  7. const { name: key } = rule.eval(this.context)
  8. keys.push(new tree.Anonymous(key))
  9. })
  10. return new tree.Value(keys)
  11. })