wechaty-grpc
Version:
gRPC for Wechaty
36 lines • 1.01 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.chunkDecoder = exports.chunkEncoder = void 0;
/**
* A stream transformer that encodes chunks into protobufs (and vice versa)
*/
const stronger_typed_streams_1 = require("stronger-typed-streams");
/**
* Wrap Chunk
*/
const chunkEncoder = (PbConstructor) => new stronger_typed_streams_1.Transform({
objectMode: true,
transform: (chunk, _, callback) => {
const pb = new PbConstructor();
pb.setChunk(chunk);
callback(null, pb);
},
});
exports.chunkEncoder = chunkEncoder;
/**
* Unwrap Chunk
*/
const chunkDecoder = () => new stronger_typed_streams_1.Transform({
objectMode: true,
transform: (pb, _, callback) => {
const chunk = pb.getChunk();
if (chunk) {
callback(null, chunk);
}
else {
callback(new Error('NOCHUNK'));
}
},
});
exports.chunkDecoder = chunkDecoder;
//# sourceMappingURL=chunk-transformer.js.map