UNPKG

@whisklabs/grpc

Version:

gRPC generator and http library for typescript

42 lines 1.77 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.enums = void 0; var typeguards_1 = require("@whisklabs/typeguards"); var utils_1 = require("./utils"); function enums(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.enums = enums; function enu(pack, out, item) { var eName = (0, utils_1.safeString)(pack); var cID = (0, utils_1.checkSame)(out, 'id'); var cName = (0, utils_1.checkSame)(out, 'name'); if ((0, typeguards_1.isText)(item.comment)) { out.dts.push((0, utils_1.toComment)(item.comment)); } out.js.push("export const ".concat(eName, " = {")); out.dts.push("export const ".concat(eName, ": {")); for (var field in item.values) { var val = item.values[field].value; var comment = item.values[field].comment; if ((0, typeguards_1.isNumber)(val) && !isNaN(val) && !isInvalidEnumField(field, val)) { cID(val, "".concat(pack, ".").concat(field)); cName(field, "".concat(pack, ".").concat(field)); out.js.push(" ".concat(field, ": ").concat(val, ",")); if ((0, typeguards_1.isText)(comment)) { out.dts.push((0, utils_1.toComment)(comment)); } out.dts.push(" readonly ".concat(field, ": ").concat(val, ",")); } } out.js.push('};'); out.dts.push('};'); out.dts.push("export type ".concat(eName, " = Values<typeof ").concat(eName, ">;")); } var isInvalidEnumField = function (field, val) { return val === 0 && (field.endsWith('_UNSPECIFIED') || field.endsWith('_INVALID')); }; //# sourceMappingURL=enum.js.map