@proofkit/fmodata
Version:
FileMaker OData API client
37 lines (36 loc) • 1.46 kB
TypeScript
import { FFetchOptions } from '@fetchkit/ffetch';
import { FMTable } from '../../orm/table.js';
import { ExecuteOptions } from '../../types.js';
/**
* Resolves table identifier based on entity ID settings.
* Used by both QueryBuilder and RecordBuilder.
*/
export declare function resolveTableId(table: FMTable<any, any> | undefined, fallbackTableName: string, useEntityIds: boolean): string;
/**
* Merges database-level useEntityIds with per-request options.
*/
export declare function mergeEntityIdOptions<T extends Record<string, any>>(options: T | undefined, databaseDefault: boolean): T & {
useEntityIds?: boolean;
};
/**
* Type-safe helper for merging execute options with entity ID settings
*/
export declare function mergeExecuteOptions(options: (RequestInit & FFetchOptions & ExecuteOptions) | undefined, databaseUseEntityIds: boolean): RequestInit & FFetchOptions & {
useEntityIds?: boolean;
};
/**
* Creates an OData Request object with proper headers.
* Used by both QueryBuilder and RecordBuilder to eliminate duplication.
*
* @param baseUrl - Base URL for the request
* @param config - Request configuration with method and url
* @param options - Optional execution options
* @returns Request object ready to use
*/
export declare function createODataRequest(baseUrl: string, config: {
method: string;
url: string;
}, options?: {
includeODataAnnotations?: boolean;
normalizeDatabaseName?: boolean;
}): Request;