secure-event-emitter
Version:
SecureEventEmitter is a tiny javascript package that uses restrict rules and mechanisms to build safer and protected event-driven architecture. It's similar to nodejs EventEmitter, but dictates stricter rules to prevent misuse.
29 lines (22 loc) • 760 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useListener = void 0;
var _react = require("react");
var _utils = require("../utils");
var useListener = function useListener(observable) {
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
args[_key - 1] = arguments[_key];
}
if (!(0, _utils.isObservable)(observable)) {
throw new TypeError('[[useListener]] first argument type must be a observable object');
}
(0, _react.useEffect)(function () {
observable.on.apply(observable, args);
return function () {
observable.off.apply(observable, args);
};
}, [observable].concat(args));
};
exports.useListener = useListener;