Swap-Aggregator-Subgraph/node_modules/yaml/dist/cst/parse.js
2022-07-03 07:27:35 +05:30

50 lines
1022 B
JavaScript

"use strict";
exports.parse = parse;
var _Document = require("./Document");
var _ParseContext = require("./ParseContext");
// Published as 'yaml/parse-cst'
function parse(src) {
const cr = [];
if (src.indexOf('\r') !== -1) {
src = src.replace(/\r\n?/g, (match, offset) => {
if (match.length > 1) cr.push(offset);
return '\n';
});
}
const documents = [];
let offset = 0;
do {
const doc = new _Document.Document();
const context = new _ParseContext.ParseContext({
src
});
offset = doc.parse(context, offset);
documents.push(doc);
} while (offset < src.length);
documents.setOrigRanges = () => {
if (cr.length === 0) return false;
for (let i = 1; i < cr.length; ++i) cr[i] -= i;
let crOffset = 0;
for (let i = 0; i < documents.length; ++i) {
crOffset = documents[i].setOrigRanges(cr, crOffset);
}
cr.splice(0, cr.length);
return true;
};
documents.toString = () => documents.join('...\n');
return documents;
}