UNPKG

motion

Version:

motion - moving development forward

28 lines (25 loc) 807 B
'use strict'; /* @flow */ var _sbEventKit = require('sb-event-kit'); module.exports = function disposableEvent(target, eventName, callback) { if (target.on) { target.on(eventName, callback); } else if (target.addListener) { target.addListener(eventName, callback); } else if (target.addEventListener) { target.addEventListener(eventName, callback); } else { throw new Error('Unknown event emitter'); } return new _sbEventKit.Disposable(function () { if (target.off) { target.off(eventName, callback); } else if (target.removeListener) { target.removeListener(eventName, callback); } else if (target.removeEventListener) { target.removeEventListener(eventName, callback); } else { throw new Error('Unknown event emitter'); } }); };