UNPKG

raid-addons

Version:

Add-ons functions for use with Raid

25 lines (21 loc) 678 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _utils = require("./utils"); /** * Creates a hook that runs on every emit and matches on an event * type predicate */ var hook = function hook(fn) { var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var predicate = opts.predicate || null; var match = (0, _utils.check)(predicate); return function (state, event) { var type = typeof event === 'string' || (0, _utils.isFn)(predicate) ? event : event.type; return match(type) ? fn(state, event) : state; }; }; var _default = hook; exports["default"] = _default;