| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- 'use strict';
- var _rollupPluginBabelHelpers = require('./_rollupPluginBabelHelpers-eed30217.js');
- var parseCst = require('./parse-3997f544.js');
- require('./stringifyNumber-dea1120c.js');
- require('./Schema-807430ba.js');
- var Document = require('./Document-f89a2614.js');
- /* global console, process, YAML_SILENCE_WARNINGS */
- function warn(warning, type) {
- if (typeof YAML_SILENCE_WARNINGS !== 'undefined' && YAML_SILENCE_WARNINGS) return;
- if (typeof process !== 'undefined') {
- if (process.env.YAML_SILENCE_WARNINGS) return; // This will throw in Jest if `warning` is an Error instance due to
- // https://github.com/facebook/jest/issues/2549
- if (process.emitWarning) {
- process.emitWarning(warning, type);
- return;
- }
- } // eslint-disable-next-line no-console
- console.warn(type ? `${type}: ${warning}` : warning);
- }
- function parseAllDocuments(src, options) {
- const stream = [];
- let prev;
- for (const cstDoc of parseCst.parse(src)) {
- const doc = new Document.Document(undefined, null, 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.Document(cst[0], null, options);
- if (cst.length > 1) {
- const errMsg = 'Source contains multiple documents; please use YAML.parseAllDocuments()';
- doc.errors.unshift(new _rollupPluginBabelHelpers.YAMLSemanticError(cst[1], errMsg));
- }
- return doc;
- }
- function parse(src, reviver, options) {
- if (options === undefined && reviver && typeof reviver === 'object') {
- options = reviver;
- reviver = undefined;
- }
- const doc = parseDocument(src, options);
- doc.warnings.forEach(warning => warn(warning));
- if (doc.errors.length > 0) throw doc.errors[0];
- return doc.toJS({
- reviver
- });
- }
- function stringify(value, replacer, options) {
- if (typeof options === 'string') options = options.length;
- if (typeof options === 'number') {
- const indent = Math.round(options);
- options = indent < 1 ? undefined : indent > 8 ? {
- indent: 8
- } : {
- indent
- };
- }
- if (value === undefined) {
- const {
- keepUndefined
- } = options || replacer || {};
- if (!keepUndefined) return undefined;
- }
- return new Document.Document(value, replacer, options).toString();
- }
- exports.parseCST = parseCst.parse;
- exports.Document = Document.Document;
- exports.defaultOptions = Document.defaultOptions;
- exports.scalarOptions = Document.scalarOptions;
- exports.parse = parse;
- exports.parseAllDocuments = parseAllDocuments;
- exports.parseDocument = parseDocument;
- exports.stringify = stringify;
|