@launchmenu/core
Version:
An environment for visual keyboard controlled applets
29 lines • 1.93 kB
JavaScript
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=
;