UNPKG

raid-addons

Version:

Add-ons functions for use with Raid

30 lines (24 loc) 863 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _utils = require("./utils"); var scopedUpdate = function scopedUpdate(predicate, update) { var match = (0, _utils.check)(predicate); return function (state, event) { var type = typeof event === 'string' || (0, _utils.isFn)(predicate) ? event : event.type; var checked = (0, _utils.isFn)(predicate) ? predicate(state, event) : match(type); return checked ? update(state, event) : state; }; }; var createScope = function createScope(predicate) { return function (update) { return scopedUpdate(predicate, update); }; }; var scope = function scope(predicate, update) { return (0, _utils.isDefined)(update) ? scopedUpdate(predicate, update) : createScope(predicate); }; var _default = scope; exports["default"] = _default;