You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
"use strict";
Object.defineProperty(exports, "__esModule", { value: true }); exports.default = plugin; function plugin(targets, nodeTypes, detect) { class Plugin { constructor(result) { this.nodes = []; this.result = result; this.targets = targets; this.nodeTypes = nodeTypes; }
push(node, metadata) { node._stylehacks = Object.assign({}, metadata, { message: `Bad ${metadata.identifier}: ${metadata.hack}`, browsers: this.targets });
this.nodes.push(node); }
any(node) { if (~this.nodeTypes.indexOf(node.type)) { detect.apply(this, arguments);
return !!node._stylehacks; }
return false; }
detectAndResolve(...args) { this.nodes = [];
detect.apply(this, args);
return this.resolve(); }
detectAndWarn(...args) { this.nodes = [];
detect.apply(this, args);
return this.warn(); }
resolve() { return this.nodes.forEach(node => node.remove()); }
warn() { return this.nodes.forEach(node => { const { message, browsers, identifier, hack } = node._stylehacks;
return node.warn(this.result, message, { browsers, identifier, hack }); }); } }
return Plugin; } module.exports = exports["default"];
|