| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 | "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"];
 |