UNPKG

@whisklabs/grpc

Version:

gRPC generator and http library for typescript

56 lines 2.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ParseReserved = exports.ParseReservedItem = void 0; var comment_1 = require("../comment"); var thrower_1 = require("../thrower"); var utils_1 = require("../utils"); var validators_1 = require("../validators"); function ParseReservedItem(tokens) { var _a = (0, utils_1.check)({ tokens: tokens, rules: [(0, utils_1.ch)(validators_1.isNumber, { result: true }), (0, utils_1.ch)('to'), (0, utils_1.ch)(['max', validators_1.isNumber], { result: true })], }), results = _a.results, len = _a.len, errors = _a.errors; if (errors.length === 0) { (0, utils_1.cut)(tokens, len); var from = Number(results[0]); var to = results[1] === 'max' ? 0x1fffffff : Number(results[1]); return { from: from, to: to }; } else { var inner = (0, utils_1.check)({ tokens: tokens, rules: [(0, utils_1.ch)([validators_1.isNumber, validators_1.isText], { result: true })], }); if (inner.errors.length === 0) { (0, utils_1.cut)(tokens, inner.len); var res = inner.results[0]; return (0, validators_1.isNumber)(res) ? Number(res) : (0, utils_1.cutStr)(res); } else { throw new thrower_1.Thrower('reserved', errors.concat(inner.errors)); } } } exports.ParseReservedItem = ParseReservedItem; function ParseReserved(tokens) { var reserved = []; while (tokens.length > 0) { switch ((0, comment_1.next)(tokens)) { case 'reserved': case ',': (0, utils_1.cut)(tokens, 1); reserved.push(ParseReservedItem(tokens)); break; case ';': (0, utils_1.cut)(tokens, 1); return reserved; case undefined: continue; default: throw new thrower_1.Thrower('reserved', [["Unexpected token \"".concat(tokens[0], "\""), 0]]); } } throw new thrower_1.Thrower('reserved', [['no close tag ";"', 0]]); } exports.ParseReserved = ParseReserved; //# sourceMappingURL=reserved.js.map