@baqhub/sdk-react
Version:
The official React SDK for the BAQ federated app platform.
15 lines (14 loc) • 1.13 kB
TypeScript
import { AnyRecord, Client, IO, NoContentRecord, RAnyEventRecord, RAnyRecord, StandingRecord } from "@baqhub/sdk";
import { Records } from "./storeContext.js";
export interface Mutation<T extends AnyRecord> {
state: Records<T>;
record: T | NoContentRecord;
followingUpdates: ReadonlyArray<T | NoContentRecord>;
}
export interface ApplyUpdatesResult<T extends AnyRecord> {
state: Records<T>;
mutations: ReadonlyArray<Mutation<T>>;
}
export declare function applyUpdates<T extends AnyRecord | StandingRecord>(initialState: Records<T>, initialMutations: ReadonlyArray<Mutation<T>>, updates: ReadonlyArray<T | NoContentRecord>): ApplyUpdatesResult<T>;
export declare function applyProxyUpdates<T extends AnyRecord>(initialState: Records<T>, initialMutations: ReadonlyArray<Mutation<T>>, updates: ReadonlyArray<T | NoContentRecord>): ApplyUpdatesResult<T>;
export declare function performMutationRequest<K extends RAnyRecord, KE extends RAnyEventRecord>(model: K, eventModel: KE, entity: string, client: Client, mutation: Mutation<IO.TypeOf<K>>, signal: AbortSignal): Promise<ApplyUpdatesResult<IO.TypeOf<K>>>;