UNPKG

@bianic-ui/utils

Version:

Common utilties and types for Bianic UI

59 lines (53 loc) 1.36 kB
import memoize from "memoize-one"; import { isFunction, __DEV__ } from "./assertion"; export function runIfFn(valueOrFn) { for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { args[_key - 1] = arguments[_key]; } return isFunction(valueOrFn) ? valueOrFn(...args) : valueOrFn; } export function callAllHandlers() { for (var _len2 = arguments.length, fns = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { fns[_key2] = arguments[_key2]; } return function (event) { fns.some(fn => { fn && fn(event); return event && event.defaultPrevented; }); }; } export { memoize }; export function once(fn) { var result; return function () { if (fn) { for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { args[_key3] = arguments[_key3]; } result = fn.apply(this, args); fn = null; } return result; }; } export var noop = () => {}; export var warn = once(options => { var { condition, message } = options; if (condition && __DEV__) { console.warn(message); } }); export var error = once(options => { var { condition, message } = options; if (condition && __DEV__) { console.error(message); } }); //# sourceMappingURL=function.js.map