7 changed files with 822 additions and 134 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