wechaty-puppet-service
Version:
Puppet Service for Wechaty
45 lines • 1.7 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.uuidifyFileBoxGrpc = void 0;
const file_box_1 = require("file-box");
const wechaty_grpc_1 = require("wechaty-grpc");
const clone_class_1 = require("clone-class");
const uuidResolverGrpc = (grpcClient) => async function uuidResolver(uuid) {
const request = new wechaty_grpc_1.puppet.DownloadRequest();
request.setId(uuid);
const response = grpcClient().download(request);
const stream = response
.pipe((0, wechaty_grpc_1.chunkDecoder)());
return stream;
};
const uuidRegisterGrpc = (grpcClient) => async function uuidRegister(stream) {
const response = await new Promise((resolve, reject) => {
const request = grpcClient().upload((err, response) => {
if (err) {
reject(err);
}
else {
resolve(response);
}
}); // Huan(202203) FIXME: as unknown as
stream
.pipe((0, wechaty_grpc_1.chunkEncoder)(wechaty_grpc_1.puppet.UploadRequest))
.pipe(request);
});
const uuid = response.getId();
return uuid;
};
const uuidifyFileBoxGrpc = (grpcClient) => {
/**
* `as any`:
*
* Huan(202110): TypeError: Cannot read property 'valueDeclaration' of undefined #58
* https://github.com/huan/clone-class/issues/58
*/
const FileBoxUuid = (0, clone_class_1.cloneClass)(file_box_1.FileBox);
FileBoxUuid.setUuidLoader(uuidResolverGrpc(grpcClient));
FileBoxUuid.setUuidSaver(uuidRegisterGrpc(grpcClient));
return FileBoxUuid;
};
exports.uuidifyFileBoxGrpc = uuidifyFileBoxGrpc;
//# sourceMappingURL=uuidify-file-box-grpc.js.map
;