balena-sdk
Version:
The Balena JavaScript SDK
30 lines (29 loc) • 1.42 kB
TypeScript
import type { ExpandableStringKeyOf, ODataOptionsWithoutCount, OptionsToResponse } from 'pinejs-client-core';
export interface ChunkSizeOptions {
numericId: number;
stringId: number;
}
export declare function batchResourceOperationFactory<T extends {
id: number;
uuid: string;
}>({ getAll, NotFoundError, AmbiguousResourceError, chunkSize: chunkSizeParam, }: {
getAll: (options: ODataOptionsWithoutCount<T>) => Promise<T[]>;
NotFoundError: new (id: string | number) => Error;
AmbiguousResourceError: new (id: string | number) => Error;
chunkSize?: number | Partial<ChunkSizeOptions>;
}): {
<TOpts extends ODataOptionsWithoutCount<T>>(options: {
uuidOrIdOrArray: number | number[] | string | string[];
parameterName?: string;
options?: TOpts;
groupByNavigationPoperty?: undefined;
fn: (items: Array<Pick<T, "id"> & Partial<Pick<T, "uuid">> & OptionsToResponse<T, TOpts, string | number>>) => Promise<void>;
}): Promise<void>;
<TOpts extends ODataOptionsWithoutCount<T>>(options: {
uuidOrIdOrArray: number | number[] | string | string[];
parameterName?: string;
options?: TOpts;
groupByNavigationPoperty: ExpandableStringKeyOf<T>;
fn: (items: Array<Pick<T, "id"> & Partial<Pick<T, "uuid">> & OptionsToResponse<T, TOpts, string | number>>, ownerId: number) => Promise<void>;
}): Promise<void>;
};