balena-sdk
Version:
The Balena JavaScript SDK
36 lines (35 loc) • 1.47 kB
TypeScript
import type { PineOptionsStrict, PineSelectableProps, PineTypedResult } from '..';
export interface ChunkSizeOptions {
numericId: number;
stringId: number;
}
export declare function batchResourceOperationFactory<T extends {
id: number;
uuid: string;
}>({ getAll, NotFoundError, AmbiguousResourceError, chunkSize: chunkSizeParam, }: {
getAll: (options?: PineOptionsStrict<T>) => Promise<T[]>;
NotFoundError: new (id: string | number) => Error;
AmbiguousResourceError: new (id: string | number) => Error;
chunkSize?: number | Partial<ChunkSizeOptions>;
}): {
<TOpts extends PineOptionsStrict<T>>(options: {
uuidOrIdOrArray: number | number[] | string | string[];
parameterName?: string;
options?: TOpts;
groupByNavigationPoperty?: undefined;
fn: (items: Array<{
id: number;
uuid: string;
} & (TOpts extends PineOptionsStrict<T> ? PineTypedResult<T, TOpts> : object)>) => Promise<void>;
}): Promise<void>;
<TOpts extends PineOptionsStrict<T>>(options: {
uuidOrIdOrArray: number | number[] | string | string[];
parameterName?: string;
options?: TOpts;
groupByNavigationPoperty: PineSelectableProps<T>;
fn: (items: Array<{
id: number;
uuid: string;
} & (TOpts extends PineOptionsStrict<T> ? PineTypedResult<T, TOpts> : object)>, ownerId: number) => Promise<void>;
}): Promise<void>;
};