summaryrefslogtreecommitdiff
path: root/bin/wiki/ImportarDesdeURL/node_modules/metascraper/src/load-rules.js
blob: 00c0d49112477b580725f9be4b7402127f8ae7bb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
'use strict'

const { has, set, concat, forEach, chain } = require('lodash')

module.exports = rulesBundle =>
  chain(rulesBundle)
    .reduce((acc, { test, ...rules }) => {
      forEach(rules, function (innerRules, propName) {
        if (test) forEach(innerRules, rule => (rule.test = test))

        set(
          acc,
          propName,
          has(acc, propName)
            ? concat(acc[propName], innerRules)
            : concat(innerRules)
        )

        return acc
      })
      return acc
    }, {})
    .toPairs()
    .value()