Sha256: 025b6c27587c8742c773165620b3b15edd5f7629e34f69723346063223aa0df1

Contents?: true

Size: 1015 Bytes

Versions: 23

Compression:

Stored size: 1015 Bytes

Contents

// Published as 'yaml/parse-cst'
import Document from './Document';
import ParseContext from './ParseContext';
export default 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();
    var context = new ParseContext({
      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;
}

Version data entries

23 entries across 23 versions & 1 rubygems

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