@jay-framework/component 0.17.1 → 0.17.2

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.
Files changed (2) hide show
  1. package/dist/index.js +14 -4
  2. package/package.json +5 -5
package/dist/index.js CHANGED
@@ -142,9 +142,19 @@ function createDerivedArray(arrayGetter, mapCallback) {
142
142
  return mappedArray;
143
143
  }
144
144
  function createEvent(eventEffect) {
145
- let handler;
146
- let emitter = (h) => handler = h;
147
- emitter.emit = (event) => handler && handler({ event });
145
+ let handlers = [];
146
+ let emitter = (h) => {
147
+ handlers.push(h);
148
+ };
149
+ emitter.emit = (event) => {
150
+ for (const h of handlers)
151
+ h({ event });
152
+ };
153
+ emitter.remove = (h) => {
154
+ const idx = handlers.indexOf(h);
155
+ if (idx >= 0)
156
+ handlers.splice(idx, 1);
157
+ };
148
158
  if (eventEffect)
149
159
  createEffect(() => eventEffect(emitter));
150
160
  return emitter;
@@ -257,7 +267,7 @@ function makeJayComponent(preRender, comp, ...contextMarkers) {
257
267
  mount,
258
268
  unmount,
259
269
  addEventListener: (eventType, handler) => events[eventType]?.(handler),
260
- removeEventListener: (eventType) => events[eventType]?.(void 0)
270
+ removeEventListener: (eventType, handler) => events[eventType]?.remove(handler)
261
271
  };
262
272
  for (let key in api) {
263
273
  if (typeof api[key] === "function") {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jay-framework/component",
3
- "version": "0.17.1",
3
+ "version": "0.17.2",
4
4
  "type": "module",
5
5
  "license": "Apache-2.0",
6
6
  "main": "dist/index.js",
@@ -21,12 +21,12 @@
21
21
  "test:watch": "vitest"
22
22
  },
23
23
  "dependencies": {
24
- "@jay-framework/json-patch": "^0.17.1",
25
- "@jay-framework/reactive": "^0.17.1",
26
- "@jay-framework/runtime": "^0.17.1"
24
+ "@jay-framework/json-patch": "^0.17.2",
25
+ "@jay-framework/reactive": "^0.17.2",
26
+ "@jay-framework/runtime": "^0.17.2"
27
27
  },
28
28
  "devDependencies": {
29
- "@jay-framework/dev-environment": "^0.17.1",
29
+ "@jay-framework/dev-environment": "^0.17.2",
30
30
  "@testing-library/jest-dom": "^6.2.0",
31
31
  "@types/node": "^20.11.5",
32
32
  "rimraf": "^5.0.5",