createCachedUserResolve

See source code

Create a cached TLUserStore.resolve implementation.

Wraps a reactive lookup function so that each userId gets a single stable Signal that is reused across calls. The resolveFn is evaluated inside a computed, so any .get() calls it makes are automatically tracked.

function createCachedUserResolve(
  resolveFn: (userId: string) => null | TLUser,
): (userId: string) => Signal<null | TLUser>;

Example

const users: TLUserStore = {
  currentUser: currentUserSignal,
  resolve: createCachedUserResolve(
    (userId) => usersAtom.get()[createUserId(userId)] ?? null,
  ),
};

Parameters

NameDescription

resolveFn

(userId: string) => null | TLUser;

A function that resolves a raw user-ID string to a TLUser or null. Called reactively inside a computed.

Returns

(userId: string) => Signal<null | TLUser>;

A function suitable for use as TLUserStore.resolve.

Prev
createBindingValidator
Next
createCustomRecordId