6 changed files with 378 additions and 46 deletions
@ -0,0 +1,189 @@ |
|||
module.exports = (function() { |
|||
var __MODS__ = {}; |
|||
var __DEFINE__ = function(modId, func, req) { var m = { exports: {}, _tempexports: {} }; __MODS__[modId] = { status: 0, func: func, req: req, m: m }; }; |
|||
var __REQUIRE__ = function(modId, source) { if(!__MODS__[modId]) return require(source); if(!__MODS__[modId].status) { var m = __MODS__[modId].m; m._exports = m._tempexports; var desp = Object.getOwnPropertyDescriptor(m, "exports"); if (desp && desp.configurable) Object.defineProperty(m, "exports", { set: function (val) { if(typeof val === "object" && val !== m._exports) { m._exports.__proto__ = val.__proto__; Object.keys(val).forEach(function (k) { m._exports[k] = val[k]; }); } m._tempexports = val }, get: function () { return m._tempexports; } }); __MODS__[modId].status = 1; __MODS__[modId].func(__MODS__[modId].req, m, m.exports); } return __MODS__[modId].m.exports; }; |
|||
var __REQUIRE_WILDCARD__ = function(obj) { if(obj && obj.__esModule) { return obj; } else { var newObj = {}; if(obj != null) { for(var k in obj) { if (Object.prototype.hasOwnProperty.call(obj, k)) newObj[k] = obj[k]; } } newObj.default = obj; return newObj; } }; |
|||
var __REQUIRE_DEFAULT__ = function(obj) { return obj && obj.__esModule ? obj.default : obj; }; |
|||
__DEFINE__(1772256867255, function(require, module, exports) { |
|||
|
|||
/** |
|||
* Expose `Emitter`. |
|||
*/ |
|||
|
|||
exports.Emitter = Emitter; |
|||
|
|||
/** |
|||
* Initialize a new `Emitter`. |
|||
* |
|||
* @api public |
|||
*/ |
|||
|
|||
function Emitter(obj) { |
|||
if (obj) return mixin(obj); |
|||
} |
|||
|
|||
/** |
|||
* Mixin the emitter properties. |
|||
* |
|||
* @param {Object} obj |
|||
* @return {Object} |
|||
* @api private |
|||
*/ |
|||
|
|||
function mixin(obj) { |
|||
for (var key in Emitter.prototype) { |
|||
obj[key] = Emitter.prototype[key]; |
|||
} |
|||
return obj; |
|||
} |
|||
|
|||
/** |
|||
* Listen on the given `event` with `fn`. |
|||
* |
|||
* @param {String} event |
|||
* @param {Function} fn |
|||
* @return {Emitter} |
|||
* @api public |
|||
*/ |
|||
|
|||
Emitter.prototype.on = |
|||
Emitter.prototype.addEventListener = function(event, fn){ |
|||
this._callbacks = this._callbacks || {}; |
|||
(this._callbacks['$' + event] = this._callbacks['$' + event] || []) |
|||
.push(fn); |
|||
return this; |
|||
}; |
|||
|
|||
/** |
|||
* Adds an `event` listener that will be invoked a single |
|||
* time then automatically removed. |
|||
* |
|||
* @param {String} event |
|||
* @param {Function} fn |
|||
* @return {Emitter} |
|||
* @api public |
|||
*/ |
|||
|
|||
Emitter.prototype.once = function(event, fn){ |
|||
function on() { |
|||
this.off(event, on); |
|||
fn.apply(this, arguments); |
|||
} |
|||
|
|||
on.fn = fn; |
|||
this.on(event, on); |
|||
return this; |
|||
}; |
|||
|
|||
/** |
|||
* Remove the given callback for `event` or all |
|||
* registered callbacks. |
|||
* |
|||
* @param {String} event |
|||
* @param {Function} fn |
|||
* @return {Emitter} |
|||
* @api public |
|||
*/ |
|||
|
|||
Emitter.prototype.off = |
|||
Emitter.prototype.removeListener = |
|||
Emitter.prototype.removeAllListeners = |
|||
Emitter.prototype.removeEventListener = function(event, fn){ |
|||
this._callbacks = this._callbacks || {}; |
|||
|
|||
// all
|
|||
if (0 == arguments.length) { |
|||
this._callbacks = {}; |
|||
return this; |
|||
} |
|||
|
|||
// specific event
|
|||
var callbacks = this._callbacks['$' + event]; |
|||
if (!callbacks) return this; |
|||
|
|||
// remove all handlers
|
|||
if (1 == arguments.length) { |
|||
delete this._callbacks['$' + event]; |
|||
return this; |
|||
} |
|||
|
|||
// remove specific handler
|
|||
var cb; |
|||
for (var i = 0; i < callbacks.length; i++) { |
|||
cb = callbacks[i]; |
|||
if (cb === fn || cb.fn === fn) { |
|||
callbacks.splice(i, 1); |
|||
break; |
|||
} |
|||
} |
|||
|
|||
// Remove event specific arrays for event types that no
|
|||
// one is subscribed for to avoid memory leak.
|
|||
if (callbacks.length === 0) { |
|||
delete this._callbacks['$' + event]; |
|||
} |
|||
|
|||
return this; |
|||
}; |
|||
|
|||
/** |
|||
* Emit `event` with the given args. |
|||
* |
|||
* @param {String} event |
|||
* @param {Mixed} ... |
|||
* @return {Emitter} |
|||
*/ |
|||
|
|||
Emitter.prototype.emit = function(event){ |
|||
this._callbacks = this._callbacks || {}; |
|||
|
|||
var args = new Array(arguments.length - 1) |
|||
, callbacks = this._callbacks['$' + event]; |
|||
|
|||
for (var i = 1; i < arguments.length; i++) { |
|||
args[i - 1] = arguments[i]; |
|||
} |
|||
|
|||
if (callbacks) { |
|||
callbacks = callbacks.slice(0); |
|||
for (var i = 0, len = callbacks.length; i < len; ++i) { |
|||
callbacks[i].apply(this, args); |
|||
} |
|||
} |
|||
|
|||
return this; |
|||
}; |
|||
|
|||
// alias used for reserved events (protected method)
|
|||
Emitter.prototype.emitReserved = Emitter.prototype.emit; |
|||
|
|||
/** |
|||
* Return array of callbacks for `event`. |
|||
* |
|||
* @param {String} event |
|||
* @return {Array} |
|||
* @api public |
|||
*/ |
|||
|
|||
Emitter.prototype.listeners = function(event){ |
|||
this._callbacks = this._callbacks || {}; |
|||
return this._callbacks['$' + event] || []; |
|||
}; |
|||
|
|||
/** |
|||
* Check if this emitter has `event` handlers. |
|||
* |
|||
* @param {String} event |
|||
* @return {Boolean} |
|||
* @api public |
|||
*/ |
|||
|
|||
Emitter.prototype.hasListeners = function(event){ |
|||
return !! this.listeners(event).length; |
|||
}; |
|||
|
|||
}, function(modId) {var map = {}; return __REQUIRE__(map[modId], modId); }) |
|||
return __REQUIRE__(1772256867255); |
|||
})() |
|||
//miniprogram-npm-outsideDeps=[]
|
|||
//# sourceMappingURL=index.js.map
|
|||
@ -0,0 +1 @@ |
|||
{"version":3,"sources":["index.js"],"names":[],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"index.js","sourcesContent":["\n/**\n * Expose `Emitter`.\n */\n\nexports.Emitter = Emitter;\n\n/**\n * Initialize a new `Emitter`.\n *\n * @api public\n */\n\nfunction Emitter(obj) {\n if (obj) return mixin(obj);\n}\n\n/**\n * Mixin the emitter properties.\n *\n * @param {Object} obj\n * @return {Object}\n * @api private\n */\n\nfunction mixin(obj) {\n for (var key in Emitter.prototype) {\n obj[key] = Emitter.prototype[key];\n }\n return obj;\n}\n\n/**\n * Listen on the given `event` with `fn`.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.on =\nEmitter.prototype.addEventListener = function(event, fn){\n this._callbacks = this._callbacks || {};\n (this._callbacks['$' + event] = this._callbacks['$' + event] || [])\n .push(fn);\n return this;\n};\n\n/**\n * Adds an `event` listener that will be invoked a single\n * time then automatically removed.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.once = function(event, fn){\n function on() {\n this.off(event, on);\n fn.apply(this, arguments);\n }\n\n on.fn = fn;\n this.on(event, on);\n return this;\n};\n\n/**\n * Remove the given callback for `event` or all\n * registered callbacks.\n *\n * @param {String} event\n * @param {Function} fn\n * @return {Emitter}\n * @api public\n */\n\nEmitter.prototype.off =\nEmitter.prototype.removeListener =\nEmitter.prototype.removeAllListeners =\nEmitter.prototype.removeEventListener = function(event, fn){\n this._callbacks = this._callbacks || {};\n\n // all\n if (0 == arguments.length) {\n this._callbacks = {};\n return this;\n }\n\n // specific event\n var callbacks = this._callbacks['$' + event];\n if (!callbacks) return this;\n\n // remove all handlers\n if (1 == arguments.length) {\n delete this._callbacks['$' + event];\n return this;\n }\n\n // remove specific handler\n var cb;\n for (var i = 0; i < callbacks.length; i++) {\n cb = callbacks[i];\n if (cb === fn || cb.fn === fn) {\n callbacks.splice(i, 1);\n break;\n }\n }\n\n // Remove event specific arrays for event types that no\n // one is subscribed for to avoid memory leak.\n if (callbacks.length === 0) {\n delete this._callbacks['$' + event];\n }\n\n return this;\n};\n\n/**\n * Emit `event` with the given args.\n *\n * @param {String} event\n * @param {Mixed} ...\n * @return {Emitter}\n */\n\nEmitter.prototype.emit = function(event){\n this._callbacks = this._callbacks || {};\n\n var args = new Array(arguments.length - 1)\n , callbacks = this._callbacks['$' + event];\n\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n\n if (callbacks) {\n callbacks = callbacks.slice(0);\n for (var i = 0, len = callbacks.length; i < len; ++i) {\n callbacks[i].apply(this, args);\n }\n }\n\n return this;\n};\n\n// alias used for reserved events (protected method)\nEmitter.prototype.emitReserved = Emitter.prototype.emit;\n\n/**\n * Return array of callbacks for `event`.\n *\n * @param {String} event\n * @return {Array}\n * @api public\n */\n\nEmitter.prototype.listeners = function(event){\n this._callbacks = this._callbacks || {};\n return this._callbacks['$' + event] || [];\n};\n\n/**\n * Check if this emitter has `event` handlers.\n *\n * @param {String} event\n * @return {Boolean}\n * @api public\n */\n\nEmitter.prototype.hasListeners = function(event){\n return !! this.listeners(event).length;\n};\n"]} |
|||
Loading…
Reference in new issue