Skip to content

Class: FateClient<Roots, Mutations, HydrationScope> ​

Defined in: fate/src/client.ts:440

Core client that normalizes records, manages the view cache, and coordinates data fetching.

Type Parameters ​

Roots ​

Roots extends FateRoots

Mutations ​

Mutations extends FateMutations

HydrationScope ​

HydrationScope extends string = string

Constructors ​

Constructor ​

new FateClient<Roots, Mutations, HydrationScope>(options): FateClient<Roots, Mutations, HydrationScope>

Defined in: fate/src/client.ts:589

Parameters ​

options ​

FateClientOptions<Roots, Mutations, HydrationScope>

Returns ​

FateClient<Roots, Mutations, HydrationScope>

Properties ​

actions ​

readonly actions: MutationTreeFromRecord<Mutations>

Defined in: fate/src/client.ts:585


mutations ​

readonly mutations: MutationTreeFromRecord<Mutations>

Defined in: fate/src/client.ts:586


persistence? ​

readonly optional persistence?: PersistenceSession

Defined in: fate/src/client.ts:584


roots ​

readonly roots: Roots

Defined in: fate/src/client.ts:587


store ​

readonly store: Store

Defined in: fate/src/client.ts:535

Methods ​

assertLiveConnectionSupport() ​

assertLiveConnectionSupport(): void

Defined in: fate/src/client.ts:1419

Returns ​

void


assertLiveViewSupport() ​

assertLiveViewSupport(): void

Defined in: fate/src/client.ts:1411

Returns ​

void


dehydrate() ​

dehydrate(): FateDehydratedState<HydrationScope>

Defined in: fate/src/client.ts:692

Exports the durable normalized cache as an opaque JSON-safe value for SSR transfer or persistence. Runtime requests, subscriptions, retainers, and optimistic state are intentionally excluded.

Returns ​

FateDehydratedState<HydrationScope>


deleteRecord() ​

deleteRecord(type, id): void

Defined in: fate/src/client.ts:1083

Parameters ​

type ​

string

id ​

string | number

Returns ​

void


executeMutation() ​

executeMutation(key, input, select, options?): Promise<unknown>

Defined in: fate/src/client.ts:1023

Parameters ​

key ​

string

input ​

unknown

select ​

Set<string>

options? ​
args? ​

FateRecord

identity? ​

Readonly<{ id: string; replayOnly?: true; scope: string; }>

plan? ​

SelectionPlan

Returns ​

Promise<unknown>


gc() ​

gc(): void

Defined in: fate/src/client.ts:2589

Removes records and lists that are not reachable from retained requests or the release buffer.

Garbage collection is scheduled automatically when retained requests are released. Calling this method manually is mainly useful in tests and custom memory-management flows.

Returns ​

void


getRequestKey() ​

getRequestKey(request): string

Defined in: fate/src/client.ts:2895

Parameters ​

request ​

Request

Returns ​

string


getRequestResult() ​

getRequestResult<R>(request): RequestResult<Roots, R>

Defined in: fate/src/client.ts:3105

Type Parameters ​

R ​

R extends Request

Parameters ​

request ​

R

Returns ​

RequestResult<Roots, R>


getTypeConfig() ​

getTypeConfig(type): TypeConfig

Defined in: fate/src/client.ts:960

Parameters ​

type ​

string

Returns ​

TypeConfig


hydrate() ​

hydrate(state, options?): void

Defined in: fate/src/client.ts:720

Restores a durable normalized cache snapshot without restoring runtime request handles, retainers, subscriptions, or optimistic update state. Hydrate before rendering SSR content. Replaying the same snapshot is safe.

Parameters ​

state ​

FateDehydratedState<HydrationScope>

options? ​

HydrateOptions = {}

Returns ​

void


loadConnection() ​

loadConnection<V>(view, connection, args, options?): Promise<Readonly<{ backwardPageLimit?: number; cursors?: readonly (string | undefined)[]; forwardPageLimit?: number; ids: readonly string[]; liveAfterIds?: readonly string[]; liveBeforeIds?: readonly string[]; pagination?: Pagination; pendingAfterIds?: readonly string[]; pendingBeforeIds?: readonly string[]; }> | undefined>

Defined in: fate/src/client.ts:2084

Type Parameters ​

V ​

V extends View<any, any>

Parameters ​

view ​

V

connection ​

ConnectionMetadata

args ​

Record<string, unknown>

options? ​
direction? ​

"backward" | "forward"

Returns ​

Promise<Readonly<{ backwardPageLimit?: number; cursors?: readonly (string | undefined)[]; forwardPageLimit?: number; ids: readonly string[]; liveAfterIds?: readonly string[]; liveBeforeIds?: readonly string[]; pagination?: Pagination; pendingAfterIds?: readonly string[]; pendingBeforeIds?: readonly string[]; }> | undefined>


observeRequest() ​

observeRequest<R>(request, options?): RequestObserver<RequestResult<Roots, R>>

Defined in: fate/src/client.ts:2383

Observes complete request results without throwing or suspending on a cache miss.

Type Parameters ​

R ​

R extends Request

Parameters ​

request ​

R

options? ​

RequestStateOptions = {}

Returns ​

RequestObserver<RequestResult<Roots, R>>


prepareRequestForRender() ​

prepareRequestForRender<R>(request, options): Readonly<{ promise: Promise<RequestResult<Roots, R>>; requestKey: string; }>

Defined in: fate/src/client.ts:2450

Type Parameters ​

R ​

R extends Request

Parameters ​

request ​

