/**1*2* @template Data3* @template Target4* @template That5* @property {Data} data6* @property {Target} target7* @property {That} that8*/9class HookEvent {10#intercepted;11#returnValue;12/**13*14* @param {Data} data15* @param {Target} target16* @param {That} that17*/18constructor(data = {}, target = null, that = null) {19this.#intercepted = false;20this.#returnValue = null;21/**22* @type {Data}23*/24this.data = data;25/**26* @type {Target}27*/28this.target = target;29/**30* @type {That}31*/32this.that = that;33}34get intercepted() {35return this.#intercepted;36}37get returnValue() {38return this.#returnValue;39}40respondWith(input) {41this.#returnValue = input;42this.#intercepted = true;43}44}4546export default HookEvent;474849