@whisklabs/grpc
Version:
gRPC generator and http library for typescript
35 lines • 1.23 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ParseOneOf = void 0;
var comment_1 = require("../comment");
var thrower_1 = require("../thrower");
var utils_1 = require("../utils");
var validators_1 = require("../validators");
var field_1 = require("./field");
function ParseOneOf(tokens) {
var fields = [];
var _a = (0, utils_1.check)({
type: 'oneof',
tokens: tokens,
rules: [(0, utils_1.ch)('oneof'), (0, utils_1.ch)(validators_1.isText, { result: true }), (0, utils_1.ch)('{')],
}), len = _a.len, results = _a.results;
(0, utils_1.cut)(tokens, len);
var fieldName = results[0];
while (tokens.length > 0) {
switch ((0, comment_1.next)(tokens)) {
case '}':
(0, utils_1.cut)(tokens, 1);
return fields;
case undefined:
continue;
default: {
var field = (0, field_1.ParseField)(tokens, true);
field.oneof = fieldName;
fields.push(field);
}
}
}
throw new thrower_1.Thrower('oneof', [['no close tag "}"', 0]]);
}
exports.ParseOneOf = ParseOneOf;
//# sourceMappingURL=oneof.js.map