tenebrous-dicebot/api/node_modules/ts-protoc-gen/lib/index.js

48 lines
2.6 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var fileDescriptorTSD_1 = require("./ts/fileDescriptorTSD");
var ExportMap_1 = require("./ExportMap");
var util_1 = require("./util");
var plugin_pb_1 = require("google-protobuf/google/protobuf/compiler/plugin_pb");
var grpcweb_1 = require("./service/grpcweb");
var grpcnode_1 = require("./service/grpcnode");
var parameters_1 = require("./parameters");
util_1.withAllStdIn(function (inputBuff) {
try {
var typedInputBuff = new Uint8Array(inputBuff.length);
typedInputBuff.set(inputBuff);
var codeGenRequest = plugin_pb_1.CodeGeneratorRequest.deserializeBinary(typedInputBuff);
var codeGenResponse_1 = new plugin_pb_1.CodeGeneratorResponse();
var exportMap_1 = new ExportMap_1.ExportMap();
var fileNameToDescriptor_1 = {};
var parameter = codeGenRequest.getParameter();
var _a = util_1.getParameterEnums(parameter), service = _a.service, mode_1 = _a.mode;
var generateGrpcWebServices_1 = service === parameters_1.ServiceParameter.GrpcWeb;
var generateGrpcNodeServices_1 = service === parameters_1.ServiceParameter.GrpcNode;
codeGenRequest.getProtoFileList().forEach(function (protoFileDescriptor) {
fileNameToDescriptor_1[protoFileDescriptor.getName()] = protoFileDescriptor;
exportMap_1.addFileDescriptor(protoFileDescriptor);
});
codeGenRequest.getFileToGenerateList().forEach(function (fileName) {
var outputFileName = util_1.replaceProtoSuffix(fileName);
var thisFile = new plugin_pb_1.CodeGeneratorResponse.File();
thisFile.setName(outputFileName + ".d.ts");
thisFile.setContent(fileDescriptorTSD_1.printFileDescriptorTSD(fileNameToDescriptor_1[fileName], exportMap_1));
codeGenResponse_1.addFile(thisFile);
if (generateGrpcWebServices_1) {
grpcweb_1.generateGrpcWebService(outputFileName, fileNameToDescriptor_1[fileName], exportMap_1)
.forEach(function (file) { return codeGenResponse_1.addFile(file); });
}
else if (generateGrpcNodeServices_1) {
var file = grpcnode_1.generateGrpcNodeService(outputFileName, fileNameToDescriptor_1[fileName], exportMap_1, mode_1);
codeGenResponse_1.addFile(file);
}
});
process.stdout.write(Buffer.from(codeGenResponse_1.serializeBinary()));
}
catch (err) {
console.error("protoc-gen-ts error: " + err.stack + "\n");
process.exit(1);
}
});
//# sourceMappingURL=index.js.map