jrx 0.3.0-alpha.7 → 0.3.0-alpha.8
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/README.md +2 -0
- package/index.d.ts +1 -1
- package/index.js +5 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -341,6 +341,8 @@ function loadThing() {
|
|
|
341
341
|
}
|
|
342
342
|
```
|
|
343
343
|
|
|
344
|
+
If `value` is itself a `Disposable`, disposing the returned value disposes `value` first, then `disposable`.
|
|
345
|
+
|
|
344
346
|
## Cleanup Pattern
|
|
345
347
|
|
|
346
348
|
All effect functions return a `Disposable` object that stops the effect and runs any pending cleanup:
|
package/index.d.ts
CHANGED
|
@@ -28,5 +28,5 @@ export declare function createTransition(cb: (progress: number) => undefined | D
|
|
|
28
28
|
[Symbol.dispose](): void;
|
|
29
29
|
};
|
|
30
30
|
export declare function assignDispose<T extends object>(value: T, disposable: Disposable): T & {
|
|
31
|
-
[Symbol.dispose]
|
|
31
|
+
[Symbol.dispose](): void;
|
|
32
32
|
};
|
package/index.js
CHANGED
|
@@ -129,7 +129,11 @@ export function createTransition(cb, durationMs) {
|
|
|
129
129
|
}
|
|
130
130
|
}
|
|
131
131
|
export function assignDispose(value, disposable) {
|
|
132
|
+
const valueDispose = value?.[Symbol.dispose]?.bind(value);
|
|
132
133
|
return Object.assign(value, {
|
|
133
|
-
[Symbol.dispose]
|
|
134
|
+
[Symbol.dispose]() {
|
|
135
|
+
valueDispose?.();
|
|
136
|
+
disposable[Symbol.dispose]();
|
|
137
|
+
}
|
|
134
138
|
});
|
|
135
139
|
}
|