Sha256: a269c1b4fc10006620c4b61447003b3540683d14789fe31673456006c861fc74

Contents?: true

Size: 1.2 KB

Versions: 24

Compression:

Stored size: 1.2 KB

Contents

"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;
}

Version data entries

24 entries across 24 versions & 2 rubygems

Version Path
trusty-cms-5.0.7 node_modules/yaml/dist/cst/parse.js
trusty-cms-5.0.6 node_modules/yaml/dist/cst/parse.js
trusty-cms-5.0.5 node_modules/yaml/dist/cst/parse.js
trusty-cms-5.0.4 node_modules/yaml/dist/cst/parse.js
trusty-cms-5.0.3 node_modules/yaml/dist/cst/parse.js
trusty-cms-5.0.2 node_modules/yaml/dist/cst/parse.js
trusty-cms-5.0.1 node_modules/yaml/dist/cst/parse.js
trusty-cms-4.3.5 node_modules/yaml/dist/cst/parse.js
trusty-cms-5.0.0 node_modules/yaml/dist/cst/parse.js
trusty-cms-4.3.4 node_modules/yaml/dist/cst/parse.js
trusty-cms-4.3.3 node_modules/yaml/dist/cst/parse.js
trusty-cms-4.3.2 node_modules/yaml/dist/cst/parse.js
trusty-cms-4.3.1 node_modules/yaml/dist/cst/parse.js
trusty-cms-4.3 node_modules/yaml/dist/cst/parse.js
trusty-cms-4.2.3 node_modules/yaml/dist/cst/parse.js
trusty-cms-4.2.2 node_modules/yaml/dist/cst/parse.js
trusty-cms-4.2.1 node_modules/yaml/dist/cst/parse.js
trusty-cms-4.2 node_modules/yaml/dist/cst/parse.js
trusty-cms-4.1.9 node_modules/yaml/dist/cst/parse.js
trusty-cms-4.1.8 node_modules/yaml/dist/cst/parse.js