@ifreeovo/highlight-dom
Version:
实现类似dom-inspector的高亮效果
3 lines (2 loc) • 790 B
JavaScript
import{SyncHook as e}from"tapable";import{isFunction as t}from"radash";const o=["beforeCreateOverlay","beforeMountOverlay"];class r{constructor(){this.hooks={beforeHighlight:new e(["ctx","target"]),afterHighlight:new e(["ctx"]),beforeInitOverlay:new e(["ctx"]),afterInitOverlay:new e(["ctx"]),beforeCreateOverlay:new e(["ctx","options"]),afterCreateOverlay:new e(["ctx"]),beforeMountOverlay:new e(["ctx"]),afterMountOverlay:new e(["ctx"]),generateCss:new e(["ctx"])},this.plugins=new Map}install(e){e.forEach((e=>{e.hooks&&this.use(e)}))}use(e){const o=Object.keys(this.hooks);Object.keys(e.hooks).forEach((r=>{const s=e.hooks[r];o.includes(r)&&t(s)&&(this.hooks[r].tap(e.name,s),this.plugins.set(e.name,e.hooks))}))}}export{r as default,o as hookTypes};
//# sourceMappingURL=plugin.js.map