UNPKG

ts-events

Version:

Various EventEmitter event replacements with synchronous, a-synchronous, and queued events. Made in TypeScript so usable with JavaScript and TypeScript.

52 lines 4.77 kB
// Copyright © 2015 Rogier Schouten<github@workingcode.ninja> // License: ISC 'use strict'; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.flush = exports.flushOnce = exports.queue = void 0; __exportStar(require("./base-event"), exports); __exportStar(require("./sync-event"), exports); __exportStar(require("./queued-event"), exports); __exportStar(require("./async-event"), exports); __exportStar(require("./any-event"), exports); var EventQueue_1 = require("./EventQueue"); var EventQueue_2 = require("./EventQueue"); Object.defineProperty(exports, "EventQueue", { enumerable: true, get: function () { return EventQueue_2.default; } }); /** * The global event queue for QueuedEvents */ function queue() { return EventQueue_1.default.global(); } exports.queue = queue; /** * Convenience function, same as EventQueue.global().flushOnce(). * Flushes the QueuedEvents, calling all events currently in the queue but not * any events put into the queue as a result of the flush. */ function flushOnce() { EventQueue_1.default.global().flushOnce(); } exports.flushOnce = flushOnce; /** * Convenience function, same as EventQueue.global().flush(). * Flushes the QueuedEvents, calling all handlers currently in the queue and those * put into the queue as a result of the flush. * @param maxRounds Optional, default 10. Number of iterations after which to throw an error because * the queue keeps filling up. Set to undefined or null to disable this. */ function flush(maxRounds) { if (maxRounds === void 0) { maxRounds = 10; } EventQueue_1.default.global().flush(maxRounds); } exports.flush = flush; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDZEQUE2RDtBQUM3RCxlQUFlO0FBRWYsWUFBWSxDQUFDOzs7Ozs7Ozs7Ozs7O0FBRWIsK0NBQTZCO0FBQzdCLCtDQUE2QjtBQUM3QixpREFBK0I7QUFDL0IsZ0RBQThCO0FBQzlCLDhDQUE0QjtBQUU1QiwyQ0FBbUQ7QUFDbkQsMkNBQW1EO0FBQTNDLHdHQUFBLE9BQU8sT0FBYztBQUU3Qjs7R0FFRztBQUNILFNBQWdCLEtBQUs7SUFDakIsT0FBTyxvQkFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO0FBQy9CLENBQUM7QUFGRCxzQkFFQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixTQUFTO0lBQ3JCLG9CQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7QUFDcEMsQ0FBQztBQUZELDhCQUVDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsU0FBZ0IsS0FBSyxDQUFDLFNBQTZCO0lBQTdCLDBCQUFBLEVBQUEsY0FBNkI7SUFDL0Msb0JBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDekMsQ0FBQztBQUZELHNCQUVDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IMKpIDIwMTUgUm9naWVyIFNjaG91dGVuPGdpdGh1YkB3b3JraW5nY29kZS5uaW5qYT5cbi8vIExpY2Vuc2U6IElTQ1xuXG4ndXNlIHN0cmljdCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vYmFzZS1ldmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3N5bmMtZXZlbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9xdWV1ZWQtZXZlbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9hc3luYy1ldmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2FueS1ldmVudCc7XG5cbmltcG9ydCB7ZGVmYXVsdCBhcyBFdmVudFF1ZXVlfSBmcm9tICcuL0V2ZW50UXVldWUnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIEV2ZW50UXVldWV9IGZyb20gJy4vRXZlbnRRdWV1ZSc7XG5cbi8qKlxuICogVGhlIGdsb2JhbCBldmVudCBxdWV1ZSBmb3IgUXVldWVkRXZlbnRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBxdWV1ZSgpOiBFdmVudFF1ZXVlIHtcbiAgICByZXR1cm4gRXZlbnRRdWV1ZS5nbG9iYWwoKTtcbn1cblxuLyoqXG4gKiBDb252ZW5pZW5jZSBmdW5jdGlvbiwgc2FtZSBhcyBFdmVudFF1ZXVlLmdsb2JhbCgpLmZsdXNoT25jZSgpLlxuICogRmx1c2hlcyB0aGUgUXVldWVkRXZlbnRzLCBjYWxsaW5nIGFsbCBldmVudHMgY3VycmVudGx5IGluIHRoZSBxdWV1ZSBidXQgbm90XG4gKiBhbnkgZXZlbnRzIHB1dCBpbnRvIHRoZSBxdWV1ZSBhcyBhIHJlc3VsdCBvZiB0aGUgZmx1c2guXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmbHVzaE9uY2UoKTogdm9pZCB7XG4gICAgRXZlbnRRdWV1ZS5nbG9iYWwoKS5mbHVzaE9uY2UoKTtcbn1cblxuLyoqXG4gKiBDb252ZW5pZW5jZSBmdW5jdGlvbiwgc2FtZSBhcyBFdmVudFF1ZXVlLmdsb2JhbCgpLmZsdXNoKCkuXG4gKiBGbHVzaGVzIHRoZSBRdWV1ZWRFdmVudHMsIGNhbGxpbmcgYWxsIGhhbmRsZXJzIGN1cnJlbnRseSBpbiB0aGUgcXVldWUgYW5kIHRob3NlXG4gKiBwdXQgaW50byB0aGUgcXVldWUgYXMgYSByZXN1bHQgb2YgdGhlIGZsdXNoLlxuICogQHBhcmFtIG1heFJvdW5kcyBPcHRpb25hbCwgZGVmYXVsdCAxMC4gTnVtYmVyIG9mIGl0ZXJhdGlvbnMgYWZ0ZXIgd2hpY2ggdG8gdGhyb3cgYW4gZXJyb3IgYmVjYXVzZVxuICogICAgICAgICAgICAgICAgICB0aGUgcXVldWUga2VlcHMgZmlsbGluZyB1cC4gU2V0IHRvIHVuZGVmaW5lZCBvciBudWxsIHRvIGRpc2FibGUgdGhpcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZsdXNoKG1heFJvdW5kczogbnVtYmVyIHwgbnVsbCA9IDEwKTogdm9pZCB7XG4gICAgRXZlbnRRdWV1ZS5nbG9iYWwoKS5mbHVzaChtYXhSb3VuZHMpO1xufVxuIl19