Swap-Aggregator-Subgraph/node_modules/yaml/dist/index.js
2022-07-03 07:27:35 +05:30

143 lines
2.8 KiB
JavaScript

"use strict";
exports.YAML = void 0;
var _parse = require("./cst/parse");
var _Document = require("./Document");
var _errors = require("./errors");
var _schema = require("./schema");
var _options = require("./tags/options");
var _warnings = require("./warnings");
const defaultOptions = {
anchorPrefix: 'a',
customTags: null,
indent: 2,
indentSeq: true,
keepCstNodes: false,
keepNodeTypes: true,
keepBlobsInJSON: true,
mapAsMap: false,
maxAliasCount: 100,
prettyErrors: false,
// TODO Set true in v2
simpleKeys: false,
version: '1.2'
};
const scalarOptions = {
get binary() {
return _options.binaryOptions;
},
set binary(opt) {
Object.assign(_options.binaryOptions, opt);
},
get bool() {
return _options.boolOptions;
},
set bool(opt) {
Object.assign(_options.boolOptions, opt);
},
get int() {
return _options.intOptions;
},
set int(opt) {
Object.assign(_options.intOptions, opt);
},
get null() {
return _options.nullOptions;
},
set null(opt) {
Object.assign(_options.nullOptions, opt);
},
get str() {
return _options.strOptions;
},
set str(opt) {
Object.assign(_options.strOptions, opt);
}
};
function createNode(value, wrapScalars = true, tag) {
if (tag === undefined && typeof wrapScalars === 'string') {
tag = wrapScalars;
wrapScalars = true;
}
const options = Object.assign({}, _Document.Document.defaults[defaultOptions.version], defaultOptions);
const schema = new _schema.Schema(options);
return schema.createNode(value, wrapScalars, tag);
}
class Document extends _Document.Document {
constructor(options) {
super(Object.assign({}, defaultOptions, options));
}
}
function parseAllDocuments(src, options) {
const stream = [];
let prev;
for (const cstDoc of (0, _parse.parse)(src)) {
const doc = new Document(options);
doc.parse(cstDoc, prev);
stream.push(doc);
prev = doc;
}
return stream;
}
function parseDocument(src, options) {
const cst = (0, _parse.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 _errors.YAMLSemanticError(cst[1], errMsg));
}
return doc;
}
function parse(src, options) {
const doc = parseDocument(src, options);
doc.warnings.forEach(warning => (0, _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,
parse,
parseAllDocuments,
parseCST: _parse.parse,
parseDocument,
scalarOptions,
stringify
};
exports.YAML = YAML;