@whisklabs/grpc
Version:
gRPC generator and http library for typescript
55 lines • 2.33 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.method = exports.collectServices = exports.collectMessages = exports.collectEmuns = void 0;
var typeguards_1 = require("@whisklabs/typeguards");
var utils_1 = require("./utils");
function collectEmuns(pack, out, items) {
for (var _i = 0, items_1 = items; _i < items_1.length; _i++) {
var msg = items_1[_i];
enu((0, utils_1.joinPath)(pack, msg.name), out, msg);
}
}
exports.collectEmuns = collectEmuns;
function enu(pack, out, item) {
var eName = (0, utils_1.safeString)(pack);
out.enumsList.add(eName);
(0, utils_1.checkDublicate)(eName, out, "".concat(pack, ".").concat(item.name));
}
function collectMessages(pack, out, items, parent) {
for (var _i = 0, items_2 = items; _i < items_2.length; _i++) {
var msg = items_2[_i];
var newPack = (0, utils_1.joinPath)(parent !== null && parent !== void 0 ? parent : pack, msg.name);
message(pack, out, msg, parent);
if (msg.messages.length > 0) {
collectMessages(pack, out, msg.messages, newPack);
}
}
}
exports.collectMessages = collectMessages;
function message(pack, out, item, parent) {
var base = (0, utils_1.joinPath)(parent !== null && parent !== void 0 ? parent : pack, item.name);
collectEmuns(base, out, item.enums);
var baseName = (0, utils_1.safeString)(base);
var packName = "".concat(pack, ".").concat(item.name);
(0, utils_1.checkDublicate)(baseName, out, "".concat((0, typeguards_1.isString)(parent) ? "".concat(parent, ".") : '').concat(packName));
}
function collectServices(pack, out, items) {
if (items === void 0) { items = []; }
for (var _i = 0, items_3 = items; _i < items_3.length; _i++) {
var msg = items_3[_i];
service(pack, out, msg);
}
}
exports.collectServices = collectServices;
function service(pack, out, item) {
for (var _i = 0, _a = item.methods; _i < _a.length; _i++) {
var msg = _a[_i];
method(pack, out, msg, item);
}
}
function method(pack, out, item, serv) {
var sName = (0, utils_1.joinPath)(pack, serv.name, item.name);
(0, utils_1.checkDublicate)(sName, out, "".concat(pack, ".").concat(serv.name, ".").concat(item.name));
}
exports.method = method;
//# sourceMappingURL=collect.js.map