Sha256: 35c2af3594d1a78c0c157479bff9a3e4f219a76e57015d6a6959c8b8c0b68175
Contents?: true
Size: 1.96 KB
Versions: 9
Compression:
Stored size: 1.96 KB
Contents
'use strict'; var PlainValue = require('./PlainValue-ec8e588e.js'); var parseCst = require('./parse-cst.js'); require('./resolveSeq-4a68b39b.js'); var Document$1 = require('./Document-2cf6b08c.js'); var Schema = require('./Schema-42e9705c.js'); var warnings = require('./warnings-39684f17.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;
Version data entries
9 entries across 8 versions & 4 rubygems