proto2graphql
Version:
Converts schema definitions in Protocol Buffer to GraphQL
23 lines • 870 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.convert = void 0;
var protobufjs_1 = require("protobufjs");
var path = require("path");
var visitor_1 = require("./visitor");
var graphql_1 = require("graphql");
function convert(filename) {
var root = new protobufjs_1.Root();
var protosDir = path.join(__dirname, "..", "protos");
var defaultResolver = root.resolvePath;
root.resolvePath = function (origin, target) {
if (target.startsWith("google/protobuf/")) {
return path.join(protosDir, target);
}
return defaultResolver(origin, target);
};
root.loadSync(filename);
var types = visitor_1.visit(root.nestedArray);
return types.map(function (type) { return graphql_1.printType(type); }).join("\n");
}
exports.convert = convert;
//# sourceMappingURL=converter.js.map