UNPKG

parjs

Version:

A parser-combinator library for JavaScript.

47 lines (46 loc) 1.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /** * @external */ /** */ const ascii_1 = require("char-info/ascii"); /** * Parsing helper. */ class NumericHelpersType { parseDigitsInBase(ps, base) { let { position, input } = ps; let length = input.length; let result = 0; for (; position < length; position++) { let curCode = input.charCodeAt(position); if (!ascii_1.isDigitCode(curCode, base)) { break; } } ps.position = position; return result; } /** * Tries to parse a '+' or '-'. Returns the sign that was parsed, or 0 if the parsing failed. * @param ps * @returns {number} */ parseSign(ps) { let sign = 0; let curChar = ps.input.charCodeAt(ps.position); if (curChar === ascii_1.AsciiCodes.minus) { sign = -1; ps.position++; } else if (curChar === ascii_1.AsciiCodes.plus) { ps.position++; sign = 1; } return sign; } } exports.NumericHelpersType = NumericHelpersType; exports.NumericHelpers = new NumericHelpersType(); //# sourceMappingURL=numeric-helpers.js.map