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:1496

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:1559

Parameters

entityId

string | null

select

Set<string>

options?
excludeToken?

number | null

Returns

Set<string>


gc()

gc(): void

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

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:1518

Parameters

entityId

string | null

options?
excludeToken?

number | null

Returns

FieldMask | null


getRequestKey()

getRequestKey(request): string

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

Parameters

request

Request

Returns

string


getRequestResult()

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

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

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:1583

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:1753

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:1477

Parameters

entityId

string | null

select

ReadonlySet<string>

Returns

number | null


registerPendingOptimisticMutation()

registerPendingOptimisticMutation(entityId, promise): void

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

Parameters

entityId

string

promise

Promise<unknown>

Returns

void


releaseRequest()

releaseRequest(request, mode): void

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

Parameters

request

Request

mode

RequestMode

Returns

void


releaseRequestKey()

releaseRequestKey(requestKey, mode): void

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

Parameters

requestKey

string

mode

RequestMode

Returns

void


request()

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

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

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:1746

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:1472

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:1845

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:1826

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:937

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