INIT
This commit is contained in:
+1
@@ -0,0 +1 @@
|
||||
export * from "./is-mounted.svelte.js";
|
||||
+1
@@ -0,0 +1 @@
|
||||
export * from "./is-mounted.svelte.js";
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
/**
|
||||
* Returns an object with the mounted state of the component
|
||||
* that invokes this function.
|
||||
*
|
||||
* @see {@link https://runed.dev/docs/utilities/is-mounted}
|
||||
*/
|
||||
export declare class IsMounted {
|
||||
#private;
|
||||
constructor();
|
||||
get current(): boolean;
|
||||
}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
import { untrack } from "svelte";
|
||||
/**
|
||||
* Returns an object with the mounted state of the component
|
||||
* that invokes this function.
|
||||
*
|
||||
* @see {@link https://runed.dev/docs/utilities/is-mounted}
|
||||
*/
|
||||
export class IsMounted {
|
||||
#isMounted = $state(false);
|
||||
constructor() {
|
||||
$effect(() => {
|
||||
untrack(() => (this.#isMounted = true));
|
||||
return () => {
|
||||
this.#isMounted = false;
|
||||
};
|
||||
});
|
||||
}
|
||||
get current() {
|
||||
return this.#isMounted;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user