From 4ba7d3b4062b090ea41c2674a3141c2a66def561 Mon Sep 17 00:00:00 2001 From: Brendan Allan Date: Wed, 18 Mar 2026 17:01:38 +0800 Subject: app: replace autoselect effects with single resource --- packages/app/src/utils/persist.ts | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'packages/app/src/utils') diff --git a/packages/app/src/utils/persist.ts b/packages/app/src/utils/persist.ts index bee2f3e7d..3dcbeb7d3 100644 --- a/packages/app/src/utils/persist.ts +++ b/packages/app/src/utils/persist.ts @@ -5,7 +5,12 @@ import { createResource, type Accessor } from "solid-js" import type { SetStoreFunction, Store } from "solid-js/store" type InitType = Promise | string | null -type PersistedWithReady = [Store, SetStoreFunction, InitType, Accessor] +type PersistedWithReady = [ + Store, + SetStoreFunction, + InitType, + Accessor & { promise: undefined | Promise }, +] type PersistTarget = { storage?: string @@ -460,5 +465,12 @@ export function persisted( { initialValue: !isAsync }, ) - return [state, setState, init, () => ready() === true] + return [ + state, + setState, + init, + Object.assign(() => ready() === true, { + promise: init instanceof Promise ? init : undefined, + }), + ] } -- cgit v1.2.3