UNPKG

tap

Version:

A Test-Anything-Protocol library for JavaScript

59 lines (44 loc) 1.27 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = parse; var _Document = _interopRequireDefault(require("./Document")); var _ParseContext = _interopRequireDefault(require("./ParseContext")); // Published as 'yaml/parse-cst' function parse(src) { var cr = []; if (src.indexOf('\r') !== -1) { src = src.replace(/\r\n?/g, function (match, offset) { if (match.length > 1) cr.push(offset); return '\n'; }); } var documents = []; var offset = 0; do { var doc = new _Document.default(); var context = new _ParseContext.default({ src: src }); offset = doc.parse(context, offset); documents.push(doc); } while (offset < src.length); documents.setOrigRanges = function () { if (cr.length === 0) return false; for (var i = 1; i < cr.length; ++i) { cr[i] -= i; } var crOffset = 0; for (var _i = 0; _i < documents.length; ++_i) { crOffset = documents[_i].setOrigRanges(cr, crOffset); } cr.splice(0, cr.length); return true; }; documents.toString = function () { return documents.join('...\n'); }; return documents; }