12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- 'use strict';
- var parseCst = require('./parse-cst.js');
- var Document$1 = require('./Document-9b4560a1.js');
- var Schema = require('./Schema-88e323a7.js');
- var PlainValue = require('./PlainValue-ec8e588e.js');
- var warnings = require('./warnings-1000a372.js');
- require('./resolveSeq-d03cb037.js');
- function createNode(value, wrapScalars = true, tag) {
- if (tag === undefined && typeof wrapScalars === 'string') {
- tag = wrapScalars;
- wrapScalars = true;
- }
- const options = Object.assign({}, Document$1.Document.defaults[Document$1.defaultOptions.version], Document$1.defaultOptions);
- const schema = new Schema.Schema(options);
- return schema.createNode(value, wrapScalars, tag);
- }
- class Document extends Document$1.Document {
- constructor(options) {
- super(Object.assign({}, Document$1.defaultOptions, options));
- }
- }
- function parseAllDocuments(src, options) {
- const stream = [];
- let prev;
- for (const cstDoc of parseCst.parse(src)) {
- const doc = new Document(options);
- doc.parse(cstDoc, prev);
- stream.push(doc);
- prev = doc;
- }
- return stream;
- }
- function parseDocument(src, options) {
- const cst = parseCst.parse(src);
- const doc = new Document(options).parse(cst[0]);
- if (cst.length > 1) {
- const errMsg = 'Source contains multiple documents; please use YAML.parseAllDocuments()';
- doc.errors.unshift(new PlainValue.YAMLSemanticError(cst[1], errMsg));
- }
- return doc;
- }
- function parse(src, options) {
- const doc = parseDocument(src, options);
- doc.warnings.forEach(warning => warnings.warn(warning));
- if (doc.errors.length > 0) throw doc.errors[0];
- return doc.toJSON();
- }
- function stringify(value, options) {
- const doc = new Document(options);
- doc.contents = value;
- return String(doc);
- }
- const YAML = {
- createNode,
- defaultOptions: Document$1.defaultOptions,
- Document,
- parse,
- parseAllDocuments,
- parseCST: parseCst.parse,
- parseDocument,
- scalarOptions: Document$1.scalarOptions,
- stringify
- };
- exports.YAML = YAML;
|