Skip to content

Class: FateClient<Roots, Mutations>

Defined in: packages/fate/src/client.ts:361

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

Type Parameters

Roots

Roots extends FateRoots

Mutations

Mutations extends FateMutations

Constructors

Constructor

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

Defined in: packages/fate/src/client.ts:400

Parameters

options

FateClientOptions<Roots, Mutations>

Returns

FateClient<Roots, Mutations>

Properties

actions

readonly actions: MutationTreeFromRecord<Mutations>

Defined in: packages/fate/src/client.ts:396


mutations

readonly mutations: MutationTreeFromRecord<Mutations>

Defined in: packages/fate/src/client.ts:397


roots

readonly roots: Roots

Defined in: packages/fate/src/client.ts:398


store

readonly store: Store

Defined in: packages/fate/src/client.ts:389

Methods

assertLiveConnectionSupport()

assertLiveConnectionSupport(): void

Defined in: packages/fate/src/client.ts:845

Returns

void


assertLiveViewSupport()

assertLiveViewSupport(): void

Defined in: packages/fate/src/client.ts:837

Returns

void


clearOptimisticUpdate()

clearOptimisticUpdate(token): void

Defined in: packages/fate/src/client.ts:1498

Parameters

token

number | null

Returns

void


deleteRecord()

deleteRecord(type, id, snapshots?, listSnapshots?): void

Defined in: packages/fate/src/client.ts:650

Parameters

type

string

id

string | number

snapshots?

Map<string, Readonly<{ mask?: FieldMask; record?: FateRecord; }>>

listSnapshots?

Map<string, 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[]; }>>

Returns

void


executeMutation()

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

Defined in: packages/fate/src/client.ts:594

Parameters

key

string

input

unknown

select

Set<string>

options?
args?

FateRecord

plan?

SelectionPlan

Returns

Promise<unknown>


filterSelectionForPendingOptimistics()

filterSelectionForPendingOptimistics(entityId, select, options?): Set<string>

Defined in: packages/fate/src/client.ts:1561

Parameters

entityId

string | null

select

Set<string>

options?
excludeToken?

number | null

Returns

Set<string>


gc()

gc(): void

Defined in: packages/fate/src/client.ts:1870

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


getPendingOptimisticMask()

getPendingOptimisticMask(entityId, options?): FieldMask | null

Defined in: packages/fate/src/client.ts:1520

Parameters

entityId

string | null

options?
excludeToken?

number | null

Returns

FieldMask | null


getRequestKey()

getRequestKey(request): string

Defined in: packages/fate/src/client.ts:2088

Parameters

request

Request

Returns

string


getRequestResult()

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

Defined in: packages/fate/src/client.ts:2228

Type Parameters

R

R extends Request

Parameters

request

R

Returns

RequestResult<Roots, R>


getTypeConfig()

getTypeConfig(type): TypeConfig

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

Parameters

type

string

Returns

TypeConfig


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: packages/fate/src/client.ts:1585

Type Parameters

V

V extends View<any, any>

Parameters

view

V

connection

ConnectionMetadata

args

Record<string, unknown>

options?
direction?

"forward" | "backward"

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>


prepareRequestForRender()

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

Defined in: packages/fate/src/client.ts:1755

Type Parameters

R

R extends Request

Parameters

request

R

options

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

Returns

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


readView()

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

Defined in: packages/fate/src/client.ts:713

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: packages/fate/src/client.ts:700

Type Parameters

T

T extends Entity

Parameters

type

T["__typename"]

id

string | number

view

View<T, Selection<T>>

Returns

ViewRef<T["__typename"]>


registerOptimisticUpdate()

registerOptimisticUpdate(entityId, select): number | null

Defined in: packages/fate/src/client.ts:1479

Parameters

entityId

string | null

select

ReadonlySet<string>

Returns

number | null


registerPendingOptimisticMutation()

registerPendingOptimisticMutation(entityId, promise): void

Defined in: packages/fate/src/client.ts:1449

Parameters

entityId

string

promise

Promise<unknown>

Returns

void


releaseRequest()

releaseRequest(request, mode): void

Defined in: packages/fate/src/client.ts:1809

Parameters

request

Request

mode

RequestMode

Returns

void


releaseRequestKey()

releaseRequestKey(requestKey, mode): void

Defined in: packages/fate/src/client.ts:1813

Parameters

requestKey

string

mode

RequestMode

Returns

void


request()

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

Defined in: packages/fate/src/client.ts:1738

Type Parameters

R

R extends Request

Parameters

request

R

options?

Readonly<{ mode?: RequestMode; }>

Returns

Promise<RequestResult<Roots, R>>


requestForRender()

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

Defined in: packages/fate/src/client.ts:1748

Type Parameters

R

R extends Request

Parameters

request

R

options?

Readonly<{ mode?: RequestMode; }>

Returns

Promise<RequestResult<Roots, R>>


resolveOptimisticEntity()

resolveOptimisticEntity(optimisticEntityId, resolvedEntityId): void

Defined in: packages/fate/src/client.ts:1474

Parameters

optimisticEntityId

string

resolvedEntityId

string

Returns

void


restore()

restore(id, snapshot): void

Defined in: packages/fate/src/client.ts:668

Parameters

id

string

snapshot

Snapshot

Returns

void


restoreList()

restoreList(name, list?): void

Defined in: packages/fate/src/client.ts:673

Parameters

name

string

list?

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[]; }>

Returns

void


retain()

retain(request): RetainHandle

Defined in: packages/fate/src/client.ts:1844

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: packages/fate/src/client.ts:1825

Parameters

requestKey

string

mode?

RequestMode

Returns

RetainHandle


rootListRef()

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

Defined in: packages/fate/src/client.ts:708

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: packages/fate/src/client.ts:939

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: packages/fate/src/client.ts:853

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


write()

write(type, data, select, snapshots?, plan?, pathPrefix?, blockedMask?, insert?, listSnapshots?): string

Defined in: packages/fate/src/client.ts:626

Parameters

type

string

data

FateRecord

select

ReadonlySet<string>

snapshots?

Map<string, Readonly<{ mask?: FieldMask; record?: FateRecord; }>>

plan?

SelectionPlan

pathPrefix?

string | null

blockedMask?

FieldMask | null

insert?

InsertPosition

listSnapshots?

Map<string, 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[]; }>>

Returns

string

Released under the MIT License