You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					71 lines
				
				2.4 KiB
			
		
		
			
		
	
	
					71 lines
				
				2.4 KiB
			| 
								 
											4 years ago
										 
									 | 
							
								(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.TinyEmitter = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
							 | 
						||
| 
								 | 
							
								function E () {
							 | 
						||
| 
								 | 
							
								  // Keep this empty so it's easier to inherit from
							 | 
						||
| 
								 | 
							
								  // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								E.prototype = {
							 | 
						||
| 
								 | 
							
								  on: function (name, callback, ctx) {
							 | 
						||
| 
								 | 
							
								    var e = this.e || (this.e = {});
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    (e[name] || (e[name] = [])).push({
							 | 
						||
| 
								 | 
							
								      fn: callback,
							 | 
						||
| 
								 | 
							
								      ctx: ctx
							 | 
						||
| 
								 | 
							
								    });
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    return this;
							 | 
						||
| 
								 | 
							
								  },
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  once: function (name, callback, ctx) {
							 | 
						||
| 
								 | 
							
								    var self = this;
							 | 
						||
| 
								 | 
							
								    function listener () {
							 | 
						||
| 
								 | 
							
								      self.off(name, listener);
							 | 
						||
| 
								 | 
							
								      callback.apply(ctx, arguments);
							 | 
						||
| 
								 | 
							
								    };
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    listener._ = callback
							 | 
						||
| 
								 | 
							
								    return this.on(name, listener, ctx);
							 | 
						||
| 
								 | 
							
								  },
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  emit: function (name) {
							 | 
						||
| 
								 | 
							
								    var data = [].slice.call(arguments, 1);
							 | 
						||
| 
								 | 
							
								    var evtArr = ((this.e || (this.e = {}))[name] || []).slice();
							 | 
						||
| 
								 | 
							
								    var i = 0;
							 | 
						||
| 
								 | 
							
								    var len = evtArr.length;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    for (i; i < len; i++) {
							 | 
						||
| 
								 | 
							
								      evtArr[i].fn.apply(evtArr[i].ctx, data);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    return this;
							 | 
						||
| 
								 | 
							
								  },
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  off: function (name, callback) {
							 | 
						||
| 
								 | 
							
								    var e = this.e || (this.e = {});
							 | 
						||
| 
								 | 
							
								    var evts = e[name];
							 | 
						||
| 
								 | 
							
								    var liveEvents = [];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    if (evts && callback) {
							 | 
						||
| 
								 | 
							
								      for (var i = 0, len = evts.length; i < len; i++) {
							 | 
						||
| 
								 | 
							
								        if (evts[i].fn !== callback && evts[i].fn._ !== callback)
							 | 
						||
| 
								 | 
							
								          liveEvents.push(evts[i]);
							 | 
						||
| 
								 | 
							
								      }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    // Remove event from queue to prevent memory leak
							 | 
						||
| 
								 | 
							
								    // Suggested by https://github.com/lazd
							 | 
						||
| 
								 | 
							
								    // Ref: https://github.com/scottcorgan/tiny-emitter/commit/c6ebfaa9bc973b33d110a84a307742b7cf94c953#commitcomment-5024910
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    (liveEvents.length)
							 | 
						||
| 
								 | 
							
								      ? e[name] = liveEvents
							 | 
						||
| 
								 | 
							
								      : delete e[name];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    return this;
							 | 
						||
| 
								 | 
							
								  }
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								module.exports = E;
							 | 
						||
| 
								 | 
							
								module.exports.TinyEmitter = E;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								},{}]},{},[1])(1)
							 | 
						||
| 
								 | 
							
								});
							 |