8 lines
326 B
TypeScript
8 lines
326 B
TypeScript
import { createSignal, type Accessor } from "solid-js"
|
|
import { debounce, type Scheduled } from "@solid-primitives/scheduled"
|
|
|
|
export function createDebouncedSignal<T>(value: T, ms: number): [Accessor<T>, Scheduled<[value: T]>] {
|
|
const [get, set] = createSignal(value)
|
|
return [get, debounce((v: T) => set(() => v), ms)]
|
|
}
|