airtable
Version:
The official Airtable JavaScript library.
82 lines (81 loc) • 5.31 kB
TypeScript
import Query from './query';
import { QueryParams } from './query_params';
import Record from './record';
import Base from './base';
import { Records } from './records';
import { FieldSet } from './field_set';
import { RecordData } from './record_data';
declare type TableError = any;
declare type CreateRecord<TFields> = Pick<RecordData<Partial<TFields>>, 'fields'>;
declare type CreateRecords<TFields> = string[] | Partial<TFields>[] | CreateRecord<TFields>[];
declare type OptionalParameters = {
typecast?: boolean;
method?: 'get' | 'post';
};
declare type RecordCollectionCallback<TFields extends FieldSet> = (error: TableError, records?: Records<TFields>) => void;
declare type RecordCallback<TFields extends FieldSet> = (error: TableError, record?: Record<TFields>) => void;
declare type RecordListCallback<TFields extends FieldSet> = (error: TableError, records?: Records<TFields>, offset?: number) => void;
declare type RecordForEachCallback<TFields extends FieldSet> = (record: Record<TFields>) => void;
declare type RecordForEachDoneCallback = (error?: TableError) => void;
interface TableFindRecord<TFields extends FieldSet> {
(recordId: string): Promise<Record<TFields>>;
(recordId: string, done: RecordCallback<TFields>): void;
}
interface TableSelectRecord<TFields extends FieldSet> {
(params?: QueryParams<TFields>): Query<TFields>;
}
interface TableCreateRecords<TFields extends FieldSet> {
(recordsData: CreateRecords<TFields>, optionalParameters?: OptionalParameters): Promise<Records<TFields>>;
(recordsData: CreateRecords<TFields>, optionalParameters: OptionalParameters, done: RecordCollectionCallback<TFields>): void;
(recordsData: CreateRecords<TFields>, done: RecordCollectionCallback<TFields>): void;
(recordData: string | Partial<TFields>, optionalParameters?: OptionalParameters): Promise<Record<TFields>>;
(recordData: string | Partial<TFields>, optionalParameters: OptionalParameters, done: RecordCallback<TFields>): void;
(recordData: string | Partial<TFields>, done: RecordCallback<TFields>): void;
}
interface TableChangeRecords<TFields extends FieldSet> {
(recordId: string, recordData: Partial<TFields>, opts?: OptionalParameters): Promise<Record<TFields>>;
(recordId: string, recordData: Partial<TFields>, opts: OptionalParameters, done: RecordCallback<TFields>): void;
(recordId: string, recordData: Partial<TFields>, done: RecordCallback<TFields>): void;
(recordsData: RecordData<Partial<TFields>>[], opts?: OptionalParameters): Promise<Records<TFields>>;
(recordsData: RecordData<Partial<TFields>>[], opts: OptionalParameters, done: RecordCollectionCallback<TFields>): void;
(recordsData: RecordData<Partial<TFields>>[], done: RecordCollectionCallback<TFields>): void;
}
interface TableDestroyRecords<TFields extends FieldSet> {
(recordId: string): Promise<Record<TFields>>;
(recordId: string, done: RecordCallback<TFields>): void;
(recordIds: string[]): Promise<Records<TFields>>;
(recordIds: string[], done: RecordCollectionCallback<TFields>): void;
}
declare class Table<TFields extends FieldSet> {
readonly _base: Base;
readonly id: string;
readonly name: string;
readonly find: TableFindRecord<TFields>;
readonly select: TableSelectRecord<TFields>;
readonly create: TableCreateRecords<TFields>;
readonly update: TableChangeRecords<TFields>;
readonly replace: TableChangeRecords<TFields>;
readonly destroy: TableDestroyRecords<TFields>;
/** @deprecated */
readonly list: any;
/** @deprecated */
readonly forEach: any;
static __recordsPerPageForIteration: number;
constructor(base: Base, tableId: string, tableName: string);
_findRecordById(recordId: string, done: RecordCallback<TFields>): void;
_selectRecords(params?: QueryParams<TFields>): Query<TFields>;
_urlEncodedNameOrId(): string;
_createRecords(recordData: TFields, done: RecordCallback<TFields>): void;
_createRecords(recordData: TFields, optionalParameters: OptionalParameters, done: RecordCallback<TFields>): void;
_createRecords(recordsData: TFields[], done: RecordCollectionCallback<TFields>): void;
_createRecords(recordsData: TFields[], optionalParameters: OptionalParameters, done: RecordCollectionCallback<TFields>): void;
_updateRecords(isDestructiveUpdate: boolean, recordId: string, recordData: TFields, done: RecordCallback<TFields>): void;
_updateRecords(isDestructiveUpdate: boolean, recordId: string, recordData: TFields, opts: OptionalParameters, done: RecordCallback<TFields>): void;
_updateRecords(isDestructiveUpdate: boolean, recordsData: TFields[], done: RecordCollectionCallback<TFields>): void;
_updateRecords(isDestructiveUpdate: boolean, recordsData: TFields[], opts: OptionalParameters, done: RecordCollectionCallback<TFields>): void;
_destroyRecord(recordId: string, done: RecordCallback<TFields>): void;
_destroyRecord(recordIds: string[], done: RecordCollectionCallback<TFields>): void;
_listRecords(pageSize: number, offset: number, opts: OptionalParameters | RecordListCallback<TFields>, done?: RecordListCallback<TFields>): void;
_forEachRecord(opts: OptionalParameters, callback: RecordForEachCallback<TFields>, done: RecordForEachDoneCallback): void;
}
export = Table;