| Index: tools/vulcanize/node_modules/vulcanize/node_modules/cheerio/lib/static.js
|
| diff --git a/tools/vulcanize/node_modules/vulcanize/node_modules/cheerio/lib/static.js b/tools/vulcanize/node_modules/vulcanize/node_modules/cheerio/lib/static.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..10eabf5a2d067ab29aa4964a2ec34918de81f318
|
| --- /dev/null
|
| +++ b/tools/vulcanize/node_modules/vulcanize/node_modules/cheerio/lib/static.js
|
| @@ -0,0 +1,134 @@
|
| +/**
|
| + * Module dependencies
|
| + */
|
| +
|
| +var select = require('cheerio-select'),
|
| + parse = require('./parse'),
|
| + render = require('./render'),
|
| + decode = require('./utils').decode;
|
| +
|
| +/**
|
| + * $.load(str)
|
| + */
|
| +
|
| +var load = exports.load = function(str, options) {
|
| + var Cheerio = require('./cheerio'),
|
| + root = parse(str, options);
|
| +
|
| + var initialize = function(selector, context, r) {
|
| + return new Cheerio(selector, context, r || root);
|
| + };
|
| +
|
| + // Add in the static methods
|
| + initialize.__proto__ = exports;
|
| +
|
| + // Add in the root
|
| + initialize._root = root;
|
| +
|
| + return initialize;
|
| +};
|
| +
|
| +/**
|
| + * $.html([selector | dom])
|
| + */
|
| +
|
| +var html = exports.html = function(dom) {
|
| + if (dom) {
|
| + dom = (typeof dom === 'string') ? select(dom, this._root) : dom;
|
| + return render(dom);
|
| + } else if (this._root && this._root.children) {
|
| + return render(this._root.children);
|
| + } else {
|
| + return '';
|
| + }
|
| +};
|
| +
|
| +/**
|
| + * $.xml([selector | dom])
|
| + */
|
| +
|
| +var xml = exports.xml = function(dom) {
|
| + if (dom) {
|
| + dom = (typeof dom === 'string') ? select(dom, this._root) : dom;
|
| + return render(dom, { xmlMode: true });
|
| + } else if (this._root && this._root.children) {
|
| + return render(this._root.children, { xmlMode: true });
|
| + } else {
|
| + return '';
|
| + }
|
| +};
|
| +
|
| +/**
|
| + * $.text(dom)
|
| + */
|
| +
|
| +var text = exports.text = function(elems) {
|
| + if (!elems) return '';
|
| +
|
| + var ret = '',
|
| + len = elems.length,
|
| + elem;
|
| +
|
| + for (var i = 0; i < len; i ++) {
|
| + elem = elems[i];
|
| + if (elem.type === 'text') ret += decode(elem.data);
|
| + else if (elem.children && elem.type !== 'comment') {
|
| + ret += text(elem.children);
|
| + }
|
| + }
|
| +
|
| + return ret;
|
| +};
|
| +
|
| +/**
|
| + * $.parseHTML(data [, context ] [, keepScripts ])
|
| + * Parses a string into an array of DOM nodes. The `context` argument has no
|
| + * meaning for Cheerio, but it is maintained for API compatability with jQuery.
|
| + */
|
| +var parseHTML = exports.parseHTML = function(data, context, keepScripts) {
|
| + var parsed;
|
| +
|
| + if (!data || typeof data !== 'string') {
|
| + return null;
|
| + }
|
| +
|
| + if (typeof context === 'boolean') {
|
| + keepScripts = context;
|
| + }
|
| +
|
| + parsed = this.load(data);
|
| + if (!keepScripts) {
|
| + parsed('script').remove();
|
| + }
|
| +
|
| + return parsed.root()[0].children;
|
| +};
|
| +
|
| +/**
|
| + * $.root()
|
| + */
|
| +var root = exports.root = function() {
|
| + return this(this._root);
|
| +};
|
| +
|
| +/**
|
| + * $.contains()
|
| + */
|
| +var contains = exports.contains = function(container, contained) {
|
| +
|
| + // According to the jQuery API, an element does not "contain" itself
|
| + if (contained === container) {
|
| + return false;
|
| + }
|
| +
|
| + // Step up the descendents, stopping when the root element is reached
|
| + // (signaled by `.parent` returning a reference to the same object)
|
| + while (contained && contained !== contained.parent) {
|
| + contained = contained.parent;
|
| + if (contained === container) {
|
| + return true;
|
| + }
|
| + }
|
| +
|
| + return false;
|
| +};
|
|
|