var s, o;
function n() {
  if (o) return s;
  o = 1;
  function i(t) {
    this.options = t, !t.deferSetup && this.setup();
  }
  return i.prototype = {
    constructor: i,
    /**
     * coordinates setup of the handler
     *
     * @function
     */
    setup: function() {
      this.options.setup && this.options.setup(), this.initialised = !0;
    },
    /**
     * coordinates setup and triggering of the handler
     *
     * @function
     */
    on: function() {
      !this.initialised && this.setup(), this.options.match && this.options.match();
    },
    /**
     * coordinates the unmatch event for the handler
     *
     * @function
     */
    off: function() {
      this.options.unmatch && this.options.unmatch();
    },
    /**
     * called when a handler is to be destroyed.
     * delegates to the destroy or unmatch callbacks, depending on availability.
     *
     * @function
     */
    destroy: function() {
      this.options.destroy ? this.options.destroy() : this.off();
    },
    /**
     * determines equality by reference.
     * if object is supplied compare options, if function, compare match callback
     *
     * @function
     * @param {object || function} [target] the target for comparison
     */
    equals: function(t) {
      return this.options === t || this.options.match === t;
    }
  }, s = i, s;
}
export {
  n as __require
};
//# sourceMappingURL=QueryHandler.js.map
