"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = parse; var _Document = _interopRequireDefault(require("./Document")); var _ParseContext = _interopRequireDefault(require("./ParseContext")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // 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.default(); const context = new _ParseContext.default({ 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; }