@rrjs/react-compat 0.2.0 → 0.2.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"instance.d.ts","sourceRoot":"","sources":["../src/instance.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,iBAAiB;IAChC,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB,KAAK,EAAE,GAAG,EAAE,CAAA;IAEZ,SAAS,EAAE,MAAM,CAAA;IAEjB,aAAa,EAAE,WAAW,EAAE,CAAA;IAC5B,cAAc,EAAE,WAAW,EAAE,CAAA;IAE7B,OAAO,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAA;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,IAAI,CAAA;IACf,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAA;CAC7B;AASD,wBAAgB,kBAAkB,IAAI,iBAAiB,CAQtD;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAE3E;AAID,wBAAgB,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAWtE;AAQD,wBAAgB,YAAY,CAAC,CAAC,EAC5B,QAAQ,EAAE,iBAAiB,EAC3B,EAAE,EAAE,MAAM,CAAC,GACV,CAAC,CAWH;AAsBD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAapE;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAerE"}
1
+ {"version":3,"file":"instance.d.ts","sourceRoot":"","sources":["../src/instance.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,iBAAiB;IAChC,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB,KAAK,EAAE,GAAG,EAAE,CAAA;IAEZ,SAAS,EAAE,MAAM,CAAA;IAEjB,aAAa,EAAE,WAAW,EAAE,CAAA;IAC5B,cAAc,EAAE,WAAW,EAAE,CAAA;IAE7B,OAAO,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAA;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,IAAI,CAAA;IACf,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAA;CAC7B;AASD,wBAAgB,kBAAkB,IAAI,iBAAiB,CAQtD;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAE3E;AAID,wBAAgB,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAWtE;AAQD,wBAAgB,YAAY,CAAC,CAAC,EAC5B,QAAQ,EAAE,iBAAiB,EAC3B,EAAE,EAAE,MAAM,CAAC,GACV,CAAC,CAWH;AAoCD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAapE;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAgBrE"}
package/dist/instance.js CHANGED
@@ -58,11 +58,19 @@ export function withInstance(instance, fn) {
58
58
  // MessageChannel posts a message that delivers in the NEXT macro task, after paint.
59
59
  const channel = new MessageChannel();
60
60
  const pendingPassiveFlushes = [];
61
- channel.port1.onmessage = () => {
61
+ const receiver = channel.port1;
62
+ receiver.onmessage = () => {
62
63
  const flushes = pendingPassiveFlushes.splice(0);
63
- for (const flush of flushes)
64
- flush();
64
+ try {
65
+ for (const flush of flushes)
66
+ flush();
67
+ }
68
+ finally {
69
+ if (pendingPassiveFlushes.length === 0)
70
+ receiver.unref?.();
71
+ }
65
72
  };
73
+ receiver.unref?.();
66
74
  export function flushLayoutEffects(instance) {
67
75
  // Run synchronously. Cleanup of previous effect, then run new effect.
68
76
  // Order matters: all cleanups for stale effects fire before any new effect runs.
@@ -88,6 +96,7 @@ export function flushPassiveEffects(instance) {
88
96
  entry.run();
89
97
  }
90
98
  });
99
+ receiver.ref?.();
91
100
  channel.port2.postMessage(null);
92
101
  }
93
102
  //# sourceMappingURL=instance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"instance.js","sourceRoot":"","sources":["../src/instance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"instance.js","sourceRoot":"","sources":["../src/instance.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rrjs/react-compat",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "React hooks API on top of signals: useState, useEffect, useReducer, useContext, and more",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -8,7 +8,8 @@
8
8
  "exports": {
9
9
  ".": {
10
10
  "types": "./dist/index.d.ts",
11
- "import": "./dist/index.js"
11
+ "import": "./dist/index.js",
12
+ "default": "./dist/index.js"
12
13
  }
13
14
  },
14
15
  "files": [
@@ -23,7 +24,7 @@
23
24
  "prepublishOnly": "npm run build && npm test"
24
25
  },
25
26
  "dependencies": {
26
- "@rrjs/signals": "^0.2.0"
27
+ "@rrjs/signals": "^0.2.1"
27
28
  },
28
29
  "devDependencies": {
29
30
  "vitest": "^1.0.0",