react-native-bottom-sheets
Version:
A tiny wrapper around @gorhom/bottom-sheet to make it easier to use in react-native projects.
29 lines (28 loc) • 1.02 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var EventEmitter = /** @class */ (function () {
function EventEmitter() {
this.events = {};
}
EventEmitter.prototype.emit = function (event) {
var args = [];
for (var _i = 1; _i < arguments.length; _i++) {
args[_i - 1] = arguments[_i];
}
if (this.events[event]) {
this.events[event].forEach(function (callback) { return callback.apply(void 0, args); });
}
};
EventEmitter.prototype.on = function (event, callback) {
if (!this.events[event]) {
this.events[event] = [];
}
this.events[event].push(callback);
};
EventEmitter.prototype.off = function (event, callback) {
var _a;
this.events[event] = ((_a = this.events[event]) === null || _a === void 0 ? void 0 : _a.filter(function (cb) { return cb !== callback; })) || [];
};
return EventEmitter;
}());
exports.default = EventEmitter;