UNPKG

mathjs

Version:

Math.js is an extensive math library for JavaScript and Node.js. It features a flexible expression parser with support for symbolic computation, comes with a large set of built-in functions and constants, and offers an integrated solution to work with dif

35 lines (30 loc) 866 B
/* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ "use strict"; const getGeneratedSourceInfo = require("./getGeneratedSourceInfo"); const splitIntoLines = require("./splitIntoLines"); const streamChunksOfRawSource = (source, onChunk, onSource, onName) => { let line = 1; const matches = splitIntoLines(source); let match; for (match of matches) { onChunk(match, line, 0, -1, -1, -1, -1); line++; } return matches.length === 0 || match.endsWith("\n") ? { generatedLine: matches.length + 1, generatedColumn: 0 } : { generatedLine: matches.length, generatedColumn: match.length }; }; module.exports = (source, onChunk, onSource, onName, finalSource) => { return finalSource ? getGeneratedSourceInfo(source) : streamChunksOfRawSource(source, onChunk, onSource, onName); };