R

options ​

Readonly<{ mode?: RequestMode; persist?: Readonly<{ maxAge: number; }>; }> | undefined

Returns ​

Readonly<{ promise: Promise<RequestResult<Roots, R>>; requestKey: string; }>


readDeferred() ​

readDeferred<T>(deferred): PromiseLike<Readonly<{ coverage: readonly readonly [string, ReadonlySet<string>][]; data: T; }>>

Defined in: fate/src/client.ts:1314

Type Parameters ​

T ​

T

Parameters ​

deferred ​

Deferred<T>

Returns ​

PromiseLike<Readonly<{ coverage: readonly readonly [string, ReadonlySet<string>][]; data: T; }>>


readView() ​

readView<T, S, V>(view, ref): FateThenable<Readonly<{ coverage: readonly readonly [string, ReadonlySet<string>][]; data: ViewData<T, S>; }>>

Defined in: fate/src/client.ts:1130

Type Parameters ​

T ​

T extends Entity

S ​

S extends Selection<T>

V ​

V extends View<T, S>

Parameters ​

view ​

V

ref ​

ViewRef<T["__typename"]>

Returns ​

FateThenable<Readonly<{ coverage: readonly readonly [string, ReadonlySet<string>][]; data: ViewData<T, S>; }>>


ref() ​

ref<T>(type, id, view): ViewRef<T["__typename"]>

Defined in: fate/src/client.ts:1117

Type Parameters ​

T ​

T extends Entity

Parameters ​

type ​

T["__typename"]

id ​

string | number

view ​

View<T, Selection<T>>

Returns ​

ViewRef<T["__typename"]>


registerPendingOptimisticMutation() ​

registerPendingOptimisticMutation(entityId, promise): void

Defined in: fate/src/client.ts:2047

Parameters ​

entityId ​

string

promise ​

Promise<unknown>

Returns ​

void


releaseRequest() ​

releaseRequest(request, mode): void

Defined in: fate/src/client.ts:2528

Parameters ​

request ​

Request

mode ​

RequestMode

Returns ​

void


releaseRequestKey() ​

releaseRequestKey(requestKey, mode): void

Defined in: fate/src/client.ts:2532

Parameters ​

requestKey ​

string

mode ​

RequestMode

Returns ​

void


request() ​

request<R>(request, options?): Promise<RequestResult<Roots, R>>

Defined in: fate/src/client.ts:2428

Type Parameters ​

R ​

R extends Request

Parameters ​

request ​

CheckedRequest<Roots, R>

options? ​

Readonly<{ mode?: RequestMode; persist?: Readonly<{ maxAge: number; }>; }>

Returns ​

Promise<RequestResult<Roots, R>>


requestForRender() ​

requestForRender<R>(request, options?): Promise<RequestResult<Roots, R>>

Defined in: fate/src/client.ts:2443

Type Parameters ​

R ​

R extends Request

Parameters ​

request ​

R

options? ​

Readonly<{ mode?: RequestMode; persist?: Readonly<{ maxAge: number; }>; }>

Returns ​

Promise<RequestResult<Roots, R>>


resolveOptimisticEntity() ​

resolveOptimisticEntity(optimisticEntityId, resolvedEntityId): void

Defined in: fate/src/client.ts:2072

Parameters ​

optimisticEntityId ​

string

resolvedEntityId ​

string

Returns ​

void


retain() ​

retain(request): RetainHandle

Defined in: fate/src/client.ts:2563

Keeps the records and lists reachable from a request alive until the returned handle is disposed.

useRequest calls this automatically while the component is mounted. Use it directly for non-React request lifetimes, tests, or preloaded data that must survive manual garbage collection.

Parameters ​

request ​

Request

Returns ​

RetainHandle


retainRequestKey() ​

retainRequestKey(requestKey, mode?): RetainHandle

Defined in: fate/src/client.ts:2544

Parameters ​

requestKey ​

string

mode? ​

RequestMode

Returns ​

RetainHandle


rootListRef() ​

rootListRef(entityId, rootView): Readonly<{ __typename: string; [ViewsTag]: Set<string>; id: string | number; }>

Defined in: fate/src/client.ts:1125

Parameters ​

entityId ​

string

rootView ​

View<any, any>

Returns ​

Readonly<{ __typename: string; [ViewsTag]: Set<string>; id: string | number; }>


subscribeLiveListView() ​

subscribeLiveListView<V>(view, connection): () => void

Defined in: fate/src/client.ts:1516

Type Parameters ​

V ​

V extends View<any, any>

Parameters ​

view ​

V

connection ​

ConnectionMetadata

Returns ​

() => void


subscribeLiveView() ​

subscribeLiveView<T, S, V>(view, ref): () => void

Defined in: fate/src/client.ts:1427

Type Parameters ​

T ​

T extends Entity

S ​

S extends Selection<T>

V ​

V extends View<T, S>

Parameters ​

view ​

V

ref ​

ViewRef<T["__typename"]>

Returns ​

() => void


trackPendingRequest() ​

trackPendingRequest<T>(request): Promise<T>

Defined in: fate/src/client.ts:2840

Type Parameters ​

T ​

T

Parameters ​

request ​

() => Promise<T>

Returns ​

Promise<T>


write() ​

write(type, data, select, plan?, insert?): string

Defined in: fate/src/client.ts:1073

Parameters ​

type ​

string

data ​

FateRecord

select ​

ReadonlySet<string>

plan? ​

SelectionPlan

insert? ​

InsertPosition

Returns ​

string

Released under the MIT License