@iotize/tap
Version:
IoTize Device client for Javascript
85 lines (84 loc) • 3.6 kB
TypeScript
import { DecoderFct } from '@iotize/common/converter/api';
import { ServiceCallType, TapResponse } from '@iotize/tap';
import { MultiRequestFrame } from '../generated/models';
declare type ExecuteMutlipleCallItem<BodyType, ReturnType> = ServiceCallType<BodyType, ReturnType> | {
call: ServiceCallType<BodyType, ReturnType>;
expectedResponseStatus: number;
};
declare module '../generated/service' {
interface InterfaceService {
test<T extends ExecuteMutlipleCallItem<any, any>[]>(input: T): any;
executeMultipleCalls<T1>(calls: [ExecuteMutlipleCallItem<any, T1>]): Promise<[TapResponse<T1>]>;
executeMultipleCalls<T1, T2>(calls: [
ExecuteMutlipleCallItem<any, T1>,
ExecuteMutlipleCallItem<any, T2>
]): Promise<[TapResponse<T1>, TapResponse<T2>]>;
executeMultipleCalls<T1, T2, T3>(calls: [
ExecuteMutlipleCallItem<any, T1>,
ExecuteMutlipleCallItem<any, T2>,
ExecuteMutlipleCallItem<any, T3>
]): Promise<[TapResponse<T1>, TapResponse<T2>, TapResponse<T3>]>;
executeMultipleCalls<T1, T2, T3, T4>(calls: [
ExecuteMutlipleCallItem<any, T1>,
ExecuteMutlipleCallItem<any, T2>,
ExecuteMutlipleCallItem<any, T3>,
ExecuteMutlipleCallItem<any, T4>
]): Promise<[
TapResponse<T1>,
TapResponse<T2>,
TapResponse<T3>,
TapResponse<T4>
]>;
executeMultipleCalls<T1, T2, T3, T4, T5>(calls: [
ExecuteMutlipleCallItem<any, T1>,
ExecuteMutlipleCallItem<any, T2>,
ExecuteMutlipleCallItem<any, T3>,
ExecuteMutlipleCallItem<any, T4>,
ExecuteMutlipleCallItem<any, T5>
]): Promise<[
TapResponse<T1>,
TapResponse<T2>,
TapResponse<T3>,
TapResponse<T4>,
TapResponse<T5>
]>;
executeMultipleCalls<T1, T2, T3, T4, T5, T6>(calls: [
ExecuteMutlipleCallItem<any, T1>,
ExecuteMutlipleCallItem<any, T2>,
ExecuteMutlipleCallItem<any, T3>,
ExecuteMutlipleCallItem<any, T4>,
ExecuteMutlipleCallItem<any, T5>,
ExecuteMutlipleCallItem<any, T6>
]): Promise<[
TapResponse<T1>,
TapResponse<T2>,
TapResponse<T3>,
TapResponse<T4>,
TapResponse<T5>,
TapResponse<T6>
]>;
executeMultipleCalls<T1, T2, T3, T4, T5, T6, T7>(calls: [
ExecuteMutlipleCallItem<any, T1>,
ExecuteMutlipleCallItem<any, T2>,
ExecuteMutlipleCallItem<any, T3>,
ExecuteMutlipleCallItem<any, T4>,
ExecuteMutlipleCallItem<any, T5>,
ExecuteMutlipleCallItem<any, T6>,
ExecuteMutlipleCallItem<any, T7>
]): Promise<[
TapResponse<T1>,
TapResponse<T2>,
TapResponse<T3>,
TapResponse<T4>,
TapResponse<T5>,
TapResponse<T6>,
TapResponse<T7>
]>;
executeMultipleCalls<T extends ExecuteMutlipleCallItem<any, any>[]>(calls: T): Promise<TapResponse<unknown>[]>;
}
}
export declare function createMultiRequestItems(calls: ExecuteMutlipleCallItem<any, any>[], defaultExpectedResponseStatus?: MultiRequestFrame.ExpectedResponseStatus): {
requestItem: MultiRequestFrame.RequestItem;
responseBodyDecoder?: DecoderFct<Uint8Array, unknown>;
}[];
export {};