UNPKG

@proofkit/fmodata

Version:

FileMaker OData API client

53 lines (52 loc) 2.9 kB
import { FMTable, InferSchemaOutputFromFMTable, InsertDataFromFMTable, UpdateDataFromFMTable, ValidExpandTarget } from '../orm/table.js'; import { FMODataLayer } from '../services.js'; import { RowIdRecordLocator } from './builders/mutation-helpers.js'; import { CountBuilder } from './count-builder.js'; import { Database } from './database.js'; import { DeleteBuilder } from './delete-builder.js'; import { InsertBuilder } from './insert-builder.js'; import { QueryBuilder } from './query/index.js'; import { RecordBuilder } from './record-builder.js'; import { UpdateBuilder } from './update-builder.js'; export declare class EntitySet<Occ extends FMTable<any, any>, DatabaseIncludeSpecialColumns extends boolean = false> { private readonly occurrence; private readonly layer; private readonly config; private readonly logger; private readonly database; private readonly isNavigateFromEntitySet?; private readonly navigateRelation?; private readonly navigateRelationEntityId?; private readonly navigateSourceTableName?; private readonly navigateSourceTableEntityId?; private readonly navigateBasePath?; private readonly navigateBasePathEntityId?; constructor(config: { occurrence: Occ; layer: FMODataLayer; database?: any; }); static create<Occ extends FMTable<any, any>, DatabaseIncludeSpecialColumns extends boolean = false>(config: { occurrence: Occ; layer: FMODataLayer; database: Database<DatabaseIncludeSpecialColumns>; }): EntitySet<Occ, DatabaseIncludeSpecialColumns>; private applyNavigationContext; list(): QueryBuilder<Occ, keyof InferSchemaOutputFromFMTable<Occ>, false, false, {}, false, DatabaseIncludeSpecialColumns>; count(): CountBuilder<Occ, DatabaseIncludeSpecialColumns>; get(locator: RowIdRecordLocator | string | number): RecordBuilder<Occ, false, undefined, keyof InferSchemaOutputFromFMTable<Occ>, Record<string, never>, DatabaseIncludeSpecialColumns>; insert(data: InsertDataFromFMTable<Occ>, options: { returnFullRecord: false; }): InsertBuilder<Occ, "minimal", DatabaseIncludeSpecialColumns>; insert(data: InsertDataFromFMTable<Occ>, options?: { returnFullRecord?: true; }): InsertBuilder<Occ, "representation", DatabaseIncludeSpecialColumns>; update(data: UpdateDataFromFMTable<Occ>, options: { returnFullRecord: true; }): UpdateBuilder<Occ, "representation", DatabaseIncludeSpecialColumns>; update(data: UpdateDataFromFMTable<Occ>, options?: { returnFullRecord?: false; }): UpdateBuilder<Occ, "minimal", DatabaseIncludeSpecialColumns>; delete(): DeleteBuilder<Occ>; navigate<TargetTable extends FMTable<any, any>>(targetTable: ValidExpandTarget<Occ, TargetTable>): EntitySet<TargetTable extends FMTable<any, any> ? TargetTable : never, DatabaseIncludeSpecialColumns>; }