index.js 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. module.exports = (function() {
  2. var __MODS__ = {};
  3. var __DEFINE__ = function(modId, func, req) { var m = { exports: {}, _tempexports: {} }; __MODS__[modId] = { status: 0, func: func, req: req, m: m }; };
  4. 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; };
  5. 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; } };
  6. var __REQUIRE_DEFAULT__ = function(obj) { return obj && obj.__esModule ? obj.default : obj; };
  7. __DEFINE__(1679043784147, function(require, module, exports) {
  8. Object.defineProperty(exports, "__esModule", { value: true });
  9. var WILDCARD = '*';
  10. /* event-emitter */
  11. var EventEmitter = /** @class */ (function () {
  12. function EventEmitter() {
  13. this._events = {};
  14. }
  15. /**
  16. * 监听一个事件
  17. * @param evt
  18. * @param callback
  19. * @param once
  20. */
  21. EventEmitter.prototype.on = function (evt, callback, once) {
  22. if (!this._events[evt]) {
  23. this._events[evt] = [];
  24. }
  25. this._events[evt].push({
  26. callback: callback,
  27. once: !!once,
  28. });
  29. return this;
  30. };
  31. /**
  32. * 监听一个事件一次
  33. * @param evt
  34. * @param callback
  35. */
  36. EventEmitter.prototype.once = function (evt, callback) {
  37. return this.on(evt, callback, true);
  38. };
  39. /**
  40. * 触发一个事件
  41. * @param evt
  42. * @param args
  43. */
  44. EventEmitter.prototype.emit = function (evt) {
  45. var _this = this;
  46. var args = [];
  47. for (var _i = 1; _i < arguments.length; _i++) {
  48. args[_i - 1] = arguments[_i];
  49. }
  50. var events = this._events[evt] || [];
  51. var wildcardEvents = this._events[WILDCARD] || [];
  52. // 实际的处理 emit 方法
  53. var doEmit = function (es) {
  54. var length = es.length;
  55. for (var i = 0; i < length; i++) {
  56. if (!es[i]) {
  57. continue;
  58. }
  59. var _a = es[i], callback = _a.callback, once = _a.once;
  60. if (once) {
  61. es.splice(i, 1);
  62. if (es.length === 0) {
  63. delete _this._events[evt];
  64. }
  65. length--;
  66. i--;
  67. }
  68. callback.apply(_this, args);
  69. }
  70. };
  71. doEmit(events);
  72. doEmit(wildcardEvents);
  73. };
  74. /**
  75. * 取消监听一个事件,或者一个channel
  76. * @param evt
  77. * @param callback
  78. */
  79. EventEmitter.prototype.off = function (evt, callback) {
  80. if (!evt) {
  81. // evt 为空全部清除
  82. this._events = {};
  83. }
  84. else {
  85. if (!callback) {
  86. // evt 存在,callback 为空,清除事件所有方法
  87. delete this._events[evt];
  88. }
  89. else {
  90. // evt 存在,callback 存在,清除匹配的
  91. var events = this._events[evt] || [];
  92. var length_1 = events.length;
  93. for (var i = 0; i < length_1; i++) {
  94. if (events[i].callback === callback) {
  95. events.splice(i, 1);
  96. length_1--;
  97. i--;
  98. }
  99. }
  100. if (events.length === 0) {
  101. delete this._events[evt];
  102. }
  103. }
  104. }
  105. return this;
  106. };
  107. /* 当前所有的事件 */
  108. EventEmitter.prototype.getEvents = function () {
  109. return this._events;
  110. };
  111. return EventEmitter;
  112. }());
  113. exports.default = EventEmitter;
  114. //# sourceMappingURL=index.js.map
  115. }, function(modId) {var map = {}; return __REQUIRE__(map[modId], modId); })
  116. return __REQUIRE__(1679043784147);
  117. })()
  118. //miniprogram-npm-outsideDeps=[]
  119. //# sourceMappingURL=index.js.map