it-tools/packages/app/src/modules/shared/signals.ts

14 lines
294 B
TypeScript
Raw Normal View History

import { createSignal } from 'solid-js';
export { createRefreshableSignal };
function createRefreshableSignal<T>(getValue: () => T) {
const [getState, setState] = createSignal<T>(getValue());
return [
getState,
() => setState(() => getValue()),
{ setState },
] as const;
}