diff options
Diffstat (limited to 'bin/wiki/ImportarDesdeURL/node_modules/metascraper/src/index.js')
-rw-r--r-- | bin/wiki/ImportarDesdeURL/node_modules/metascraper/src/index.js | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/bin/wiki/ImportarDesdeURL/node_modules/metascraper/src/index.js b/bin/wiki/ImportarDesdeURL/node_modules/metascraper/src/index.js new file mode 100644 index 00000000..752c28b4 --- /dev/null +++ b/bin/wiki/ImportarDesdeURL/node_modules/metascraper/src/index.js @@ -0,0 +1,30 @@ +'use strict' + +const { isUrl } = require('@metascraper/helpers') +const whoops = require('whoops') + +const mergeRules = require('./merge-rules') +const loadRules = require('./load-rules') +const loadHTML = require('./load-html') +const getData = require('./get-data') + +const MetascraperError = whoops('MetascraperError') + +module.exports = rules => { + const loadedRules = loadRules(rules) + return async ({ url, html, rules: inlineRules, escape = true } = {}) => { + if (!isUrl(url)) { + throw new MetascraperError({ + message: 'Need to provide a valid URL.', + code: 'INVALID_URL' + }) + } + const htmlDom = loadHTML(html) + return getData({ + url, + escape, + htmlDom, + rules: mergeRules(inlineRules, loadedRules) + }) + } +} |