Skip to content

Class: FateClient<Roots, Mutations>

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

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

Parameters

options

FateClientOptions<Roots, Mutations>

Returns

FateClient<Roots, Mutations>

Properties

actions

readonly actions: MutationTreeFromRecord<Mutations>

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


mutations

readonly mutations: MutationTreeFromRecord<Mutations>

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


roots

readonly roots: Roots

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


store

readonly store: Store

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

Methods

clearOptimisticUpdate()

clearOptimisticUpdate(token): void

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

Parameters

token

number | null

Returns

void


deleteRecord()

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

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

Parameters

type

string

id

string | number

snapshots?

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

listSnapshots?

Map<string, Readonly<{ cursors?: readonly (string | undefined)[]; ids: readonly string[]; pagination?: Pagination; }>>

Returns

void


executeMutation()

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

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

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

Parameters

entityId

string | null

select

Set<string>

options
excludeToken?

number | null

Returns

Set<string>


getPendingOptimisticMask()

getPendingOptimisticMask(entityId, options): FieldMask | null

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

Parameters

entityId

string | null

options
excludeToken?

number | null

Returns

FieldMask | null


getRequestResult()

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

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

Type Parameters

R

R extends Request

Parameters

request

R

Returns

RequestResult<Roots, R>


getTypeConfig()

getTypeConfig(type): TypeConfig

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

Parameters

type

string

Returns

TypeConfig


loadConnection()

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

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

Type Parameters

V

V extends View<any, any>

Parameters

view

V

connection

ConnectionMetadata

args

Record<string, unknown>

options
direction?

"forward" | "backward"

Returns

Promise<Readonly<{ cursors?: readonly (string | undefined)[]; ids: readonly string[]; pagination?: Pagination; }> | undefined>


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

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

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

Parameters

entityId

string | null

select

ReadonlySet<string>

Returns

number | null


registerPendingOptimisticMutation()

registerPendingOptimisticMutation(entityId, promise): void

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

Parameters

entityId

string

promise

Promise<unknown>

Returns

void


releaseRequest()

releaseRequest(request, mode): void

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

Parameters

request

Request

mode

RequestMode

Returns

void


request()

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

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

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

Parameters

optimisticEntityId

string

resolvedEntityId

string

Returns

void


restore()

restore(id, snapshot): void

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

Parameters

id

string

snapshot

Snapshot

Returns

void


restoreList()

restoreList(name, list?): void

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

Parameters

name

string

list?

Readonly<{ cursors?: readonly (string | undefined)[]; ids: readonly string[]; pagination?: Pagination; }>

Returns

void


rootListRef()

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

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

Parameters

entityId

string

rootView

View<any, any>

Returns

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


write()

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

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

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

Returns

string

Released under the MIT License