@proofkit/fmodata
Version:
FileMaker OData API client
53 lines (52 loc) • 2.9 kB
TypeScript
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>;
}