@whisklabs/grpc
Version:
gRPC generator and http library for typescript
48 lines • 1.93 kB
JavaScript
import { isString } from '@whisklabs/typeguards';
import { checkDublicate, joinPath, safeString } from './utils';
export function collectEmuns(pack, out, items) {
for (var _i = 0, items_1 = items; _i < items_1.length; _i++) {
var msg = items_1[_i];
enu(joinPath(pack, msg.name), out, msg);
}
}
function enu(pack, out, item) {
var eName = safeString(pack);
out.enumsList.add(eName);
checkDublicate(eName, out, "".concat(pack, ".").concat(item.name));
}
export 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 = 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);
}
}
}
function message(pack, out, item, parent) {
var base = joinPath(parent !== null && parent !== void 0 ? parent : pack, item.name);
collectEmuns(base, out, item.enums);
var baseName = safeString(base);
var packName = "".concat(pack, ".").concat(item.name);
checkDublicate(baseName, out, "".concat(isString(parent) ? "".concat(parent, ".") : '').concat(packName));
}
export 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);
}
}
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);
}
}
export function method(pack, out, item, serv) {
var sName = joinPath(pack, serv.name, item.name);
checkDublicate(sName, out, "".concat(pack, ".").concat(serv.name, ".").concat(item.name));
}
//# sourceMappingURL=collect.js.map