@cclr/emitter 0.1.11 → 0.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/cjs/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";function e(e,t,n){return Object.defineProperty(e,"prototype",{writable:!1}),e}function t(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var n=e((function e(){var n=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),t(this,"eventMap",{}),t(this,"destroy",(function(){n.eventMap={}})),t(this,"addListener",(function(e,t){var r;(r=n.eventMap)[e]||(r[e]=[]);var i=function(){n.removeListener(e,t)};return n.eventMap[e].includes(t)||n.eventMap[e].push(t),i})),t(this,"removeListener",(function(e,t){var r;if(null!==(r=n.eventMap[e])&&void 0!==r&&r.length){var i=n.eventMap[e].findIndex((function(e){return e===t}));-1!==i&&n.eventMap[e].splice(i,1)}})),t(this,"emit",(function(e,t){(n.eventMap[e]||[]).forEach((function(e){e(t)}))}))}));exports.Emitter=n;
1
+ "use strict";function e(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function t(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,i(r.key),r)}}function n(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function r(e,t,n){return(t=i(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}var o,u=function(){function t(){var n=this;e(this,t),r(this,"eventMap",{}),r(this,"destroy",(function(){n.eventMap={}})),r(this,"addListener",(function(e,t){var r;(r=n.eventMap)[e]||(r[e]=[]);var i=function(){n.removeListener(e,t)};return n.eventMap[e].includes(t)||n.eventMap[e].push(t),i})),r(this,"removeListener",(function(e,t){var r;if(null!==(r=n.eventMap[e])&&void 0!==r&&r.length){var i=n.eventMap[e].findIndex((function(e){return e===t}));-1!==i&&n.eventMap[e].splice(i,1)}})),r(this,"emit",(function(e,t){(n.eventMap[e]||[]).forEach((function(e){e(t)}))}))}return n(t,null,[{key:"create",value:function(){return new t}}])}(),a="__public__",v=n((function t(){var n=this;e(this,t),r(this,"groupEventMap",{}),r(this,"emitter",u.create()),r(this,"destroy",(function(){n.groupEventMap={},n.emitter.destroy()})),r(this,"addListener",(function(e,t){var r,i,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:a,u="".concat(o,".").concat(e);return(r=n.groupEventMap)[o]||(r[o]={}),(i=n.groupEventMap[o])[e]||(i[e]=[]),n.groupEventMap[o][e].push(u),n.emitter.addListener(u,t),n.removeListener.bind(n,e,t,o)})),r(this,"removeListener",(function(e,t){var r,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:a,o="".concat(i,".").concat(e);if(n.emitter.removeListener(o,t),null!==(r=n.groupEventMap[i])&&void 0!==r&&null!==(r=r[e])&&void 0!==r&&r.length){var u=n.groupEventMap[i][e].findIndex((function(e){return e===o}));-1!==u&&n.groupEventMap[i][e].splice(u,1)}})),r(this,"emit",(function(e,t){var r,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:a;((null===(r=n.groupEventMap[i])||void 0===r?void 0:r[e])||[]).forEach((function(e){n.emitter.emit(e,t)}))}))}));o=v,r(v,"create",(function(){return new o})),exports.Emitter=u,exports.GroupEmitter=v;
package/lib/esm/index.js CHANGED
@@ -1 +1 @@
1
- function e(e,t,n){return Object.defineProperty(e,"prototype",{writable:!1}),e}function t(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var n=e((function e(){var n=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),t(this,"eventMap",{}),t(this,"destroy",(function(){n.eventMap={}})),t(this,"addListener",(function(e,t){var r;(r=n.eventMap)[e]||(r[e]=[]);var i=function(){n.removeListener(e,t)};return n.eventMap[e].includes(t)||n.eventMap[e].push(t),i})),t(this,"removeListener",(function(e,t){var r;if(null!==(r=n.eventMap[e])&&void 0!==r&&r.length){var i=n.eventMap[e].findIndex((function(e){return e===t}));-1!==i&&n.eventMap[e].splice(i,1)}})),t(this,"emit",(function(e,t){(n.eventMap[e]||[]).forEach((function(e){e(t)}))}))}));export{n as Emitter};
1
+ function e(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function t(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,i(r.key),r)}}function n(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function r(e,t,n){return(t=i(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}var o,u=function(){function t(){var n=this;e(this,t),r(this,"eventMap",{}),r(this,"destroy",(function(){n.eventMap={}})),r(this,"addListener",(function(e,t){var r;(r=n.eventMap)[e]||(r[e]=[]);var i=function(){n.removeListener(e,t)};return n.eventMap[e].includes(t)||n.eventMap[e].push(t),i})),r(this,"removeListener",(function(e,t){var r;if(null!==(r=n.eventMap[e])&&void 0!==r&&r.length){var i=n.eventMap[e].findIndex((function(e){return e===t}));-1!==i&&n.eventMap[e].splice(i,1)}})),r(this,"emit",(function(e,t){(n.eventMap[e]||[]).forEach((function(e){e(t)}))}))}return n(t,null,[{key:"create",value:function(){return new t}}])}(),a="__public__",v=n((function t(){var n=this;e(this,t),r(this,"groupEventMap",{}),r(this,"emitter",u.create()),r(this,"destroy",(function(){n.groupEventMap={},n.emitter.destroy()})),r(this,"addListener",(function(e,t){var r,i,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:a,u="".concat(o,".").concat(e);return(r=n.groupEventMap)[o]||(r[o]={}),(i=n.groupEventMap[o])[e]||(i[e]=[]),n.groupEventMap[o][e].push(u),n.emitter.addListener(u,t),n.removeListener.bind(n,e,t,o)})),r(this,"removeListener",(function(e,t){var r,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:a,o="".concat(i,".").concat(e);if(n.emitter.removeListener(o,t),null!==(r=n.groupEventMap[i])&&void 0!==r&&null!==(r=r[e])&&void 0!==r&&r.length){var u=n.groupEventMap[i][e].findIndex((function(e){return e===o}));-1!==u&&n.groupEventMap[i][e].splice(u,1)}})),r(this,"emit",(function(e,t){var r,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:a;((null===(r=n.groupEventMap[i])||void 0===r?void 0:r[e])||[]).forEach((function(e){n.emitter.emit(e,t)}))}))}));o=v,r(v,"create",(function(){return new o}));export{u as Emitter,v as GroupEmitter};
@@ -1,5 +1,7 @@
1
+ import { TNoop, TPlainObject } from '@cclr/lang';
2
+
1
3
  type TEventMap = {
2
- [key: string]: (params: any) => any;
4
+ [key: string]: (...args: any) => any;
3
5
  };
4
6
 
5
7
  declare class Emitter<T extends TEventMap, K extends keyof T = keyof T> {
@@ -8,6 +10,27 @@ declare class Emitter<T extends TEventMap, K extends keyof T = keyof T> {
8
10
  addListener: <EK extends K>(eventKey: EK, handle: T[EK]) => () => void;
9
11
  removeListener: <EK extends K>(eventKey: EK, handle: T[EK]) => void;
10
12
  emit: <EK extends K>(eventKey: EK, params: Parameters<T[EK]>[0]) => void;
13
+ static create<T extends TEventMap>(): Emitter<T, keyof T>;
14
+ }
15
+
16
+ /**
17
+ * 分组的事件处理器
18
+ * 用于处理多个事件的监听和触发
19
+ */
20
+ declare class GroupEmitter {
21
+ /**
22
+ * 事件分组映射
23
+ */
24
+ private groupEventMap;
25
+ /**
26
+ * 事件发射器
27
+ */
28
+ private emitter;
29
+ destroy: () => void;
30
+ addListener: (eventKey: string, handle: TNoop, group?: string) => any;
31
+ removeListener: (eventKey: string, handle: TNoop, group?: string) => void;
32
+ emit: (eventKey: string, params: TPlainObject, group?: string) => void;
33
+ static create: () => GroupEmitter;
11
34
  }
12
35
 
13
- export { Emitter };
36
+ export { Emitter, GroupEmitter };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cclr/emitter",
3
- "version": "0.1.11",
3
+ "version": "0.1.14",
4
4
  "description": "发布订阅模式",
5
5
  "author": "cclr <18843152354@163.com>",
6
6
  "homepage": "",
@@ -27,9 +27,9 @@
27
27
  "g:test": "vitest run",
28
28
  "g:build": "ccf build"
29
29
  },
30
- "gitHead": "e03c9c40bc86083ba49fe9f372375a50223191cc",
30
+ "gitHead": "c0359e7db68cd14df406cb2c8d56b5fe14a2c3bb",
31
31
  "dependencies": {
32
- "@cclr/lang": "0.1.11",
33
- "@cclr/utils": "0.1.11"
32
+ "@cclr/lang": "0.1.14",
33
+ "@cclr/utils": "0.1.14"
34
34
  }
35
35
  }