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