mirror of
https://github.com/arduino/arduino-ide.git
synced 2025-06-13 15:46:34 +00:00
16 lines
566 B
TypeScript
16 lines
566 B
TypeScript
import * as grpc from "grpc";
|
|
import * as jspb from "google-protobuf";
|
|
|
|
export type GrpcMethod<Req, Resp> = (request: Req, callback: (error: grpc.ServiceError | null, response: Resp) => void) => grpc.ClientUnaryCall
|
|
|
|
export function promisify<M extends GrpcMethod<Req, Resp>, Req, Resp extends jspb.Message>(m: M, req: Req): Promise<Resp> {
|
|
return new Promise<Resp>((resolve, reject) => {
|
|
m(req, (err, resp) => {
|
|
if (!!err) {
|
|
reject(err);
|
|
} else {
|
|
resolve(resp);
|
|
}
|
|
});
|
|
});
|
|
} |