UNPKG

@launchmenu/core

Version:

An environment for visual keyboard controlled applets

29 lines 1.93 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.mergeCallbacksOptional = exports.mergeCallbacks = void 0; /** * Merges a number of callbacks together * @param callbacks The list of callbacks to be merged * @returns The resulting callback that calls all callbacks */ function mergeCallbacks(callbacks) { return mergeCallbacksOptional(callbacks) || (() => { }); } exports.mergeCallbacks = mergeCallbacks; /** * Merges a number of callbacks together, possibly returning undefined if no callbacks were supplied * @param callbacks The list of callbacks to be merged * @returns The resulting callback that calls all callbacks, which returns the result of the last passed cb */ function mergeCallbacksOptional(callbacks) { return callbacks.reduce((cur, cb) => cb ? cur ? (...data) => { cur(...data); return cb(...data); } : cb : cur, undefined); } exports.mergeCallbacksOptional = mergeCallbacksOptional; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVyZ2VDYWxsYmFja3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvbWVyZ2VDYWxsYmFja3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7Ozs7R0FJRztBQUNILFNBQWdCLGNBQWMsQ0FDMUIsU0FBaUQ7SUFFakQsT0FBTyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzNELENBQUM7QUFKRCx3Q0FJQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixzQkFBc0IsQ0FDbEMsU0FBOEM7SUFFOUMsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUNuQixDQUFDLEdBQW9DLEVBQUUsRUFBcUIsRUFBRSxFQUFFLENBQzVELEVBQUU7UUFDRSxDQUFDLENBQUMsR0FBRztZQUNELENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxFQUFFLEVBQUU7Z0JBQ1IsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7Z0JBQ2IsT0FBTyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztZQUN2QixDQUFDO1lBQ0gsQ0FBQyxDQUFDLEVBQUU7UUFDUixDQUFDLENBQUMsR0FBRyxFQUNiLFNBQVMsQ0FDWixDQUFDO0FBQ04sQ0FBQztBQWZELHdEQWVDIn0=