UNPKG

fruitsconfits

Version:

FruitsConfits - A well typed and sugared parser combinator framework for TypeScript/JavaScript.

50 lines 1.54 kB
"use strict"; // Copyright (c) 2019 Shellyl_N and Authors // license: ISC // https://github.com/shellyln Object.defineProperty(exports, "__esModule", { value: true }); exports.templateStringsParserInput = exports.parserInput = exports.ParseError = void 0; class ParseError extends Error { constructor(result) { super(result.message); this.result = result; } } exports.ParseError = ParseError; function parserInput(src, context) { return ({ src, start: 0, end: src.length, // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment context: context, templateArgs: [], templateArgsPos: [], }); } exports.parserInput = parserInput; function templateStringsParserInput(strings, values, context) { const templateArgsPos = []; let pos = 0; if (values.length) { for (let i = 0; i < strings.length; i++) { const x = strings[i]; if (i < values.length) { templateArgsPos.push(pos + x.length); pos += x.length + 1; } } } const joined = strings.join('\x00'); return ({ src: joined, start: 0, end: joined.length, // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment context: context, templateArgs: values, templateArgsPos, }); } exports.templateStringsParserInput = templateStringsParserInput; //# sourceMappingURL=types.js.map