UNPKG

pretur.clay

Version:
19 lines (18 loc) 1.26 kB
import { SpecType, Model, SpecPool } from 'pretur.spec'; import { MutateRequest, Requester, MutateResult } from 'pretur.sync'; import { Set } from './Set'; import { Record } from './Record'; export interface ApplyMutationsResult { results: MutateResult<any>[]; applied: boolean; } export declare function buildApplyMutations(requester: Requester): (mutations: MutateRequest<any>[]) => Promise<ApplyMutationsResult>; export declare function applyMutations(requester: Requester, mutations: MutateRequest<any>[]): Promise<ApplyMutationsResult>; export interface MutationsExtractor { extractInsertData<T extends SpecType>(clay: Record<T>, scope: string, model: T['name']): Partial<Model<T>>; extractInsertData<T extends SpecType>(clay: Set<T>, scope: string, model: T['name']): Partial<Model<T>>[]; extractUpdateData<T extends SpecType>(record: Record<T>, scope: string, model: T['name']): Partial<T['fields']>; extractRemoveIdentifiers<T extends SpecType>(record: Record<T>, scope: string, model: T['name']): Partial<T['fields']>; getMutations<T extends SpecType>(clay: Set<T> | Record<T>, scope: string, model: T['name']): MutateRequest<any>[]; } export declare function buildMutationsExtractor(specPool: SpecPool): MutationsExtractor;