'use strict';
-var os = require('os');
-var path = require('path');
-var Module = require('module');
-var fs = require('fs');
-var util = require('util');
+var require$$0$3 = require('os');
+var require$$0$1 = require('path');
+var require$$1$1 = require('module');
+var require$$1 = require('fs');
+var require$$0$2 = require('util');
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
-var os__default = /*#__PURE__*/_interopDefaultLegacy(os);
-var path__default = /*#__PURE__*/_interopDefaultLegacy(path);
-var Module__default = /*#__PURE__*/_interopDefaultLegacy(Module);
-var fs__default = /*#__PURE__*/_interopDefaultLegacy(fs);
-var util__default = /*#__PURE__*/_interopDefaultLegacy(util);
-
-function createCommonjsModule(fn, basedir, module) {
- return module = {
- path: basedir,
- exports: {},
- require: function (path, base) {
- return commonjsRequire(path, (base === undefined || base === null) ? module.path : base);
- }
- }, fn(module, module.exports), module.exports;
-}
+var require$$0__default$2 = /*#__PURE__*/_interopDefaultLegacy(require$$0$3);
+var require$$0__default = /*#__PURE__*/_interopDefaultLegacy(require$$0$1);
+var require$$1__default$1 = /*#__PURE__*/_interopDefaultLegacy(require$$1$1);
+var require$$1__default = /*#__PURE__*/_interopDefaultLegacy(require$$1);
+var require$$0__default$1 = /*#__PURE__*/_interopDefaultLegacy(require$$0$2);
-function commonjsRequire () {
- throw new Error('Dynamic requires are not currently supported by @rollup/plugin-commonjs');
-}
+var dist$2 = {};
+
+var Explorer$1 = {};
+
+var ExplorerBase$1 = {};
+
+var loaders$1 = {};
+
+var resolveFrom$2 = {exports: {}};
+
+const path$1 = require$$0__default["default"];
+const Module = require$$1__default$1["default"];
+const fs$1 = require$$1__default["default"];
-const resolveFrom = (fromDir, moduleId, silent) => {
+const resolveFrom$1 = (fromDir, moduleId, silent) => {
if (typeof fromDir !== 'string') {
throw new TypeError(`Expected \`fromDir\` to be of type \`string\`, got \`${typeof fromDir}\``);
}
}
try {
- fromDir = fs__default['default'].realpathSync(fromDir);
+ fromDir = fs$1.realpathSync(fromDir);
} catch (err) {
if (err.code === 'ENOENT') {
- fromDir = path__default['default'].resolve(fromDir);
+ fromDir = path$1.resolve(fromDir);
} else if (silent) {
return null;
} else {
}
}
- const fromFile = path__default['default'].join(fromDir, 'noop.js');
+ const fromFile = path$1.join(fromDir, 'noop.js');
- const resolveFileName = () => Module__default['default']._resolveFilename(moduleId, {
+ const resolveFileName = () => Module._resolveFilename(moduleId, {
id: fromFile,
filename: fromFile,
- paths: Module__default['default']._nodeModulePaths(fromDir)
+ paths: Module._nodeModulePaths(fromDir)
});
if (silent) {
return resolveFileName();
};
-var resolveFrom_1 = (fromDir, moduleId) => resolveFrom(fromDir, moduleId);
+resolveFrom$2.exports = (fromDir, moduleId) => resolveFrom$1(fromDir, moduleId);
+
+resolveFrom$2.exports.silent = (fromDir, moduleId) => resolveFrom$1(fromDir, moduleId, true);
+
+var callsites$1 = {exports: {}};
+
+const callsites = () => {
+ const _prepareStackTrace = Error.prepareStackTrace;
+
+ Error.prepareStackTrace = (_, stack) => stack;
+
+ const stack = new Error().stack.slice(1);
+ Error.prepareStackTrace = _prepareStackTrace;
+ return stack;
+};
+
+callsites$1.exports = callsites; // TODO: Remove this for the next major release
+
+callsites$1.exports.default = callsites;
-var silent = (fromDir, moduleId) => resolveFrom(fromDir, moduleId, true);
-resolveFrom_1.silent = silent;
+const path = require$$0__default["default"];
+const resolveFrom = resolveFrom$2.exports;
-var importFresh = moduleId => {
+var importFresh$1 = moduleId => {
if (typeof moduleId !== 'string') {
throw new TypeError('Expected a string');
}
const parentPath = __filename;
- const filePath = resolveFrom_1(path__default['default'].dirname(parentPath), moduleId);
- const oldModule = eval('require').cache[filePath]; // Delete itself from module parent
+ const cwd = parentPath ? path.dirname(parentPath) : __dirname;
+ const filePath = resolveFrom(cwd, moduleId);
+ const oldModule = require.cache[filePath]; // Delete itself from module parent
if (oldModule && oldModule.parent) {
let i = oldModule.parent.children.length;
}
}
- delete eval('require').cache[filePath]; // Delete module from cache
+ delete require.cache[filePath]; // Delete module from cache
- const parent = eval('require').cache[parentPath]; // If `filePath` and `parentPath` are the same, cache will already be deleted so we won't get a memory leak in next step
+ const parent = require.cache[parentPath]; // If `filePath` and `parentPath` are the same, cache will already be deleted so we won't get a memory leak in next step
- return parent === undefined ? eval('require')(filePath) : parent.require(filePath); // In case cache doesn't have parent, fall back to normal require
+ return parent === undefined ? require(filePath) : parent.require(filePath); // In case cache doesn't have parent, fall back to normal require
};
-var isArrayish = function isArrayish(obj) {
+var isArrayish$1 = function isArrayish(obj) {
if (!obj) {
return false;
}
return obj instanceof Array || Array.isArray(obj) || obj.length >= 0 && obj.splice instanceof Function;
};
-var errorEx = function errorEx(name, properties) {
+var util = require$$0__default$1["default"];
+var isArrayish = isArrayish$1;
+
+var errorEx$1 = function errorEx(name, properties) {
if (!name || name.constructor !== String) {
properties = name || {};
name = Error.name;
Object.setPrototypeOf(errorExError.prototype, Error.prototype);
Object.setPrototypeOf(errorExError, Error);
} else {
- util__default['default'].inherits(errorExError, Error);
+ util.inherits(errorExError, Error);
}
return errorExError;
};
-errorEx.append = function (str, def) {
+errorEx$1.append = function (str, def) {
return {
message: function (v, message) {
v = v || def;
};
};
-errorEx.line = function (str, def) {
+errorEx$1.line = function (str, def) {
return {
line: function (v) {
v = v || def;
};
};
-var errorEx_1 = errorEx;
+var errorEx_1 = errorEx$1;
+
+const hexify = char => {
+ const h = char.charCodeAt(0).toString(16).toUpperCase();
+ return '0x' + (h.length % 2 ? '0' : '') + h;
+};
+
+const parseError = (e, txt, context) => {
+ if (!txt) {
+ return {
+ message: e.message + ' while parsing empty string',
+ position: 0
+ };
+ }
+
+ const badToken = e.message.match(/^Unexpected token (.) .*position\s+(\d+)/i);
+ const errIdx = badToken ? +badToken[2] : e.message.match(/^Unexpected end of JSON.*/i) ? txt.length - 1 : null;
+ const msg = badToken ? e.message.replace(/^Unexpected token ./, `Unexpected token ${JSON.stringify(badToken[1])} (${hexify(badToken[1])})`) : e.message;
+
+ if (errIdx !== null && errIdx !== undefined) {
+ const start = errIdx <= context ? 0 : errIdx - context;
+ const end = errIdx + context >= txt.length ? txt.length : errIdx + context;
+ const slice = (start === 0 ? '' : '...') + txt.slice(start, end) + (end === txt.length ? '' : '...');
+ const near = txt === slice ? '' : 'near ';
+ return {
+ message: msg + ` while parsing ${near}${JSON.stringify(slice)}`,
+ position: errIdx
+ };
+ } else {
+ return {
+ message: msg + ` while parsing '${txt.slice(0, context * 2)}'`,
+ position: 0
+ };
+ }
+};
+
+class JSONParseError extends SyntaxError {
+ constructor(er, txt, context, caller) {
+ context = context || 20;
+ const metadata = parseError(er, txt, context);
+ super(metadata.message);
+ Object.assign(this, metadata);
+ this.code = 'EJSONPARSE';
+ this.systemError = er;
+ Error.captureStackTrace(this, caller || this.constructor);
+ }
+
+ get name() {
+ return this.constructor.name;
+ }
+
+ set name(n) {}
+
+ get [Symbol.toStringTag]() {
+ return this.constructor.name;
+ }
+
+}
+
+const kIndent = Symbol.for('indent');
+const kNewline = Symbol.for('newline'); // only respect indentation if we got a line break, otherwise squash it
+// things other than objects and arrays aren't indented, so ignore those
+// Important: in both of these regexps, the $1 capture group is the newline
+// or undefined, and the $2 capture group is the indent, or undefined.
-var jsonParseBetterErrors = parseJson;
+const formatRE = /^\s*[{\[]((?:\r?\n)+)([\s\t]*)/;
+const emptyRE = /^(?:\{\}|\[\])((?:\r?\n)+)?$/;
-function parseJson(txt, reviver, context) {
+const parseJson$2 = (txt, reviver, context) => {
+ const parseText = stripBOM(txt);
context = context || 20;
try {
- return JSON.parse(txt, reviver);
+ // get the indentation so that we can save it back nicely
+ // if the file starts with {" then we have an indent of '', ie, none
+ // otherwise, pick the indentation of the next line after the first \n
+ // If the pattern doesn't match, then it means no indentation.
+ // JSON.stringify ignores symbols, so this is reasonably safe.
+ // if the string is '{}' or '[]', then use the default 2-space indent.
+ const [, newline = '\n', indent = ' '] = parseText.match(emptyRE) || parseText.match(formatRE) || [, '', ''];
+ const result = JSON.parse(parseText, reviver);
+
+ if (result && typeof result === 'object') {
+ result[kNewline] = newline;
+ result[kIndent] = indent;
+ }
+
+ return result;
} catch (e) {
- if (typeof txt !== 'string') {
+ if (typeof txt !== 'string' && !Buffer.isBuffer(txt)) {
const isEmptyArray = Array.isArray(txt) && txt.length === 0;
- const errorMessage = 'Cannot parse ' + (isEmptyArray ? 'an empty array' : String(txt));
- throw new TypeError(errorMessage);
+ throw Object.assign(new TypeError(`Cannot parse ${isEmptyArray ? 'an empty array' : String(txt)}`), {
+ code: 'EJSONPARSE',
+ systemError: e
+ });
}
- const syntaxErr = e.message.match(/^Unexpected token.*position\s+(\d+)/i);
- const errIdx = syntaxErr ? +syntaxErr[1] : e.message.match(/^Unexpected end of JSON.*/i) ? txt.length - 1 : null;
+ throw new JSONParseError(e, parseText, context, parseJson$2);
+ }
+}; // Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)
+// because the buffer-to-string conversion in `fs.readFileSync()`
+// translates it to FEFF, the UTF-16 BOM.
+
- if (errIdx != null) {
- const start = errIdx <= context ? 0 : errIdx - context;
- const end = errIdx + context >= txt.length ? txt.length : errIdx + context;
- e.message += ` while parsing near '${start === 0 ? '' : '...'}${txt.slice(start, end)}${end === txt.length ? '' : '...'}'`;
- } else {
- e.message += ` while parsing '${txt.slice(0, context * 2)}'`;
- }
+const stripBOM = txt => String(txt).replace(/^\uFEFF/, '');
- throw e;
- }
-}
+var jsonParseEvenBetterErrors = parseJson$2;
+parseJson$2.JSONParseError = JSONParseError;
+
+parseJson$2.noExceptions = (txt, reviver) => {
+ try {
+ return JSON.parse(stripBOM(txt), reviver);
+ } catch (e) {}
+};
-var dist = createCommonjsModule(function (module, exports) {
+var dist$1 = {};
+
+(function (exports) {
var LF = '\n';
var CR = '\r';
exports.__esModule = true;
exports["default"] = LinesAndColumns;
-});
+})(dist$1);
-var jsTokens = createCommonjsModule(function (module, exports) {
- // Copyright 2014, 2015, 2016, 2017, 2018 Simon Lydell
- // License: MIT. (See LICENSE.)
- Object.defineProperty(exports, "__esModule", {
- value: true
- }); // This regex comes from regex.coffee, and is inserted here by generate-index.js
- // (run `npm run build`).
+var lib$2 = {};
- exports.default = /((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyus]{1,6}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g;
+var lib$1 = {};
- exports.matchToToken = function (match) {
- var token = {
- type: "invalid",
- value: match[0],
- closed: undefined
- };
- if (match[1]) token.type = "string", token.closed = !!(match[3] || match[4]);else if (match[5]) token.type = "comment";else if (match[6]) token.type = "comment", token.closed = !!match[7];else if (match[8]) token.type = "regex";else if (match[9]) token.type = "number";else if (match[10]) token.type = "name";else if (match[11]) token.type = "punctuator";else if (match[12]) token.type = "whitespace";
- return token;
+var jsTokens = {};
+
+// License: MIT. (See LICENSE.)
+
+Object.defineProperty(jsTokens, "__esModule", {
+ value: true
+}); // This regex comes from regex.coffee, and is inserted here by generate-index.js
+// (run `npm run build`).
+
+jsTokens.default = /((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyus]{1,6}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g;
+
+jsTokens.matchToToken = function (match) {
+ var token = {
+ type: "invalid",
+ value: match[0],
+ closed: undefined
};
-});
+ if (match[1]) token.type = "string", token.closed = !!(match[3] || match[4]);else if (match[5]) token.type = "comment";else if (match[6]) token.type = "comment", token.closed = !!match[7];else if (match[8]) token.type = "regex";else if (match[9]) token.type = "number";else if (match[10]) token.type = "name";else if (match[11]) token.type = "punctuator";else if (match[12]) token.type = "whitespace";
+ return token;
+};
-var identifier = createCommonjsModule(function (module, exports) {
+var lib = {};
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.isIdentifierStart = isIdentifierStart;
- exports.isIdentifierChar = isIdentifierChar;
- exports.isIdentifierName = isIdentifierName;
- let nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u08a0-\u08b4\u08b6-\u08c7\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\u9ffc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7ca\ua7f5-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc";
- let nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08d3-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf\u1ac0\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1df9\u1dfb-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f";
- const nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]");
- const nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]");
- nonASCIIidentifierStartChars = nonASCIIidentifierChars = null;
- const astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 157, 310, 10, 21, 11, 7, 153, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 349, 41, 7, 1, 79, 28, 11, 0, 9, 21, 107, 20, 28, 22, 13, 52, 76, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 85, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 230, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 35, 56, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 190, 0, 80, 921, 103, 110, 18, 195, 2749, 1070, 4050, 582, 8634, 568, 8, 30, 114, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 43, 8, 8952, 286, 50, 2, 18, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 2357, 44, 11, 6, 17, 0, 370, 43, 1301, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42717, 35, 4148, 12, 221, 3, 5761, 15, 7472, 3104, 541, 1507, 4938];
- const astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 370, 1, 154, 10, 176, 2, 54, 14, 32, 9, 16, 3, 46, 10, 54, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 161, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 406, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 19306, 9, 135, 4, 60, 6, 26, 9, 1014, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 5319, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 262, 6, 10, 9, 419, 13, 1495, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];
-
- function isInAstralSet(code, set) {
- let pos = 0x10000;
-
- for (let i = 0, length = set.length; i < length; i += 2) {
- pos += set[i];
- if (pos > code) return false;
- pos += set[i + 1];
- if (pos >= code) return true;
- }
+var identifier = {};
- return false;
+Object.defineProperty(identifier, "__esModule", {
+ value: true
+});
+identifier.isIdentifierStart = isIdentifierStart;
+identifier.isIdentifierChar = isIdentifierChar;
+identifier.isIdentifierName = isIdentifierName;
+let nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u0870-\u0887\u0889-\u088e\u08a0-\u08c9\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c5d\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cdd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u1711\u171f-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4c\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7ca\ua7d0\ua7d1\ua7d3\ua7d5-\ua7d9\ua7f2-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc";
+let nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0898-\u089f\u08ca-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3c\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ecd\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u180f-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf-\u1ace\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1dff\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f";
+const nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]");
+const nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]");
+nonASCIIidentifierStartChars = nonASCIIidentifierChars = null;
+const astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 68, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 349, 41, 7, 1, 79, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 85, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 190, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1070, 4050, 582, 8634, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 43, 8, 8936, 3, 2, 6, 2, 1, 2, 290, 46, 2, 18, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 482, 44, 11, 6, 17, 0, 322, 29, 19, 43, 1269, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4152, 8, 221, 3, 5761, 15, 7472, 3104, 541, 1507, 4938];
+const astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 370, 1, 154, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 161, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 406, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 19306, 9, 87, 9, 39, 4, 60, 6, 26, 9, 1014, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4706, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 262, 6, 10, 9, 357, 0, 62, 13, 1495, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];
+
+function isInAstralSet(code, set) {
+ let pos = 0x10000;
+
+ for (let i = 0, length = set.length; i < length; i += 2) {
+ pos += set[i];
+ if (pos > code) return false;
+ pos += set[i + 1];
+ if (pos >= code) return true;
+ }
+
+ return false;
+}
+
+function isIdentifierStart(code) {
+ if (code < 65) return code === 36;
+ if (code <= 90) return true;
+ if (code < 97) return code === 95;
+ if (code <= 122) return true;
+
+ if (code <= 0xffff) {
+ return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code));
}
- function isIdentifierStart(code) {
- if (code < 65) return code === 36;
- if (code <= 90) return true;
- if (code < 97) return code === 95;
- if (code <= 122) return true;
+ return isInAstralSet(code, astralIdentifierStartCodes);
+}
- if (code <= 0xffff) {
- return code >= 0xaa && nonASCIIidentifierStart.test(String.fromCharCode(code));
- }
+function isIdentifierChar(code) {
+ if (code < 48) return code === 36;
+ if (code < 58) return true;
+ if (code < 65) return false;
+ if (code <= 90) return true;
+ if (code < 97) return code === 95;
+ if (code <= 122) return true;
- return isInAstralSet(code, astralIdentifierStartCodes);
+ if (code <= 0xffff) {
+ return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code));
}
- function isIdentifierChar(code) {
- if (code < 48) return code === 36;
- if (code < 58) return true;
- if (code < 65) return false;
- if (code <= 90) return true;
- if (code < 97) return code === 95;
- if (code <= 122) return true;
+ return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes);
+}
- if (code <= 0xffff) {
- return code >= 0xaa && nonASCIIidentifier.test(String.fromCharCode(code));
- }
+function isIdentifierName(name) {
+ let isFirst = true;
- return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes);
- }
+ for (let i = 0; i < name.length; i++) {
+ let cp = name.charCodeAt(i);
- function isIdentifierName(name) {
- let isFirst = true;
+ if ((cp & 0xfc00) === 0xd800 && i + 1 < name.length) {
+ const trail = name.charCodeAt(++i);
- for (let _i = 0, _Array$from = Array.from(name); _i < _Array$from.length; _i++) {
- const char = _Array$from[_i];
- const cp = char.codePointAt(0);
+ if ((trail & 0xfc00) === 0xdc00) {
+ cp = 0x10000 + ((cp & 0x3ff) << 10) + (trail & 0x3ff);
+ }
+ }
- if (isFirst) {
- if (!isIdentifierStart(cp)) {
- return false;
- }
+ if (isFirst) {
+ isFirst = false;
- isFirst = false;
- } else if (!isIdentifierChar(cp)) {
+ if (!isIdentifierStart(cp)) {
return false;
}
+ } else if (!isIdentifierChar(cp)) {
+ return false;
}
-
- return !isFirst;
}
-});
-var keyword = createCommonjsModule(function (module, exports) {
+ return !isFirst;
+}
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.isReservedWord = isReservedWord;
- exports.isStrictReservedWord = isStrictReservedWord;
- exports.isStrictBindOnlyReservedWord = isStrictBindOnlyReservedWord;
- exports.isStrictBindReservedWord = isStrictBindReservedWord;
- exports.isKeyword = isKeyword;
- const reservedWords = {
- keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete"],
- strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"],
- strictBind: ["eval", "arguments"]
- };
- const keywords = new Set(reservedWords.keyword);
- const reservedWordsStrictSet = new Set(reservedWords.strict);
- const reservedWordsStrictBindSet = new Set(reservedWords.strictBind);
+var keyword = {};
- function isReservedWord(word, inModule) {
- return inModule && word === "await" || word === "enum";
- }
+Object.defineProperty(keyword, "__esModule", {
+ value: true
+});
+keyword.isReservedWord = isReservedWord;
+keyword.isStrictReservedWord = isStrictReservedWord;
+keyword.isStrictBindOnlyReservedWord = isStrictBindOnlyReservedWord;
+keyword.isStrictBindReservedWord = isStrictBindReservedWord;
+keyword.isKeyword = isKeyword;
+const reservedWords = {
+ keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete"],
+ strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"],
+ strictBind: ["eval", "arguments"]
+};
+const keywords = new Set(reservedWords.keyword);
+const reservedWordsStrictSet = new Set(reservedWords.strict);
+const reservedWordsStrictBindSet = new Set(reservedWords.strictBind);
- function isStrictReservedWord(word, inModule) {
- return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word);
- }
+function isReservedWord(word, inModule) {
+ return inModule && word === "await" || word === "enum";
+}
- function isStrictBindOnlyReservedWord(word) {
- return reservedWordsStrictBindSet.has(word);
- }
+function isStrictReservedWord(word, inModule) {
+ return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word);
+}
- function isStrictBindReservedWord(word, inModule) {
- return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word);
- }
+function isStrictBindOnlyReservedWord(word) {
+ return reservedWordsStrictBindSet.has(word);
+}
- function isKeyword(word) {
- return keywords.has(word);
- }
-});
+function isStrictBindReservedWord(word, inModule) {
+ return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word);
+}
-var lib = createCommonjsModule(function (module, exports) {
+function isKeyword(word) {
+ return keywords.has(word);
+}
+
+(function (exports) {
Object.defineProperty(exports, "__esModule", {
value: true
Object.defineProperty(exports, "isIdentifierName", {
enumerable: true,
get: function () {
- return identifier.isIdentifierName;
+ return _identifier.isIdentifierName;
}
});
Object.defineProperty(exports, "isIdentifierChar", {
enumerable: true,
get: function () {
- return identifier.isIdentifierChar;
+ return _identifier.isIdentifierChar;
}
});
Object.defineProperty(exports, "isIdentifierStart", {
enumerable: true,
get: function () {
- return identifier.isIdentifierStart;
+ return _identifier.isIdentifierStart;
}
});
Object.defineProperty(exports, "isReservedWord", {
enumerable: true,
get: function () {
- return keyword.isReservedWord;
+ return _keyword.isReservedWord;
}
});
Object.defineProperty(exports, "isStrictBindOnlyReservedWord", {
enumerable: true,
get: function () {
- return keyword.isStrictBindOnlyReservedWord;
+ return _keyword.isStrictBindOnlyReservedWord;
}
});
Object.defineProperty(exports, "isStrictBindReservedWord", {
enumerable: true,
get: function () {
- return keyword.isStrictBindReservedWord;
+ return _keyword.isStrictBindReservedWord;
}
});
Object.defineProperty(exports, "isStrictReservedWord", {
enumerable: true,
get: function () {
- return keyword.isStrictReservedWord;
+ return _keyword.isStrictReservedWord;
}
});
Object.defineProperty(exports, "isKeyword", {
enumerable: true,
get: function () {
- return keyword.isKeyword;
+ return _keyword.isKeyword;
}
});
-});
+ var _identifier = identifier;
+ var _keyword = keyword;
+})(lib);
+
+var chalk = {exports: {}};
var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g;
return str.replace(matchOperatorsRe, '\\$&');
};
+var ansiStyles = {exports: {}};
+
+var conversions$2 = {exports: {}};
+
var colorName = {
"aliceblue": [240, 248, 255],
"antiquewhite": [250, 235, 215],
"yellowgreen": [154, 205, 50]
};
-var conversions = createCommonjsModule(function (module) {
- /* MIT license */
- // NOTE: conversions should only return primitive values (i.e. arrays, or
- // values that give correct `typeof` results).
- // do not use box values types (i.e. Number(), String(), etc.)
- var reverseKeywords = {};
-
- for (var key in colorName) {
- if (colorName.hasOwnProperty(key)) {
- reverseKeywords[colorName[key]] = key;
- }
- }
-
- var convert = module.exports = {
- rgb: {
- channels: 3,
- labels: 'rgb'
- },
- hsl: {
- channels: 3,
- labels: 'hsl'
- },
- hsv: {
- channels: 3,
- labels: 'hsv'
- },
- hwb: {
- channels: 3,
- labels: 'hwb'
- },
- cmyk: {
- channels: 4,
- labels: 'cmyk'
- },
- xyz: {
- channels: 3,
- labels: 'xyz'
- },
- lab: {
- channels: 3,
- labels: 'lab'
- },
- lch: {
- channels: 3,
- labels: 'lch'
- },
- hex: {
- channels: 1,
- labels: ['hex']
- },
- keyword: {
- channels: 1,
- labels: ['keyword']
- },
- ansi16: {
- channels: 1,
- labels: ['ansi16']
- },
- ansi256: {
- channels: 1,
- labels: ['ansi256']
- },
- hcg: {
- channels: 3,
- labels: ['h', 'c', 'g']
- },
- apple: {
- channels: 3,
- labels: ['r16', 'g16', 'b16']
- },
- gray: {
- channels: 1,
- labels: ['gray']
- }
- }; // hide .channels and .labels properties
-
- for (var model in convert) {
- if (convert.hasOwnProperty(model)) {
- if (!('channels' in convert[model])) {
- throw new Error('missing channels property: ' + model);
- }
-
- if (!('labels' in convert[model])) {
- throw new Error('missing channel labels property: ' + model);
- }
+/* MIT license */
+var cssKeywords = colorName; // NOTE: conversions should only return primitive values (i.e. arrays, or
+// values that give correct `typeof` results).
+// do not use box values types (i.e. Number(), String(), etc.)
- if (convert[model].labels.length !== convert[model].channels) {
- throw new Error('channel and label counts mismatch: ' + model);
- }
+var reverseKeywords = {};
- var channels = convert[model].channels;
- var labels = convert[model].labels;
- delete convert[model].channels;
- delete convert[model].labels;
- Object.defineProperty(convert[model], 'channels', {
- value: channels
- });
- Object.defineProperty(convert[model], 'labels', {
- value: labels
- });
- }
+for (var key in cssKeywords) {
+ if (cssKeywords.hasOwnProperty(key)) {
+ reverseKeywords[cssKeywords[key]] = key;
}
+}
- convert.rgb.hsl = function (rgb) {
- var r = rgb[0] / 255;
- var g = rgb[1] / 255;
- var b = rgb[2] / 255;
- var min = Math.min(r, g, b);
- var max = Math.max(r, g, b);
- var delta = max - min;
- var h;
- var s;
- var l;
+var convert$1 = conversions$2.exports = {
+ rgb: {
+ channels: 3,
+ labels: 'rgb'
+ },
+ hsl: {
+ channels: 3,
+ labels: 'hsl'
+ },
+ hsv: {
+ channels: 3,
+ labels: 'hsv'
+ },
+ hwb: {
+ channels: 3,
+ labels: 'hwb'
+ },
+ cmyk: {
+ channels: 4,
+ labels: 'cmyk'
+ },
+ xyz: {
+ channels: 3,
+ labels: 'xyz'
+ },
+ lab: {
+ channels: 3,
+ labels: 'lab'
+ },
+ lch: {
+ channels: 3,
+ labels: 'lch'
+ },
+ hex: {
+ channels: 1,
+ labels: ['hex']
+ },
+ keyword: {
+ channels: 1,
+ labels: ['keyword']
+ },
+ ansi16: {
+ channels: 1,
+ labels: ['ansi16']
+ },
+ ansi256: {
+ channels: 1,
+ labels: ['ansi256']
+ },
+ hcg: {
+ channels: 3,
+ labels: ['h', 'c', 'g']
+ },
+ apple: {
+ channels: 3,
+ labels: ['r16', 'g16', 'b16']
+ },
+ gray: {
+ channels: 1,
+ labels: ['gray']
+ }
+}; // hide .channels and .labels properties
- if (max === min) {
- h = 0;
- } else if (r === max) {
- h = (g - b) / delta;
- } else if (g === max) {
- h = 2 + (b - r) / delta;
- } else if (b === max) {
- h = 4 + (r - g) / delta;
+for (var model in convert$1) {
+ if (convert$1.hasOwnProperty(model)) {
+ if (!('channels' in convert$1[model])) {
+ throw new Error('missing channels property: ' + model);
}
- h = Math.min(h * 60, 360);
+ if (!('labels' in convert$1[model])) {
+ throw new Error('missing channel labels property: ' + model);
+ }
- if (h < 0) {
- h += 360;
+ if (convert$1[model].labels.length !== convert$1[model].channels) {
+ throw new Error('channel and label counts mismatch: ' + model);
}
- l = (min + max) / 2;
+ var channels = convert$1[model].channels;
+ var labels = convert$1[model].labels;
+ delete convert$1[model].channels;
+ delete convert$1[model].labels;
+ Object.defineProperty(convert$1[model], 'channels', {
+ value: channels
+ });
+ Object.defineProperty(convert$1[model], 'labels', {
+ value: labels
+ });
+ }
+}
- if (max === min) {
- s = 0;
- } else if (l <= 0.5) {
- s = delta / (max + min);
- } else {
- s = delta / (2 - max - min);
- }
+convert$1.rgb.hsl = function (rgb) {
+ var r = rgb[0] / 255;
+ var g = rgb[1] / 255;
+ var b = rgb[2] / 255;
+ var min = Math.min(r, g, b);
+ var max = Math.max(r, g, b);
+ var delta = max - min;
+ var h;
+ var s;
+ var l;
- return [h, s * 100, l * 100];
- };
+ if (max === min) {
+ h = 0;
+ } else if (r === max) {
+ h = (g - b) / delta;
+ } else if (g === max) {
+ h = 2 + (b - r) / delta;
+ } else if (b === max) {
+ h = 4 + (r - g) / delta;
+ }
- convert.rgb.hsv = function (rgb) {
- var rdif;
- var gdif;
- var bdif;
- var h;
- var s;
- var r = rgb[0] / 255;
- var g = rgb[1] / 255;
- var b = rgb[2] / 255;
- var v = Math.max(r, g, b);
- var diff = v - Math.min(r, g, b);
-
- var diffc = function (c) {
- return (v - c) / 6 / diff + 1 / 2;
- };
+ h = Math.min(h * 60, 360);
- if (diff === 0) {
- h = s = 0;
- } else {
- s = diff / v;
- rdif = diffc(r);
- gdif = diffc(g);
- bdif = diffc(b);
-
- if (r === v) {
- h = bdif - gdif;
- } else if (g === v) {
- h = 1 / 3 + rdif - bdif;
- } else if (b === v) {
- h = 2 / 3 + gdif - rdif;
- }
+ if (h < 0) {
+ h += 360;
+ }
- if (h < 0) {
- h += 1;
- } else if (h > 1) {
- h -= 1;
- }
- }
+ l = (min + max) / 2;
- return [h * 360, s * 100, v * 100];
- };
+ if (max === min) {
+ s = 0;
+ } else if (l <= 0.5) {
+ s = delta / (max + min);
+ } else {
+ s = delta / (2 - max - min);
+ }
- convert.rgb.hwb = function (rgb) {
- var r = rgb[0];
- var g = rgb[1];
- var b = rgb[2];
- var h = convert.rgb.hsl(rgb)[0];
- var w = 1 / 255 * Math.min(r, Math.min(g, b));
- b = 1 - 1 / 255 * Math.max(r, Math.max(g, b));
- return [h, w * 100, b * 100];
- };
+ return [h, s * 100, l * 100];
+};
- convert.rgb.cmyk = function (rgb) {
- var r = rgb[0] / 255;
- var g = rgb[1] / 255;
- var b = rgb[2] / 255;
- var c;
- var m;
- var y;
- var k;
- k = Math.min(1 - r, 1 - g, 1 - b);
- c = (1 - r - k) / (1 - k) || 0;
- m = (1 - g - k) / (1 - k) || 0;
- y = (1 - b - k) / (1 - k) || 0;
- return [c * 100, m * 100, y * 100, k * 100];
+convert$1.rgb.hsv = function (rgb) {
+ var rdif;
+ var gdif;
+ var bdif;
+ var h;
+ var s;
+ var r = rgb[0] / 255;
+ var g = rgb[1] / 255;
+ var b = rgb[2] / 255;
+ var v = Math.max(r, g, b);
+ var diff = v - Math.min(r, g, b);
+
+ var diffc = function (c) {
+ return (v - c) / 6 / diff + 1 / 2;
};
- /**
- * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance
- * */
-
- function comparativeDistance(x, y) {
- return Math.pow(x[0] - y[0], 2) + Math.pow(x[1] - y[1], 2) + Math.pow(x[2] - y[2], 2);
- }
+ if (diff === 0) {
+ h = s = 0;
+ } else {
+ s = diff / v;
+ rdif = diffc(r);
+ gdif = diffc(g);
+ bdif = diffc(b);
- convert.rgb.keyword = function (rgb) {
- var reversed = reverseKeywords[rgb];
+ if (r === v) {
+ h = bdif - gdif;
+ } else if (g === v) {
+ h = 1 / 3 + rdif - bdif;
+ } else if (b === v) {
+ h = 2 / 3 + gdif - rdif;
+ }
- if (reversed) {
- return reversed;
+ if (h < 0) {
+ h += 1;
+ } else if (h > 1) {
+ h -= 1;
}
+ }
- var currentClosestDistance = Infinity;
- var currentClosestKeyword;
+ return [h * 360, s * 100, v * 100];
+};
- for (var keyword in colorName) {
- if (colorName.hasOwnProperty(keyword)) {
- var value = colorName[keyword]; // Compute comparative distance
+convert$1.rgb.hwb = function (rgb) {
+ var r = rgb[0];
+ var g = rgb[1];
+ var b = rgb[2];
+ var h = convert$1.rgb.hsl(rgb)[0];
+ var w = 1 / 255 * Math.min(r, Math.min(g, b));
+ b = 1 - 1 / 255 * Math.max(r, Math.max(g, b));
+ return [h, w * 100, b * 100];
+};
- var distance = comparativeDistance(rgb, value); // Check if its less, if so set as closest
+convert$1.rgb.cmyk = function (rgb) {
+ var r = rgb[0] / 255;
+ var g = rgb[1] / 255;
+ var b = rgb[2] / 255;
+ var c;
+ var m;
+ var y;
+ var k;
+ k = Math.min(1 - r, 1 - g, 1 - b);
+ c = (1 - r - k) / (1 - k) || 0;
+ m = (1 - g - k) / (1 - k) || 0;
+ y = (1 - b - k) / (1 - k) || 0;
+ return [c * 100, m * 100, y * 100, k * 100];
+};
+/**
+ * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance
+ * */
- if (distance < currentClosestDistance) {
- currentClosestDistance = distance;
- currentClosestKeyword = keyword;
- }
- }
- }
- return currentClosestKeyword;
- };
+function comparativeDistance(x, y) {
+ return Math.pow(x[0] - y[0], 2) + Math.pow(x[1] - y[1], 2) + Math.pow(x[2] - y[2], 2);
+}
- convert.keyword.rgb = function (keyword) {
- return colorName[keyword];
- };
+convert$1.rgb.keyword = function (rgb) {
+ var reversed = reverseKeywords[rgb];
- convert.rgb.xyz = function (rgb) {
- var r = rgb[0] / 255;
- var g = rgb[1] / 255;
- var b = rgb[2] / 255; // assume sRGB
-
- r = r > 0.04045 ? Math.pow((r + 0.055) / 1.055, 2.4) : r / 12.92;
- g = g > 0.04045 ? Math.pow((g + 0.055) / 1.055, 2.4) : g / 12.92;
- b = b > 0.04045 ? Math.pow((b + 0.055) / 1.055, 2.4) : b / 12.92;
- var x = r * 0.4124 + g * 0.3576 + b * 0.1805;
- var y = r * 0.2126 + g * 0.7152 + b * 0.0722;
- var z = r * 0.0193 + g * 0.1192 + b * 0.9505;
- return [x * 100, y * 100, z * 100];
- };
+ if (reversed) {
+ return reversed;
+ }
- convert.rgb.lab = function (rgb) {
- var xyz = convert.rgb.xyz(rgb);
- var x = xyz[0];
- var y = xyz[1];
- var z = xyz[2];
- var l;
- var a;
- var b;
- x /= 95.047;
- y /= 100;
- z /= 108.883;
- x = x > 0.008856 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116;
- y = y > 0.008856 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116;
- z = z > 0.008856 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116;
- l = 116 * y - 16;
- a = 500 * (x - y);
- b = 200 * (y - z);
- return [l, a, b];
- };
+ var currentClosestDistance = Infinity;
+ var currentClosestKeyword;
- convert.hsl.rgb = function (hsl) {
- var h = hsl[0] / 360;
- var s = hsl[1] / 100;
- var l = hsl[2] / 100;
- var t1;
- var t2;
- var t3;
- var rgb;
- var val;
+ for (var keyword in cssKeywords) {
+ if (cssKeywords.hasOwnProperty(keyword)) {
+ var value = cssKeywords[keyword]; // Compute comparative distance
- if (s === 0) {
- val = l * 255;
- return [val, val, val];
- }
+ var distance = comparativeDistance(rgb, value); // Check if its less, if so set as closest
- if (l < 0.5) {
- t2 = l * (1 + s);
- } else {
- t2 = l + s - l * s;
+ if (distance < currentClosestDistance) {
+ currentClosestDistance = distance;
+ currentClosestKeyword = keyword;
+ }
}
+ }
- t1 = 2 * l - t2;
- rgb = [0, 0, 0];
+ return currentClosestKeyword;
+};
- for (var i = 0; i < 3; i++) {
- t3 = h + 1 / 3 * -(i - 1);
+convert$1.keyword.rgb = function (keyword) {
+ return cssKeywords[keyword];
+};
- if (t3 < 0) {
- t3++;
- }
+convert$1.rgb.xyz = function (rgb) {
+ var r = rgb[0] / 255;
+ var g = rgb[1] / 255;
+ var b = rgb[2] / 255; // assume sRGB
+
+ r = r > 0.04045 ? Math.pow((r + 0.055) / 1.055, 2.4) : r / 12.92;
+ g = g > 0.04045 ? Math.pow((g + 0.055) / 1.055, 2.4) : g / 12.92;
+ b = b > 0.04045 ? Math.pow((b + 0.055) / 1.055, 2.4) : b / 12.92;
+ var x = r * 0.4124 + g * 0.3576 + b * 0.1805;
+ var y = r * 0.2126 + g * 0.7152 + b * 0.0722;
+ var z = r * 0.0193 + g * 0.1192 + b * 0.9505;
+ return [x * 100, y * 100, z * 100];
+};
- if (t3 > 1) {
- t3--;
- }
+convert$1.rgb.lab = function (rgb) {
+ var xyz = convert$1.rgb.xyz(rgb);
+ var x = xyz[0];
+ var y = xyz[1];
+ var z = xyz[2];
+ var l;
+ var a;
+ var b;
+ x /= 95.047;
+ y /= 100;
+ z /= 108.883;
+ x = x > 0.008856 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116;
+ y = y > 0.008856 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116;
+ z = z > 0.008856 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116;
+ l = 116 * y - 16;
+ a = 500 * (x - y);
+ b = 200 * (y - z);
+ return [l, a, b];
+};
- if (6 * t3 < 1) {
- val = t1 + (t2 - t1) * 6 * t3;
- } else if (2 * t3 < 1) {
- val = t2;
- } else if (3 * t3 < 2) {
- val = t1 + (t2 - t1) * (2 / 3 - t3) * 6;
- } else {
- val = t1;
- }
+convert$1.hsl.rgb = function (hsl) {
+ var h = hsl[0] / 360;
+ var s = hsl[1] / 100;
+ var l = hsl[2] / 100;
+ var t1;
+ var t2;
+ var t3;
+ var rgb;
+ var val;
- rgb[i] = val * 255;
- }
+ if (s === 0) {
+ val = l * 255;
+ return [val, val, val];
+ }
- return rgb;
- };
+ if (l < 0.5) {
+ t2 = l * (1 + s);
+ } else {
+ t2 = l + s - l * s;
+ }
- convert.hsl.hsv = function (hsl) {
- var h = hsl[0];
- var s = hsl[1] / 100;
- var l = hsl[2] / 100;
- var smin = s;
- var lmin = Math.max(l, 0.01);
- var sv;
- var v;
- l *= 2;
- s *= l <= 1 ? l : 2 - l;
- smin *= lmin <= 1 ? lmin : 2 - lmin;
- v = (l + s) / 2;
- sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l + s);
- return [h, sv * 100, v * 100];
- };
+ t1 = 2 * l - t2;
+ rgb = [0, 0, 0];
- convert.hsv.rgb = function (hsv) {
- var h = hsv[0] / 60;
- var s = hsv[1] / 100;
- var v = hsv[2] / 100;
- var hi = Math.floor(h) % 6;
- var f = h - Math.floor(h);
- var p = 255 * v * (1 - s);
- var q = 255 * v * (1 - s * f);
- var t = 255 * v * (1 - s * (1 - f));
- v *= 255;
+ for (var i = 0; i < 3; i++) {
+ t3 = h + 1 / 3 * -(i - 1);
- switch (hi) {
- case 0:
- return [v, t, p];
+ if (t3 < 0) {
+ t3++;
+ }
- case 1:
- return [q, v, p];
+ if (t3 > 1) {
+ t3--;
+ }
- case 2:
- return [p, v, t];
+ if (6 * t3 < 1) {
+ val = t1 + (t2 - t1) * 6 * t3;
+ } else if (2 * t3 < 1) {
+ val = t2;
+ } else if (3 * t3 < 2) {
+ val = t1 + (t2 - t1) * (2 / 3 - t3) * 6;
+ } else {
+ val = t1;
+ }
- case 3:
- return [p, q, v];
+ rgb[i] = val * 255;
+ }
- case 4:
- return [t, p, v];
+ return rgb;
+};
- case 5:
- return [v, p, q];
- }
- };
+convert$1.hsl.hsv = function (hsl) {
+ var h = hsl[0];
+ var s = hsl[1] / 100;
+ var l = hsl[2] / 100;
+ var smin = s;
+ var lmin = Math.max(l, 0.01);
+ var sv;
+ var v;
+ l *= 2;
+ s *= l <= 1 ? l : 2 - l;
+ smin *= lmin <= 1 ? lmin : 2 - lmin;
+ v = (l + s) / 2;
+ sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l + s);
+ return [h, sv * 100, v * 100];
+};
- convert.hsv.hsl = function (hsv) {
- var h = hsv[0];
- var s = hsv[1] / 100;
- var v = hsv[2] / 100;
- var vmin = Math.max(v, 0.01);
- var lmin;
- var sl;
- var l;
- l = (2 - s) * v;
- lmin = (2 - s) * vmin;
- sl = s * vmin;
- sl /= lmin <= 1 ? lmin : 2 - lmin;
- sl = sl || 0;
- l /= 2;
- return [h, sl * 100, l * 100];
- }; // http://dev.w3.org/csswg/css-color/#hwb-to-rgb
-
-
- convert.hwb.rgb = function (hwb) {
- var h = hwb[0] / 360;
- var wh = hwb[1] / 100;
- var bl = hwb[2] / 100;
- var ratio = wh + bl;
- var i;
- var v;
- var f;
- var n; // wh + bl cant be > 1
-
- if (ratio > 1) {
- wh /= ratio;
- bl /= ratio;
- }
-
- i = Math.floor(6 * h);
- v = 1 - bl;
- f = 6 * h - i;
-
- if ((i & 0x01) !== 0) {
- f = 1 - f;
- }
-
- n = wh + f * (v - wh); // linear interpolation
-
- var r;
- var g;
- var b;
-
- switch (i) {
- default:
- case 6:
- case 0:
- r = v;
- g = n;
- b = wh;
- break;
+convert$1.hsv.rgb = function (hsv) {
+ var h = hsv[0] / 60;
+ var s = hsv[1] / 100;
+ var v = hsv[2] / 100;
+ var hi = Math.floor(h) % 6;
+ var f = h - Math.floor(h);
+ var p = 255 * v * (1 - s);
+ var q = 255 * v * (1 - s * f);
+ var t = 255 * v * (1 - s * (1 - f));
+ v *= 255;
- case 1:
- r = n;
- g = v;
- b = wh;
- break;
+ switch (hi) {
+ case 0:
+ return [v, t, p];
- case 2:
- r = wh;
- g = v;
- b = n;
- break;
+ case 1:
+ return [q, v, p];
- case 3:
- r = wh;
- g = n;
- b = v;
- break;
+ case 2:
+ return [p, v, t];
- case 4:
- r = n;
- g = wh;
- b = v;
- break;
+ case 3:
+ return [p, q, v];
- case 5:
- r = v;
- g = wh;
- b = n;
- break;
- }
+ case 4:
+ return [t, p, v];
- return [r * 255, g * 255, b * 255];
- };
+ case 5:
+ return [v, p, q];
+ }
+};
- convert.cmyk.rgb = function (cmyk) {
- var c = cmyk[0] / 100;
- var m = cmyk[1] / 100;
- var y = cmyk[2] / 100;
- var k = cmyk[3] / 100;
- var r;
- var g;
- var b;
- r = 1 - Math.min(1, c * (1 - k) + k);
- g = 1 - Math.min(1, m * (1 - k) + k);
- b = 1 - Math.min(1, y * (1 - k) + k);
- return [r * 255, g * 255, b * 255];
- };
+convert$1.hsv.hsl = function (hsv) {
+ var h = hsv[0];
+ var s = hsv[1] / 100;
+ var v = hsv[2] / 100;
+ var vmin = Math.max(v, 0.01);
+ var lmin;
+ var sl;
+ var l;
+ l = (2 - s) * v;
+ lmin = (2 - s) * vmin;
+ sl = s * vmin;
+ sl /= lmin <= 1 ? lmin : 2 - lmin;
+ sl = sl || 0;
+ l /= 2;
+ return [h, sl * 100, l * 100];
+}; // http://dev.w3.org/csswg/css-color/#hwb-to-rgb
+
+
+convert$1.hwb.rgb = function (hwb) {
+ var h = hwb[0] / 360;
+ var wh = hwb[1] / 100;
+ var bl = hwb[2] / 100;
+ var ratio = wh + bl;
+ var i;
+ var v;
+ var f;
+ var n; // wh + bl cant be > 1
+
+ if (ratio > 1) {
+ wh /= ratio;
+ bl /= ratio;
+ }
+
+ i = Math.floor(6 * h);
+ v = 1 - bl;
+ f = 6 * h - i;
+
+ if ((i & 0x01) !== 0) {
+ f = 1 - f;
+ }
+
+ n = wh + f * (v - wh); // linear interpolation
+
+ var r;
+ var g;
+ var b;
+
+ switch (i) {
+ default:
+ case 6:
+ case 0:
+ r = v;
+ g = n;
+ b = wh;
+ break;
- convert.xyz.rgb = function (xyz) {
- var x = xyz[0] / 100;
- var y = xyz[1] / 100;
- var z = xyz[2] / 100;
- var r;
- var g;
- var b;
- r = x * 3.2406 + y * -1.5372 + z * -0.4986;
- g = x * -0.9689 + y * 1.8758 + z * 0.0415;
- b = x * 0.0557 + y * -0.2040 + z * 1.0570; // assume sRGB
-
- r = r > 0.0031308 ? 1.055 * Math.pow(r, 1.0 / 2.4) - 0.055 : r * 12.92;
- g = g > 0.0031308 ? 1.055 * Math.pow(g, 1.0 / 2.4) - 0.055 : g * 12.92;
- b = b > 0.0031308 ? 1.055 * Math.pow(b, 1.0 / 2.4) - 0.055 : b * 12.92;
- r = Math.min(Math.max(0, r), 1);
- g = Math.min(Math.max(0, g), 1);
- b = Math.min(Math.max(0, b), 1);
- return [r * 255, g * 255, b * 255];
- };
+ case 1:
+ r = n;
+ g = v;
+ b = wh;
+ break;
- convert.xyz.lab = function (xyz) {
- var x = xyz[0];
- var y = xyz[1];
- var z = xyz[2];
- var l;
- var a;
- var b;
- x /= 95.047;
- y /= 100;
- z /= 108.883;
- x = x > 0.008856 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116;
- y = y > 0.008856 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116;
- z = z > 0.008856 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116;
- l = 116 * y - 16;
- a = 500 * (x - y);
- b = 200 * (y - z);
- return [l, a, b];
- };
+ case 2:
+ r = wh;
+ g = v;
+ b = n;
+ break;
- convert.lab.xyz = function (lab) {
- var l = lab[0];
- var a = lab[1];
- var b = lab[2];
- var x;
- var y;
- var z;
- y = (l + 16) / 116;
- x = a / 500 + y;
- z = y - b / 200;
- var y2 = Math.pow(y, 3);
- var x2 = Math.pow(x, 3);
- var z2 = Math.pow(z, 3);
- y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;
- x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;
- z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;
- x *= 95.047;
- y *= 100;
- z *= 108.883;
- return [x, y, z];
- };
+ case 3:
+ r = wh;
+ g = n;
+ b = v;
+ break;
+
+ case 4:
+ r = n;
+ g = wh;
+ b = v;
+ break;
- convert.lab.lch = function (lab) {
- var l = lab[0];
- var a = lab[1];
- var b = lab[2];
- var hr;
- var h;
- var c;
- hr = Math.atan2(b, a);
- h = hr * 360 / 2 / Math.PI;
+ case 5:
+ r = v;
+ g = wh;
+ b = n;
+ break;
+ }
- if (h < 0) {
- h += 360;
- }
+ return [r * 255, g * 255, b * 255];
+};
- c = Math.sqrt(a * a + b * b);
- return [l, c, h];
- };
+convert$1.cmyk.rgb = function (cmyk) {
+ var c = cmyk[0] / 100;
+ var m = cmyk[1] / 100;
+ var y = cmyk[2] / 100;
+ var k = cmyk[3] / 100;
+ var r;
+ var g;
+ var b;
+ r = 1 - Math.min(1, c * (1 - k) + k);
+ g = 1 - Math.min(1, m * (1 - k) + k);
+ b = 1 - Math.min(1, y * (1 - k) + k);
+ return [r * 255, g * 255, b * 255];
+};
- convert.lch.lab = function (lch) {
- var l = lch[0];
- var c = lch[1];
- var h = lch[2];
- var a;
- var b;
- var hr;
- hr = h / 360 * 2 * Math.PI;
- a = c * Math.cos(hr);
- b = c * Math.sin(hr);
- return [l, a, b];
- };
+convert$1.xyz.rgb = function (xyz) {
+ var x = xyz[0] / 100;
+ var y = xyz[1] / 100;
+ var z = xyz[2] / 100;
+ var r;
+ var g;
+ var b;
+ r = x * 3.2406 + y * -1.5372 + z * -0.4986;
+ g = x * -0.9689 + y * 1.8758 + z * 0.0415;
+ b = x * 0.0557 + y * -0.2040 + z * 1.0570; // assume sRGB
+
+ r = r > 0.0031308 ? 1.055 * Math.pow(r, 1.0 / 2.4) - 0.055 : r * 12.92;
+ g = g > 0.0031308 ? 1.055 * Math.pow(g, 1.0 / 2.4) - 0.055 : g * 12.92;
+ b = b > 0.0031308 ? 1.055 * Math.pow(b, 1.0 / 2.4) - 0.055 : b * 12.92;
+ r = Math.min(Math.max(0, r), 1);
+ g = Math.min(Math.max(0, g), 1);
+ b = Math.min(Math.max(0, b), 1);
+ return [r * 255, g * 255, b * 255];
+};
- convert.rgb.ansi16 = function (args) {
- var r = args[0];
- var g = args[1];
- var b = args[2];
- var value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization
+convert$1.xyz.lab = function (xyz) {
+ var x = xyz[0];
+ var y = xyz[1];
+ var z = xyz[2];
+ var l;
+ var a;
+ var b;
+ x /= 95.047;
+ y /= 100;
+ z /= 108.883;
+ x = x > 0.008856 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116;
+ y = y > 0.008856 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116;
+ z = z > 0.008856 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116;
+ l = 116 * y - 16;
+ a = 500 * (x - y);
+ b = 200 * (y - z);
+ return [l, a, b];
+};
- value = Math.round(value / 50);
+convert$1.lab.xyz = function (lab) {
+ var l = lab[0];
+ var a = lab[1];
+ var b = lab[2];
+ var x;
+ var y;
+ var z;
+ y = (l + 16) / 116;
+ x = a / 500 + y;
+ z = y - b / 200;
+ var y2 = Math.pow(y, 3);
+ var x2 = Math.pow(x, 3);
+ var z2 = Math.pow(z, 3);
+ y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787;
+ x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787;
+ z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787;
+ x *= 95.047;
+ y *= 100;
+ z *= 108.883;
+ return [x, y, z];
+};
- if (value === 0) {
- return 30;
- }
+convert$1.lab.lch = function (lab) {
+ var l = lab[0];
+ var a = lab[1];
+ var b = lab[2];
+ var hr;
+ var h;
+ var c;
+ hr = Math.atan2(b, a);
+ h = hr * 360 / 2 / Math.PI;
- var ansi = 30 + (Math.round(b / 255) << 2 | Math.round(g / 255) << 1 | Math.round(r / 255));
+ if (h < 0) {
+ h += 360;
+ }
- if (value === 2) {
- ansi += 60;
- }
+ c = Math.sqrt(a * a + b * b);
+ return [l, c, h];
+};
- return ansi;
- };
+convert$1.lch.lab = function (lch) {
+ var l = lch[0];
+ var c = lch[1];
+ var h = lch[2];
+ var a;
+ var b;
+ var hr;
+ hr = h / 360 * 2 * Math.PI;
+ a = c * Math.cos(hr);
+ b = c * Math.sin(hr);
+ return [l, a, b];
+};
- convert.hsv.ansi16 = function (args) {
- // optimization here; we already know the value and don't need to get
- // it converted for us.
- return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]);
- };
+convert$1.rgb.ansi16 = function (args) {
+ var r = args[0];
+ var g = args[1];
+ var b = args[2];
+ var value = 1 in arguments ? arguments[1] : convert$1.rgb.hsv(args)[2]; // hsv -> ansi16 optimization
- convert.rgb.ansi256 = function (args) {
- var r = args[0];
- var g = args[1];
- var b = args[2]; // we use the extended greyscale palette here, with the exception of
- // black and white. normal palette only has 4 greyscale shades.
+ value = Math.round(value / 50);
- if (r === g && g === b) {
- if (r < 8) {
- return 16;
- }
+ if (value === 0) {
+ return 30;
+ }
- if (r > 248) {
- return 231;
- }
+ var ansi = 30 + (Math.round(b / 255) << 2 | Math.round(g / 255) << 1 | Math.round(r / 255));
- return Math.round((r - 8) / 247 * 24) + 232;
- }
+ if (value === 2) {
+ ansi += 60;
+ }
- var ansi = 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5);
- return ansi;
- };
+ return ansi;
+};
- convert.ansi16.rgb = function (args) {
- var color = args % 10; // handle greyscale
+convert$1.hsv.ansi16 = function (args) {
+ // optimization here; we already know the value and don't need to get
+ // it converted for us.
+ return convert$1.rgb.ansi16(convert$1.hsv.rgb(args), args[2]);
+};
- if (color === 0 || color === 7) {
- if (args > 50) {
- color += 3.5;
- }
+convert$1.rgb.ansi256 = function (args) {
+ var r = args[0];
+ var g = args[1];
+ var b = args[2]; // we use the extended greyscale palette here, with the exception of
+ // black and white. normal palette only has 4 greyscale shades.
- color = color / 10.5 * 255;
- return [color, color, color];
+ if (r === g && g === b) {
+ if (r < 8) {
+ return 16;
}
- var mult = (~~(args > 50) + 1) * 0.5;
- var r = (color & 1) * mult * 255;
- var g = (color >> 1 & 1) * mult * 255;
- var b = (color >> 2 & 1) * mult * 255;
- return [r, g, b];
- };
-
- convert.ansi256.rgb = function (args) {
- // handle greyscale
- if (args >= 232) {
- var c = (args - 232) * 10 + 8;
- return [c, c, c];
+ if (r > 248) {
+ return 231;
}
- args -= 16;
- var rem;
- var r = Math.floor(args / 36) / 5 * 255;
- var g = Math.floor((rem = args % 36) / 6) / 5 * 255;
- var b = rem % 6 / 5 * 255;
- return [r, g, b];
- };
+ return Math.round((r - 8) / 247 * 24) + 232;
+ }
- convert.rgb.hex = function (args) {
- var integer = ((Math.round(args[0]) & 0xFF) << 16) + ((Math.round(args[1]) & 0xFF) << 8) + (Math.round(args[2]) & 0xFF);
- var string = integer.toString(16).toUpperCase();
- return '000000'.substring(string.length) + string;
- };
+ var ansi = 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5);
+ return ansi;
+};
- convert.hex.rgb = function (args) {
- var match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);
+convert$1.ansi16.rgb = function (args) {
+ var color = args % 10; // handle greyscale
- if (!match) {
- return [0, 0, 0];
+ if (color === 0 || color === 7) {
+ if (args > 50) {
+ color += 3.5;
}
- var colorString = match[0];
+ color = color / 10.5 * 255;
+ return [color, color, color];
+ }
- if (match[0].length === 3) {
- colorString = colorString.split('').map(function (char) {
- return char + char;
- }).join('');
- }
+ var mult = (~~(args > 50) + 1) * 0.5;
+ var r = (color & 1) * mult * 255;
+ var g = (color >> 1 & 1) * mult * 255;
+ var b = (color >> 2 & 1) * mult * 255;
+ return [r, g, b];
+};
- var integer = parseInt(colorString, 16);
- var r = integer >> 16 & 0xFF;
- var g = integer >> 8 & 0xFF;
- var b = integer & 0xFF;
- return [r, g, b];
- };
+convert$1.ansi256.rgb = function (args) {
+ // handle greyscale
+ if (args >= 232) {
+ var c = (args - 232) * 10 + 8;
+ return [c, c, c];
+ }
- convert.rgb.hcg = function (rgb) {
- var r = rgb[0] / 255;
- var g = rgb[1] / 255;
- var b = rgb[2] / 255;
- var max = Math.max(Math.max(r, g), b);
- var min = Math.min(Math.min(r, g), b);
- var chroma = max - min;
- var grayscale;
- var hue;
-
- if (chroma < 1) {
- grayscale = min / (1 - chroma);
- } else {
- grayscale = 0;
- }
+ args -= 16;
+ var rem;
+ var r = Math.floor(args / 36) / 5 * 255;
+ var g = Math.floor((rem = args % 36) / 6) / 5 * 255;
+ var b = rem % 6 / 5 * 255;
+ return [r, g, b];
+};
- if (chroma <= 0) {
- hue = 0;
- } else if (max === r) {
- hue = (g - b) / chroma % 6;
- } else if (max === g) {
- hue = 2 + (b - r) / chroma;
- } else {
- hue = 4 + (r - g) / chroma + 4;
- }
+convert$1.rgb.hex = function (args) {
+ var integer = ((Math.round(args[0]) & 0xFF) << 16) + ((Math.round(args[1]) & 0xFF) << 8) + (Math.round(args[2]) & 0xFF);
+ var string = integer.toString(16).toUpperCase();
+ return '000000'.substring(string.length) + string;
+};
- hue /= 6;
- hue %= 1;
- return [hue * 360, chroma * 100, grayscale * 100];
- };
+convert$1.hex.rgb = function (args) {
+ var match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);
- convert.hsl.hcg = function (hsl) {
- var s = hsl[1] / 100;
- var l = hsl[2] / 100;
- var c = 1;
- var f = 0;
+ if (!match) {
+ return [0, 0, 0];
+ }
- if (l < 0.5) {
- c = 2.0 * s * l;
- } else {
- c = 2.0 * s * (1.0 - l);
- }
+ var colorString = match[0];
- if (c < 1.0) {
- f = (l - 0.5 * c) / (1.0 - c);
- }
+ if (match[0].length === 3) {
+ colorString = colorString.split('').map(function (char) {
+ return char + char;
+ }).join('');
+ }
- return [hsl[0], c * 100, f * 100];
- };
+ var integer = parseInt(colorString, 16);
+ var r = integer >> 16 & 0xFF;
+ var g = integer >> 8 & 0xFF;
+ var b = integer & 0xFF;
+ return [r, g, b];
+};
- convert.hsv.hcg = function (hsv) {
- var s = hsv[1] / 100;
- var v = hsv[2] / 100;
- var c = s * v;
- var f = 0;
+convert$1.rgb.hcg = function (rgb) {
+ var r = rgb[0] / 255;
+ var g = rgb[1] / 255;
+ var b = rgb[2] / 255;
+ var max = Math.max(Math.max(r, g), b);
+ var min = Math.min(Math.min(r, g), b);
+ var chroma = max - min;
+ var grayscale;
+ var hue;
+
+ if (chroma < 1) {
+ grayscale = min / (1 - chroma);
+ } else {
+ grayscale = 0;
+ }
- if (c < 1.0) {
- f = (v - c) / (1 - c);
- }
+ if (chroma <= 0) {
+ hue = 0;
+ } else if (max === r) {
+ hue = (g - b) / chroma % 6;
+ } else if (max === g) {
+ hue = 2 + (b - r) / chroma;
+ } else {
+ hue = 4 + (r - g) / chroma + 4;
+ }
- return [hsv[0], c * 100, f * 100];
- };
+ hue /= 6;
+ hue %= 1;
+ return [hue * 360, chroma * 100, grayscale * 100];
+};
- convert.hcg.rgb = function (hcg) {
- var h = hcg[0] / 360;
- var c = hcg[1] / 100;
- var g = hcg[2] / 100;
+convert$1.hsl.hcg = function (hsl) {
+ var s = hsl[1] / 100;
+ var l = hsl[2] / 100;
+ var c = 1;
+ var f = 0;
- if (c === 0.0) {
- return [g * 255, g * 255, g * 255];
- }
+ if (l < 0.5) {
+ c = 2.0 * s * l;
+ } else {
+ c = 2.0 * s * (1.0 - l);
+ }
- var pure = [0, 0, 0];
- var hi = h % 1 * 6;
- var v = hi % 1;
- var w = 1 - v;
- var mg = 0;
+ if (c < 1.0) {
+ f = (l - 0.5 * c) / (1.0 - c);
+ }
- switch (Math.floor(hi)) {
- case 0:
- pure[0] = 1;
- pure[1] = v;
- pure[2] = 0;
- break;
+ return [hsl[0], c * 100, f * 100];
+};
- case 1:
- pure[0] = w;
- pure[1] = 1;
- pure[2] = 0;
- break;
+convert$1.hsv.hcg = function (hsv) {
+ var s = hsv[1] / 100;
+ var v = hsv[2] / 100;
+ var c = s * v;
+ var f = 0;
- case 2:
- pure[0] = 0;
- pure[1] = 1;
- pure[2] = v;
- break;
+ if (c < 1.0) {
+ f = (v - c) / (1 - c);
+ }
- case 3:
- pure[0] = 0;
- pure[1] = w;
- pure[2] = 1;
- break;
+ return [hsv[0], c * 100, f * 100];
+};
- case 4:
- pure[0] = v;
- pure[1] = 0;
- pure[2] = 1;
- break;
+convert$1.hcg.rgb = function (hcg) {
+ var h = hcg[0] / 360;
+ var c = hcg[1] / 100;
+ var g = hcg[2] / 100;
- default:
- pure[0] = 1;
- pure[1] = 0;
- pure[2] = w;
- }
+ if (c === 0.0) {
+ return [g * 255, g * 255, g * 255];
+ }
- mg = (1.0 - c) * g;
- return [(c * pure[0] + mg) * 255, (c * pure[1] + mg) * 255, (c * pure[2] + mg) * 255];
- };
+ var pure = [0, 0, 0];
+ var hi = h % 1 * 6;
+ var v = hi % 1;
+ var w = 1 - v;
+ var mg = 0;
- convert.hcg.hsv = function (hcg) {
- var c = hcg[1] / 100;
- var g = hcg[2] / 100;
- var v = c + g * (1.0 - c);
- var f = 0;
+ switch (Math.floor(hi)) {
+ case 0:
+ pure[0] = 1;
+ pure[1] = v;
+ pure[2] = 0;
+ break;
- if (v > 0.0) {
- f = c / v;
- }
+ case 1:
+ pure[0] = w;
+ pure[1] = 1;
+ pure[2] = 0;
+ break;
- return [hcg[0], f * 100, v * 100];
- };
+ case 2:
+ pure[0] = 0;
+ pure[1] = 1;
+ pure[2] = v;
+ break;
- convert.hcg.hsl = function (hcg) {
- var c = hcg[1] / 100;
- var g = hcg[2] / 100;
- var l = g * (1.0 - c) + 0.5 * c;
- var s = 0;
+ case 3:
+ pure[0] = 0;
+ pure[1] = w;
+ pure[2] = 1;
+ break;
- if (l > 0.0 && l < 0.5) {
- s = c / (2 * l);
- } else if (l >= 0.5 && l < 1.0) {
- s = c / (2 * (1 - l));
- }
+ case 4:
+ pure[0] = v;
+ pure[1] = 0;
+ pure[2] = 1;
+ break;
- return [hcg[0], s * 100, l * 100];
- };
+ default:
+ pure[0] = 1;
+ pure[1] = 0;
+ pure[2] = w;
+ }
- convert.hcg.hwb = function (hcg) {
- var c = hcg[1] / 100;
- var g = hcg[2] / 100;
- var v = c + g * (1.0 - c);
- return [hcg[0], (v - c) * 100, (1 - v) * 100];
- };
+ mg = (1.0 - c) * g;
+ return [(c * pure[0] + mg) * 255, (c * pure[1] + mg) * 255, (c * pure[2] + mg) * 255];
+};
- convert.hwb.hcg = function (hwb) {
- var w = hwb[1] / 100;
- var b = hwb[2] / 100;
- var v = 1 - b;
- var c = v - w;
- var g = 0;
+convert$1.hcg.hsv = function (hcg) {
+ var c = hcg[1] / 100;
+ var g = hcg[2] / 100;
+ var v = c + g * (1.0 - c);
+ var f = 0;
- if (c < 1) {
- g = (v - c) / (1 - c);
- }
+ if (v > 0.0) {
+ f = c / v;
+ }
- return [hwb[0], c * 100, g * 100];
- };
+ return [hcg[0], f * 100, v * 100];
+};
- convert.apple.rgb = function (apple) {
- return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255];
- };
+convert$1.hcg.hsl = function (hcg) {
+ var c = hcg[1] / 100;
+ var g = hcg[2] / 100;
+ var l = g * (1.0 - c) + 0.5 * c;
+ var s = 0;
- convert.rgb.apple = function (rgb) {
- return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535];
- };
+ if (l > 0.0 && l < 0.5) {
+ s = c / (2 * l);
+ } else if (l >= 0.5 && l < 1.0) {
+ s = c / (2 * (1 - l));
+ }
- convert.gray.rgb = function (args) {
- return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];
- };
+ return [hcg[0], s * 100, l * 100];
+};
- convert.gray.hsl = convert.gray.hsv = function (args) {
- return [0, 0, args[0]];
- };
+convert$1.hcg.hwb = function (hcg) {
+ var c = hcg[1] / 100;
+ var g = hcg[2] / 100;
+ var v = c + g * (1.0 - c);
+ return [hcg[0], (v - c) * 100, (1 - v) * 100];
+};
- convert.gray.hwb = function (gray) {
- return [0, 100, gray[0]];
- };
+convert$1.hwb.hcg = function (hwb) {
+ var w = hwb[1] / 100;
+ var b = hwb[2] / 100;
+ var v = 1 - b;
+ var c = v - w;
+ var g = 0;
- convert.gray.cmyk = function (gray) {
- return [0, 0, 0, gray[0]];
- };
+ if (c < 1) {
+ g = (v - c) / (1 - c);
+ }
- convert.gray.lab = function (gray) {
- return [gray[0], 0, 0];
- };
+ return [hwb[0], c * 100, g * 100];
+};
- convert.gray.hex = function (gray) {
- var val = Math.round(gray[0] / 100 * 255) & 0xFF;
- var integer = (val << 16) + (val << 8) + val;
- var string = integer.toString(16).toUpperCase();
- return '000000'.substring(string.length) + string;
- };
+convert$1.apple.rgb = function (apple) {
+ return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255];
+};
- convert.rgb.gray = function (rgb) {
- var val = (rgb[0] + rgb[1] + rgb[2]) / 3;
- return [val / 255 * 100];
- };
-});
+convert$1.rgb.apple = function (rgb) {
+ return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535];
+};
+
+convert$1.gray.rgb = function (args) {
+ return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255];
+};
+
+convert$1.gray.hsl = convert$1.gray.hsv = function (args) {
+ return [0, 0, args[0]];
+};
+
+convert$1.gray.hwb = function (gray) {
+ return [0, 100, gray[0]];
+};
+
+convert$1.gray.cmyk = function (gray) {
+ return [0, 0, 0, gray[0]];
+};
+
+convert$1.gray.lab = function (gray) {
+ return [gray[0], 0, 0];
+};
+
+convert$1.gray.hex = function (gray) {
+ var val = Math.round(gray[0] / 100 * 255) & 0xFF;
+ var integer = (val << 16) + (val << 8) + val;
+ var string = integer.toString(16).toUpperCase();
+ return '000000'.substring(string.length) + string;
+};
+
+convert$1.rgb.gray = function (rgb) {
+ var val = (rgb[0] + rgb[1] + rgb[2]) / 3;
+ return [val / 255 * 100];
+};
+var conversions$1 = conversions$2.exports;
/*
this function routes a model to all other models.
function buildGraph() {
var graph = {}; // https://jsperf.com/object-keys-vs-for-in-with-closure/3
- var models = Object.keys(conversions);
+ var models = Object.keys(conversions$1);
for (var len = models.length, i = 0; i < len; i++) {
graph[models[i]] = {
while (queue.length) {
var current = queue.pop();
- var adjacents = Object.keys(conversions[current]);
+ var adjacents = Object.keys(conversions$1[current]);
for (var len = adjacents.length, i = 0; i < len; i++) {
var adjacent = adjacents[i];
function wrapConversion(toModel, graph) {
var path = [graph[toModel].parent, toModel];
- var fn = conversions[graph[toModel].parent][toModel];
+ var fn = conversions$1[graph[toModel].parent][toModel];
var cur = graph[toModel].parent;
while (graph[cur].parent) {
path.unshift(graph[cur].parent);
- fn = link(conversions[graph[cur].parent][cur], fn);
+ fn = link(conversions$1[graph[cur].parent][cur], fn);
cur = graph[cur].parent;
}
return fn;
}
-var route = function (fromModel) {
+var route$1 = function (fromModel) {
var graph = deriveBFS(fromModel);
var conversion = {};
var models = Object.keys(graph);
return conversion;
};
+var conversions = conversions$2.exports;
+var route = route$1;
var convert = {};
var models = Object.keys(conversions);
});
var colorConvert = convert;
-var ansiStyles = createCommonjsModule(function (module) {
+(function (module) {
+
+ const colorConvert$1 = colorConvert;
const wrapAnsi16 = (fn, offset) => function () {
- const code = fn.apply(colorConvert, arguments);
+ const code = fn.apply(colorConvert$1, arguments);
return `\u001B[${code + offset}m`;
};
const wrapAnsi256 = (fn, offset) => function () {
- const code = fn.apply(colorConvert, arguments);
+ const code = fn.apply(colorConvert$1, arguments);
return `\u001B[${38 + offset};5;${code}m`;
};
const wrapAnsi16m = (fn, offset) => function () {
- const rgb = fn.apply(colorConvert, arguments);
+ const rgb = fn.apply(colorConvert$1, arguments);
return `\u001B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`;
};
rgb: wrapAnsi16m(rgb2rgb, 10)
};
- for (let key of Object.keys(colorConvert)) {
- if (typeof colorConvert[key] !== 'object') {
+ for (let key of Object.keys(colorConvert$1)) {
+ if (typeof colorConvert$1[key] !== 'object') {
continue;
}
- const suite = colorConvert[key];
+ const suite = colorConvert$1[key];
if (key === 'ansi16') {
key = 'ansi';
enumerable: true,
get: assembleStyles
});
-});
+})(ansiStyles);
-var hasFlag = (flag, argv) => {
+var hasFlag$1 = (flag, argv) => {
argv = argv || process.argv;
const prefix = flag.startsWith('-') ? '' : flag.length === 1 ? '-' : '--';
const pos = argv.indexOf(prefix + flag);
return pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos);
};
+const os = require$$0__default$2["default"];
+const hasFlag = hasFlag$1;
const env = process.env;
let forceColor;
// release, and Node.js 7 is not. Windows 10 build 10586 is the first Windows
// release that supports 256 colors. Windows 10 build 14931 is the first release
// that supports 16m/TrueColor.
- const osRelease = os__default['default'].release().split('.');
+ const osRelease = os.release().split('.');
if (Number(process.versions.node.split('.')[0]) >= 8 && Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
return Number(osRelease[2]) >= 14931 ? 3 : 2;
return chunks.join('');
};
-var chalk = createCommonjsModule(function (module) {
+(function (module) {
+ const escapeStringRegexp$1 = escapeStringRegexp;
+ const ansiStyles$1 = ansiStyles.exports;
const stdoutColor = supportsColor_1.stdout;
+ const template = templates;
const isSimpleWindowsTerm = process.platform === 'win32' && !(process.env.TERM || '').toLowerCase().startsWith('xterm'); // `supportsColor.level` → `ansiStyles.color[name]` mapping
const levelMapping = ['ansi', 'ansi', 'ansi256', 'ansi16m']; // `color-convert` models to exclude from the Chalk API due to conflicts and such
if (isSimpleWindowsTerm) {
- ansiStyles.blue.open = '\u001B[94m';
+ ansiStyles$1.blue.open = '\u001B[94m';
}
- for (const key of Object.keys(ansiStyles)) {
- ansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g');
+ for (const key of Object.keys(ansiStyles$1)) {
+ ansiStyles$1[key].closeRe = new RegExp(escapeStringRegexp$1(ansiStyles$1[key].close), 'g');
styles[key] = {
get() {
- const codes = ansiStyles[key];
+ const codes = ansiStyles$1[key];
return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, key);
}
}
};
- ansiStyles.color.closeRe = new RegExp(escapeStringRegexp(ansiStyles.color.close), 'g');
+ ansiStyles$1.color.closeRe = new RegExp(escapeStringRegexp$1(ansiStyles$1.color.close), 'g');
- for (const model of Object.keys(ansiStyles.color.ansi)) {
+ for (const model of Object.keys(ansiStyles$1.color.ansi)) {
if (skipModels.has(model)) {
continue;
}
get() {
const level = this.level;
return function () {
- const open = ansiStyles.color[levelMapping[level]][model].apply(null, arguments);
+ const open = ansiStyles$1.color[levelMapping[level]][model].apply(null, arguments);
const codes = {
open,
- close: ansiStyles.color.close,
- closeRe: ansiStyles.color.closeRe
+ close: ansiStyles$1.color.close,
+ closeRe: ansiStyles$1.color.closeRe
};
return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model);
};
};
}
- ansiStyles.bgColor.closeRe = new RegExp(escapeStringRegexp(ansiStyles.bgColor.close), 'g');
+ ansiStyles$1.bgColor.closeRe = new RegExp(escapeStringRegexp$1(ansiStyles$1.bgColor.close), 'g');
- for (const model of Object.keys(ansiStyles.bgColor.ansi)) {
+ for (const model of Object.keys(ansiStyles$1.bgColor.ansi)) {
if (skipModels.has(model)) {
continue;
}
get() {
const level = this.level;
return function () {
- const open = ansiStyles.bgColor[levelMapping[level]][model].apply(null, arguments);
+ const open = ansiStyles$1.bgColor[levelMapping[level]][model].apply(null, arguments);
const codes = {
open,
- close: ansiStyles.bgColor.close,
- closeRe: ansiStyles.bgColor.closeRe
+ close: ansiStyles$1.bgColor.close,
+ closeRe: ansiStyles$1.bgColor.closeRe
};
return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model);
};
// If we're on Windows and we're dealing with a gray color, temporarily make 'dim' a noop.
- const originalDim = ansiStyles.dim.open;
+ const originalDim = ansiStyles$1.dim.open;
if (isSimpleWindowsTerm && this.hasGrey) {
- ansiStyles.dim.open = '';
+ ansiStyles$1.dim.open = '';
}
for (const code of this._styles.slice().reverse()) {
} // Reset the original `dim` if we changed it to work around the Windows dimmed gray issue
- ansiStyles.dim.open = originalDim;
+ ansiStyles$1.dim.open = originalDim;
return str;
}
parts.push(String(strings.raw[i]));
}
- return templates(chalk, parts.join(''));
+ return template(chalk, parts.join(''));
}
Object.defineProperties(Chalk.prototype, styles);
module.exports.supportsColor = stdoutColor;
module.exports.default = module.exports; // For TypeScript
-});
+})(chalk);
-var lib$1 = createCommonjsModule(function (module, exports) {
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.shouldHighlight = shouldHighlight;
- exports.getChalk = getChalk;
- exports.default = highlight;
-
- var _jsTokens = _interopRequireWildcard(jsTokens);
-
- var _chalk = _interopRequireDefault(chalk);
-
- function _interopRequireDefault(obj) {
- return obj && obj.__esModule ? obj : {
- default: obj
- };
- }
-
- function _getRequireWildcardCache() {
- if (typeof WeakMap !== "function") return null;
- var cache = new WeakMap();
-
- _getRequireWildcardCache = function () {
- return cache;
- };
-
- return cache;
- }
-
- function _interopRequireWildcard(obj) {
- if (obj && obj.__esModule) {
- return obj;
- }
-
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
- return {
- default: obj
- };
- }
-
- var cache = _getRequireWildcardCache();
-
- if (cache && cache.has(obj)) {
- return cache.get(obj);
- }
-
- var newObj = {};
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
-
- for (var key in obj) {
- if (Object.prototype.hasOwnProperty.call(obj, key)) {
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
-
- if (desc && (desc.get || desc.set)) {
- Object.defineProperty(newObj, key, desc);
- } else {
- newObj[key] = obj[key];
- }
- }
- }
-
- newObj.default = obj;
+Object.defineProperty(lib$1, "__esModule", {
+ value: true
+});
- if (cache) {
- cache.set(obj, newObj);
- }
+lib$1.default = highlight;
- return newObj;
- }
+lib$1.getChalk = getChalk;
+lib$1.shouldHighlight = shouldHighlight;
+var _jsTokens = jsTokens;
+var _helperValidatorIdentifier = lib;
+var _chalk = chalk.exports;
+const sometimesKeywords = new Set(["as", "async", "from", "get", "of", "set"]);
- function getDefs(chalk) {
- return {
- keyword: chalk.cyan,
- capitalized: chalk.yellow,
- jsx_tag: chalk.yellow,
- punctuator: chalk.yellow,
- number: chalk.magenta,
- string: chalk.green,
- regex: chalk.magenta,
- comment: chalk.grey,
- invalid: chalk.white.bgRed.bold
- };
- }
+function getDefs$1(chalk) {
+ return {
+ keyword: chalk.cyan,
+ capitalized: chalk.yellow,
+ jsxIdentifier: chalk.yellow,
+ punctuator: chalk.yellow,
+ number: chalk.magenta,
+ string: chalk.green,
+ regex: chalk.magenta,
+ comment: chalk.grey,
+ invalid: chalk.white.bgRed.bold
+ };
+}
- const NEWLINE = /\r\n|[\n\r\u2028\u2029]/;
+const NEWLINE$1 = /\r\n|[\n\r\u2028\u2029]/;
+const BRACKET = /^[()[\]{}]$/;
+let tokenize;
+{
const JSX_TAG = /^[a-z][\w-]*$/i;
- const BRACKET = /^[()[\]{}]$/;
-
- function getTokenType(match) {
- const [offset, text] = match.slice(-2);
- const token = (0, _jsTokens.matchToToken)(match);
+ const getTokenType = function (token, offset, text) {
if (token.type === "name") {
- if ((0, lib.isKeyword)(token.value) || (0, lib.isReservedWord)(token.value)) {
+ if ((0, _helperValidatorIdentifier.isKeyword)(token.value) || (0, _helperValidatorIdentifier.isStrictReservedWord)(token.value, true) || sometimesKeywords.has(token.value)) {
return "keyword";
}
if (JSX_TAG.test(token.value) && (text[offset - 1] === "<" || text.substr(offset - 2, 2) == "</")) {
- return "jsx_tag";
+ return "jsxIdentifier";
}
if (token.value[0] !== token.value[0].toLowerCase()) {
}
return token.type;
- }
-
- function highlightTokens(defs, text) {
- return text.replace(_jsTokens.default, function (...args) {
- const type = getTokenType(args);
- const colorize = defs[type];
-
- if (colorize) {
- return args[0].split(NEWLINE).map(str => colorize(str)).join("\n");
- } else {
- return args[0];
- }
- });
- }
+ };
- function shouldHighlight(options) {
- return _chalk.default.supportsColor || options.forceColor;
- }
+ tokenize = function* (text) {
+ let match;
- function getChalk(options) {
- let chalk = _chalk.default;
+ while (match = _jsTokens.default.exec(text)) {
+ const token = _jsTokens.matchToToken(match);
- if (options.forceColor) {
- chalk = new _chalk.default.constructor({
- enabled: true,
- level: 1
- });
+ yield {
+ type: getTokenType(token, match.index, text),
+ value: token.value
+ };
}
+ };
+}
- return chalk;
- }
+function highlightTokens(defs, text) {
+ let highlighted = "";
+
+ for (const {
+ type,
+ value
+ } of tokenize(text)) {
+ const colorize = defs[type];
- function highlight(code, options = {}) {
- if (shouldHighlight(options)) {
- const chalk = getChalk(options);
- const defs = getDefs(chalk);
- return highlightTokens(defs, code);
+ if (colorize) {
+ highlighted += value.split(NEWLINE$1).map(str => colorize(str)).join("\n");
} else {
- return code;
+ highlighted += value;
}
}
-});
-
-var lib$2 = createCommonjsModule(function (module, exports) {
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.codeFrameColumns = codeFrameColumns;
- exports.default = _default;
- var _highlight = _interopRequireWildcard(lib$1);
+ return highlighted;
+}
- function _getRequireWildcardCache() {
- if (typeof WeakMap !== "function") return null;
- var cache = new WeakMap();
+function shouldHighlight(options) {
+ return !!_chalk.supportsColor || options.forceColor;
+}
- _getRequireWildcardCache = function () {
- return cache;
- };
+function getChalk(options) {
+ return options.forceColor ? new _chalk.constructor({
+ enabled: true,
+ level: 1
+ }) : _chalk;
+}
- return cache;
+function highlight(code, options = {}) {
+ if (shouldHighlight(options)) {
+ const chalk = getChalk(options);
+ const defs = getDefs$1(chalk);
+ return highlightTokens(defs, code);
+ } else {
+ return code;
}
+}
- function _interopRequireWildcard(obj) {
- if (obj && obj.__esModule) {
- return obj;
- }
-
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
- return {
- default: obj
- };
- }
-
- var cache = _getRequireWildcardCache();
-
- if (cache && cache.has(obj)) {
- return cache.get(obj);
- }
+Object.defineProperty(lib$2, "__esModule", {
+ value: true
+});
+lib$2.codeFrameColumns = codeFrameColumns$1;
+lib$2.default = _default;
+var _highlight = lib$1;
+let deprecationWarningShown = false;
- var newObj = {};
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
+function getDefs(chalk) {
+ return {
+ gutter: chalk.grey,
+ marker: chalk.red.bold,
+ message: chalk.red.bold
+ };
+}
- for (var key in obj) {
- if (Object.prototype.hasOwnProperty.call(obj, key)) {
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
+const NEWLINE = /\r\n|[\n\r\u2028\u2029]/;
- if (desc && (desc.get || desc.set)) {
- Object.defineProperty(newObj, key, desc);
- } else {
- newObj[key] = obj[key];
- }
+function getMarkerLines(loc, source, opts) {
+ const startLoc = Object.assign({
+ column: 0,
+ line: -1
+ }, loc.start);
+ const endLoc = Object.assign({}, startLoc, loc.end);
+ const {
+ linesAbove = 2,
+ linesBelow = 3
+ } = opts || {};
+ const startLine = startLoc.line;
+ const startColumn = startLoc.column;
+ const endLine = endLoc.line;
+ const endColumn = endLoc.column;
+ let start = Math.max(startLine - (linesAbove + 1), 0);
+ let end = Math.min(source.length, endLine + linesBelow);
+
+ if (startLine === -1) {
+ start = 0;
+ }
+
+ if (endLine === -1) {
+ end = source.length;
+ }
+
+ const lineDiff = endLine - startLine;
+ const markerLines = {};
+
+ if (lineDiff) {
+ for (let i = 0; i <= lineDiff; i++) {
+ const lineNumber = i + startLine;
+
+ if (!startColumn) {
+ markerLines[lineNumber] = true;
+ } else if (i === 0) {
+ const sourceLength = source[lineNumber - 1].length;
+ markerLines[lineNumber] = [startColumn, sourceLength - startColumn + 1];
+ } else if (i === lineDiff) {
+ markerLines[lineNumber] = [0, endColumn];
+ } else {
+ const sourceLength = source[lineNumber - i].length;
+ markerLines[lineNumber] = [0, sourceLength];
}
}
-
- newObj.default = obj;
-
- if (cache) {
- cache.set(obj, newObj);
+ } else {
+ if (startColumn === endColumn) {
+ if (startColumn) {
+ markerLines[startLine] = [startColumn, 0];
+ } else {
+ markerLines[startLine] = true;
+ }
+ } else {
+ markerLines[startLine] = [startColumn, endColumn - startColumn];
}
-
- return newObj;
}
- let deprecationWarningShown = false;
+ return {
+ start,
+ end,
+ markerLines
+ };
+}
- function getDefs(chalk) {
- return {
- gutter: chalk.grey,
- marker: chalk.red.bold,
- message: chalk.red.bold
- };
- }
+function codeFrameColumns$1(rawLines, loc, opts = {}) {
+ const highlighted = (opts.highlightCode || opts.forceColor) && (0, _highlight.shouldHighlight)(opts);
+ const chalk = (0, _highlight.getChalk)(opts);
+ const defs = getDefs(chalk);
- const NEWLINE = /\r\n|[\n\r\u2028\u2029]/;
+ const maybeHighlight = (chalkFn, string) => {
+ return highlighted ? chalkFn(string) : string;
+ };
- function getMarkerLines(loc, source, opts) {
- const startLoc = Object.assign({
- column: 0,
- line: -1
- }, loc.start);
- const endLoc = Object.assign({}, startLoc, loc.end);
- const {
- linesAbove = 2,
- linesBelow = 3
- } = opts || {};
- const startLine = startLoc.line;
- const startColumn = startLoc.column;
- const endLine = endLoc.line;
- const endColumn = endLoc.column;
- let start = Math.max(startLine - (linesAbove + 1), 0);
- let end = Math.min(source.length, endLine + linesBelow);
-
- if (startLine === -1) {
- start = 0;
- }
-
- if (endLine === -1) {
- end = source.length;
- }
-
- const lineDiff = endLine - startLine;
- const markerLines = {};
-
- if (lineDiff) {
- for (let i = 0; i <= lineDiff; i++) {
- const lineNumber = i + startLine;
-
- if (!startColumn) {
- markerLines[lineNumber] = true;
- } else if (i === 0) {
- const sourceLength = source[lineNumber - 1].length;
- markerLines[lineNumber] = [startColumn, sourceLength - startColumn + 1];
- } else if (i === lineDiff) {
- markerLines[lineNumber] = [0, endColumn];
- } else {
- const sourceLength = source[lineNumber - i].length;
- markerLines[lineNumber] = [0, sourceLength];
+ const lines = rawLines.split(NEWLINE);
+ const {
+ start,
+ end,
+ markerLines
+ } = getMarkerLines(loc, lines, opts);
+ const hasColumns = loc.start && typeof loc.start.column === "number";
+ const numberMaxWidth = String(end).length;
+ const highlightedLines = highlighted ? (0, _highlight.default)(rawLines, opts) : rawLines;
+ let frame = highlightedLines.split(NEWLINE, end).slice(start, end).map((line, index) => {
+ const number = start + 1 + index;
+ const paddedNumber = ` ${number}`.slice(-numberMaxWidth);
+ const gutter = ` ${paddedNumber} |`;
+ const hasMarker = markerLines[number];
+ const lastMarkerLine = !markerLines[number + 1];
+
+ if (hasMarker) {
+ let markerLine = "";
+
+ if (Array.isArray(hasMarker)) {
+ const markerSpacing = line.slice(0, Math.max(hasMarker[0] - 1, 0)).replace(/[^\t]/g, " ");
+ const numberOfMarkers = hasMarker[1] || 1;
+ markerLine = ["\n ", maybeHighlight(defs.gutter, gutter.replace(/\d/g, " ")), " ", markerSpacing, maybeHighlight(defs.marker, "^").repeat(numberOfMarkers)].join("");
+
+ if (lastMarkerLine && opts.message) {
+ markerLine += " " + maybeHighlight(defs.message, opts.message);
}
}
+
+ return [maybeHighlight(defs.marker, ">"), maybeHighlight(defs.gutter, gutter), line.length > 0 ? ` ${line}` : "", markerLine].join("");
} else {
- if (startColumn === endColumn) {
- if (startColumn) {
- markerLines[startLine] = [startColumn, 0];
- } else {
- markerLines[startLine] = true;
- }
- } else {
- markerLines[startLine] = [startColumn, endColumn - startColumn];
- }
+ return ` ${maybeHighlight(defs.gutter, gutter)}${line.length > 0 ? ` ${line}` : ""}`;
}
+ }).join("\n");
- return {
- start,
- end,
- markerLines
- };
+ if (opts.message && !hasColumns) {
+ frame = `${" ".repeat(numberMaxWidth + 1)}${opts.message}\n${frame}`;
}
- function codeFrameColumns(rawLines, loc, opts = {}) {
- const highlighted = (opts.highlightCode || opts.forceColor) && (0, _highlight.shouldHighlight)(opts);
- const chalk = (0, _highlight.getChalk)(opts);
- const defs = getDefs(chalk);
-
- const maybeHighlight = (chalkFn, string) => {
- return highlighted ? chalkFn(string) : string;
- };
-
- const lines = rawLines.split(NEWLINE);
- const {
- start,
- end,
- markerLines
- } = getMarkerLines(loc, lines, opts);
- const hasColumns = loc.start && typeof loc.start.column === "number";
- const numberMaxWidth = String(end).length;
- const highlightedLines = highlighted ? (0, _highlight.default)(rawLines, opts) : rawLines;
- let frame = highlightedLines.split(NEWLINE).slice(start, end).map((line, index) => {
- const number = start + 1 + index;
- const paddedNumber = ` ${number}`.slice(-numberMaxWidth);
- const gutter = ` ${paddedNumber} | `;
- const hasMarker = markerLines[number];
- const lastMarkerLine = !markerLines[number + 1];
-
- if (hasMarker) {
- let markerLine = "";
-
- if (Array.isArray(hasMarker)) {
- const markerSpacing = line.slice(0, Math.max(hasMarker[0] - 1, 0)).replace(/[^\t]/g, " ");
- const numberOfMarkers = hasMarker[1] || 1;
- markerLine = ["\n ", maybeHighlight(defs.gutter, gutter.replace(/\d/g, " ")), markerSpacing, maybeHighlight(defs.marker, "^").repeat(numberOfMarkers)].join("");
-
- if (lastMarkerLine && opts.message) {
- markerLine += " " + maybeHighlight(defs.message, opts.message);
- }
- }
-
- return [maybeHighlight(defs.marker, ">"), maybeHighlight(defs.gutter, gutter), line, markerLine].join("");
- } else {
- return ` ${maybeHighlight(defs.gutter, gutter)}${line}`;
- }
- }).join("\n");
+ if (highlighted) {
+ return chalk.reset(frame);
+ } else {
+ return frame;
+ }
+}
- if (opts.message && !hasColumns) {
- frame = `${" ".repeat(numberMaxWidth + 1)}${opts.message}\n${frame}`;
- }
+function _default(rawLines, lineNumber, colNumber, opts = {}) {
+ if (!deprecationWarningShown) {
+ deprecationWarningShown = true;
+ const message = "Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.";
- if (highlighted) {
- return chalk.reset(frame);
+ if (process.emitWarning) {
+ process.emitWarning(message, "DeprecationWarning");
} else {
- return frame;
+ const deprecationError = new Error(message);
+ deprecationError.name = "DeprecationWarning";
+ console.warn(new Error(message));
}
}
- function _default(rawLines, lineNumber, colNumber, opts = {}) {
- if (!deprecationWarningShown) {
- deprecationWarningShown = true;
- const message = "Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.";
-
- if (process.emitWarning) {
- process.emitWarning(message, "DeprecationWarning");
- } else {
- const deprecationError = new Error(message);
- deprecationError.name = "DeprecationWarning";
- console.warn(new Error(message));
- }
+ colNumber = Math.max(colNumber, 0);
+ const location = {
+ start: {
+ column: colNumber,
+ line: lineNumber
}
+ };
+ return codeFrameColumns$1(rawLines, location, opts);
+}
- colNumber = Math.max(colNumber, 0);
- const location = {
- start: {
- column: colNumber,
- line: lineNumber
- }
- };
- return codeFrameColumns(rawLines, location, opts);
- }
-});
-
+const errorEx = errorEx_1;
+const fallback = jsonParseEvenBetterErrors;
const {
default: LinesAndColumns
-} = dist;
+} = dist$1;
const {
codeFrameColumns
} = lib$2;
-const JSONError = errorEx_1('JSONError', {
- fileName: errorEx_1.append('in %s'),
- codeFrame: errorEx_1.append('\n\n%s\n')
+const JSONError = errorEx('JSONError', {
+ fileName: errorEx.append('in %s'),
+ codeFrame: errorEx.append('\n\n%s\n')
});
-var parseJson$1 = (string, reviver, filename) => {
+const parseJson$1 = (string, reviver, filename) => {
if (typeof reviver === 'string') {
filename = reviver;
reviver = null;
try {
return JSON.parse(string, reviver);
} catch (error) {
- jsonParseBetterErrors(string, reviver);
+ fallback(string, reviver);
throw error;
}
} catch (error) {
error.message = error.message.replace(/\n/g, '');
- const indexMatch = error.message.match(/in JSON at position (\d+) while parsing near/);
+ const indexMatch = error.message.match(/in JSON at position (\d+) while parsing/);
const jsonError = new JSONError(error);
if (filename) {
}
};
+parseJson$1.JSONError = JSONError;
+var parseJson_1 = parseJson$1;
+
+var dist = {};
+
+var parseCst$1 = {};
+
+var PlainValueEc8e588e = {};
+
const Char = {
ANCHOR: '&',
COMMENT: '#',
/** Root class of all nodes */
-class Node {
+class Node$1 {
static addStringTerminator(src, offset, str) {
if (str[str.length - 1] === '\n') return str;
- const next = Node.endOfWhiteSpace(src, offset);
+ const next = Node$1.endOfWhiteSpace(src, offset);
return next >= src.length || src[next] === '\n' ? str + '\n' : str;
} // ^(---|...)
static endOfBlockIndent(src, indent, lineStart) {
- const inEnd = Node.endOfIndent(src, lineStart);
+ const inEnd = Node$1.endOfIndent(src, lineStart);
if (inEnd > lineStart + indent) {
return inEnd;
} else {
- const wsEnd = Node.endOfWhiteSpace(src, inEnd);
+ const wsEnd = Node$1.endOfWhiteSpace(src, inEnd);
const ch = src[wsEnd];
if (!ch || ch === '\n') return wsEnd;
}
static normalizeOffset(src, offset) {
const ch = src[offset];
- return !ch ? offset : ch !== '\n' && src[offset - 1] === '\n' ? offset - 1 : Node.endOfWhiteSpace(src, offset);
+ return !ch ? offset : ch !== '\n' && src[offset - 1] === '\n' ? offset - 1 : Node$1.endOfWhiteSpace(src, offset);
} // fold single newline into space, multiple newlines to N - 1 newlines
// presumes src[offset] === '\n'
case '\t':
if (inCount <= indent) error = true;
- offset = Node.endOfWhiteSpace(src, offset + 2) - 1;
+ offset = Node$1.endOfWhiteSpace(src, offset + 2) - 1;
break;
case ' ':
const {
end
} = this.valueRange;
- return start !== end || Node.atBlank(src, end - 1);
+ return start !== end || Node$1.atBlank(src, end - 1);
}
get hasComment() {
} = this.context;
if (src[start] === Char.COMMENT) {
- const end = Node.endOfLine(src, start + 1);
+ const end = Node$1.endOfLine(src, start + 1);
const commentRange = new Range(start, end);
this.props.push(commentRange);
return end;
} = this;
if (value != null) return value;
const str = src.slice(range.start, range.end);
- return Node.addStringTerminator(src, range.end, str);
+ return Node$1.addStringTerminator(src, range.end, str);
}
}
class YAMLError extends Error {
constructor(name, source, message) {
- if (!message || !(source instanceof Node)) throw new Error(`Invalid arguments for new ${name}`);
+ if (!message || !(source instanceof Node$1)) throw new Error(`Invalid arguments for new ${name}`);
super();
this.name = name;
this.message = message;
return obj;
}
-class PlainValue extends Node {
+class PlainValue$6 extends Node$1 {
static endOfLine(src, start, inFlow) {
let ch = src[start];
let offset = start;
const {
fold,
offset
- } = Node.foldNewline(src, i, -1);
+ } = Node$1.foldNewline(src, i, -1);
str += fold;
i = offset;
} else if (ch === ' ' || ch === '\t') {
let valueEnd = start;
for (let ch = src[offset]; ch === '\n'; ch = src[offset]) {
- if (Node.atDocumentBoundary(src, offset + 1)) break;
- const end = Node.endOfBlockIndent(src, indent, offset + 1);
+ if (Node$1.atDocumentBoundary(src, offset + 1)) break;
+ const end = Node$1.endOfBlockIndent(src, indent, offset + 1);
if (end === null || src[end] === '#') break;
if (src[end] === '\n') {
offset = end;
} else {
- valueEnd = PlainValue.endOfLine(src, end, inFlow);
+ valueEnd = PlainValue$6.endOfLine(src, end, inFlow);
offset = valueEnd;
}
}
const ch = src[offset];
if (ch && ch !== '#' && ch !== '\n') {
- offset = PlainValue.endOfLine(src, start, inFlow);
+ offset = PlainValue$6.endOfLine(src, start, inFlow);
}
this.valueRange = new Range(start, offset);
- offset = Node.endOfWhiteSpace(src, offset);
+ offset = Node$1.endOfWhiteSpace(src, offset);
offset = this.parseComment(offset);
if (!this.hasComment || this.valueRange.isEmpty()) {
}
-var Char_1 = Char;
-var Node_1 = Node;
-var PlainValue_1 = PlainValue;
-var Range_1 = Range;
-var Type_1 = Type;
-var YAMLError_1 = YAMLError;
-var YAMLReferenceError_1 = YAMLReferenceError;
-var YAMLSemanticError_1 = YAMLSemanticError;
-var YAMLSyntaxError_1 = YAMLSyntaxError;
-var YAMLWarning_1 = YAMLWarning;
-var _defineProperty_1 = _defineProperty;
-var defaultTagPrefix_1 = defaultTagPrefix;
-var defaultTags_1 = defaultTags;
-var PlainValueEc8e588e = {
- Char: Char_1,
- Node: Node_1,
- PlainValue: PlainValue_1,
- Range: Range_1,
- Type: Type_1,
- YAMLError: YAMLError_1,
- YAMLReferenceError: YAMLReferenceError_1,
- YAMLSemanticError: YAMLSemanticError_1,
- YAMLSyntaxError: YAMLSyntaxError_1,
- YAMLWarning: YAMLWarning_1,
- _defineProperty: _defineProperty_1,
- defaultTagPrefix: defaultTagPrefix_1,
- defaultTags: defaultTags_1
-};
-
-class BlankLine extends PlainValueEc8e588e.Node {
+PlainValueEc8e588e.Char = Char;
+PlainValueEc8e588e.Node = Node$1;
+PlainValueEc8e588e.PlainValue = PlainValue$6;
+PlainValueEc8e588e.Range = Range;
+PlainValueEc8e588e.Type = Type;
+PlainValueEc8e588e.YAMLError = YAMLError;
+PlainValueEc8e588e.YAMLReferenceError = YAMLReferenceError;
+PlainValueEc8e588e.YAMLSemanticError = YAMLSemanticError;
+PlainValueEc8e588e.YAMLSyntaxError = YAMLSyntaxError;
+PlainValueEc8e588e.YAMLWarning = YAMLWarning;
+
+PlainValueEc8e588e._defineProperty = _defineProperty;
+
+PlainValueEc8e588e.defaultTagPrefix = defaultTagPrefix;
+PlainValueEc8e588e.defaultTags = defaultTags;
+
+var PlainValue$5 = PlainValueEc8e588e;
+
+class BlankLine extends PlainValue$5.Node {
constructor() {
- super(PlainValueEc8e588e.Type.BLANK_LINE);
+ super(PlainValue$5.Type.BLANK_LINE);
}
/* istanbul ignore next */
parse(context, start) {
this.context = context;
- this.range = new PlainValueEc8e588e.Range(start, start + 1);
+ this.range = new PlainValue$5.Range(start, start + 1);
return start + 1;
}
}
-class CollectionItem extends PlainValueEc8e588e.Node {
+class CollectionItem extends PlainValue$5.Node {
constructor(type, props) {
super(type, props);
this.node = null;
atLineStart,
lineStart
} = context;
- if (!atLineStart && this.type === PlainValueEc8e588e.Type.SEQ_ITEM) this.error = new PlainValueEc8e588e.YAMLSemanticError(this, 'Sequence items must not have preceding content on the same line');
+ if (!atLineStart && this.type === PlainValue$5.Type.SEQ_ITEM) this.error = new PlainValue$5.YAMLSemanticError(this, 'Sequence items must not have preceding content on the same line');
const indent = atLineStart ? start - lineStart : context.indent;
- let offset = PlainValueEc8e588e.Node.endOfWhiteSpace(src, start + 1);
+ let offset = PlainValue$5.Node.endOfWhiteSpace(src, start + 1);
let ch = src[offset];
const inlineComment = ch === '#';
const comments = [];
while (ch === '\n' || ch === '#') {
if (ch === '#') {
- const end = PlainValueEc8e588e.Node.endOfLine(src, offset + 1);
- comments.push(new PlainValueEc8e588e.Range(offset, end));
+ const end = PlainValue$5.Node.endOfLine(src, offset + 1);
+ comments.push(new PlainValue$5.Range(offset, end));
offset = end;
} else {
atLineStart = true;
lineStart = offset + 1;
- const wsEnd = PlainValueEc8e588e.Node.endOfWhiteSpace(src, lineStart);
+ const wsEnd = PlainValue$5.Node.endOfWhiteSpace(src, lineStart);
if (src[wsEnd] === '\n' && comments.length === 0) {
blankLine = new BlankLine();
}, lineStart);
}
- offset = PlainValueEc8e588e.Node.endOfIndent(src, lineStart);
+ offset = PlainValue$5.Node.endOfIndent(src, lineStart);
}
ch = src[offset];
}
- if (PlainValueEc8e588e.Node.nextNodeIsIndented(ch, offset - (lineStart + indent), this.type !== PlainValueEc8e588e.Type.SEQ_ITEM)) {
+ if (PlainValue$5.Node.nextNodeIsIndented(ch, offset - (lineStart + indent), this.type !== PlainValue$5.Type.SEQ_ITEM)) {
this.node = parseNode({
atLineStart,
inCollection: false,
this.props.push(c);
offset = c.end;
} else {
- offset = PlainValueEc8e588e.Node.endOfLine(src, start + 1);
+ offset = PlainValue$5.Node.endOfLine(src, start + 1);
}
}
const end = this.node ? this.node.valueRange.end : offset;
- this.valueRange = new PlainValueEc8e588e.Range(start, end);
+ this.valueRange = new PlainValue$5.Range(start, end);
return offset;
}
} = this;
if (value != null) return value;
const str = node ? src.slice(range.start, node.range.start) + String(node) : src.slice(range.start, range.end);
- return PlainValueEc8e588e.Node.addStringTerminator(src, range.end, str);
+ return PlainValue$5.Node.addStringTerminator(src, range.end, str);
}
}
-class Comment extends PlainValueEc8e588e.Node {
+class Comment extends PlainValue$5.Node {
constructor() {
- super(PlainValueEc8e588e.Type.COMMENT);
+ super(PlainValue$5.Type.COMMENT);
}
/**
* Parses a comment line from the source
parse(context, start) {
this.context = context;
const offset = this.parseComment(start);
- this.range = new PlainValueEc8e588e.Range(start, offset);
+ this.range = new PlainValue$5.Range(start, offset);
return offset;
}
while (cnode instanceof CollectionItem) cnode = cnode.node;
- if (!(cnode instanceof Collection)) return null;
+ if (!(cnode instanceof Collection$1)) return null;
const len = cnode.items.length;
let ci = -1;
for (let i = len - 1; i >= 0; --i) {
const n = cnode.items[i];
- if (n.type === PlainValueEc8e588e.Type.COMMENT) {
+ if (n.type === PlainValue$5.Type.COMMENT) {
// Keep sufficiently indented comments with preceding node
const {
indent,
} = n.context;
if (indent > 0 && n.range.start >= lineStart + indent) break;
ci = i;
- } else if (n.type === PlainValueEc8e588e.Type.BLANK_LINE) ci = i;else break;
+ } else if (n.type === PlainValue$5.Type.BLANK_LINE) ci = i;else break;
}
if (ci === -1) return null;
return ca;
}
-class Collection extends PlainValueEc8e588e.Node {
+class Collection$1 extends PlainValue$5.Node {
static nextContentHasIndent(src, offset, indent) {
- const lineStart = PlainValueEc8e588e.Node.endOfLine(src, offset) + 1;
- offset = PlainValueEc8e588e.Node.endOfWhiteSpace(src, lineStart);
+ const lineStart = PlainValue$5.Node.endOfLine(src, offset) + 1;
+ offset = PlainValue$5.Node.endOfWhiteSpace(src, lineStart);
const ch = src[offset];
if (!ch) return false;
if (offset >= lineStart + indent) return true;
if (ch !== '#' && ch !== '\n') return false;
- return Collection.nextContentHasIndent(src, offset, indent);
+ return Collection$1.nextContentHasIndent(src, offset, indent);
}
constructor(firstItem) {
- super(firstItem.type === PlainValueEc8e588e.Type.SEQ_ITEM ? PlainValueEc8e588e.Type.SEQ : PlainValueEc8e588e.Type.MAP);
+ super(firstItem.type === PlainValue$5.Type.SEQ_ITEM ? PlainValue$5.Type.SEQ : PlainValue$5.Type.MAP);
for (let i = firstItem.props.length - 1; i >= 0; --i) {
if (firstItem.props[i].start < firstItem.context.lineStart) {
} = context; // It's easier to recalculate lineStart here rather than tracking down the
// last context from which to read it -- eemeli/yaml#2
- let lineStart = PlainValueEc8e588e.Node.startOfLine(src, start);
+ let lineStart = PlainValue$5.Node.startOfLine(src, start);
const firstItem = this.items[0]; // First-item context needs to be correct for later comment handling
// -- eemeli/yaml#17
firstItem.context.parent = this;
- this.valueRange = PlainValueEc8e588e.Range.copy(firstItem.valueRange);
+ this.valueRange = PlainValue$5.Range.copy(firstItem.valueRange);
const indent = firstItem.range.start - firstItem.context.lineStart;
let offset = start;
- offset = PlainValueEc8e588e.Node.normalizeOffset(src, offset);
+ offset = PlainValue$5.Node.normalizeOffset(src, offset);
let ch = src[offset];
- let atLineStart = PlainValueEc8e588e.Node.endOfWhiteSpace(src, lineStart) === offset;
+ let atLineStart = PlainValue$5.Node.endOfWhiteSpace(src, lineStart) === offset;
let prevIncludesTrailingLines = false;
while (ch) {
this.items.push(blankLine);
offset -= 1; // blankLine.parse() consumes terminal newline
} else if (ch === '#') {
- if (offset < lineStart + indent && !Collection.nextContentHasIndent(src, offset, indent)) {
+ if (offset < lineStart + indent && !Collection$1.nextContentHasIndent(src, offset, indent)) {
return offset;
}
}
lineStart = offset + 1;
- offset = PlainValueEc8e588e.Node.endOfIndent(src, lineStart);
+ offset = PlainValue$5.Node.endOfIndent(src, lineStart);
- if (PlainValueEc8e588e.Node.atBlank(src, offset)) {
- const wsEnd = PlainValueEc8e588e.Node.endOfWhiteSpace(src, offset);
+ if (PlainValue$5.Node.atBlank(src, offset)) {
+ const wsEnd = PlainValue$5.Node.endOfWhiteSpace(src, offset);
const next = src[wsEnd];
if (!next || next === '\n' || next === '#') {
break;
} else if (!this.error) {
const msg = 'All collection items must start at the same column';
- this.error = new PlainValueEc8e588e.YAMLSyntaxError(this, msg);
+ this.error = new PlainValue$5.YAMLSyntaxError(this, msg);
}
}
- if (firstItem.type === PlainValueEc8e588e.Type.SEQ_ITEM) {
+ if (firstItem.type === PlainValue$5.Type.SEQ_ITEM) {
if (ch !== '-') {
if (lineStart > start) offset = lineStart;
break;
if (!next || next === '\n' || next === '\t' || next === ' ') {
const msg = 'A collection cannot be both a mapping and a sequence';
- this.error = new PlainValueEc8e588e.YAMLSyntaxError(this, msg);
+ this.error = new PlainValue$5.YAMLSyntaxError(this, msg);
}
}
this.items.push(node);
this.valueRange.end = node.valueRange.end;
- offset = PlainValueEc8e588e.Node.normalizeOffset(src, node.range.end);
+ offset = PlainValue$5.Node.normalizeOffset(src, node.range.end);
ch = src[offset];
atLineStart = false;
prevIncludesTrailingLines = node.includesTrailingLines; // Need to reset lineStart and atLineStart here if preceding node's range
str += String(item);
}
- return PlainValueEc8e588e.Node.addStringTerminator(src, range.end, str);
+ return PlainValue$5.Node.addStringTerminator(src, range.end, str);
}
}
-class Directive extends PlainValueEc8e588e.Node {
+class Directive extends PlainValue$5.Node {
constructor() {
- super(PlainValueEc8e588e.Type.DIRECTIVE);
+ super(PlainValue$5.Type.DIRECTIVE);
this.name = null;
}
while (ch && ch !== '\n' && ch !== '#') ch = src[offset += 1];
- this.valueRange = new PlainValueEc8e588e.Range(start, offset);
+ this.valueRange = new PlainValue$5.Range(start, offset);
return offset;
}
let offset = this.parseName(start + 1);
offset = this.parseParameters(offset);
offset = this.parseComment(offset);
- this.range = new PlainValueEc8e588e.Range(start, offset);
+ this.range = new PlainValue$5.Range(start, offset);
return offset;
}
}
-class Document extends PlainValueEc8e588e.Node {
+class Document$3 extends PlainValue$5.Node {
static startCommentOrEndBlankLine(src, start) {
- const offset = PlainValueEc8e588e.Node.endOfWhiteSpace(src, start);
+ const offset = PlainValue$5.Node.endOfWhiteSpace(src, start);
const ch = src[offset];
return ch === '#' || ch === '\n' ? offset : start;
}
constructor() {
- super(PlainValueEc8e588e.Type.DOCUMENT);
+ super(PlainValue$5.Type.DOCUMENT);
this.directives = null;
this.contents = null;
this.directivesEndMarker = null;
let hasDirectives = false;
let offset = start;
- while (!PlainValueEc8e588e.Node.atDocumentBoundary(src, offset, PlainValueEc8e588e.Char.DIRECTIVES_END)) {
- offset = Document.startCommentOrEndBlankLine(src, offset);
+ while (!PlainValue$5.Node.atDocumentBoundary(src, offset, PlainValue$5.Char.DIRECTIVES_END)) {
+ offset = Document$3.startCommentOrEndBlankLine(src, offset);
switch (src[offset]) {
case '\n':
default:
if (hasDirectives) {
- this.error = new PlainValueEc8e588e.YAMLSemanticError(this, 'Missing directives-end indicator line');
+ this.error = new PlainValue$5.YAMLSemanticError(this, 'Missing directives-end indicator line');
} else if (this.directives.length > 0) {
this.contents = this.directives;
this.directives = [];
}
if (src[offset]) {
- this.directivesEndMarker = new PlainValueEc8e588e.Range(offset, offset + 3);
+ this.directivesEndMarker = new PlainValue$5.Range(offset, offset + 3);
return offset + 3;
}
if (hasDirectives) {
- this.error = new PlainValueEc8e588e.YAMLSemanticError(this, 'Missing directives-end indicator line');
+ this.error = new PlainValue$5.YAMLSemanticError(this, 'Missing directives-end indicator line');
} else if (this.directives.length > 0) {
this.contents = this.directives;
this.directives = [];
while (src[lineStart - 1] === '-') lineStart -= 1;
- let offset = PlainValueEc8e588e.Node.endOfWhiteSpace(src, start);
+ let offset = PlainValue$5.Node.endOfWhiteSpace(src, start);
let atLineStart = lineStart === start;
- this.valueRange = new PlainValueEc8e588e.Range(offset);
+ this.valueRange = new PlainValue$5.Range(offset);
- while (!PlainValueEc8e588e.Node.atDocumentBoundary(src, offset, PlainValueEc8e588e.Char.DOCUMENT_END)) {
+ while (!PlainValue$5.Node.atDocumentBoundary(src, offset, PlainValue$5.Char.DOCUMENT_END)) {
switch (src[offset]) {
case '\n':
if (atLineStart) {
default:
{
- const iEnd = PlainValueEc8e588e.Node.endOfIndent(src, offset);
+ const iEnd = PlainValue$5.Node.endOfIndent(src, offset);
const context = {
atLineStart,
indent: -1,
}
}
- offset = Document.startCommentOrEndBlankLine(src, offset);
+ offset = Document$3.startCommentOrEndBlankLine(src, offset);
}
this.valueRange.end = offset;
if (src[offset]) {
- this.documentEndMarker = new PlainValueEc8e588e.Range(offset, offset + 3);
+ this.documentEndMarker = new PlainValue$5.Range(offset, offset + 3);
offset += 3;
if (src[offset]) {
- offset = PlainValueEc8e588e.Node.endOfWhiteSpace(src, offset);
+ offset = PlainValue$5.Node.endOfWhiteSpace(src, offset);
if (src[offset] === '#') {
const comment = new Comment();
break;
default:
- this.error = new PlainValueEc8e588e.YAMLSyntaxError(this, 'Document end marker line cannot have a non-comment suffix');
+ this.error = new PlainValue$5.YAMLSyntaxError(this, 'Document end marker line cannot have a non-comment suffix');
}
}
}
let str = directives.join('');
if (contents.length > 0) {
- if (directives.length > 0 || contents[0].type === PlainValueEc8e588e.Type.COMMENT) str += '---\n';
+ if (directives.length > 0 || contents[0].type === PlainValue$5.Type.COMMENT) str += '---\n';
str += contents.join('');
}
}
-class Alias extends PlainValueEc8e588e.Node {
+class Alias$1 extends PlainValue$5.Node {
/**
* Parses an *alias from the source
*
const {
src
} = context;
- let offset = PlainValueEc8e588e.Node.endOfIdentifier(src, start + 1);
- this.valueRange = new PlainValueEc8e588e.Range(start + 1, offset);
- offset = PlainValueEc8e588e.Node.endOfWhiteSpace(src, offset);
+ let offset = PlainValue$5.Node.endOfIdentifier(src, start + 1);
+ this.valueRange = new PlainValue$5.Range(start + 1, offset);
+ offset = PlainValue$5.Node.endOfWhiteSpace(src, offset);
offset = this.parseComment(offset);
return offset;
}
STRIP: 'STRIP'
};
-class BlockValue extends PlainValueEc8e588e.Node {
+class BlockValue extends PlainValue$5.Node {
constructor(type, props) {
super(type, props);
this.blockIndent = null;
}
const bi = indent + this.blockIndent;
- const folded = this.type === PlainValueEc8e588e.Type.BLOCK_FOLDED;
+ const folded = this.type === PlainValue$5.Type.BLOCK_FOLDED;
let atStart = true;
let str = '';
let sep = '';
if (ch === '\n') {
if (sep === '\n') str += '\n';else sep = '\n';
} else {
- const lineEnd = PlainValueEc8e588e.Node.endOfLine(src, i);
+ const lineEnd = PlainValue$5.Node.endOfLine(src, i);
const line = src.slice(i, lineEnd);
i = lineEnd;
default:
this.blockIndent = Number(bi) || null;
- this.header = new PlainValueEc8e588e.Range(start, offset);
+ this.header = new PlainValue$5.Range(start, offset);
return offset;
}
for (let ch = src[offset]; ch === '\n'; ch = src[offset]) {
offset += 1;
- if (PlainValueEc8e588e.Node.atDocumentBoundary(src, offset)) break;
- const end = PlainValueEc8e588e.Node.endOfBlockIndent(src, indent, offset); // should not include tab?
+ if (PlainValue$5.Node.atDocumentBoundary(src, offset)) break;
+ const end = PlainValue$5.Node.endOfBlockIndent(src, indent, offset); // should not include tab?
if (end === null) break;
const ch = src[end];
// first line with non-whitespace content
if (lineIndent < minBlockIndent) {
const msg = 'Block scalars with more-indented leading empty lines must use an explicit indentation indicator';
- this.error = new PlainValueEc8e588e.YAMLSemanticError(this, msg);
+ this.error = new PlainValue$5.YAMLSemanticError(this, msg);
}
this.blockIndent = lineIndent;
if (!this.error) {
const src = explicit ? 'explicit indentation indicator' : 'first line';
const msg = `Block scalars must not be less indented than their ${src}`;
- this.error = new PlainValueEc8e588e.YAMLSemanticError(this, msg);
+ this.error = new PlainValue$5.YAMLSemanticError(this, msg);
}
}
if (src[end] === '\n') {
offset = end;
} else {
- offset = valueEnd = PlainValueEc8e588e.Node.endOfLine(src, end);
+ offset = valueEnd = PlainValue$5.Node.endOfLine(src, end);
}
}
offset = src[valueEnd] ? valueEnd + 1 : valueEnd;
}
- this.valueRange = new PlainValueEc8e588e.Range(start + 1, offset);
+ this.valueRange = new PlainValue$5.Range(start + 1, offset);
return offset;
}
/**
src
} = context;
let offset = this.parseBlockHeader(start);
- offset = PlainValueEc8e588e.Node.endOfWhiteSpace(src, offset);
+ offset = PlainValue$5.Node.endOfWhiteSpace(src, offset);
offset = this.parseComment(offset);
offset = this.parseBlockValue(offset);
return offset;
}
-class FlowCollection extends PlainValueEc8e588e.Node {
+class FlowCollection extends PlainValue$5.Node {
constructor(type, props) {
super(type, props);
this.items = null;
prevNodeIsJsonLike(idx = this.items.length) {
const node = this.items[idx - 1];
- return !!node && (node.jsonLike || node.type === PlainValueEc8e588e.Type.COMMENT && this.prevNodeIsJsonLike(idx - 1));
+ return !!node && (node.jsonLike || node.type === PlainValue$5.Type.COMMENT && this.prevNodeIsJsonLike(idx - 1));
}
/**
* @param {ParseContext} context
char,
offset: start
}];
- let offset = PlainValueEc8e588e.Node.endOfWhiteSpace(src, start + 1);
+ let offset = PlainValue$5.Node.endOfWhiteSpace(src, start + 1);
char = src[offset];
while (char && char !== ']' && char !== '}') {
case '\n':
{
lineStart = offset + 1;
- const wsEnd = PlainValueEc8e588e.Node.endOfWhiteSpace(src, lineStart);
+ const wsEnd = PlainValue$5.Node.endOfWhiteSpace(src, lineStart);
if (src[wsEnd] === '\n') {
const blankLine = new BlankLine();
this.items.push(blankLine);
}
- offset = PlainValueEc8e588e.Node.endOfIndent(src, lineStart);
+ offset = PlainValue$5.Node.endOfIndent(src, lineStart);
if (offset <= lineStart + indent) {
char = src[offset];
if (offset < lineStart + indent || char !== ']' && char !== '}') {
const msg = 'Insufficient indentation in flow collection';
- this.error = new PlainValueEc8e588e.YAMLSemanticError(this, msg);
+ this.error = new PlainValue$5.YAMLSemanticError(this, msg);
}
}
}
if (!node) {
// at next document start
- this.valueRange = new PlainValueEc8e588e.Range(start, offset);
+ this.valueRange = new PlainValue$5.Range(start, offset);
return offset;
}
this.items.push(node);
- offset = PlainValueEc8e588e.Node.normalizeOffset(src, node.range.end);
+ offset = PlainValue$5.Node.normalizeOffset(src, node.range.end);
}
}
- offset = PlainValueEc8e588e.Node.endOfWhiteSpace(src, offset);
+ offset = PlainValue$5.Node.endOfWhiteSpace(src, offset);
char = src[offset];
}
- this.valueRange = new PlainValueEc8e588e.Range(start, offset + 1);
+ this.valueRange = new PlainValue$5.Range(start, offset + 1);
if (char) {
this.items.push({
char,
offset
});
- offset = PlainValueEc8e588e.Node.endOfWhiteSpace(src, offset + 1);
+ offset = PlainValue$5.Node.endOfWhiteSpace(src, offset + 1);
offset = this.parseComment(offset);
}
setOrigRanges(cr, offset) {
offset = super.setOrigRanges(cr, offset);
this.items.forEach(node => {
- if (node instanceof PlainValueEc8e588e.Node) {
+ if (node instanceof PlainValue$5.Node) {
offset = node.setOrigRanges(cr, offset);
} else if (cr.length === 0) {
node.origOffset = node.offset;
value
} = this;
if (value != null) return value;
- const nodes = items.filter(item => item instanceof PlainValueEc8e588e.Node);
+ const nodes = items.filter(item => item instanceof PlainValue$5.Node);
let str = '';
let prevEnd = range.start;
nodes.forEach(node => {
}
});
str += src.slice(prevEnd, range.end);
- return PlainValueEc8e588e.Node.addStringTerminator(src, range.end, str);
+ return PlainValue$5.Node.addStringTerminator(src, range.end, str);
}
}
-class QuoteDouble extends PlainValueEc8e588e.Node {
+class QuoteDouble extends PlainValue$5.Node {
static endOfQuote(src, offset) {
let ch = src[offset];
indent,
src
} = this.context;
- if (src[end - 1] !== '"') errors.push(new PlainValueEc8e588e.YAMLSyntaxError(this, 'Missing closing "quote')); // Using String#replace is too painful with escaped newlines preceded by
+ if (src[end - 1] !== '"') errors.push(new PlainValue$5.YAMLSyntaxError(this, 'Missing closing "quote')); // Using String#replace is too painful with escaped newlines preceded by
// escaped backslashes; also, this should be faster.
let str = '';
const ch = src[i];
if (ch === '\n') {
- if (PlainValueEc8e588e.Node.atDocumentBoundary(src, i + 1)) errors.push(new PlainValueEc8e588e.YAMLSemanticError(this, 'Document boundary indicators are not allowed within string values'));
+ if (PlainValue$5.Node.atDocumentBoundary(src, i + 1)) errors.push(new PlainValue$5.YAMLSemanticError(this, 'Document boundary indicators are not allowed within string values'));
const {
fold,
offset,
error
- } = PlainValueEc8e588e.Node.foldNewline(src, i, indent);
+ } = PlainValue$5.Node.foldNewline(src, i, indent);
str += fold;
i = offset;
- if (error) errors.push(new PlainValueEc8e588e.YAMLSemanticError(this, 'Multi-line double-quoted string needs to be sufficiently indented'));
+ if (error) errors.push(new PlainValue$5.YAMLSemanticError(this, 'Multi-line double-quoted string needs to be sufficiently indented'));
} else if (ch === '\\') {
i += 1;
break;
default:
- errors.push(new PlainValueEc8e588e.YAMLSyntaxError(this, `Invalid escape sequence ${src.substr(i - 1, 2)}`));
+ errors.push(new PlainValue$5.YAMLSyntaxError(this, `Invalid escape sequence ${src.substr(i - 1, 2)}`));
str += '\\' + src[i];
}
} else if (ch === ' ' || ch === '\t') {
const code = ok ? parseInt(cc, 16) : NaN;
if (isNaN(code)) {
- errors.push(new PlainValueEc8e588e.YAMLSyntaxError(this, `Invalid escape sequence ${src.substr(offset - 2, length + 2)}`));
+ errors.push(new PlainValue$5.YAMLSyntaxError(this, `Invalid escape sequence ${src.substr(offset - 2, length + 2)}`));
return src.substr(offset - 2, length + 2);
}
src
} = context;
let offset = QuoteDouble.endOfQuote(src, start + 1);
- this.valueRange = new PlainValueEc8e588e.Range(start, offset);
- offset = PlainValueEc8e588e.Node.endOfWhiteSpace(src, offset);
+ this.valueRange = new PlainValue$5.Range(start, offset);
+ offset = PlainValue$5.Node.endOfWhiteSpace(src, offset);
offset = this.parseComment(offset);
return offset;
}
}
-class QuoteSingle extends PlainValueEc8e588e.Node {
+class QuoteSingle extends PlainValue$5.Node {
static endOfQuote(src, offset) {
let ch = src[offset];
indent,
src
} = this.context;
- if (src[end - 1] !== "'") errors.push(new PlainValueEc8e588e.YAMLSyntaxError(this, "Missing closing 'quote"));
+ if (src[end - 1] !== "'") errors.push(new PlainValue$5.YAMLSyntaxError(this, "Missing closing 'quote"));
let str = '';
for (let i = start + 1; i < end - 1; ++i) {
const ch = src[i];
if (ch === '\n') {
- if (PlainValueEc8e588e.Node.atDocumentBoundary(src, i + 1)) errors.push(new PlainValueEc8e588e.YAMLSemanticError(this, 'Document boundary indicators are not allowed within string values'));
+ if (PlainValue$5.Node.atDocumentBoundary(src, i + 1)) errors.push(new PlainValue$5.YAMLSemanticError(this, 'Document boundary indicators are not allowed within string values'));
const {
fold,
offset,
error
- } = PlainValueEc8e588e.Node.foldNewline(src, i, indent);
+ } = PlainValue$5.Node.foldNewline(src, i, indent);
str += fold;
i = offset;
- if (error) errors.push(new PlainValueEc8e588e.YAMLSemanticError(this, 'Multi-line single-quoted string needs to be sufficiently indented'));
+ if (error) errors.push(new PlainValue$5.YAMLSemanticError(this, 'Multi-line single-quoted string needs to be sufficiently indented'));
} else if (ch === "'") {
str += ch;
i += 1;
- if (src[i] !== "'") errors.push(new PlainValueEc8e588e.YAMLSyntaxError(this, 'Unescaped single quote? This should not happen.'));
+ if (src[i] !== "'") errors.push(new PlainValue$5.YAMLSyntaxError(this, 'Unescaped single quote? This should not happen.'));
} else if (ch === ' ' || ch === '\t') {
// trim trailing whitespace
const wsStart = i;
src
} = context;
let offset = QuoteSingle.endOfQuote(src, start + 1);
- this.valueRange = new PlainValueEc8e588e.Range(start, offset);
- offset = PlainValueEc8e588e.Node.endOfWhiteSpace(src, offset);
+ this.valueRange = new PlainValue$5.Range(start, offset);
+ offset = PlainValue$5.Node.endOfWhiteSpace(src, offset);
offset = this.parseComment(offset);
return offset;
}
function createNewNode(type, props) {
switch (type) {
- case PlainValueEc8e588e.Type.ALIAS:
- return new Alias(type, props);
+ case PlainValue$5.Type.ALIAS:
+ return new Alias$1(type, props);
- case PlainValueEc8e588e.Type.BLOCK_FOLDED:
- case PlainValueEc8e588e.Type.BLOCK_LITERAL:
+ case PlainValue$5.Type.BLOCK_FOLDED:
+ case PlainValue$5.Type.BLOCK_LITERAL:
return new BlockValue(type, props);
- case PlainValueEc8e588e.Type.FLOW_MAP:
- case PlainValueEc8e588e.Type.FLOW_SEQ:
+ case PlainValue$5.Type.FLOW_MAP:
+ case PlainValue$5.Type.FLOW_SEQ:
return new FlowCollection(type, props);
- case PlainValueEc8e588e.Type.MAP_KEY:
- case PlainValueEc8e588e.Type.MAP_VALUE:
- case PlainValueEc8e588e.Type.SEQ_ITEM:
+ case PlainValue$5.Type.MAP_KEY:
+ case PlainValue$5.Type.MAP_VALUE:
+ case PlainValue$5.Type.SEQ_ITEM:
return new CollectionItem(type, props);
- case PlainValueEc8e588e.Type.COMMENT:
- case PlainValueEc8e588e.Type.PLAIN:
- return new PlainValueEc8e588e.PlainValue(type, props);
+ case PlainValue$5.Type.COMMENT:
+ case PlainValue$5.Type.PLAIN:
+ return new PlainValue$5.PlainValue(type, props);
- case PlainValueEc8e588e.Type.QUOTE_DOUBLE:
+ case PlainValue$5.Type.QUOTE_DOUBLE:
return new QuoteDouble(type, props);
- case PlainValueEc8e588e.Type.QUOTE_SINGLE:
+ case PlainValue$5.Type.QUOTE_SINGLE:
return new QuoteSingle(type, props);
/* istanbul ignore next */
static parseType(src, offset, inFlow) {
switch (src[offset]) {
case '*':
- return PlainValueEc8e588e.Type.ALIAS;
+ return PlainValue$5.Type.ALIAS;
case '>':
- return PlainValueEc8e588e.Type.BLOCK_FOLDED;
+ return PlainValue$5.Type.BLOCK_FOLDED;
case '|':
- return PlainValueEc8e588e.Type.BLOCK_LITERAL;
+ return PlainValue$5.Type.BLOCK_LITERAL;
case '{':
- return PlainValueEc8e588e.Type.FLOW_MAP;
+ return PlainValue$5.Type.FLOW_MAP;
case '[':
- return PlainValueEc8e588e.Type.FLOW_SEQ;
+ return PlainValue$5.Type.FLOW_SEQ;
case '?':
- return !inFlow && PlainValueEc8e588e.Node.atBlank(src, offset + 1, true) ? PlainValueEc8e588e.Type.MAP_KEY : PlainValueEc8e588e.Type.PLAIN;
+ return !inFlow && PlainValue$5.Node.atBlank(src, offset + 1, true) ? PlainValue$5.Type.MAP_KEY : PlainValue$5.Type.PLAIN;
case ':':
- return !inFlow && PlainValueEc8e588e.Node.atBlank(src, offset + 1, true) ? PlainValueEc8e588e.Type.MAP_VALUE : PlainValueEc8e588e.Type.PLAIN;
+ return !inFlow && PlainValue$5.Node.atBlank(src, offset + 1, true) ? PlainValue$5.Type.MAP_VALUE : PlainValue$5.Type.PLAIN;
case '-':
- return !inFlow && PlainValueEc8e588e.Node.atBlank(src, offset + 1, true) ? PlainValueEc8e588e.Type.SEQ_ITEM : PlainValueEc8e588e.Type.PLAIN;
+ return !inFlow && PlainValue$5.Node.atBlank(src, offset + 1, true) ? PlainValue$5.Type.SEQ_ITEM : PlainValue$5.Type.PLAIN;
case '"':
- return PlainValueEc8e588e.Type.QUOTE_DOUBLE;
+ return PlainValue$5.Type.QUOTE_DOUBLE;
case "'":
- return PlainValueEc8e588e.Type.QUOTE_SINGLE;
+ return PlainValue$5.Type.QUOTE_SINGLE;
default:
- return PlainValueEc8e588e.Type.PLAIN;
+ return PlainValue$5.Type.PLAIN;
}
}
lineStart,
parent
} = {}) {
- PlainValueEc8e588e._defineProperty(this, "parseNode", (overlay, start) => {
- if (PlainValueEc8e588e.Node.atDocumentBoundary(this.src, start)) return null;
+ PlainValue$5._defineProperty(this, "parseNode", (overlay, start) => {
+ if (PlainValue$5.Node.atDocumentBoundary(this.src, start)) return null;
const context = new ParseContext(this, overlay);
const {
props,
} = context.parseProps(start);
const node = createNewNode(type, props);
let offset = node.parse(context, valueStart);
- node.range = new PlainValueEc8e588e.Range(start, offset);
+ node.range = new PlainValue$5.Range(start, offset);
/* istanbul ignore if */
if (offset <= start) {
}
if (context.nodeStartsCollection(node)) {
- if (!node.error && !context.atLineStart && context.parent.type === PlainValueEc8e588e.Type.DOCUMENT) {
- node.error = new PlainValueEc8e588e.YAMLSyntaxError(node, 'Block collection must not have preceding content here (e.g. directives-end indicator)');
+ if (!node.error && !context.atLineStart && context.parent.type === PlainValue$5.Type.DOCUMENT) {
+ node.error = new PlainValue$5.YAMLSyntaxError(node, 'Block collection must not have preceding content here (e.g. directives-end indicator)');
}
- const collection = new Collection(node);
+ const collection = new Collection$1(node);
offset = collection.parse(new ParseContext(context), offset);
- collection.range = new PlainValueEc8e588e.Range(start, offset);
+ collection.range = new PlainValue$5.Range(start, offset);
return collection;
}
let offset = node.range.end;
if (src[offset] === '\n' || src[offset - 1] === '\n') return false;
- offset = PlainValueEc8e588e.Node.endOfWhiteSpace(src, offset);
+ offset = PlainValue$5.Node.endOfWhiteSpace(src, offset);
return src[offset] === ':';
} // Anchor and tag are before type, which determines the node implementation
// class; hence this intermediate step.
} = this;
const props = [];
let lineHasProps = false;
- offset = this.atLineStart ? PlainValueEc8e588e.Node.endOfIndent(src, offset) : PlainValueEc8e588e.Node.endOfWhiteSpace(src, offset);
+ offset = this.atLineStart ? PlainValue$5.Node.endOfIndent(src, offset) : PlainValue$5.Node.endOfWhiteSpace(src, offset);
let ch = src[offset];
- while (ch === PlainValueEc8e588e.Char.ANCHOR || ch === PlainValueEc8e588e.Char.COMMENT || ch === PlainValueEc8e588e.Char.TAG || ch === '\n') {
+ while (ch === PlainValue$5.Char.ANCHOR || ch === PlainValue$5.Char.COMMENT || ch === PlainValue$5.Char.TAG || ch === '\n') {
if (ch === '\n') {
- const lineStart = offset + 1;
- const inEnd = PlainValueEc8e588e.Node.endOfIndent(src, lineStart);
+ let inEnd = offset;
+ let lineStart;
+
+ do {
+ lineStart = inEnd + 1;
+ inEnd = PlainValue$5.Node.endOfIndent(src, lineStart);
+ } while (src[inEnd] === '\n');
+
const indentDiff = inEnd - (lineStart + this.indent);
- const noIndicatorAsIndent = parent.type === PlainValueEc8e588e.Type.SEQ_ITEM && parent.context.atLineStart;
- if (!PlainValueEc8e588e.Node.nextNodeIsIndented(src[inEnd], indentDiff, !noIndicatorAsIndent)) break;
+ const noIndicatorAsIndent = parent.type === PlainValue$5.Type.SEQ_ITEM && parent.context.atLineStart;
+ if (src[inEnd] !== '#' && !PlainValue$5.Node.nextNodeIsIndented(src[inEnd], indentDiff, !noIndicatorAsIndent)) break;
this.atLineStart = true;
this.lineStart = lineStart;
lineHasProps = false;
offset = inEnd;
- } else if (ch === PlainValueEc8e588e.Char.COMMENT) {
- const end = PlainValueEc8e588e.Node.endOfLine(src, offset + 1);
- props.push(new PlainValueEc8e588e.Range(offset, end));
+ } else if (ch === PlainValue$5.Char.COMMENT) {
+ const end = PlainValue$5.Node.endOfLine(src, offset + 1);
+ props.push(new PlainValue$5.Range(offset, end));
offset = end;
} else {
- let end = PlainValueEc8e588e.Node.endOfIdentifier(src, offset + 1);
+ let end = PlainValue$5.Node.endOfIdentifier(src, offset + 1);
- if (ch === PlainValueEc8e588e.Char.TAG && src[end] === ',' && /^[a-zA-Z0-9-]+\.[a-zA-Z0-9-]+,\d\d\d\d(-\d\d){0,2}\/\S/.test(src.slice(offset + 1, end + 13))) {
+ if (ch === PlainValue$5.Char.TAG && src[end] === ',' && /^[a-zA-Z0-9-]+\.[a-zA-Z0-9-]+,\d\d\d\d(-\d\d){0,2}\/\S/.test(src.slice(offset + 1, end + 13))) {
// Let's presume we're dealing with a YAML 1.0 domain tag here, rather
// than an empty but 'foo.bar' private-tagged node in a flow collection
// followed without whitespace by a plain string starting with a year
// or date divided by something.
- end = PlainValueEc8e588e.Node.endOfIdentifier(src, end + 5);
+ end = PlainValue$5.Node.endOfIdentifier(src, end + 5);
}
- props.push(new PlainValueEc8e588e.Range(offset, end));
+ props.push(new PlainValue$5.Range(offset, end));
lineHasProps = true;
- offset = PlainValueEc8e588e.Node.endOfWhiteSpace(src, end);
+ offset = PlainValue$5.Node.endOfWhiteSpace(src, end);
}
ch = src[offset];
} // '- &a : b' has an anchor on an empty node
- if (lineHasProps && ch === ':' && PlainValueEc8e588e.Node.atBlank(src, offset + 1, true)) offset -= 1;
+ if (lineHasProps && ch === ':' && PlainValue$5.Node.atBlank(src, offset + 1, true)) offset -= 1;
const type = ParseContext.parseType(src, offset, inFlow);
return {
props,
} // Published as 'yaml/parse-cst'
-function parse(src) {
+function parse$1(src) {
const cr = [];
if (src.indexOf('\r') !== -1) {
let offset = 0;
do {
- const doc = new Document();
+ const doc = new Document$3();
const context = new ParseContext({
src
});
return documents;
}
-var parse_1 = parse;
-var parseCst = {
- parse: parse_1
-};
+parseCst$1.parse = parse$1;
+
+var Document9b4560a1 = {};
+
+var resolveSeqD03cb037 = {};
+
+var PlainValue$4 = PlainValueEc8e588e;
function addCommentBefore(str, indent, comment) {
if (!comment) return str;
return !comment ? str : comment.indexOf('\n') === -1 ? `${str} #${comment}` : `${str}\n` + comment.replace(/^/gm, `${indent || ''}#`);
}
-class Node$1 {}
+class Node {}
function toJSON(value, arg, ctx) {
if (Array.isArray(value)) return value.map((v, i) => toJSON(v, String(i), ctx));
return value;
}
-class Scalar extends Node$1 {
+class Scalar extends Node {
constructor(value) {
super();
this.value = value;
for (let i = path.length - 1; i >= 0; --i) {
const k = path[i];
- const o = Number.isInteger(k) && k >= 0 ? [] : {};
- o[k] = v;
- v = o;
+
+ if (Number.isInteger(k) && k >= 0) {
+ const a = [];
+ a[k] = v;
+ v = a;
+ } else {
+ const o = {};
+ Object.defineProperty(o, k, {
+ value: v,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
+ v = o;
+ }
}
return schema.createNode(v, false);
const isEmptyPath = path => path == null || typeof path === 'object' && path[Symbol.iterator]().next().done;
-class Collection$1 extends Node$1 {
+class Collection extends Node {
constructor(schema) {
super();
- PlainValueEc8e588e._defineProperty(this, "items", []);
+ PlainValue$4._defineProperty(this, "items", []);
this.schema = schema;
}
if (isEmptyPath(path)) this.add(value);else {
const [key, ...rest] = path;
const node = this.get(key, true);
- if (node instanceof Collection$1) node.addIn(rest, value);else if (node === undefined && this.schema) this.set(key, collectionFromPath(this.schema, rest, value));else throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`);
+ if (node instanceof Collection) node.addIn(rest, value);else if (node === undefined && this.schema) this.set(key, collectionFromPath(this.schema, rest, value));else throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`);
}
}
deleteIn([key, ...rest]) {
if (rest.length === 0) return this.delete(key);
const node = this.get(key, true);
- if (node instanceof Collection$1) return node.deleteIn(rest);else throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`);
+ if (node instanceof Collection) return node.deleteIn(rest);else throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`);
}
getIn([key, ...rest], keepScalar) {
const node = this.get(key, true);
- if (rest.length === 0) return !keepScalar && node instanceof Scalar ? node.value : node;else return node instanceof Collection$1 ? node.getIn(rest, keepScalar) : undefined;
+ if (rest.length === 0) return !keepScalar && node instanceof Scalar ? node.value : node;else return node instanceof Collection ? node.getIn(rest, keepScalar) : undefined;
}
hasAllNullValues() {
hasIn([key, ...rest]) {
if (rest.length === 0) return this.has(key);
const node = this.get(key, true);
- return node instanceof Collection$1 ? node.hasIn(rest) : false;
+ return node instanceof Collection ? node.hasIn(rest) : false;
}
setIn([key, ...rest], value) {
this.set(key, value);
} else {
const node = this.get(key, true);
- if (node instanceof Collection$1) node.setIn(rest, value);else if (node === undefined && this.schema) this.set(key, collectionFromPath(this.schema, rest, value));else throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`);
+ if (node instanceof Collection) node.setIn(rest, value);else if (node === undefined && this.schema) this.set(key, collectionFromPath(this.schema, rest, value));else throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`);
}
} // overridden in implementations
indentStep,
stringify
} = ctx;
- const inFlow = this.type === PlainValueEc8e588e.Type.FLOW_MAP || this.type === PlainValueEc8e588e.Type.FLOW_SEQ || ctx.inFlow;
+ const inFlow = this.type === PlainValue$4.Type.FLOW_MAP || this.type === PlainValue$4.Type.FLOW_SEQ || ctx.inFlow;
if (inFlow) itemIndent += indentStep;
const allNullValues = isMap && this.hasAllNullValues();
ctx = Object.assign({}, ctx, {
} = flowChars;
const strings = nodes.map(n => n.str);
- if (hasItemWithNewLine || strings.reduce((sum, str) => sum + str.length + 2, 2) > Collection$1.maxFlowStringSingleLineLength) {
+ if (hasItemWithNewLine || strings.reduce((sum, str) => sum + str.length + 2, 2) > Collection.maxFlowStringSingleLineLength) {
str = start;
for (const s of strings) {
}
-PlainValueEc8e588e._defineProperty(Collection$1, "maxFlowStringSingleLineLength", 60);
+PlainValue$4._defineProperty(Collection, "maxFlowStringSingleLineLength", 60);
function asItemIndex(key) {
let idx = key instanceof Scalar ? key.value : key;
return Number.isInteger(idx) && idx >= 0 ? idx : null;
}
-class YAMLSeq extends Collection$1 {
+class YAMLSeq extends Collection {
add(value) {
this.items.push(value);
}
const stringifyKey = (key, jsKey, ctx) => {
if (jsKey === null) return '';
if (typeof jsKey !== 'object') return String(jsKey);
- if (key instanceof Node$1 && ctx && ctx.doc) return key.toString({
- anchors: {},
+ if (key instanceof Node && ctx && ctx.doc) return key.toString({
+ anchors: Object.create(null),
doc: ctx.doc,
indent: '',
indentStep: ctx.indentStep,
return JSON.stringify(jsKey);
};
-class Pair extends Node$1 {
+class Pair extends Node {
constructor(key, value = null) {
super();
this.key = key;
}
get commentBefore() {
- return this.key instanceof Node$1 ? this.key.commentBefore : undefined;
+ return this.key instanceof Node ? this.key.commentBefore : undefined;
}
set commentBefore(cb) {
if (this.key == null) this.key = new Scalar(null);
- if (this.key instanceof Node$1) this.key.commentBefore = cb;else {
+ if (this.key instanceof Node) this.key.commentBefore = cb;else {
const msg = 'Pair.commentBefore is an alias for Pair.key.commentBefore. To set it, the key must be a Node.';
throw new Error(msg);
}
map.add(key);
} else {
const stringKey = stringifyKey(this.key, key, ctx);
- map[stringKey] = toJSON(this.value, stringKey, ctx);
+ const value = toJSON(this.value, stringKey, ctx);
+ if (stringKey in map) Object.defineProperty(map, stringKey, {
+ value,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });else map[stringKey] = value;
}
return map;
key,
value
} = this;
- let keyComment = key instanceof Node$1 && key.comment;
+ let keyComment = key instanceof Node && key.comment;
if (simpleKeys) {
if (keyComment) {
throw new Error('With simple keys, key nodes cannot have comments');
}
- if (key instanceof Collection$1) {
+ if (key instanceof Collection) {
const msg = 'With simple keys, collection cannot be used as a key value';
throw new Error(msg);
}
}
- const explicitKey = !simpleKeys && (!key || keyComment || key instanceof Collection$1 || key.type === PlainValueEc8e588e.Type.BLOCK_FOLDED || key.type === PlainValueEc8e588e.Type.BLOCK_LITERAL);
+ let explicitKey = !simpleKeys && (!key || keyComment || (key instanceof Node ? key instanceof Collection || key.type === PlainValue$4.Type.BLOCK_FOLDED || key.type === PlainValue$4.Type.BLOCK_LITERAL : typeof key === 'object'));
const {
doc,
indent,
let str = stringify(key, ctx, () => keyComment = null, () => chompKeep = true);
str = addComment(str, ctx.indent, keyComment);
+ if (!explicitKey && str.length > 1024) {
+ if (simpleKeys) throw new Error('With simple keys, single line scalar must not span more than 1024 characters');
+ explicitKey = true;
+ }
+
if (ctx.allNullValues && !simpleKeys) {
if (this.comment) {
str = addComment(str, ctx.indent, this.comment);
if (onComment) onComment();
} else if (chompKeep && !keyComment && onChompKeep) onChompKeep();
- return ctx.inFlow ? str : `? ${str}`;
+ return ctx.inFlow && !explicitKey ? str : `? ${str}`;
}
str = explicitKey ? `? ${str}\n${indent}:` : `${str}:`;
let vcb = '';
let valueComment = null;
- if (value instanceof Node$1) {
+ if (value instanceof Node) {
if (value.spaceBefore) vcb = '\n';
if (value.commentBefore) {
if (!explicitKey && !this.comment && value instanceof Scalar) ctx.indentAtStart = str.length + 1;
chompKeep = false;
- if (!indentSeq && indentSize >= 2 && !ctx.inFlow && !explicitKey && value instanceof YAMLSeq && value.type !== PlainValueEc8e588e.Type.FLOW_SEQ && !value.tag && !doc.anchors.getName(value)) {
+ if (!indentSeq && indentSize >= 2 && !ctx.inFlow && !explicitKey && value instanceof YAMLSeq && value.type !== PlainValue$4.Type.FLOW_SEQ && !value.tag && !doc.anchors.getName(value)) {
// If indentSeq === false, consider '- ' as part of indentation where possible
ctx.indent = ctx.indent.substr(2);
}
if (vcb || this.comment) {
ws = `${vcb}\n${ctx.indent}`;
- } else if (!explicitKey && value instanceof Collection$1) {
+ } else if (!explicitKey && value instanceof Collection) {
const flow = valueStr[0] === '[' || valueStr[0] === '{';
if (!flow || valueStr.includes('\n')) ws = `\n${ctx.indent}`;
- }
+ } else if (valueStr[0] === '\n') ws = '';
if (chompKeep && !valueComment && onChompKeep) onChompKeep();
return addComment(str + ws + valueStr, ctx.indent, valueComment);
}
-PlainValueEc8e588e._defineProperty(Pair, "Type", {
+PlainValue$4._defineProperty(Pair, "Type", {
PAIR: 'PAIR',
MERGE_PAIR: 'MERGE_PAIR'
});
const getAliasCount = (node, anchors) => {
- if (node instanceof Alias$1) {
+ if (node instanceof Alias) {
const anchor = anchors.get(node.source);
return anchor.count * anchor.aliasCount;
- } else if (node instanceof Collection$1) {
+ } else if (node instanceof Collection) {
let count = 0;
for (const item of node.items) {
return 1;
};
-class Alias$1 extends Node$1 {
+class Alias extends Node {
static stringify({
range,
source
constructor(source) {
super();
this.source = source;
- this.type = PlainValueEc8e588e.Type.ALIAS;
+ this.type = PlainValue$4.Type.ALIAS;
}
set tag(t) {
if (!anchor || anchor.res === undefined) {
const msg = 'This should not happen: Alias anchor was not resolved?';
- if (this.cstNode) throw new PlainValueEc8e588e.YAMLReferenceError(this.cstNode, msg);else throw new ReferenceError(msg);
+ if (this.cstNode) throw new PlainValue$4.YAMLReferenceError(this.cstNode, msg);else throw new ReferenceError(msg);
}
if (maxAliasCount >= 0) {
if (anchor.count * anchor.aliasCount > maxAliasCount) {
const msg = 'Excessive alias count indicates a resource exhaustion attack';
- if (this.cstNode) throw new PlainValueEc8e588e.YAMLReferenceError(this.cstNode, msg);else throw new ReferenceError(msg);
+ if (this.cstNode) throw new PlainValue$4.YAMLReferenceError(this.cstNode, msg);else throw new ReferenceError(msg);
}
}
toString(ctx) {
- return Alias$1.stringify(this, ctx);
+ return Alias.stringify(this, ctx);
}
}
-PlainValueEc8e588e._defineProperty(Alias$1, "default", true);
+PlainValue$4._defineProperty(Alias, "default", true);
function findPair(items, key) {
const k = key instanceof Scalar ? key.value : key;
return undefined;
}
-class YAMLMap extends Collection$1 {
+class YAMLMap extends Collection {
add(pair, overwrite) {
if (!pair) pair = new Pair(pair);else if (!(pair instanceof Pair)) pair = new Pair(pair.key || pair, pair.value);
const prev = findPair(this.items, pair.key);
if (!map.has(key)) map.set(key, value);
} else if (map instanceof Set) {
map.add(key);
- } else {
- if (!Object.prototype.hasOwnProperty.call(map, key)) map[key] = value;
+ } else if (!Object.prototype.hasOwnProperty.call(map, key)) {
+ Object.defineProperty(map, key, {
+ value,
+ writable: true,
+ enumerable: true,
+ configurable: true
+ });
}
}
}
}
const binaryOptions = {
- defaultType: PlainValueEc8e588e.Type.BLOCK_LITERAL,
+ defaultType: PlainValue$4.Type.BLOCK_LITERAL,
lineWidth: 76
};
const boolOptions = {
nullStr: 'null'
};
const strOptions = {
- defaultType: PlainValueEc8e588e.Type.PLAIN,
+ defaultType: PlainValue$4.Type.PLAIN,
doubleQuoted: {
jsonEncoding: false,
minMultiLineLength: 40
* the first line, defaulting to `indent.length`
* @param {number} [options.lineWidth=80]
* @param {number} [options.minContentWidth=20] Allow highly indented lines to
- * stretch the line width
+ * stretch the line width or indent content from the start
* @param {function} options.onFold Called once if the text is folded
* @param {function} options.onFold Called once if any line of text exceeds
* lineWidth characters
if (text.length <= endStep) return text;
const folds = [];
const escapedFolds = {};
- let end = lineWidth - (typeof indentAtStart === 'number' ? indentAtStart : indent.length);
+ let end = lineWidth - indent.length;
+
+ if (typeof indentAtStart === 'number') {
+ if (indentAtStart > lineWidth - Math.max(2, minContentWidth)) folds.push(0);else end = lineWidth - indentAtStart;
+ }
+
let split = undefined;
let prev = undefined;
let overflow = false;
let i = -1;
+ let escStart = -1;
+ let escEnd = -1;
if (mode === FOLD_BLOCK) {
i = consumeMoreIndentedLines(text, i);
for (let ch; ch = text[i += 1];) {
if (mode === FOLD_QUOTED && ch === '\\') {
+ escStart = i;
+
switch (text[i + 1]) {
case 'x':
i += 3;
default:
i += 1;
}
+
+ escEnd = i;
}
if (ch === '\n') {
prev = ch;
ch = text[i += 1];
overflow = true;
- } // i - 2 accounts for not-dropped last char + newline-escaping \
+ } // Account for newline escape, but don't break preceding escape
- folds.push(i - 2);
- escapedFolds[i - 2] = true;
- end = i - 2 + endStep;
+ const j = i > escEnd + 1 ? i - 2 : escStart - 1; // Bail out if lineWidth & minContentWidth are shorter than an escape string
+
+ if (escapedFolds[j]) return text;
+ folds.push(j);
+ escapedFolds[j] = true;
+ end = j + endStep;
split = undefined;
} else {
overflow = true;
for (let i = 0; i < folds.length; ++i) {
const fold = folds[i];
const end = folds[i + 1] || text.length;
- if (mode === FOLD_QUOTED && escapedFolds[fold]) res += `${text[fold]}\\`;
- res += `\n${indent}${text.slice(fold + 1, end)}`;
+ if (fold === 0) res = `\n${indent}${text.slice(0, end)}`;else {
+ if (mode === FOLD_QUOTED && escapedFolds[fold]) res += `${text[fold]}\\`;
+ res += `\n${indent}${text.slice(fold + 1, end)}`;
+ }
}
return res;
const containsDocumentMarker = str => /^(%|---|\.\.\.)/m.test(str);
-function lineLengthOverLimit(str, limit) {
+function lineLengthOverLimit(str, lineWidth, indentLength) {
+ if (!lineWidth || lineWidth < 0) return false;
+ const limit = lineWidth - indentLength;
const strLen = str.length;
if (strLen <= limit) return false;
const indent = ctx.indent || (ctx.forceBlockIndent || containsDocumentMarker(value) ? ' ' : '');
const indentSize = indent ? '2' : '1'; // root is at -1
- const literal = type === PlainValueEc8e588e.Type.BLOCK_FOLDED ? false : type === PlainValueEc8e588e.Type.BLOCK_LITERAL ? true : !lineLengthOverLimit(value, strOptions.fold.lineWidth - indent.length);
+ const literal = type === PlainValue$4.Type.BLOCK_FOLDED ? false : type === PlainValue$4.Type.BLOCK_LITERAL ? true : !lineLengthOverLimit(value, strOptions.fold.lineWidth, indent.length);
let header = literal ? '|' : '>';
if (!value) return header + '\n';
let wsStart = '';
return implicitKey || inFlow || value.indexOf('\n') === -1 ? value.indexOf('"') !== -1 && value.indexOf("'") === -1 ? singleQuotedString(value, ctx) : doubleQuotedString(value, ctx) : blockString(item, ctx, onComment, onChompKeep);
}
- if (!implicitKey && !inFlow && type !== PlainValueEc8e588e.Type.PLAIN && value.indexOf('\n') !== -1) {
+ if (!implicitKey && !inFlow && type !== PlainValue$4.Type.PLAIN && value.indexOf('\n') !== -1) {
// Where allowed & type not set explicitly, prefer block style for multiline strings
return blockString(item, ctx, onComment, onChompKeep);
}
const _stringify = _type => {
switch (_type) {
- case PlainValueEc8e588e.Type.BLOCK_FOLDED:
- case PlainValueEc8e588e.Type.BLOCK_LITERAL:
+ case PlainValue$4.Type.BLOCK_FOLDED:
+ case PlainValue$4.Type.BLOCK_LITERAL:
return blockString(item, ctx, onComment, onChompKeep);
- case PlainValueEc8e588e.Type.QUOTE_DOUBLE:
+ case PlainValue$4.Type.QUOTE_DOUBLE:
return doubleQuotedString(value, ctx);
- case PlainValueEc8e588e.Type.QUOTE_SINGLE:
+ case PlainValue$4.Type.QUOTE_SINGLE:
return singleQuotedString(value, ctx);
- case PlainValueEc8e588e.Type.PLAIN:
+ case PlainValue$4.Type.PLAIN:
return plainString(item, ctx, onComment, onChompKeep);
default:
}
};
- if (type !== PlainValueEc8e588e.Type.QUOTE_DOUBLE && /[\x00-\x08\x0b-\x1f\x7f-\x9f]/.test(value)) {
+ if (type !== PlainValue$4.Type.QUOTE_DOUBLE && /[\x00-\x08\x0b-\x1f\x7f-\x9f]/.test(value)) {
// force double quotes on control characters
- type = PlainValueEc8e588e.Type.QUOTE_DOUBLE;
- } else if ((implicitKey || inFlow) && (type === PlainValueEc8e588e.Type.BLOCK_FOLDED || type === PlainValueEc8e588e.Type.BLOCK_LITERAL)) {
+ type = PlainValue$4.Type.QUOTE_DOUBLE;
+ } else if ((implicitKey || inFlow) && (type === PlainValue$4.Type.BLOCK_FOLDED || type === PlainValue$4.Type.BLOCK_LITERAL)) {
// should not happen; blocks are not valid inside flow containers
- type = PlainValueEc8e588e.Type.QUOTE_DOUBLE;
+ type = PlainValue$4.Type.QUOTE_DOUBLE;
}
let res = _stringify(type);
let char, name;
switch (cst.type) {
- case PlainValueEc8e588e.Type.FLOW_MAP:
+ case PlainValue$4.Type.FLOW_MAP:
char = '}';
name = 'flow map';
break;
- case PlainValueEc8e588e.Type.FLOW_SEQ:
+ case PlainValue$4.Type.FLOW_SEQ:
char = ']';
name = 'flow sequence';
break;
default:
- errors.push(new PlainValueEc8e588e.YAMLSemanticError(cst, 'Not a flow collection!?'));
+ errors.push(new PlainValue$4.YAMLSemanticError(cst, 'Not a flow collection!?'));
return;
}
for (let i = cst.items.length - 1; i >= 0; --i) {
const item = cst.items[i];
- if (!item || item.type !== PlainValueEc8e588e.Type.COMMENT) {
+ if (!item || item.type !== PlainValue$4.Type.COMMENT) {
lastItem = item;
break;
}
let err;
if (typeof lastItem.offset === 'number') {
- err = new PlainValueEc8e588e.YAMLSemanticError(cst, msg);
+ err = new PlainValue$4.YAMLSemanticError(cst, msg);
err.offset = lastItem.offset + 1;
} else {
- err = new PlainValueEc8e588e.YAMLSemanticError(lastItem, msg);
+ err = new PlainValue$4.YAMLSemanticError(lastItem, msg);
if (lastItem.range && lastItem.range.end) err.offset = lastItem.range.end - lastItem.range.start;
}
if (prev !== '\n' && prev !== '\t' && prev !== ' ') {
const msg = 'Comments must be separated from other tokens by white space characters';
- errors.push(new PlainValueEc8e588e.YAMLSemanticError(comment, msg));
+ errors.push(new PlainValue$4.YAMLSemanticError(comment, msg));
}
}
function getLongKeyError(source, key) {
const sk = String(key);
const k = sk.substr(0, 8) + '...' + sk.substr(-8);
- return new PlainValueEc8e588e.YAMLSemanticError(source, `The "${k}" key is too long`);
+ return new PlainValue$4.YAMLSemanticError(source, `The "${k}" key is too long`);
}
function resolveComments(collection, comments) {
if (!prefix) {
const dtp = doc.getDefaults().tagPrefixes;
if (dtp) prefix = dtp.find(p => p.handle === handle);
- if (!prefix) throw new PlainValueEc8e588e.YAMLSemanticError(node, `The ${handle} tag handle is non-default and was not declared.`);
+ if (!prefix) throw new PlainValue$4.YAMLSemanticError(node, `The ${handle} tag handle is non-default and was not declared.`);
}
- if (!suffix) throw new PlainValueEc8e588e.YAMLSemanticError(node, `The ${handle} tag has no suffix.`);
+ if (!suffix) throw new PlainValue$4.YAMLSemanticError(node, `The ${handle} tag has no suffix.`);
if (handle === '!' && (doc.version || doc.options.version) === '1.0') {
if (suffix[0] === '^') {
- doc.warnings.push(new PlainValueEc8e588e.YAMLWarning(node, 'YAML 1.0 ^ tag expansion is not supported'));
+ doc.warnings.push(new PlainValue$4.YAMLWarning(node, 'YAML 1.0 ^ tag expansion is not supported'));
return suffix;
}
if (verbatim) {
if (verbatim !== '!' && verbatim !== '!!') return verbatim;
const msg = `Verbatim tags aren't resolved, so ${verbatim} is invalid.`;
- doc.errors.push(new PlainValueEc8e588e.YAMLSemanticError(node, msg));
+ doc.errors.push(new PlainValue$4.YAMLSemanticError(node, msg));
} else if (handle === '!' && !suffix) {
nonSpecific = true;
} else {
}
switch (type) {
- case PlainValueEc8e588e.Type.BLOCK_FOLDED:
- case PlainValueEc8e588e.Type.BLOCK_LITERAL:
- case PlainValueEc8e588e.Type.QUOTE_DOUBLE:
- case PlainValueEc8e588e.Type.QUOTE_SINGLE:
- return PlainValueEc8e588e.defaultTags.STR;
+ case PlainValue$4.Type.BLOCK_FOLDED:
+ case PlainValue$4.Type.BLOCK_LITERAL:
+ case PlainValue$4.Type.QUOTE_DOUBLE:
+ case PlainValue$4.Type.QUOTE_SINGLE:
+ return PlainValue$4.defaultTags.STR;
- case PlainValueEc8e588e.Type.FLOW_MAP:
- case PlainValueEc8e588e.Type.MAP:
- return PlainValueEc8e588e.defaultTags.MAP;
+ case PlainValue$4.Type.FLOW_MAP:
+ case PlainValue$4.Type.MAP:
+ return PlainValue$4.defaultTags.MAP;
- case PlainValueEc8e588e.Type.FLOW_SEQ:
- case PlainValueEc8e588e.Type.SEQ:
- return PlainValueEc8e588e.defaultTags.SEQ;
+ case PlainValue$4.Type.FLOW_SEQ:
+ case PlainValue$4.Type.SEQ:
+ return PlainValue$4.defaultTags.SEQ;
- case PlainValueEc8e588e.Type.PLAIN:
- return nonSpecific ? PlainValueEc8e588e.defaultTags.STR : null;
+ case PlainValue$4.Type.PLAIN:
+ return nonSpecific ? PlainValue$4.defaultTags.STR : null;
default:
return null;
if (tag.tag === tagName) {
if (tag.test) matchWithTest.push(tag);else {
const res = tag.resolve(doc, node);
- return res instanceof Collection$1 ? res : new Scalar(res);
+ return res instanceof Collection ? res : new Scalar(res);
}
}
}
type
}) {
switch (type) {
- case PlainValueEc8e588e.Type.FLOW_MAP:
- case PlainValueEc8e588e.Type.MAP:
- return PlainValueEc8e588e.defaultTags.MAP;
+ case PlainValue$4.Type.FLOW_MAP:
+ case PlainValue$4.Type.MAP:
+ return PlainValue$4.defaultTags.MAP;
- case PlainValueEc8e588e.Type.FLOW_SEQ:
- case PlainValueEc8e588e.Type.SEQ:
- return PlainValueEc8e588e.defaultTags.SEQ;
+ case PlainValue$4.Type.FLOW_SEQ:
+ case PlainValue$4.Type.SEQ:
+ return PlainValue$4.defaultTags.SEQ;
default:
- return PlainValueEc8e588e.defaultTags.STR;
+ return PlainValue$4.defaultTags.STR;
}
}
const fallback = getFallbackTagName(node);
if (!fallback) throw new Error(`The tag ${tagName} is unavailable`);
const msg = `The tag ${tagName} is unavailable, falling back to ${fallback}`;
- doc.warnings.push(new PlainValueEc8e588e.YAMLWarning(node, msg));
+ doc.warnings.push(new PlainValue$4.YAMLWarning(node, msg));
const res = resolveByTagName(doc, node, fallback);
res.tag = tagName;
return res;
} catch (error) {
- const refError = new PlainValueEc8e588e.YAMLReferenceError(node, error.message);
+ const refError = new PlainValue$4.YAMLReferenceError(node, error.message);
refError.stack = error.stack;
doc.errors.push(refError);
return null;
const {
type
} = node;
- return type === PlainValueEc8e588e.Type.MAP_KEY || type === PlainValueEc8e588e.Type.MAP_VALUE || type === PlainValueEc8e588e.Type.SEQ_ITEM;
+ return type === PlainValue$4.Type.MAP_KEY || type === PlainValue$4.Type.MAP_VALUE || type === PlainValue$4.Type.SEQ_ITEM;
};
function resolveNodeProps(errors, node) {
end
} of props) {
switch (node.context.src[start]) {
- case PlainValueEc8e588e.Char.COMMENT:
+ case PlainValue$4.Char.COMMENT:
{
if (!node.commentHasRequiredWhitespace(start)) {
const msg = 'Comments must be separated from other tokens by white space characters';
- errors.push(new PlainValueEc8e588e.YAMLSemanticError(node, msg));
+ errors.push(new PlainValue$4.YAMLSemanticError(node, msg));
}
const {
}
// Actual anchor & tag resolution is handled by schema, here we just complain
- case PlainValueEc8e588e.Char.ANCHOR:
+ case PlainValue$4.Char.ANCHOR:
if (hasAnchor) {
const msg = 'A node can have at most one anchor';
- errors.push(new PlainValueEc8e588e.YAMLSemanticError(node, msg));
+ errors.push(new PlainValue$4.YAMLSemanticError(node, msg));
}
hasAnchor = true;
break;
- case PlainValueEc8e588e.Char.TAG:
+ case PlainValue$4.Char.TAG:
if (hasTag) {
const msg = 'A node can have at most one tag';
- errors.push(new PlainValueEc8e588e.YAMLSemanticError(node, msg));
+ errors.push(new PlainValue$4.YAMLSemanticError(node, msg));
}
hasTag = true;
schema
} = doc;
- if (node.type === PlainValueEc8e588e.Type.ALIAS) {
+ if (node.type === PlainValue$4.Type.ALIAS) {
const name = node.rawValue;
const src = anchors.getNode(name);
if (!src) {
const msg = `Aliased anchor not found: ${name}`;
- errors.push(new PlainValueEc8e588e.YAMLReferenceError(node, msg));
+ errors.push(new PlainValue$4.YAMLReferenceError(node, msg));
return null;
} // Lazy resolution for circular references
- const res = new Alias$1(src);
+ const res = new Alias(src);
anchors._cstAliases.push(res);
const tagName = resolveTagName(doc, node);
if (tagName) return resolveTag(doc, node, tagName);
- if (node.type !== PlainValueEc8e588e.Type.PLAIN) {
+ if (node.type !== PlainValue$4.Type.PLAIN) {
const msg = `Failed to resolve ${node.type} node here`;
- errors.push(new PlainValueEc8e588e.YAMLSyntaxError(node, msg));
+ errors.push(new PlainValue$4.YAMLSyntaxError(node, msg));
return null;
}
anchors.map[name] = node;
}
- if (node.type === PlainValueEc8e588e.Type.ALIAS && (hasAnchor || hasTag)) {
+ if (node.type === PlainValue$4.Type.ALIAS && (hasAnchor || hasTag)) {
const msg = 'An alias node must not specify any properties';
- doc.errors.push(new PlainValueEc8e588e.YAMLSemanticError(node, msg));
+ doc.errors.push(new PlainValue$4.YAMLSemanticError(node, msg));
}
const res = resolveNodeValue(doc, node);
}
function resolveMap(doc, cst) {
- if (cst.type !== PlainValueEc8e588e.Type.MAP && cst.type !== PlainValueEc8e588e.Type.FLOW_MAP) {
+ if (cst.type !== PlainValue$4.Type.MAP && cst.type !== PlainValue$4.Type.FLOW_MAP) {
const msg = `A ${cst.type} node cannot be resolved as a mapping`;
- doc.errors.push(new PlainValueEc8e588e.YAMLSyntaxError(cst, msg));
+ doc.errors.push(new PlainValue$4.YAMLSyntaxError(cst, msg));
return null;
}
const {
comments,
items
- } = cst.type === PlainValueEc8e588e.Type.FLOW_MAP ? resolveFlowMapItems(doc, cst) : resolveBlockMapItems(doc, cst);
+ } = cst.type === PlainValue$4.Type.FLOW_MAP ? resolveFlowMapItems(doc, cst) : resolveBlockMapItems(doc, cst);
const map = new YAMLMap();
map.items = items;
resolveComments(map, comments);
const {
key: iKey
} = items[i];
- if (iKey instanceof Collection$1) hasCollectionKey = true;
+ if (iKey instanceof Collection) hasCollectionKey = true;
if (doc.schema.merge && iKey && iKey.value === MERGE_KEY) {
items[i] = new Merge(items[i]);
const sources = items[i].value.items;
let error = null;
sources.some(node => {
- if (node instanceof Alias$1) {
+ if (node instanceof Alias) {
// During parsing, alias sources are CST nodes; to account for
// circular references their resolved values can't be used here.
const {
type
} = node.source;
- if (type === PlainValueEc8e588e.Type.MAP || type === PlainValueEc8e588e.Type.FLOW_MAP) return false;
+ if (type === PlainValue$4.Type.MAP || type === PlainValue$4.Type.FLOW_MAP) return false;
return error = 'Merge nodes aliases can only point to maps';
}
return error = 'Merge nodes can only have Alias nodes as values';
});
- if (error) doc.errors.push(new PlainValueEc8e588e.YAMLSemanticError(cst, error));
+ if (error) doc.errors.push(new PlainValue$4.YAMLSemanticError(cst, error));
} else {
for (let j = i + 1; j < items.length; ++j) {
const {
if (iKey === jKey || iKey && jKey && Object.prototype.hasOwnProperty.call(iKey, 'value') && iKey.value === jKey.value) {
const msg = `Map keys must be unique; "${iKey}" is repeated`;
- doc.errors.push(new PlainValueEc8e588e.YAMLSemanticError(cst, msg));
+ doc.errors.push(new PlainValue$4.YAMLSemanticError(cst, msg));
break;
}
}
if (hasCollectionKey && !doc.options.mapAsMap) {
const warn = 'Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this.';
- doc.warnings.push(new PlainValueEc8e588e.YAMLWarning(cst, warn));
+ doc.warnings.push(new PlainValue$4.YAMLWarning(cst, warn));
}
cst.resolved = map;
start
} = props[0];
if (node && start > node.valueRange.start) return false;
- if (src[start] !== PlainValueEc8e588e.Char.COMMENT) return false;
+ if (src[start] !== PlainValue$4.Char.COMMENT) return false;
for (let i = lineStart; i < start; ++i) if (src[i] === '\n') return false;
function resolvePairComment(item, pair) {
if (!valueHasPairComment(item)) return;
- const comment = item.getPropValue(0, PlainValueEc8e588e.Char.COMMENT, true);
+ const comment = item.getPropValue(0, PlainValue$4.Char.COMMENT, true);
let found = false;
const cb = pair.value.commentBefore;
const item = cst.items[i];
switch (item.type) {
- case PlainValueEc8e588e.Type.BLANK_LINE:
+ case PlainValue$4.Type.BLANK_LINE:
comments.push({
afterKey: !!key,
before: items.length
});
break;
- case PlainValueEc8e588e.Type.COMMENT:
+ case PlainValue$4.Type.COMMENT:
comments.push({
afterKey: !!key,
before: items.length,
});
break;
- case PlainValueEc8e588e.Type.MAP_KEY:
+ case PlainValue$4.Type.MAP_KEY:
if (key !== undefined) items.push(new Pair(key));
if (item.error) doc.errors.push(item.error);
key = resolveNode(doc, item.node);
keyStart = null;
break;
- case PlainValueEc8e588e.Type.MAP_VALUE:
+ case PlainValue$4.Type.MAP_VALUE:
{
if (key === undefined) key = null;
if (item.error) doc.errors.push(item.error);
- if (!item.context.atLineStart && item.node && item.node.type === PlainValueEc8e588e.Type.MAP && !item.node.context.atLineStart) {
+ if (!item.context.atLineStart && item.node && item.node.type === PlainValue$4.Type.MAP && !item.node.context.atLineStart) {
const msg = 'Nested mappings are not allowed in compact mappings';
- doc.errors.push(new PlainValueEc8e588e.YAMLSemanticError(item.node, msg));
+ doc.errors.push(new PlainValue$4.YAMLSemanticError(item.node, msg));
}
let valueNode = item.node;
// Comments on an empty mapping value need to be preserved, so we
// need to construct a minimal empty node here to use instead of the
// missing `item.node`. -- eemeli/yaml#19
- valueNode = new PlainValueEc8e588e.PlainValue(PlainValueEc8e588e.Type.PLAIN, []);
+ valueNode = new PlainValue$4.PlainValue(PlainValue$4.Type.PLAIN, []);
valueNode.context = {
parent: item,
src: item.context.src
const nextItem = cst.items[j];
switch (nextItem && nextItem.type) {
- case PlainValueEc8e588e.Type.BLANK_LINE:
- case PlainValueEc8e588e.Type.COMMENT:
+ case PlainValue$4.Type.BLANK_LINE:
+ case PlainValue$4.Type.COMMENT:
continue next;
- case PlainValueEc8e588e.Type.MAP_VALUE:
+ case PlainValue$4.Type.MAP_VALUE:
break next;
default:
{
const msg = 'Implicit map keys need to be followed by map values';
- doc.errors.push(new PlainValueEc8e588e.YAMLSemanticError(item, msg));
+ doc.errors.push(new PlainValue$4.YAMLSemanticError(item, msg));
break next;
}
}
if (item.valueRangeContainsNewline) {
const msg = 'Implicit map keys need to be on a single line';
- doc.errors.push(new PlainValueEc8e588e.YAMLSemanticError(item, msg));
+ doc.errors.push(new PlainValue$4.YAMLSemanticError(item, msg));
}
}
}
const msg = `Flow map contains an unexpected ${char}`;
- const err = new PlainValueEc8e588e.YAMLSyntaxError(cst, msg);
+ const err = new PlainValue$4.YAMLSyntaxError(cst, msg);
err.offset = offset;
doc.errors.push(err);
- } else if (item.type === PlainValueEc8e588e.Type.BLANK_LINE) {
+ } else if (item.type === PlainValue$4.Type.BLANK_LINE) {
comments.push({
afterKey: !!key,
before: items.length
});
- } else if (item.type === PlainValueEc8e588e.Type.COMMENT) {
+ } else if (item.type === PlainValue$4.Type.COMMENT) {
checkFlowCommentSpace(doc.errors, item);
comments.push({
afterKey: !!key,
comment: item.comment
});
} else if (key === undefined) {
- if (next === ',') doc.errors.push(new PlainValueEc8e588e.YAMLSemanticError(item, 'Separator , missing in flow map'));
+ if (next === ',') doc.errors.push(new PlainValue$4.YAMLSemanticError(item, 'Separator , missing in flow map'));
key = resolveNode(doc, item);
} else {
- if (next !== ',') doc.errors.push(new PlainValueEc8e588e.YAMLSemanticError(item, 'Indicator : missing in flow map entry'));
+ if (next !== ',') doc.errors.push(new PlainValue$4.YAMLSemanticError(item, 'Indicator : missing in flow map entry'));
items.push(new Pair(key, resolveNode(doc, item)));
key = undefined;
explicitKey = false;
};
}
-function resolveSeq(doc, cst) {
- if (cst.type !== PlainValueEc8e588e.Type.SEQ && cst.type !== PlainValueEc8e588e.Type.FLOW_SEQ) {
+function resolveSeq$3(doc, cst) {
+ if (cst.type !== PlainValue$4.Type.SEQ && cst.type !== PlainValue$4.Type.FLOW_SEQ) {
const msg = `A ${cst.type} node cannot be resolved as a sequence`;
- doc.errors.push(new PlainValueEc8e588e.YAMLSyntaxError(cst, msg));
+ doc.errors.push(new PlainValue$4.YAMLSyntaxError(cst, msg));
return null;
}
const {
comments,
items
- } = cst.type === PlainValueEc8e588e.Type.FLOW_SEQ ? resolveFlowSeqItems(doc, cst) : resolveBlockSeqItems(doc, cst);
+ } = cst.type === PlainValue$4.Type.FLOW_SEQ ? resolveFlowSeqItems(doc, cst) : resolveBlockSeqItems(doc, cst);
const seq = new YAMLSeq();
seq.items = items;
resolveComments(seq, comments);
- if (!doc.options.mapAsMap && items.some(it => it instanceof Pair && it.key instanceof Collection$1)) {
+ if (!doc.options.mapAsMap && items.some(it => it instanceof Pair && it.key instanceof Collection)) {
const warn = 'Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this.';
- doc.warnings.push(new PlainValueEc8e588e.YAMLWarning(cst, warn));
+ doc.warnings.push(new PlainValue$4.YAMLWarning(cst, warn));
}
cst.resolved = seq;
const item = cst.items[i];
switch (item.type) {
- case PlainValueEc8e588e.Type.BLANK_LINE:
+ case PlainValue$4.Type.BLANK_LINE:
comments.push({
before: items.length
});
break;
- case PlainValueEc8e588e.Type.COMMENT:
+ case PlainValue$4.Type.COMMENT:
comments.push({
comment: item.comment,
before: items.length
});
break;
- case PlainValueEc8e588e.Type.SEQ_ITEM:
+ case PlainValue$4.Type.SEQ_ITEM:
if (item.error) doc.errors.push(item.error);
items.push(resolveNode(doc, item.node));
if (item.hasProps) {
const msg = 'Sequence items cannot have tags or anchors before the - indicator';
- doc.errors.push(new PlainValueEc8e588e.YAMLSemanticError(item, msg));
+ doc.errors.push(new PlainValue$4.YAMLSemanticError(item, msg));
}
break;
default:
if (item.error) doc.errors.push(item.error);
- doc.errors.push(new PlainValueEc8e588e.YAMLSyntaxError(item, `Unexpected ${item.type} node in sequence`));
+ doc.errors.push(new PlainValue$4.YAMLSyntaxError(item, `Unexpected ${item.type} node in sequence`));
}
}
if (key instanceof Pair) {
const msg = 'Chaining flow sequence pairs is invalid';
- const err = new PlainValueEc8e588e.YAMLSemanticError(cst, msg);
+ const err = new PlainValue$4.YAMLSemanticError(cst, msg);
err.offset = offset;
doc.errors.push(err);
}
for (let i = keyStart; i < keyEnd; ++i) if (src[i] === '\n') {
const msg = 'Implicit keys of flow sequence pairs need to be on a single line';
- doc.errors.push(new PlainValueEc8e588e.YAMLSemanticError(prevItem, msg));
+ doc.errors.push(new PlainValue$4.YAMLSemanticError(prevItem, msg));
break;
}
}
next = null;
} else if (next === '[' || char !== ']' || i < cst.items.length - 1) {
const msg = `Flow sequence contains an unexpected ${char}`;
- const err = new PlainValueEc8e588e.YAMLSyntaxError(cst, msg);
+ const err = new PlainValue$4.YAMLSyntaxError(cst, msg);
err.offset = offset;
doc.errors.push(err);
}
- } else if (item.type === PlainValueEc8e588e.Type.BLANK_LINE) {
+ } else if (item.type === PlainValue$4.Type.BLANK_LINE) {
comments.push({
before: items.length
});
- } else if (item.type === PlainValueEc8e588e.Type.COMMENT) {
+ } else if (item.type === PlainValue$4.Type.COMMENT) {
checkFlowCommentSpace(doc.errors, item);
comments.push({
comment: item.comment,
} else {
if (next) {
const msg = `Expected a ${next} in flow sequence`;
- doc.errors.push(new PlainValueEc8e588e.YAMLSemanticError(item, msg));
+ doc.errors.push(new PlainValue$4.YAMLSemanticError(item, msg));
}
const value = resolveNode(doc, item);
};
}
-var Alias_1 = Alias$1;
-var Collection_1 = Collection$1;
-var Merge_1 = Merge;
-var Node_1$1 = Node$1;
-var Pair_1 = Pair;
-var Scalar_1 = Scalar;
-var YAMLMap_1 = YAMLMap;
-var YAMLSeq_1 = YAMLSeq;
-var addComment_1 = addComment;
-var binaryOptions_1 = binaryOptions;
-var boolOptions_1 = boolOptions;
-var findPair_1 = findPair;
-var intOptions_1 = intOptions;
-var isEmptyPath_1 = isEmptyPath;
-var nullOptions_1 = nullOptions;
-var resolveMap_1 = resolveMap;
-var resolveNode_1 = resolveNode;
-var resolveSeq_1 = resolveSeq;
-var resolveString_1 = resolveString;
-var strOptions_1 = strOptions;
-var stringifyNumber_1 = stringifyNumber;
-var stringifyString_1 = stringifyString;
-var toJSON_1 = toJSON;
-var resolveSeq4a68b39b = {
- Alias: Alias_1,
- Collection: Collection_1,
- Merge: Merge_1,
- Node: Node_1$1,
- Pair: Pair_1,
- Scalar: Scalar_1,
- YAMLMap: YAMLMap_1,
- YAMLSeq: YAMLSeq_1,
- addComment: addComment_1,
- binaryOptions: binaryOptions_1,
- boolOptions: boolOptions_1,
- findPair: findPair_1,
- intOptions: intOptions_1,
- isEmptyPath: isEmptyPath_1,
- nullOptions: nullOptions_1,
- resolveMap: resolveMap_1,
- resolveNode: resolveNode_1,
- resolveSeq: resolveSeq_1,
- resolveString: resolveString_1,
- strOptions: strOptions_1,
- stringifyNumber: stringifyNumber_1,
- stringifyString: stringifyString_1,
- toJSON: toJSON_1
+resolveSeqD03cb037.Alias = Alias;
+resolveSeqD03cb037.Collection = Collection;
+resolveSeqD03cb037.Merge = Merge;
+resolveSeqD03cb037.Node = Node;
+resolveSeqD03cb037.Pair = Pair;
+resolveSeqD03cb037.Scalar = Scalar;
+resolveSeqD03cb037.YAMLMap = YAMLMap;
+resolveSeqD03cb037.YAMLSeq = YAMLSeq;
+resolveSeqD03cb037.addComment = addComment;
+resolveSeqD03cb037.binaryOptions = binaryOptions;
+resolveSeqD03cb037.boolOptions = boolOptions;
+resolveSeqD03cb037.findPair = findPair;
+resolveSeqD03cb037.intOptions = intOptions;
+resolveSeqD03cb037.isEmptyPath = isEmptyPath;
+resolveSeqD03cb037.nullOptions = nullOptions;
+resolveSeqD03cb037.resolveMap = resolveMap;
+resolveSeqD03cb037.resolveNode = resolveNode;
+resolveSeqD03cb037.resolveSeq = resolveSeq$3;
+resolveSeqD03cb037.resolveString = resolveString;
+resolveSeqD03cb037.strOptions = strOptions;
+resolveSeqD03cb037.stringifyNumber = stringifyNumber;
+resolveSeqD03cb037.stringifyString = stringifyString;
+resolveSeqD03cb037.toJSON = toJSON;
+
+var check = function (it) {
+ return it && it.Math == Math && it;
};
-/* global atob, btoa, Buffer */
+// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
+var global$m =
+ // eslint-disable-next-line es/no-global-this -- safe
+ check(typeof globalThis == 'object' && globalThis) ||
+ check(typeof window == 'object' && window) ||
+ // eslint-disable-next-line no-restricted-globals -- safe
+ check(typeof self == 'object' && self) ||
+ check(typeof global$m == 'object' && global$m) ||
+ // eslint-disable-next-line no-new-func -- fallback
+ (function () { return this; })() || Function('return this')();
+var objectGetOwnPropertyDescriptor = {};
-const binary = {
- identify: value => value instanceof Uint8Array,
- // Buffer inherits from Uint8Array
- default: false,
- tag: 'tag:yaml.org,2002:binary',
+var fails$7 = function (exec) {
+ try {
+ return !!exec();
+ } catch (error) {
+ return true;
+ }
+};
- /**
- * Returns a Buffer in node and an Uint8Array in browsers
- *
- * To use the resulting buffer as an image, you'll want to do something like:
- *
- * const blob = new Blob([buffer], { type: 'image/jpeg' })
- * document.querySelector('#photo').src = URL.createObjectURL(blob)
- */
- resolve: (doc, node) => {
- const src = resolveSeq4a68b39b.resolveString(doc, node);
+var fails$6 = fails$7;
- if (typeof Buffer === 'function') {
- return Buffer.from(src, 'base64');
- } else if (typeof atob === 'function') {
- // On IE 11, atob() can't handle newlines
- const str = atob(src.replace(/[\n\r]/g, ''));
- const buffer = new Uint8Array(str.length);
+// Detect IE8's incomplete defineProperty implementation
+var descriptors = !fails$6(function () {
+ // eslint-disable-next-line es/no-object-defineproperty -- required for testing
+ return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;
+});
- for (let i = 0; i < str.length; ++i) buffer[i] = str.charCodeAt(i);
+var call$4 = Function.prototype.call;
- return buffer;
- } else {
- const msg = 'This environment does not support reading binary tags; either Buffer or atob is required';
- doc.errors.push(new PlainValueEc8e588e.YAMLReferenceError(node, msg));
- return null;
- }
- },
- options: resolveSeq4a68b39b.binaryOptions,
- stringify: ({
- comment,
- type,
- value
- }, ctx, onComment, onChompKeep) => {
- let src;
+var functionCall = call$4.bind ? call$4.bind(call$4) : function () {
+ return call$4.apply(call$4, arguments);
+};
- if (typeof Buffer === 'function') {
- src = value instanceof Buffer ? value.toString('base64') : Buffer.from(value.buffer).toString('base64');
- } else if (typeof btoa === 'function') {
- let s = '';
+var objectPropertyIsEnumerable = {};
- for (let i = 0; i < value.length; ++i) s += String.fromCharCode(value[i]);
+var $propertyIsEnumerable = {}.propertyIsEnumerable;
+// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
+var getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor;
- src = btoa(s);
- } else {
- throw new Error('This environment does not support writing binary tags; either Buffer or btoa is required');
- }
+// Nashorn ~ JDK8 bug
+var NASHORN_BUG = getOwnPropertyDescriptor$1 && !$propertyIsEnumerable.call({ 1: 2 }, 1);
- if (!type) type = resolveSeq4a68b39b.binaryOptions.defaultType;
+// `Object.prototype.propertyIsEnumerable` method implementation
+// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable
+objectPropertyIsEnumerable.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
+ var descriptor = getOwnPropertyDescriptor$1(this, V);
+ return !!descriptor && descriptor.enumerable;
+} : $propertyIsEnumerable;
- if (type === PlainValueEc8e588e.Type.QUOTE_DOUBLE) {
- value = src;
- } else {
- const {
- lineWidth
- } = resolveSeq4a68b39b.binaryOptions;
- const n = Math.ceil(src.length / lineWidth);
- const lines = new Array(n);
+var createPropertyDescriptor$2 = function (bitmap, value) {
+ return {
+ enumerable: !(bitmap & 1),
+ configurable: !(bitmap & 2),
+ writable: !(bitmap & 4),
+ value: value
+ };
+};
- for (let i = 0, o = 0; i < n; ++i, o += lineWidth) {
- lines[i] = src.substr(o, lineWidth);
- }
+var FunctionPrototype$1 = Function.prototype;
+var bind = FunctionPrototype$1.bind;
+var call$3 = FunctionPrototype$1.call;
+var callBind = bind && bind.bind(call$3);
- value = lines.join(type === PlainValueEc8e588e.Type.BLOCK_LITERAL ? '\n' : ' ');
- }
+var functionUncurryThis = bind ? function (fn) {
+ return fn && callBind(call$3, fn);
+} : function (fn) {
+ return fn && function () {
+ return call$3.apply(fn, arguments);
+ };
+};
- return resolveSeq4a68b39b.stringifyString({
- comment,
- type,
- value
- }, ctx, onComment, onChompKeep);
- }
+var uncurryThis$a = functionUncurryThis;
+
+var toString$3 = uncurryThis$a({}.toString);
+var stringSlice = uncurryThis$a(''.slice);
+
+var classofRaw$1 = function (it) {
+ return stringSlice(toString$3(it), 8, -1);
};
-function parsePairs(doc, cst) {
- const seq = resolveSeq4a68b39b.resolveSeq(doc, cst);
+var global$l = global$m;
+var uncurryThis$9 = functionUncurryThis;
+var fails$5 = fails$7;
+var classof$2 = classofRaw$1;
- for (let i = 0; i < seq.items.length; ++i) {
- let item = seq.items[i];
- if (item instanceof resolveSeq4a68b39b.Pair) continue;else if (item instanceof resolveSeq4a68b39b.YAMLMap) {
- if (item.items.length > 1) {
- const msg = 'Each pair must have its own sequence indicator';
- throw new PlainValueEc8e588e.YAMLSemanticError(cst, msg);
- }
+var Object$4 = global$l.Object;
+var split = uncurryThis$9(''.split);
- const pair = item.items[0] || new resolveSeq4a68b39b.Pair();
- if (item.commentBefore) pair.commentBefore = pair.commentBefore ? `${item.commentBefore}\n${pair.commentBefore}` : item.commentBefore;
- if (item.comment) pair.comment = pair.comment ? `${item.comment}\n${pair.comment}` : item.comment;
- item = pair;
- }
- seq.items[i] = item instanceof resolveSeq4a68b39b.Pair ? item : new resolveSeq4a68b39b.Pair(item);
- }
+// fallback for non-array-like ES3 and non-enumerable old V8 strings
+var indexedObject = fails$5(function () {
+ // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
+ // eslint-disable-next-line no-prototype-builtins -- safe
+ return !Object$4('z').propertyIsEnumerable(0);
+}) ? function (it) {
+ return classof$2(it) == 'String' ? split(it, '') : Object$4(it);
+} : Object$4;
- return seq;
-}
+var global$k = global$m;
-function createPairs(schema, iterable, ctx) {
- const pairs = new resolveSeq4a68b39b.YAMLSeq(schema);
- pairs.tag = 'tag:yaml.org,2002:pairs';
+var TypeError$7 = global$k.TypeError;
- for (const it of iterable) {
- let key, value;
+// `RequireObjectCoercible` abstract operation
+// https://tc39.es/ecma262/#sec-requireobjectcoercible
+var requireObjectCoercible$2 = function (it) {
+ if (it == undefined) throw TypeError$7("Can't call method on " + it);
+ return it;
+};
- if (Array.isArray(it)) {
- if (it.length === 2) {
- key = it[0];
- value = it[1];
- } else throw new TypeError(`Expected [key, value] tuple: ${it}`);
- } else if (it && it instanceof Object) {
- const keys = Object.keys(it);
+// toObject with fallback for non-array-like ES3 strings
+var IndexedObject = indexedObject;
+var requireObjectCoercible$1 = requireObjectCoercible$2;
- if (keys.length === 1) {
- key = keys[0];
- value = it[key];
- } else throw new TypeError(`Expected { key: value } tuple: ${it}`);
- } else {
- key = it;
- }
+var toIndexedObject$3 = function (it) {
+ return IndexedObject(requireObjectCoercible$1(it));
+};
- const pair = schema.createPair(key, value, ctx);
- pairs.items.push(pair);
- }
+// `IsCallable` abstract operation
+// https://tc39.es/ecma262/#sec-iscallable
+var isCallable$a = function (argument) {
+ return typeof argument == 'function';
+};
- return pairs;
-}
+var isCallable$9 = isCallable$a;
-const pairs = {
- default: false,
- tag: 'tag:yaml.org,2002:pairs',
- resolve: parsePairs,
- createNode: createPairs
+var isObject$5 = function (it) {
+ return typeof it == 'object' ? it !== null : isCallable$9(it);
};
-class YAMLOMap extends resolveSeq4a68b39b.YAMLSeq {
- constructor() {
- super();
+var global$j = global$m;
+var isCallable$8 = isCallable$a;
+
+var aFunction = function (argument) {
+ return isCallable$8(argument) ? argument : undefined;
+};
- PlainValueEc8e588e._defineProperty(this, "add", resolveSeq4a68b39b.YAMLMap.prototype.add.bind(this));
+var getBuiltIn$3 = function (namespace, method) {
+ return arguments.length < 2 ? aFunction(global$j[namespace]) : global$j[namespace] && global$j[namespace][method];
+};
- PlainValueEc8e588e._defineProperty(this, "delete", resolveSeq4a68b39b.YAMLMap.prototype.delete.bind(this));
+var uncurryThis$8 = functionUncurryThis;
- PlainValueEc8e588e._defineProperty(this, "get", resolveSeq4a68b39b.YAMLMap.prototype.get.bind(this));
+var objectIsPrototypeOf = uncurryThis$8({}.isPrototypeOf);
- PlainValueEc8e588e._defineProperty(this, "has", resolveSeq4a68b39b.YAMLMap.prototype.has.bind(this));
+var getBuiltIn$2 = getBuiltIn$3;
- PlainValueEc8e588e._defineProperty(this, "set", resolveSeq4a68b39b.YAMLMap.prototype.set.bind(this));
+var engineUserAgent = getBuiltIn$2('navigator', 'userAgent') || '';
- this.tag = YAMLOMap.tag;
+var global$i = global$m;
+var userAgent$2 = engineUserAgent;
+
+var process$1 = global$i.process;
+var Deno = global$i.Deno;
+var versions = process$1 && process$1.versions || Deno && Deno.version;
+var v8 = versions && versions.v8;
+var match, version;
+
+if (v8) {
+ match = v8.split('.');
+ // in old Chrome, versions of V8 isn't V8 = Chrome / 10
+ // but their correct versions are not interesting for us
+ version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);
+}
+
+// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`
+// so check `userAgent` even if `.v8` exists, but 0
+if (!version && userAgent$2) {
+ match = userAgent$2.match(/Edge\/(\d+)/);
+ if (!match || match[1] >= 74) {
+ match = userAgent$2.match(/Chrome\/(\d+)/);
+ if (match) version = +match[1];
}
+}
- toJSON(_, ctx) {
- const map = new Map();
- if (ctx && ctx.onCreate) ctx.onCreate(map);
+var engineV8Version = version;
- for (const pair of this.items) {
- let key, value;
+/* eslint-disable es/no-symbol -- required for testing */
- if (pair instanceof resolveSeq4a68b39b.Pair) {
- key = resolveSeq4a68b39b.toJSON(pair.key, '', ctx);
- value = resolveSeq4a68b39b.toJSON(pair.value, key, ctx);
- } else {
- key = resolveSeq4a68b39b.toJSON(pair, '', ctx);
- }
+var V8_VERSION = engineV8Version;
+var fails$4 = fails$7;
- if (map.has(key)) throw new Error('Ordered maps must not include duplicate keys');
- map.set(key, value);
- }
+// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing
+var nativeSymbol = !!Object.getOwnPropertySymbols && !fails$4(function () {
+ var symbol = Symbol();
+ // Chrome 38 Symbol has incorrect toString conversion
+ // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances
+ return !String(symbol) || !(Object(symbol) instanceof Symbol) ||
+ // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances
+ !Symbol.sham && V8_VERSION && V8_VERSION < 41;
+});
- return map;
- }
+/* eslint-disable es/no-symbol -- required for testing */
-}
+var NATIVE_SYMBOL$1 = nativeSymbol;
-PlainValueEc8e588e._defineProperty(YAMLOMap, "tag", 'tag:yaml.org,2002:omap');
+var useSymbolAsUid = NATIVE_SYMBOL$1
+ && !Symbol.sham
+ && typeof Symbol.iterator == 'symbol';
-function parseOMap(doc, cst) {
- const pairs = parsePairs(doc, cst);
- const seenKeys = [];
+var global$h = global$m;
+var getBuiltIn$1 = getBuiltIn$3;
+var isCallable$7 = isCallable$a;
+var isPrototypeOf = objectIsPrototypeOf;
+var USE_SYMBOL_AS_UID$1 = useSymbolAsUid;
- for (const {
- key
- } of pairs.items) {
- if (key instanceof resolveSeq4a68b39b.Scalar) {
- if (seenKeys.includes(key.value)) {
- const msg = 'Ordered maps must not include duplicate keys';
- throw new PlainValueEc8e588e.YAMLSemanticError(cst, msg);
- } else {
- seenKeys.push(key.value);
- }
- }
+var Object$3 = global$h.Object;
+
+var isSymbol$2 = USE_SYMBOL_AS_UID$1 ? function (it) {
+ return typeof it == 'symbol';
+} : function (it) {
+ var $Symbol = getBuiltIn$1('Symbol');
+ return isCallable$7($Symbol) && isPrototypeOf($Symbol.prototype, Object$3(it));
+};
+
+var global$g = global$m;
+
+var String$3 = global$g.String;
+
+var tryToString$1 = function (argument) {
+ try {
+ return String$3(argument);
+ } catch (error) {
+ return 'Object';
}
+};
- return Object.assign(new YAMLOMap(), pairs);
-}
+var global$f = global$m;
+var isCallable$6 = isCallable$a;
+var tryToString = tryToString$1;
-function createOMap(schema, iterable, ctx) {
- const pairs = createPairs(schema, iterable, ctx);
- const omap = new YAMLOMap();
- omap.items = pairs.items;
- return omap;
-}
+var TypeError$6 = global$f.TypeError;
-const omap = {
- identify: value => value instanceof Map,
- nodeClass: YAMLOMap,
- default: false,
- tag: 'tag:yaml.org,2002:omap',
- resolve: parseOMap,
- createNode: createOMap
+// `Assert: IsCallable(argument) is true`
+var aCallable$2 = function (argument) {
+ if (isCallable$6(argument)) return argument;
+ throw TypeError$6(tryToString(argument) + ' is not a function');
};
-class YAMLSet extends resolveSeq4a68b39b.YAMLMap {
- constructor() {
- super();
- this.tag = YAMLSet.tag;
- }
+var aCallable$1 = aCallable$2;
- add(key) {
- const pair = key instanceof resolveSeq4a68b39b.Pair ? key : new resolveSeq4a68b39b.Pair(key);
- const prev = resolveSeq4a68b39b.findPair(this.items, pair.key);
- if (!prev) this.items.push(pair);
- }
+// `GetMethod` abstract operation
+// https://tc39.es/ecma262/#sec-getmethod
+var getMethod$1 = function (V, P) {
+ var func = V[P];
+ return func == null ? undefined : aCallable$1(func);
+};
- get(key, keepPair) {
- const pair = resolveSeq4a68b39b.findPair(this.items, key);
- return !keepPair && pair instanceof resolveSeq4a68b39b.Pair ? pair.key instanceof resolveSeq4a68b39b.Scalar ? pair.key.value : pair.key : pair;
- }
+var global$e = global$m;
+var call$2 = functionCall;
+var isCallable$5 = isCallable$a;
+var isObject$4 = isObject$5;
+
+var TypeError$5 = global$e.TypeError;
+
+// `OrdinaryToPrimitive` abstract operation
+// https://tc39.es/ecma262/#sec-ordinarytoprimitive
+var ordinaryToPrimitive$1 = function (input, pref) {
+ var fn, val;
+ if (pref === 'string' && isCallable$5(fn = input.toString) && !isObject$4(val = call$2(fn, input))) return val;
+ if (isCallable$5(fn = input.valueOf) && !isObject$4(val = call$2(fn, input))) return val;
+ if (pref !== 'string' && isCallable$5(fn = input.toString) && !isObject$4(val = call$2(fn, input))) return val;
+ throw TypeError$5("Can't convert object to primitive value");
+};
- set(key, value) {
- if (typeof value !== 'boolean') throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof value}`);
- const prev = resolveSeq4a68b39b.findPair(this.items, key);
+var shared$3 = {exports: {}};
- if (prev && !value) {
- this.items.splice(this.items.indexOf(prev), 1);
- } else if (!prev && value) {
- this.items.push(new resolveSeq4a68b39b.Pair(key));
- }
- }
+var global$d = global$m;
- toJSON(_, ctx) {
- return super.toJSON(_, ctx, Set);
- }
+// eslint-disable-next-line es/no-object-defineproperty -- safe
+var defineProperty = Object.defineProperty;
- toString(ctx, onComment, onChompKeep) {
- if (!ctx) return JSON.stringify(this);
- if (this.hasAllNullValues()) return super.toString(ctx, onComment, onChompKeep);else throw new Error('Set items must all have null values');
- }
+var setGlobal$3 = function (key, value) {
+ try {
+ defineProperty(global$d, key, { value: value, configurable: true, writable: true });
+ } catch (error) {
+ global$d[key] = value;
+ } return value;
+};
-}
+var global$c = global$m;
+var setGlobal$2 = setGlobal$3;
-PlainValueEc8e588e._defineProperty(YAMLSet, "tag", 'tag:yaml.org,2002:set');
+var SHARED = '__core-js_shared__';
+var store$3 = global$c[SHARED] || setGlobal$2(SHARED, {});
-function parseSet(doc, cst) {
- const map = resolveSeq4a68b39b.resolveMap(doc, cst);
- if (!map.hasAllNullValues()) throw new PlainValueEc8e588e.YAMLSemanticError(cst, 'Set items must all have null values');
- return Object.assign(new YAMLSet(), map);
-}
+var sharedStore = store$3;
-function createSet(schema, iterable, ctx) {
- const set = new YAMLSet();
+var store$2 = sharedStore;
- for (const value of iterable) set.items.push(schema.createPair(value, null, ctx));
+(shared$3.exports = function (key, value) {
+ return store$2[key] || (store$2[key] = value !== undefined ? value : {});
+})('versions', []).push({
+ version: '3.19.1',
+ mode: 'global',
+ copyright: '© 2021 Denis Pushkarev (zloirock.ru)'
+});
- return set;
-}
+var global$b = global$m;
+var requireObjectCoercible = requireObjectCoercible$2;
-const set = {
- identify: value => value instanceof Set,
- nodeClass: YAMLSet,
- default: false,
- tag: 'tag:yaml.org,2002:set',
- resolve: parseSet,
- createNode: createSet
+var Object$2 = global$b.Object;
+
+// `ToObject` abstract operation
+// https://tc39.es/ecma262/#sec-toobject
+var toObject$2 = function (argument) {
+ return Object$2(requireObjectCoercible(argument));
};
-const parseSexagesimal = (sign, parts) => {
- const n = parts.split(':').reduce((n, p) => n * 60 + Number(p), 0);
- return sign === '-' ? -n : n;
-}; // hhhh:mm:ss.sss
+var uncurryThis$7 = functionUncurryThis;
+var toObject$1 = toObject$2;
+var hasOwnProperty = uncurryThis$7({}.hasOwnProperty);
-const stringifySexagesimal = ({
- value
-}) => {
- if (isNaN(value) || !isFinite(value)) return resolveSeq4a68b39b.stringifyNumber(value);
- let sign = '';
+// `HasOwnProperty` abstract operation
+// https://tc39.es/ecma262/#sec-hasownproperty
+var hasOwnProperty_1 = Object.hasOwn || function hasOwn(it, key) {
+ return hasOwnProperty(toObject$1(it), key);
+};
- if (value < 0) {
- sign = '-';
- value = Math.abs(value);
- }
+var uncurryThis$6 = functionUncurryThis;
- const parts = [value % 60]; // seconds, including ms
+var id = 0;
+var postfix = Math.random();
+var toString$2 = uncurryThis$6(1.0.toString);
- if (value < 60) {
- parts.unshift(0); // at least one : is required
- } else {
- value = Math.round((value - parts[0]) / 60);
- parts.unshift(value % 60); // minutes
+var uid$2 = function (key) {
+ return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString$2(++id + postfix, 36);
+};
- if (value >= 60) {
- value = Math.round((value - parts[0]) / 60);
- parts.unshift(value); // hours
+var global$a = global$m;
+var shared$2 = shared$3.exports;
+var hasOwn$6 = hasOwnProperty_1;
+var uid$1 = uid$2;
+var NATIVE_SYMBOL = nativeSymbol;
+var USE_SYMBOL_AS_UID = useSymbolAsUid;
+
+var WellKnownSymbolsStore = shared$2('wks');
+var Symbol$1 = global$a.Symbol;
+var symbolFor = Symbol$1 && Symbol$1['for'];
+var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid$1;
+
+var wellKnownSymbol$3 = function (name) {
+ if (!hasOwn$6(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {
+ var description = 'Symbol.' + name;
+ if (NATIVE_SYMBOL && hasOwn$6(Symbol$1, name)) {
+ WellKnownSymbolsStore[name] = Symbol$1[name];
+ } else if (USE_SYMBOL_AS_UID && symbolFor) {
+ WellKnownSymbolsStore[name] = symbolFor(description);
+ } else {
+ WellKnownSymbolsStore[name] = createWellKnownSymbol(description);
}
- }
+ } return WellKnownSymbolsStore[name];
+};
+
+var global$9 = global$m;
+var call$1 = functionCall;
+var isObject$3 = isObject$5;
+var isSymbol$1 = isSymbol$2;
+var getMethod = getMethod$1;
+var ordinaryToPrimitive = ordinaryToPrimitive$1;
+var wellKnownSymbol$2 = wellKnownSymbol$3;
+
+var TypeError$4 = global$9.TypeError;
+var TO_PRIMITIVE = wellKnownSymbol$2('toPrimitive');
+
+// `ToPrimitive` abstract operation
+// https://tc39.es/ecma262/#sec-toprimitive
+var toPrimitive$1 = function (input, pref) {
+ if (!isObject$3(input) || isSymbol$1(input)) return input;
+ var exoticToPrim = getMethod(input, TO_PRIMITIVE);
+ var result;
+ if (exoticToPrim) {
+ if (pref === undefined) pref = 'default';
+ result = call$1(exoticToPrim, input, pref);
+ if (!isObject$3(result) || isSymbol$1(result)) return result;
+ throw TypeError$4("Can't convert object to primitive value");
+ }
+ if (pref === undefined) pref = 'number';
+ return ordinaryToPrimitive(input, pref);
+};
+
+var toPrimitive = toPrimitive$1;
+var isSymbol = isSymbol$2;
+
+// `ToPropertyKey` abstract operation
+// https://tc39.es/ecma262/#sec-topropertykey
+var toPropertyKey$2 = function (argument) {
+ var key = toPrimitive(argument, 'string');
+ return isSymbol(key) ? key : key + '';
+};
+
+var global$8 = global$m;
+var isObject$2 = isObject$5;
+
+var document = global$8.document;
+// typeof document.createElement is 'object' in old IE
+var EXISTS$1 = isObject$2(document) && isObject$2(document.createElement);
+
+var documentCreateElement = function (it) {
+ return EXISTS$1 ? document.createElement(it) : {};
+};
+
+var DESCRIPTORS$4 = descriptors;
+var fails$3 = fails$7;
+var createElement = documentCreateElement;
+
+// Thank's IE8 for his funny defineProperty
+var ie8DomDefine = !DESCRIPTORS$4 && !fails$3(function () {
+ // eslint-disable-next-line es/no-object-defineproperty -- requied for testing
+ return Object.defineProperty(createElement('div'), 'a', {
+ get: function () { return 7; }
+ }).a != 7;
+});
+
+var DESCRIPTORS$3 = descriptors;
+var call = functionCall;
+var propertyIsEnumerableModule = objectPropertyIsEnumerable;
+var createPropertyDescriptor$1 = createPropertyDescriptor$2;
+var toIndexedObject$2 = toIndexedObject$3;
+var toPropertyKey$1 = toPropertyKey$2;
+var hasOwn$5 = hasOwnProperty_1;
+var IE8_DOM_DEFINE$1 = ie8DomDefine;
+
+// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
+var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
+
+// `Object.getOwnPropertyDescriptor` method
+// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
+objectGetOwnPropertyDescriptor.f = DESCRIPTORS$3 ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
+ O = toIndexedObject$2(O);
+ P = toPropertyKey$1(P);
+ if (IE8_DOM_DEFINE$1) try {
+ return $getOwnPropertyDescriptor(O, P);
+ } catch (error) { /* empty */ }
+ if (hasOwn$5(O, P)) return createPropertyDescriptor$1(!call(propertyIsEnumerableModule.f, O, P), O[P]);
+};
+
+var objectDefineProperty = {};
+
+var global$7 = global$m;
+var isObject$1 = isObject$5;
+
+var String$2 = global$7.String;
+var TypeError$3 = global$7.TypeError;
+
+// `Assert: Type(argument) is Object`
+var anObject$2 = function (argument) {
+ if (isObject$1(argument)) return argument;
+ throw TypeError$3(String$2(argument) + ' is not an object');
+};
+
+var global$6 = global$m;
+var DESCRIPTORS$2 = descriptors;
+var IE8_DOM_DEFINE = ie8DomDefine;
+var anObject$1 = anObject$2;
+var toPropertyKey = toPropertyKey$2;
+
+var TypeError$2 = global$6.TypeError;
+// eslint-disable-next-line es/no-object-defineproperty -- safe
+var $defineProperty = Object.defineProperty;
+
+// `Object.defineProperty` method
+// https://tc39.es/ecma262/#sec-object.defineproperty
+objectDefineProperty.f = DESCRIPTORS$2 ? $defineProperty : function defineProperty(O, P, Attributes) {
+ anObject$1(O);
+ P = toPropertyKey(P);
+ anObject$1(Attributes);
+ if (IE8_DOM_DEFINE) try {
+ return $defineProperty(O, P, Attributes);
+ } catch (error) { /* empty */ }
+ if ('get' in Attributes || 'set' in Attributes) throw TypeError$2('Accessors not supported');
+ if ('value' in Attributes) O[P] = Attributes.value;
+ return O;
+};
+
+var DESCRIPTORS$1 = descriptors;
+var definePropertyModule$1 = objectDefineProperty;
+var createPropertyDescriptor = createPropertyDescriptor$2;
+
+var createNonEnumerableProperty$3 = DESCRIPTORS$1 ? function (object, key, value) {
+ return definePropertyModule$1.f(object, key, createPropertyDescriptor(1, value));
+} : function (object, key, value) {
+ object[key] = value;
+ return object;
+};
+
+var redefine$1 = {exports: {}};
+
+var uncurryThis$5 = functionUncurryThis;
+var isCallable$4 = isCallable$a;
+var store$1 = sharedStore;
+
+var functionToString = uncurryThis$5(Function.toString);
+
+// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper
+if (!isCallable$4(store$1.inspectSource)) {
+ store$1.inspectSource = function (it) {
+ return functionToString(it);
+ };
+}
+
+var inspectSource$2 = store$1.inspectSource;
+
+var global$5 = global$m;
+var isCallable$3 = isCallable$a;
+var inspectSource$1 = inspectSource$2;
+
+var WeakMap$1 = global$5.WeakMap;
+
+var nativeWeakMap = isCallable$3(WeakMap$1) && /native code/.test(inspectSource$1(WeakMap$1));
+
+var shared$1 = shared$3.exports;
+var uid = uid$2;
+
+var keys = shared$1('keys');
+
+var sharedKey$1 = function (key) {
+ return keys[key] || (keys[key] = uid(key));
+};
+
+var hiddenKeys$3 = {};
+
+var NATIVE_WEAK_MAP = nativeWeakMap;
+var global$4 = global$m;
+var uncurryThis$4 = functionUncurryThis;
+var isObject = isObject$5;
+var createNonEnumerableProperty$2 = createNonEnumerableProperty$3;
+var hasOwn$4 = hasOwnProperty_1;
+var shared = sharedStore;
+var sharedKey = sharedKey$1;
+var hiddenKeys$2 = hiddenKeys$3;
+
+var OBJECT_ALREADY_INITIALIZED = 'Object already initialized';
+var TypeError$1 = global$4.TypeError;
+var WeakMap = global$4.WeakMap;
+var set$1, get, has;
+
+var enforce = function (it) {
+ return has(it) ? get(it) : set$1(it, {});
+};
+
+var getterFor = function (TYPE) {
+ return function (it) {
+ var state;
+ if (!isObject(it) || (state = get(it)).type !== TYPE) {
+ throw TypeError$1('Incompatible receiver, ' + TYPE + ' required');
+ } return state;
+ };
+};
+
+if (NATIVE_WEAK_MAP || shared.state) {
+ var store = shared.state || (shared.state = new WeakMap());
+ var wmget = uncurryThis$4(store.get);
+ var wmhas = uncurryThis$4(store.has);
+ var wmset = uncurryThis$4(store.set);
+ set$1 = function (it, metadata) {
+ if (wmhas(store, it)) throw new TypeError$1(OBJECT_ALREADY_INITIALIZED);
+ metadata.facade = it;
+ wmset(store, it, metadata);
+ return metadata;
+ };
+ get = function (it) {
+ return wmget(store, it) || {};
+ };
+ has = function (it) {
+ return wmhas(store, it);
+ };
+} else {
+ var STATE = sharedKey('state');
+ hiddenKeys$2[STATE] = true;
+ set$1 = function (it, metadata) {
+ if (hasOwn$4(it, STATE)) throw new TypeError$1(OBJECT_ALREADY_INITIALIZED);
+ metadata.facade = it;
+ createNonEnumerableProperty$2(it, STATE, metadata);
+ return metadata;
+ };
+ get = function (it) {
+ return hasOwn$4(it, STATE) ? it[STATE] : {};
+ };
+ has = function (it) {
+ return hasOwn$4(it, STATE);
+ };
+}
+
+var internalState = {
+ set: set$1,
+ get: get,
+ has: has,
+ enforce: enforce,
+ getterFor: getterFor
+};
+
+var DESCRIPTORS = descriptors;
+var hasOwn$3 = hasOwnProperty_1;
+
+var FunctionPrototype = Function.prototype;
+// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
+var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;
+
+var EXISTS = hasOwn$3(FunctionPrototype, 'name');
+// additional protection from minified / mangled / dropped function names
+var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';
+var CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));
+
+var functionName = {
+ EXISTS: EXISTS,
+ PROPER: PROPER,
+ CONFIGURABLE: CONFIGURABLE
+};
+
+var global$3 = global$m;
+var isCallable$2 = isCallable$a;
+var hasOwn$2 = hasOwnProperty_1;
+var createNonEnumerableProperty$1 = createNonEnumerableProperty$3;
+var setGlobal$1 = setGlobal$3;
+var inspectSource = inspectSource$2;
+var InternalStateModule = internalState;
+var CONFIGURABLE_FUNCTION_NAME = functionName.CONFIGURABLE;
+
+var getInternalState = InternalStateModule.get;
+var enforceInternalState = InternalStateModule.enforce;
+var TEMPLATE = String(String).split('String');
+
+(redefine$1.exports = function (O, key, value, options) {
+ var unsafe = options ? !!options.unsafe : false;
+ var simple = options ? !!options.enumerable : false;
+ var noTargetGet = options ? !!options.noTargetGet : false;
+ var name = options && options.name !== undefined ? options.name : key;
+ var state;
+ if (isCallable$2(value)) {
+ if (String(name).slice(0, 7) === 'Symbol(') {
+ name = '[' + String(name).replace(/^Symbol\(([^)]*)\)/, '$1') + ']';
+ }
+ if (!hasOwn$2(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {
+ createNonEnumerableProperty$1(value, 'name', name);
+ }
+ state = enforceInternalState(value);
+ if (!state.source) {
+ state.source = TEMPLATE.join(typeof name == 'string' ? name : '');
+ }
+ }
+ if (O === global$3) {
+ if (simple) O[key] = value;
+ else setGlobal$1(key, value);
+ return;
+ } else if (!unsafe) {
+ delete O[key];
+ } else if (!noTargetGet && O[key]) {
+ simple = true;
+ }
+ if (simple) O[key] = value;
+ else createNonEnumerableProperty$1(O, key, value);
+// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
+})(Function.prototype, 'toString', function toString() {
+ return isCallable$2(this) && getInternalState(this).source || inspectSource(this);
+});
+
+var objectGetOwnPropertyNames = {};
+
+var ceil = Math.ceil;
+var floor$1 = Math.floor;
+
+// `ToIntegerOrInfinity` abstract operation
+// https://tc39.es/ecma262/#sec-tointegerorinfinity
+var toIntegerOrInfinity$2 = function (argument) {
+ var number = +argument;
+ // eslint-disable-next-line no-self-compare -- safe
+ return number !== number || number === 0 ? 0 : (number > 0 ? floor$1 : ceil)(number);
+};
+
+var toIntegerOrInfinity$1 = toIntegerOrInfinity$2;
+
+var max = Math.max;
+var min$1 = Math.min;
+
+// Helper for a popular repeating case of the spec:
+// Let integer be ? ToInteger(index).
+// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
+var toAbsoluteIndex$1 = function (index, length) {
+ var integer = toIntegerOrInfinity$1(index);
+ return integer < 0 ? max(integer + length, 0) : min$1(integer, length);
+};
+
+var toIntegerOrInfinity = toIntegerOrInfinity$2;
+
+var min = Math.min;
+
+// `ToLength` abstract operation
+// https://tc39.es/ecma262/#sec-tolength
+var toLength$1 = function (argument) {
+ return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
+};
+
+var toLength = toLength$1;
+
+// `LengthOfArrayLike` abstract operation
+// https://tc39.es/ecma262/#sec-lengthofarraylike
+var lengthOfArrayLike$2 = function (obj) {
+ return toLength(obj.length);
+};
+
+var toIndexedObject$1 = toIndexedObject$3;
+var toAbsoluteIndex = toAbsoluteIndex$1;
+var lengthOfArrayLike$1 = lengthOfArrayLike$2;
+
+// `Array.prototype.{ indexOf, includes }` methods implementation
+var createMethod = function (IS_INCLUDES) {
+ return function ($this, el, fromIndex) {
+ var O = toIndexedObject$1($this);
+ var length = lengthOfArrayLike$1(O);
+ var index = toAbsoluteIndex(fromIndex, length);
+ var value;
+ // Array#includes uses SameValueZero equality algorithm
+ // eslint-disable-next-line no-self-compare -- NaN check
+ if (IS_INCLUDES && el != el) while (length > index) {
+ value = O[index++];
+ // eslint-disable-next-line no-self-compare -- NaN check
+ if (value != value) return true;
+ // Array#indexOf ignores holes, Array#includes - not
+ } else for (;length > index; index++) {
+ if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
+ } return !IS_INCLUDES && -1;
+ };
+};
+
+var arrayIncludes = {
+ // `Array.prototype.includes` method
+ // https://tc39.es/ecma262/#sec-array.prototype.includes
+ includes: createMethod(true),
+ // `Array.prototype.indexOf` method
+ // https://tc39.es/ecma262/#sec-array.prototype.indexof
+ indexOf: createMethod(false)
+};
+
+var uncurryThis$3 = functionUncurryThis;
+var hasOwn$1 = hasOwnProperty_1;
+var toIndexedObject = toIndexedObject$3;
+var indexOf = arrayIncludes.indexOf;
+var hiddenKeys$1 = hiddenKeys$3;
+
+var push$1 = uncurryThis$3([].push);
+
+var objectKeysInternal = function (object, names) {
+ var O = toIndexedObject(object);
+ var i = 0;
+ var result = [];
+ var key;
+ for (key in O) !hasOwn$1(hiddenKeys$1, key) && hasOwn$1(O, key) && push$1(result, key);
+ // Don't enum bug & hidden keys
+ while (names.length > i) if (hasOwn$1(O, key = names[i++])) {
+ ~indexOf(result, key) || push$1(result, key);
+ }
+ return result;
+};
+
+// IE8- don't enum bug keys
+var enumBugKeys$1 = [
+ 'constructor',
+ 'hasOwnProperty',
+ 'isPrototypeOf',
+ 'propertyIsEnumerable',
+ 'toLocaleString',
+ 'toString',
+ 'valueOf'
+];
+
+var internalObjectKeys = objectKeysInternal;
+var enumBugKeys = enumBugKeys$1;
+
+var hiddenKeys = enumBugKeys.concat('length', 'prototype');
+
+// `Object.getOwnPropertyNames` method
+// https://tc39.es/ecma262/#sec-object.getownpropertynames
+// eslint-disable-next-line es/no-object-getownpropertynames -- safe
+objectGetOwnPropertyNames.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
+ return internalObjectKeys(O, hiddenKeys);
+};
+
+var objectGetOwnPropertySymbols = {};
+
+// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe
+objectGetOwnPropertySymbols.f = Object.getOwnPropertySymbols;
+
+var getBuiltIn = getBuiltIn$3;
+var uncurryThis$2 = functionUncurryThis;
+var getOwnPropertyNamesModule = objectGetOwnPropertyNames;
+var getOwnPropertySymbolsModule = objectGetOwnPropertySymbols;
+var anObject = anObject$2;
+
+var concat = uncurryThis$2([].concat);
+
+// all object keys, includes non-enumerable and symbols
+var ownKeys$1 = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
+ var keys = getOwnPropertyNamesModule.f(anObject(it));
+ var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
+ return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;
+};
+
+var hasOwn = hasOwnProperty_1;
+var ownKeys = ownKeys$1;
+var getOwnPropertyDescriptorModule = objectGetOwnPropertyDescriptor;
+var definePropertyModule = objectDefineProperty;
+
+var copyConstructorProperties$1 = function (target, source) {
+ var keys = ownKeys(source);
+ var defineProperty = definePropertyModule.f;
+ var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
+ for (var i = 0; i < keys.length; i++) {
+ var key = keys[i];
+ if (!hasOwn(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));
+ }
+};
+
+var fails$2 = fails$7;
+var isCallable$1 = isCallable$a;
+
+var replacement = /#|\.prototype\./;
+
+var isForced$1 = function (feature, detection) {
+ var value = data[normalize(feature)];
+ return value == POLYFILL ? true
+ : value == NATIVE ? false
+ : isCallable$1(detection) ? fails$2(detection)
+ : !!detection;
+};
+
+var normalize = isForced$1.normalize = function (string) {
+ return String(string).replace(replacement, '.').toLowerCase();
+};
+
+var data = isForced$1.data = {};
+var NATIVE = isForced$1.NATIVE = 'N';
+var POLYFILL = isForced$1.POLYFILL = 'P';
+
+var isForced_1 = isForced$1;
+
+var global$2 = global$m;
+var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
+var createNonEnumerableProperty = createNonEnumerableProperty$3;
+var redefine = redefine$1.exports;
+var setGlobal = setGlobal$3;
+var copyConstructorProperties = copyConstructorProperties$1;
+var isForced = isForced_1;
+
+/*
+ options.target - name of the target object
+ options.global - target is the global object
+ options.stat - export as static methods of target
+ options.proto - export as prototype methods of target
+ options.real - real prototype method for the `pure` version
+ options.forced - export even if the native feature is available
+ options.bind - bind methods to the target, required for the `pure` version
+ options.wrap - wrap constructors to preventing global pollution, required for the `pure` version
+ options.unsafe - use the simple assignment of property instead of delete + defineProperty
+ options.sham - add a flag to not completely full polyfills
+ options.enumerable - export as enumerable property
+ options.noTargetGet - prevent calling a getter on target
+ options.name - the .name of the function if it does not match the key
+*/
+var _export = function (options, source) {
+ var TARGET = options.target;
+ var GLOBAL = options.global;
+ var STATIC = options.stat;
+ var FORCED, target, key, targetProperty, sourceProperty, descriptor;
+ if (GLOBAL) {
+ target = global$2;
+ } else if (STATIC) {
+ target = global$2[TARGET] || setGlobal(TARGET, {});
+ } else {
+ target = (global$2[TARGET] || {}).prototype;
+ }
+ if (target) for (key in source) {
+ sourceProperty = source[key];
+ if (options.noTargetGet) {
+ descriptor = getOwnPropertyDescriptor(target, key);
+ targetProperty = descriptor && descriptor.value;
+ } else targetProperty = target[key];
+ FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
+ // contained in target
+ if (!FORCED && targetProperty !== undefined) {
+ if (typeof sourceProperty == typeof targetProperty) continue;
+ copyConstructorProperties(sourceProperty, targetProperty);
+ }
+ // add a flag to not completely full polyfills
+ if (options.sham || (targetProperty && targetProperty.sham)) {
+ createNonEnumerableProperty(sourceProperty, 'sham', true);
+ }
+ // extend global
+ redefine(target, key, sourceProperty, options);
+ }
+};
+
+var wellKnownSymbol$1 = wellKnownSymbol$3;
+
+var TO_STRING_TAG$1 = wellKnownSymbol$1('toStringTag');
+var test$1 = {};
+
+test$1[TO_STRING_TAG$1] = 'z';
+
+var toStringTagSupport = String(test$1) === '[object z]';
+
+var global$1 = global$m;
+var TO_STRING_TAG_SUPPORT = toStringTagSupport;
+var isCallable = isCallable$a;
+var classofRaw = classofRaw$1;
+var wellKnownSymbol = wellKnownSymbol$3;
+
+var TO_STRING_TAG = wellKnownSymbol('toStringTag');
+var Object$1 = global$1.Object;
+
+// ES3 wrong here
+var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';
+
+// fallback for IE11 Script Access Denied error
+var tryGet = function (it, key) {
+ try {
+ return it[key];
+ } catch (error) { /* empty */ }
+};
+
+// getting tag from ES6+ `Object.prototype.toString`
+var classof$1 = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
+ var O, tag, result;
+ return it === undefined ? 'Undefined' : it === null ? 'Null'
+ // @@toStringTag case
+ : typeof (tag = tryGet(O = Object$1(it), TO_STRING_TAG)) == 'string' ? tag
+ // builtinTag case
+ : CORRECT_ARGUMENTS ? classofRaw(O)
+ // ES3 arguments fallback
+ : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;
+};
+
+var global = global$m;
+var classof = classof$1;
+
+var String$1 = global.String;
+
+var toString$1 = function (argument) {
+ if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');
+ return String$1(argument);
+};
+
+var uncurryThis$1 = functionUncurryThis;
+
+var arraySlice$1 = uncurryThis$1([].slice);
+
+var arraySlice = arraySlice$1;
+
+var floor = Math.floor;
+
+var mergeSort = function (array, comparefn) {
+ var length = array.length;
+ var middle = floor(length / 2);
+ return length < 8 ? insertionSort(array, comparefn) : merge(
+ array,
+ mergeSort(arraySlice(array, 0, middle), comparefn),
+ mergeSort(arraySlice(array, middle), comparefn),
+ comparefn
+ );
+};
+
+var insertionSort = function (array, comparefn) {
+ var length = array.length;
+ var i = 1;
+ var element, j;
+
+ while (i < length) {
+ j = i;
+ element = array[i];
+ while (j && comparefn(array[j - 1], element) > 0) {
+ array[j] = array[--j];
+ }
+ if (j !== i++) array[j] = element;
+ } return array;
+};
+
+var merge = function (array, left, right, comparefn) {
+ var llength = left.length;
+ var rlength = right.length;
+ var lindex = 0;
+ var rindex = 0;
+
+ while (lindex < llength || rindex < rlength) {
+ array[lindex + rindex] = (lindex < llength && rindex < rlength)
+ ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]
+ : lindex < llength ? left[lindex++] : right[rindex++];
+ } return array;
+};
+
+var arraySort = mergeSort;
+
+var fails$1 = fails$7;
+
+var arrayMethodIsStrict$1 = function (METHOD_NAME, argument) {
+ var method = [][METHOD_NAME];
+ return !!method && fails$1(function () {
+ // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing
+ method.call(null, argument || function () { throw 1; }, 1);
+ });
+};
+
+var userAgent$1 = engineUserAgent;
+
+var firefox = userAgent$1.match(/firefox\/(\d+)/i);
+
+var engineFfVersion = !!firefox && +firefox[1];
+
+var UA = engineUserAgent;
+
+var engineIsIeOrEdge = /MSIE|Trident/.test(UA);
+
+var userAgent = engineUserAgent;
+
+var webkit = userAgent.match(/AppleWebKit\/(\d+)\./);
+
+var engineWebkitVersion = !!webkit && +webkit[1];
+
+var $ = _export;
+var uncurryThis = functionUncurryThis;
+var aCallable = aCallable$2;
+var toObject = toObject$2;
+var lengthOfArrayLike = lengthOfArrayLike$2;
+var toString = toString$1;
+var fails = fails$7;
+var internalSort = arraySort;
+var arrayMethodIsStrict = arrayMethodIsStrict$1;
+var FF = engineFfVersion;
+var IE_OR_EDGE = engineIsIeOrEdge;
+var V8 = engineV8Version;
+var WEBKIT = engineWebkitVersion;
+
+var test = [];
+var un$Sort = uncurryThis(test.sort);
+var push = uncurryThis(test.push);
+
+// IE8-
+var FAILS_ON_UNDEFINED = fails(function () {
+ test.sort(undefined);
+});
+// V8 bug
+var FAILS_ON_NULL = fails(function () {
+ test.sort(null);
+});
+// Old WebKit
+var STRICT_METHOD = arrayMethodIsStrict('sort');
+
+var STABLE_SORT = !fails(function () {
+ // feature detection can be too slow, so check engines versions
+ if (V8) return V8 < 70;
+ if (FF && FF > 3) return;
+ if (IE_OR_EDGE) return true;
+ if (WEBKIT) return WEBKIT < 603;
+
+ var result = '';
+ var code, chr, value, index;
+
+ // generate an array with more 512 elements (Chakra and old V8 fails only in this case)
+ for (code = 65; code < 76; code++) {
+ chr = String.fromCharCode(code);
+
+ switch (code) {
+ case 66: case 69: case 70: case 72: value = 3; break;
+ case 68: case 71: value = 4; break;
+ default: value = 2;
+ }
+
+ for (index = 0; index < 47; index++) {
+ test.push({ k: chr + index, v: value });
+ }
+ }
+
+ test.sort(function (a, b) { return b.v - a.v; });
+
+ for (index = 0; index < test.length; index++) {
+ chr = test[index].k.charAt(0);
+ if (result.charAt(result.length - 1) !== chr) result += chr;
+ }
+
+ return result !== 'DGBEFHACIJK';
+});
+
+var FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;
+
+var getSortCompare = function (comparefn) {
+ return function (x, y) {
+ if (y === undefined) return -1;
+ if (x === undefined) return 1;
+ if (comparefn !== undefined) return +comparefn(x, y) || 0;
+ return toString(x) > toString(y) ? 1 : -1;
+ };
+};
+
+// `Array.prototype.sort` method
+// https://tc39.es/ecma262/#sec-array.prototype.sort
+$({ target: 'Array', proto: true, forced: FORCED }, {
+ sort: function sort(comparefn) {
+ if (comparefn !== undefined) aCallable(comparefn);
+
+ var array = toObject(this);
+
+ if (STABLE_SORT) return comparefn === undefined ? un$Sort(array) : un$Sort(array, comparefn);
+
+ var items = [];
+ var arrayLength = lengthOfArrayLike(array);
+ var itemsLength, index;
+
+ for (index = 0; index < arrayLength; index++) {
+ if (index in array) push(items, array[index]);
+ }
+
+ internalSort(items, getSortCompare(comparefn));
+
+ itemsLength = items.length;
+ index = 0;
+
+ while (index < itemsLength) array[index] = items[index++];
+ while (index < arrayLength) delete array[index++];
+
+ return array;
+ }
+});
+
+var Schema88e323a7 = {};
+
+var warnings1000a372 = {};
+
+var PlainValue$3 = PlainValueEc8e588e;
+var resolveSeq$2 = resolveSeqD03cb037;
+/* global atob, btoa, Buffer */
+
+const binary = {
+ identify: value => value instanceof Uint8Array,
+ // Buffer inherits from Uint8Array
+ default: false,
+ tag: 'tag:yaml.org,2002:binary',
+
+ /**
+ * Returns a Buffer in node and an Uint8Array in browsers
+ *
+ * To use the resulting buffer as an image, you'll want to do something like:
+ *
+ * const blob = new Blob([buffer], { type: 'image/jpeg' })
+ * document.querySelector('#photo').src = URL.createObjectURL(blob)
+ */
+ resolve: (doc, node) => {
+ const src = resolveSeq$2.resolveString(doc, node);
+
+ if (typeof Buffer === 'function') {
+ return Buffer.from(src, 'base64');
+ } else if (typeof atob === 'function') {
+ // On IE 11, atob() can't handle newlines
+ const str = atob(src.replace(/[\n\r]/g, ''));
+ const buffer = new Uint8Array(str.length);
+
+ for (let i = 0; i < str.length; ++i) buffer[i] = str.charCodeAt(i);
+
+ return buffer;
+ } else {
+ const msg = 'This environment does not support reading binary tags; either Buffer or atob is required';
+ doc.errors.push(new PlainValue$3.YAMLReferenceError(node, msg));
+ return null;
+ }
+ },
+ options: resolveSeq$2.binaryOptions,
+ stringify: ({
+ comment,
+ type,
+ value
+ }, ctx, onComment, onChompKeep) => {
+ let src;
+
+ if (typeof Buffer === 'function') {
+ src = value instanceof Buffer ? value.toString('base64') : Buffer.from(value.buffer).toString('base64');
+ } else if (typeof btoa === 'function') {
+ let s = '';
+
+ for (let i = 0; i < value.length; ++i) s += String.fromCharCode(value[i]);
+
+ src = btoa(s);
+ } else {
+ throw new Error('This environment does not support writing binary tags; either Buffer or btoa is required');
+ }
+
+ if (!type) type = resolveSeq$2.binaryOptions.defaultType;
+
+ if (type === PlainValue$3.Type.QUOTE_DOUBLE) {
+ value = src;
+ } else {
+ const {
+ lineWidth
+ } = resolveSeq$2.binaryOptions;
+ const n = Math.ceil(src.length / lineWidth);
+ const lines = new Array(n);
+
+ for (let i = 0, o = 0; i < n; ++i, o += lineWidth) {
+ lines[i] = src.substr(o, lineWidth);
+ }
+
+ value = lines.join(type === PlainValue$3.Type.BLOCK_LITERAL ? '\n' : ' ');
+ }
+
+ return resolveSeq$2.stringifyString({
+ comment,
+ type,
+ value
+ }, ctx, onComment, onChompKeep);
+ }
+};
+
+function parsePairs(doc, cst) {
+ const seq = resolveSeq$2.resolveSeq(doc, cst);
+
+ for (let i = 0; i < seq.items.length; ++i) {
+ let item = seq.items[i];
+ if (item instanceof resolveSeq$2.Pair) continue;else if (item instanceof resolveSeq$2.YAMLMap) {
+ if (item.items.length > 1) {
+ const msg = 'Each pair must have its own sequence indicator';
+ throw new PlainValue$3.YAMLSemanticError(cst, msg);
+ }
+
+ const pair = item.items[0] || new resolveSeq$2.Pair();
+ if (item.commentBefore) pair.commentBefore = pair.commentBefore ? `${item.commentBefore}\n${pair.commentBefore}` : item.commentBefore;
+ if (item.comment) pair.comment = pair.comment ? `${item.comment}\n${pair.comment}` : item.comment;
+ item = pair;
+ }
+ seq.items[i] = item instanceof resolveSeq$2.Pair ? item : new resolveSeq$2.Pair(item);
+ }
+
+ return seq;
+}
+
+function createPairs(schema, iterable, ctx) {
+ const pairs = new resolveSeq$2.YAMLSeq(schema);
+ pairs.tag = 'tag:yaml.org,2002:pairs';
+
+ for (const it of iterable) {
+ let key, value;
+
+ if (Array.isArray(it)) {
+ if (it.length === 2) {
+ key = it[0];
+ value = it[1];
+ } else throw new TypeError(`Expected [key, value] tuple: ${it}`);
+ } else if (it && it instanceof Object) {
+ const keys = Object.keys(it);
+
+ if (keys.length === 1) {
+ key = keys[0];
+ value = it[key];
+ } else throw new TypeError(`Expected { key: value } tuple: ${it}`);
+ } else {
+ key = it;
+ }
+
+ const pair = schema.createPair(key, value, ctx);
+ pairs.items.push(pair);
+ }
+
+ return pairs;
+}
+
+const pairs = {
+ default: false,
+ tag: 'tag:yaml.org,2002:pairs',
+ resolve: parsePairs,
+ createNode: createPairs
+};
+
+class YAMLOMap extends resolveSeq$2.YAMLSeq {
+ constructor() {
+ super();
+
+ PlainValue$3._defineProperty(this, "add", resolveSeq$2.YAMLMap.prototype.add.bind(this));
+
+ PlainValue$3._defineProperty(this, "delete", resolveSeq$2.YAMLMap.prototype.delete.bind(this));
+
+ PlainValue$3._defineProperty(this, "get", resolveSeq$2.YAMLMap.prototype.get.bind(this));
+
+ PlainValue$3._defineProperty(this, "has", resolveSeq$2.YAMLMap.prototype.has.bind(this));
+
+ PlainValue$3._defineProperty(this, "set", resolveSeq$2.YAMLMap.prototype.set.bind(this));
+
+ this.tag = YAMLOMap.tag;
+ }
+
+ toJSON(_, ctx) {
+ const map = new Map();
+ if (ctx && ctx.onCreate) ctx.onCreate(map);
+
+ for (const pair of this.items) {
+ let key, value;
+
+ if (pair instanceof resolveSeq$2.Pair) {
+ key = resolveSeq$2.toJSON(pair.key, '', ctx);
+ value = resolveSeq$2.toJSON(pair.value, key, ctx);
+ } else {
+ key = resolveSeq$2.toJSON(pair, '', ctx);
+ }
+
+ if (map.has(key)) throw new Error('Ordered maps must not include duplicate keys');
+ map.set(key, value);
+ }
+
+ return map;
+ }
+
+}
+
+PlainValue$3._defineProperty(YAMLOMap, "tag", 'tag:yaml.org,2002:omap');
+
+function parseOMap(doc, cst) {
+ const pairs = parsePairs(doc, cst);
+ const seenKeys = [];
+
+ for (const {
+ key
+ } of pairs.items) {
+ if (key instanceof resolveSeq$2.Scalar) {
+ if (seenKeys.includes(key.value)) {
+ const msg = 'Ordered maps must not include duplicate keys';
+ throw new PlainValue$3.YAMLSemanticError(cst, msg);
+ } else {
+ seenKeys.push(key.value);
+ }
+ }
+ }
+
+ return Object.assign(new YAMLOMap(), pairs);
+}
+
+function createOMap(schema, iterable, ctx) {
+ const pairs = createPairs(schema, iterable, ctx);
+ const omap = new YAMLOMap();
+ omap.items = pairs.items;
+ return omap;
+}
+
+const omap = {
+ identify: value => value instanceof Map,
+ nodeClass: YAMLOMap,
+ default: false,
+ tag: 'tag:yaml.org,2002:omap',
+ resolve: parseOMap,
+ createNode: createOMap
+};
+
+class YAMLSet extends resolveSeq$2.YAMLMap {
+ constructor() {
+ super();
+ this.tag = YAMLSet.tag;
+ }
+
+ add(key) {
+ const pair = key instanceof resolveSeq$2.Pair ? key : new resolveSeq$2.Pair(key);
+ const prev = resolveSeq$2.findPair(this.items, pair.key);
+ if (!prev) this.items.push(pair);
+ }
+
+ get(key, keepPair) {
+ const pair = resolveSeq$2.findPair(this.items, key);
+ return !keepPair && pair instanceof resolveSeq$2.Pair ? pair.key instanceof resolveSeq$2.Scalar ? pair.key.value : pair.key : pair;
+ }
+
+ set(key, value) {
+ if (typeof value !== 'boolean') throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof value}`);
+ const prev = resolveSeq$2.findPair(this.items, key);
+
+ if (prev && !value) {
+ this.items.splice(this.items.indexOf(prev), 1);
+ } else if (!prev && value) {
+ this.items.push(new resolveSeq$2.Pair(key));
+ }
+ }
+
+ toJSON(_, ctx) {
+ return super.toJSON(_, ctx, Set);
+ }
+
+ toString(ctx, onComment, onChompKeep) {
+ if (!ctx) return JSON.stringify(this);
+ if (this.hasAllNullValues()) return super.toString(ctx, onComment, onChompKeep);else throw new Error('Set items must all have null values');
+ }
+
+}
+
+PlainValue$3._defineProperty(YAMLSet, "tag", 'tag:yaml.org,2002:set');
+
+function parseSet(doc, cst) {
+ const map = resolveSeq$2.resolveMap(doc, cst);
+ if (!map.hasAllNullValues()) throw new PlainValue$3.YAMLSemanticError(cst, 'Set items must all have null values');
+ return Object.assign(new YAMLSet(), map);
+}
+
+function createSet(schema, iterable, ctx) {
+ const set = new YAMLSet();
+
+ for (const value of iterable) set.items.push(schema.createPair(value, null, ctx));
+
+ return set;
+}
+
+const set = {
+ identify: value => value instanceof Set,
+ nodeClass: YAMLSet,
+ default: false,
+ tag: 'tag:yaml.org,2002:set',
+ resolve: parseSet,
+ createNode: createSet
+};
+
+const parseSexagesimal = (sign, parts) => {
+ const n = parts.split(':').reduce((n, p) => n * 60 + Number(p), 0);
+ return sign === '-' ? -n : n;
+}; // hhhh:mm:ss.sss
+
+
+const stringifySexagesimal = ({
+ value
+}) => {
+ if (isNaN(value) || !isFinite(value)) return resolveSeq$2.stringifyNumber(value);
+ let sign = '';
+
+ if (value < 0) {
+ sign = '-';
+ value = Math.abs(value);
+ }
+
+ const parts = [value % 60]; // seconds, including ms
+
+ if (value < 60) {
+ parts.unshift(0); // at least one : is required
+ } else {
+ value = Math.round((value - parts[0]) / 60);
+ parts.unshift(value % 60); // minutes
+
+ if (value >= 60) {
+ value = Math.round((value - parts[0]) / 60);
+ parts.unshift(value); // hours
+ }
+ }
return sign + parts.map(n => n < 10 ? '0' + String(n) : String(n)).join(':').replace(/000000\d*$/, '') // % 60 may introduce error
;
}
}
-var binary_1 = binary;
-var floatTime_1 = floatTime;
-var intTime_1 = intTime;
-var omap_1 = omap;
-var pairs_1 = pairs;
-var set_1 = set;
-var timestamp_1 = timestamp;
-var warn_1 = warn;
-var warnFileDeprecation_1 = warnFileDeprecation;
-var warnOptionDeprecation_1 = warnOptionDeprecation;
-var warnings39684f17 = {
- binary: binary_1,
- floatTime: floatTime_1,
- intTime: intTime_1,
- omap: omap_1,
- pairs: pairs_1,
- set: set_1,
- timestamp: timestamp_1,
- warn: warn_1,
- warnFileDeprecation: warnFileDeprecation_1,
- warnOptionDeprecation: warnOptionDeprecation_1
-};
+warnings1000a372.binary = binary;
+warnings1000a372.floatTime = floatTime;
+warnings1000a372.intTime = intTime;
+warnings1000a372.omap = omap;
+warnings1000a372.pairs = pairs;
+warnings1000a372.set = set;
+warnings1000a372.timestamp = timestamp;
+warnings1000a372.warn = warn;
+warnings1000a372.warnFileDeprecation = warnFileDeprecation;
+warnings1000a372.warnOptionDeprecation = warnOptionDeprecation;
+
+var PlainValue$2 = PlainValueEc8e588e;
+var resolveSeq$1 = resolveSeqD03cb037;
+var warnings$1 = warnings1000a372;
function createMap(schema, obj, ctx) {
- const map = new resolveSeq4a68b39b.YAMLMap(schema);
+ const map = new resolveSeq$1.YAMLMap(schema);
if (obj instanceof Map) {
for (const [key, value] of obj) map.items.push(schema.createPair(key, value, ctx));
const map = {
createNode: createMap,
default: true,
- nodeClass: resolveSeq4a68b39b.YAMLMap,
+ nodeClass: resolveSeq$1.YAMLMap,
tag: 'tag:yaml.org,2002:map',
- resolve: resolveSeq4a68b39b.resolveMap
+ resolve: resolveSeq$1.resolveMap
};
function createSeq(schema, obj, ctx) {
- const seq = new resolveSeq4a68b39b.YAMLSeq(schema);
+ const seq = new resolveSeq$1.YAMLSeq(schema);
if (obj && obj[Symbol.iterator]) {
for (const it of obj) {
const seq = {
createNode: createSeq,
default: true,
- nodeClass: resolveSeq4a68b39b.YAMLSeq,
+ nodeClass: resolveSeq$1.YAMLSeq,
tag: 'tag:yaml.org,2002:seq',
- resolve: resolveSeq4a68b39b.resolveSeq
+ resolve: resolveSeq$1.resolveSeq
};
const string = {
identify: value => typeof value === 'string',
default: true,
tag: 'tag:yaml.org,2002:str',
- resolve: resolveSeq4a68b39b.resolveString,
+ resolve: resolveSeq$1.resolveString,
stringify(item, ctx, onComment, onChompKeep) {
ctx = Object.assign({
actualString: true
}, ctx);
- return resolveSeq4a68b39b.stringifyString(item, ctx, onComment, onChompKeep);
+ return resolveSeq$1.stringifyString(item, ctx, onComment, onChompKeep);
},
- options: resolveSeq4a68b39b.strOptions
+ options: resolveSeq$1.strOptions
};
const failsafe = [map, seq, string];
/* global BigInt */
-const intIdentify = value => typeof value === 'bigint' || Number.isInteger(value);
+const intIdentify$2 = value => typeof value === 'bigint' || Number.isInteger(value);
-const intResolve = (src, part, radix) => resolveSeq4a68b39b.intOptions.asBigInt ? BigInt(src) : parseInt(part, radix);
+const intResolve$1 = (src, part, radix) => resolveSeq$1.intOptions.asBigInt ? BigInt(src) : parseInt(part, radix);
-function intStringify(node, radix, prefix) {
+function intStringify$1(node, radix, prefix) {
const {
value
} = node;
- if (intIdentify(value) && value >= 0) return prefix + value.toString(radix);
- return resolveSeq4a68b39b.stringifyNumber(node);
+ if (intIdentify$2(value) && value >= 0) return prefix + value.toString(radix);
+ return resolveSeq$1.stringifyNumber(node);
}
const nullObj = {
identify: value => value == null,
- createNode: (schema, value, ctx) => ctx.wrapScalars ? new resolveSeq4a68b39b.Scalar(null) : null,
+ createNode: (schema, value, ctx) => ctx.wrapScalars ? new resolveSeq$1.Scalar(null) : null,
default: true,
tag: 'tag:yaml.org,2002:null',
test: /^(?:~|[Nn]ull|NULL)?$/,
resolve: () => null,
- options: resolveSeq4a68b39b.nullOptions,
- stringify: () => resolveSeq4a68b39b.nullOptions.nullStr
+ options: resolveSeq$1.nullOptions,
+ stringify: () => resolveSeq$1.nullOptions.nullStr
};
const boolObj = {
identify: value => typeof value === 'boolean',
tag: 'tag:yaml.org,2002:bool',
test: /^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,
resolve: str => str[0] === 't' || str[0] === 'T',
- options: resolveSeq4a68b39b.boolOptions,
+ options: resolveSeq$1.boolOptions,
stringify: ({
value
- }) => value ? resolveSeq4a68b39b.boolOptions.trueStr : resolveSeq4a68b39b.boolOptions.falseStr
+ }) => value ? resolveSeq$1.boolOptions.trueStr : resolveSeq$1.boolOptions.falseStr
};
const octObj = {
- identify: value => intIdentify(value) && value >= 0,
+ identify: value => intIdentify$2(value) && value >= 0,
default: true,
tag: 'tag:yaml.org,2002:int',
format: 'OCT',
test: /^0o([0-7]+)$/,
- resolve: (str, oct) => intResolve(str, oct, 8),
- options: resolveSeq4a68b39b.intOptions,
- stringify: node => intStringify(node, 8, '0o')
+ resolve: (str, oct) => intResolve$1(str, oct, 8),
+ options: resolveSeq$1.intOptions,
+ stringify: node => intStringify$1(node, 8, '0o')
};
const intObj = {
- identify: intIdentify,
+ identify: intIdentify$2,
default: true,
tag: 'tag:yaml.org,2002:int',
test: /^[-+]?[0-9]+$/,
- resolve: str => intResolve(str, str, 10),
- options: resolveSeq4a68b39b.intOptions,
- stringify: resolveSeq4a68b39b.stringifyNumber
+ resolve: str => intResolve$1(str, str, 10),
+ options: resolveSeq$1.intOptions,
+ stringify: resolveSeq$1.stringifyNumber
};
const hexObj = {
- identify: value => intIdentify(value) && value >= 0,
+ identify: value => intIdentify$2(value) && value >= 0,
default: true,
tag: 'tag:yaml.org,2002:int',
format: 'HEX',
test: /^0x([0-9a-fA-F]+)$/,
- resolve: (str, hex) => intResolve(str, hex, 16),
- options: resolveSeq4a68b39b.intOptions,
- stringify: node => intStringify(node, 16, '0x')
+ resolve: (str, hex) => intResolve$1(str, hex, 16),
+ options: resolveSeq$1.intOptions,
+ stringify: node => intStringify$1(node, 16, '0x')
};
const nanObj = {
identify: value => typeof value === 'number',
tag: 'tag:yaml.org,2002:float',
test: /^(?:[-+]?\.inf|(\.nan))$/i,
resolve: (str, nan) => nan ? NaN : str[0] === '-' ? Number.NEGATIVE_INFINITY : Number.POSITIVE_INFINITY,
- stringify: resolveSeq4a68b39b.stringifyNumber
+ stringify: resolveSeq$1.stringifyNumber
};
const expObj = {
identify: value => typeof value === 'number',
resolve(str, frac1, frac2) {
const frac = frac1 || frac2;
- const node = new resolveSeq4a68b39b.Scalar(parseFloat(str));
+ const node = new resolveSeq$1.Scalar(parseFloat(str));
if (frac && frac[frac.length - 1] === '0') node.minFractionDigits = frac.length;
return node;
},
- stringify: resolveSeq4a68b39b.stringifyNumber
+ stringify: resolveSeq$1.stringifyNumber
};
const core = failsafe.concat([nullObj, boolObj, octObj, intObj, hexObj, nanObj, expObj, floatObj]);
/* global BigInt */
identify: value => typeof value === 'string',
default: true,
tag: 'tag:yaml.org,2002:str',
- resolve: resolveSeq4a68b39b.resolveString,
+ resolve: resolveSeq$1.resolveString,
stringify: stringifyJSON
}, {
identify: value => value == null,
- createNode: (schema, value, ctx) => ctx.wrapScalars ? new resolveSeq4a68b39b.Scalar(null) : null,
+ createNode: (schema, value, ctx) => ctx.wrapScalars ? new resolveSeq$1.Scalar(null) : null,
default: true,
tag: 'tag:yaml.org,2002:null',
test: /^null$/,
default: true,
tag: 'tag:yaml.org,2002:int',
test: /^-?(?:0|[1-9][0-9]*)$/,
- resolve: str => resolveSeq4a68b39b.intOptions.asBigInt ? BigInt(str) : parseInt(str, 10),
+ resolve: str => resolveSeq$1.intOptions.asBigInt ? BigInt(str) : parseInt(str, 10),
stringify: ({
value
}) => intIdentify$1(value) ? value.toString() : JSON.stringify(value)
const boolStringify = ({
value
-}) => value ? resolveSeq4a68b39b.boolOptions.trueStr : resolveSeq4a68b39b.boolOptions.falseStr;
+}) => value ? resolveSeq$1.boolOptions.trueStr : resolveSeq$1.boolOptions.falseStr;
-const intIdentify$2 = value => typeof value === 'bigint' || Number.isInteger(value);
+const intIdentify = value => typeof value === 'bigint' || Number.isInteger(value);
-function intResolve$1(sign, src, radix) {
+function intResolve(sign, src, radix) {
let str = src.replace(/_/g, '');
- if (resolveSeq4a68b39b.intOptions.asBigInt) {
+ if (resolveSeq$1.intOptions.asBigInt) {
switch (radix) {
case 2:
str = `0b${str}`;
return sign === '-' ? -1 * n : n;
}
-function intStringify$1(node, radix, prefix) {
+function intStringify(node, radix, prefix) {
const {
value
} = node;
- if (intIdentify$2(value)) {
+ if (intIdentify(value)) {
const str = value.toString(radix);
return value < 0 ? '-' + prefix + str.substr(1) : prefix + str;
}
- return resolveSeq4a68b39b.stringifyNumber(node);
+ return resolveSeq$1.stringifyNumber(node);
}
const yaml11 = failsafe.concat([{
identify: value => value == null,
- createNode: (schema, value, ctx) => ctx.wrapScalars ? new resolveSeq4a68b39b.Scalar(null) : null,
+ createNode: (schema, value, ctx) => ctx.wrapScalars ? new resolveSeq$1.Scalar(null) : null,
default: true,
tag: 'tag:yaml.org,2002:null',
test: /^(?:~|[Nn]ull|NULL)?$/,
resolve: () => null,
- options: resolveSeq4a68b39b.nullOptions,
- stringify: () => resolveSeq4a68b39b.nullOptions.nullStr
+ options: resolveSeq$1.nullOptions,
+ stringify: () => resolveSeq$1.nullOptions.nullStr
}, {
identify: value => typeof value === 'boolean',
default: true,
tag: 'tag:yaml.org,2002:bool',
test: /^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,
resolve: () => true,
- options: resolveSeq4a68b39b.boolOptions,
+ options: resolveSeq$1.boolOptions,
stringify: boolStringify
}, {
identify: value => typeof value === 'boolean',
tag: 'tag:yaml.org,2002:bool',
test: /^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/i,
resolve: () => false,
- options: resolveSeq4a68b39b.boolOptions,
+ options: resolveSeq$1.boolOptions,
stringify: boolStringify
}, {
- identify: intIdentify$2,
+ identify: intIdentify,
default: true,
tag: 'tag:yaml.org,2002:int',
format: 'BIN',
test: /^([-+]?)0b([0-1_]+)$/,
- resolve: (str, sign, bin) => intResolve$1(sign, bin, 2),
- stringify: node => intStringify$1(node, 2, '0b')
+ resolve: (str, sign, bin) => intResolve(sign, bin, 2),
+ stringify: node => intStringify(node, 2, '0b')
}, {
- identify: intIdentify$2,
+ identify: intIdentify,
default: true,
tag: 'tag:yaml.org,2002:int',
format: 'OCT',
test: /^([-+]?)0([0-7_]+)$/,
- resolve: (str, sign, oct) => intResolve$1(sign, oct, 8),
- stringify: node => intStringify$1(node, 8, '0')
+ resolve: (str, sign, oct) => intResolve(sign, oct, 8),
+ stringify: node => intStringify(node, 8, '0')
}, {
- identify: intIdentify$2,
+ identify: intIdentify,
default: true,
tag: 'tag:yaml.org,2002:int',
test: /^([-+]?)([0-9][0-9_]*)$/,
- resolve: (str, sign, abs) => intResolve$1(sign, abs, 10),
- stringify: resolveSeq4a68b39b.stringifyNumber
+ resolve: (str, sign, abs) => intResolve(sign, abs, 10),
+ stringify: resolveSeq$1.stringifyNumber
}, {
- identify: intIdentify$2,
+ identify: intIdentify,
default: true,
tag: 'tag:yaml.org,2002:int',
format: 'HEX',
test: /^([-+]?)0x([0-9a-fA-F_]+)$/,
- resolve: (str, sign, hex) => intResolve$1(sign, hex, 16),
- stringify: node => intStringify$1(node, 16, '0x')
+ resolve: (str, sign, hex) => intResolve(sign, hex, 16),
+ stringify: node => intStringify(node, 16, '0x')
}, {
identify: value => typeof value === 'number',
default: true,
tag: 'tag:yaml.org,2002:float',
test: /^(?:[-+]?\.inf|(\.nan))$/i,
resolve: (str, nan) => nan ? NaN : str[0] === '-' ? Number.NEGATIVE_INFINITY : Number.POSITIVE_INFINITY,
- stringify: resolveSeq4a68b39b.stringifyNumber
+ stringify: resolveSeq$1.stringifyNumber
}, {
identify: value => typeof value === 'number',
default: true,
test: /^[-+]?(?:[0-9][0-9_]*)?\.([0-9_]*)$/,
resolve(str, frac) {
- const node = new resolveSeq4a68b39b.Scalar(parseFloat(str.replace(/_/g, '')));
+ const node = new resolveSeq$1.Scalar(parseFloat(str.replace(/_/g, '')));
if (frac) {
const f = frac.replace(/_/g, '');
return node;
},
- stringify: resolveSeq4a68b39b.stringifyNumber
-}], warnings39684f17.binary, warnings39684f17.omap, warnings39684f17.pairs, warnings39684f17.set, warnings39684f17.intTime, warnings39684f17.floatTime, warnings39684f17.timestamp);
+ stringify: resolveSeq$1.stringifyNumber
+}], warnings$1.binary, warnings$1.omap, warnings$1.pairs, warnings$1.set, warnings$1.intTime, warnings$1.floatTime, warnings$1.timestamp);
const schemas = {
core,
failsafe,
yaml11
};
const tags = {
- binary: warnings39684f17.binary,
+ binary: warnings$1.binary,
bool: boolObj,
float: floatObj,
floatExp: expObj,
floatNaN: nanObj,
- floatTime: warnings39684f17.floatTime,
+ floatTime: warnings$1.floatTime,
int: intObj,
intHex: hexObj,
intOct: octObj,
- intTime: warnings39684f17.intTime,
+ intTime: warnings$1.intTime,
map,
null: nullObj,
- omap: warnings39684f17.omap,
- pairs: warnings39684f17.pairs,
+ omap: warnings$1.omap,
+ pairs: warnings$1.pairs,
seq,
- set: warnings39684f17.set,
- timestamp: warnings39684f17.timestamp
+ set: warnings$1.set,
+ timestamp: warnings$1.timestamp
};
function findTagObject(value, tagName, tags) {
return tags.find(t => (t.identify && t.identify(value) || t.class && value instanceof t.class) && !t.format);
}
-function createNode(value, tagName, ctx) {
- if (value instanceof resolveSeq4a68b39b.Node) return value;
+function createNode$1(value, tagName, ctx) {
+ if (value instanceof resolveSeq$1.Node) return value;
const {
defaultPrefix,
onTagObj,
if (!tagObj) {
if (typeof value.toJSON === 'function') value = value.toJSON();
- if (typeof value !== 'object') return wrapScalars ? new resolveSeq4a68b39b.Scalar(value) : value;
+ if (!value || typeof value !== 'object') return wrapScalars ? new resolveSeq$1.Scalar(value) : value;
tagObj = value instanceof Map ? map : value[Symbol.iterator] ? seq : map;
}
// after first. The `obj` wrapper allows for circular references to resolve.
- const obj = {};
+ const obj = {
+ value: undefined,
+ node: undefined
+ };
if (value && typeof value === 'object' && prevObjects) {
const prev = prevObjects.get(value);
if (prev) {
- const alias = new resolveSeq4a68b39b.Alias(prev); // leaves source dirty; must be cleaned by caller
+ const alias = new resolveSeq$1.Alias(prev); // leaves source dirty; must be cleaned by caller
ctx.aliasNodes.push(alias); // defined along with prevObjects
prevObjects.set(value, obj);
}
- obj.node = tagObj.createNode ? tagObj.createNode(ctx.schema, value, ctx) : wrapScalars ? new resolveSeq4a68b39b.Scalar(value) : value;
- if (tagName && obj.node instanceof resolveSeq4a68b39b.Node) obj.node.tag = tagName;
+ obj.node = tagObj.createNode ? tagObj.createNode(ctx.schema, value, ctx) : wrapScalars ? new resolveSeq$1.Scalar(value) : value;
+ if (tagName && obj.node instanceof resolveSeq$1.Node) obj.node.tag = tagName;
return obj.node;
}
const sortMapEntriesByKey = (a, b) => a.key < b.key ? -1 : a.key > b.key ? 1 : 0;
-class Schema {
+class Schema$2 {
// TODO: remove in v2
// TODO: remove in v2
constructor({
this.merge = !!merge;
this.name = schema;
this.sortMapEntries = sortMapEntries === true ? sortMapEntriesByKey : sortMapEntries || null;
- if (!customTags && deprecatedCustomTags) warnings39684f17.warnOptionDeprecation('tags', 'customTags');
+ if (!customTags && deprecatedCustomTags) warnings$1.warnOptionDeprecation('tags', 'customTags');
this.tags = getSchemaTags(schemas, tags, customTags || deprecatedCustomTags, schema);
}
createNode(value, wrapScalars, tagName, ctx) {
const baseCtx = {
- defaultPrefix: Schema.defaultPrefix,
+ defaultPrefix: Schema$2.defaultPrefix,
schema: this,
wrapScalars
};
const createCtx = ctx ? Object.assign(ctx, baseCtx) : baseCtx;
- return createNode(value, tagName, createCtx);
+ return createNode$1(value, tagName, createCtx);
}
createPair(key, value, ctx) {
};
const k = this.createNode(key, ctx.wrapScalars, null, ctx);
const v = this.createNode(value, ctx.wrapScalars, null, ctx);
- return new resolveSeq4a68b39b.Pair(k, v);
+ return new resolveSeq$1.Pair(k, v);
}
}
-PlainValueEc8e588e._defineProperty(Schema, "defaultPrefix", PlainValueEc8e588e.defaultTagPrefix);
+PlainValue$2._defineProperty(Schema$2, "defaultPrefix", PlainValue$2.defaultTagPrefix);
-PlainValueEc8e588e._defineProperty(Schema, "defaultTags", PlainValueEc8e588e.defaultTags);
+PlainValue$2._defineProperty(Schema$2, "defaultTags", PlainValue$2.defaultTags);
-var Schema_1 = Schema;
-var Schema42e9705c = {
- Schema: Schema_1
-};
+Schema88e323a7.Schema = Schema$2;
+var PlainValue$1 = PlainValueEc8e588e;
+var resolveSeq = resolveSeqD03cb037;
+var Schema$1 = Schema88e323a7;
const defaultOptions = {
anchorPrefix: 'a',
customTags: null,
};
const scalarOptions = {
get binary() {
- return resolveSeq4a68b39b.binaryOptions;
+ return resolveSeq.binaryOptions;
},
set binary(opt) {
- Object.assign(resolveSeq4a68b39b.binaryOptions, opt);
+ Object.assign(resolveSeq.binaryOptions, opt);
},
get bool() {
- return resolveSeq4a68b39b.boolOptions;
+ return resolveSeq.boolOptions;
},
set bool(opt) {
- Object.assign(resolveSeq4a68b39b.boolOptions, opt);
+ Object.assign(resolveSeq.boolOptions, opt);
},
get int() {
- return resolveSeq4a68b39b.intOptions;
+ return resolveSeq.intOptions;
},
set int(opt) {
- Object.assign(resolveSeq4a68b39b.intOptions, opt);
+ Object.assign(resolveSeq.intOptions, opt);
},
get null() {
- return resolveSeq4a68b39b.nullOptions;
+ return resolveSeq.nullOptions;
},
set null(opt) {
- Object.assign(resolveSeq4a68b39b.nullOptions, opt);
+ Object.assign(resolveSeq.nullOptions, opt);
},
get str() {
- return resolveSeq4a68b39b.strOptions;
+ return resolveSeq.strOptions;
},
set str(opt) {
- Object.assign(resolveSeq4a68b39b.strOptions, opt);
+ Object.assign(resolveSeq.strOptions, opt);
}
};
merge: true,
tagPrefixes: [{
handle: '!',
- prefix: PlainValueEc8e588e.defaultTagPrefix
+ prefix: PlainValue$1.defaultTagPrefix
}, {
handle: '!!',
prefix: 'tag:private.yaml.org,2002:'
}]
},
- '1.1': {
+ 1.1: {
schema: 'yaml-1.1',
merge: true,
tagPrefixes: [{
prefix: '!'
}, {
handle: '!!',
- prefix: PlainValueEc8e588e.defaultTagPrefix
+ prefix: PlainValue$1.defaultTagPrefix
}]
},
- '1.2': {
+ 1.2: {
schema: 'core',
merge: false,
tagPrefixes: [{
prefix: '!'
}, {
handle: '!!',
- prefix: PlainValueEc8e588e.defaultTagPrefix
+ prefix: PlainValue$1.defaultTagPrefix
}]
}
};
}
function getTagObject(tags, item) {
- if (item instanceof resolveSeq4a68b39b.Alias) return resolveSeq4a68b39b.Alias;
+ if (item instanceof resolveSeq.Alias) return resolveSeq.Alias;
if (item.tag) {
const match = tags.filter(t => t.tag === item.tag);
let tagObj, obj;
- if (item instanceof resolveSeq4a68b39b.Scalar) {
+ if (item instanceof resolveSeq.Scalar) {
obj = item.value; // TODO: deprecate/remove class check
const match = tags.filter(t => t.identify && t.identify(obj) || t.class && obj instanceof t.class);
return props.join(' ');
}
-function stringify(item, ctx, onComment, onChompKeep) {
+function stringify$1(item, ctx, onComment, onChompKeep) {
const {
anchors,
schema
} = ctx.doc;
let tagObj;
- if (!(item instanceof resolveSeq4a68b39b.Node)) {
+ if (!(item instanceof resolveSeq.Node)) {
const createCtx = {
aliasNodes: [],
onTagObj: o => tagObj = o,
}
}
- if (item instanceof resolveSeq4a68b39b.Pair) return item.toString(ctx, onComment, onChompKeep);
+ if (item instanceof resolveSeq.Pair) return item.toString(ctx, onComment, onChompKeep);
if (!tagObj) tagObj = getTagObject(schema.tags, item);
const props = stringifyProps(item, tagObj, ctx);
if (props.length > 0) ctx.indentAtStart = (ctx.indentAtStart || 0) + props.length + 1;
- const str = typeof tagObj.stringify === 'function' ? tagObj.stringify(item, ctx, onComment, onChompKeep) : item instanceof resolveSeq4a68b39b.Scalar ? resolveSeq4a68b39b.stringifyString(item, ctx, onComment, onChompKeep) : item.toString(ctx, onComment, onChompKeep);
+ const str = typeof tagObj.stringify === 'function' ? tagObj.stringify(item, ctx, onComment, onChompKeep) : item instanceof resolveSeq.Scalar ? resolveSeq.stringifyString(item, ctx, onComment, onChompKeep) : item.toString(ctx, onComment, onChompKeep);
if (!props) return str;
- return item instanceof resolveSeq4a68b39b.Scalar || str[0] === '{' || str[0] === '[' ? `${props} ${str}` : `${props}\n${ctx.indent}${str}`;
+ return item instanceof resolveSeq.Scalar || str[0] === '{' || str[0] === '[' ? `${props} ${str}` : `${props}\n${ctx.indent}${str}`;
}
class Anchors {
static validAnchorNode(node) {
- return node instanceof resolveSeq4a68b39b.Scalar || node instanceof resolveSeq4a68b39b.YAMLSeq || node instanceof resolveSeq4a68b39b.YAMLMap;
+ return node instanceof resolveSeq.Scalar || node instanceof resolveSeq.YAMLSeq || node instanceof resolveSeq.YAMLMap;
}
constructor(prefix) {
- PlainValueEc8e588e._defineProperty(this, "map", {});
+ PlainValue$1._defineProperty(this, "map", Object.create(null));
this.prefix = prefix;
}
createAlias(node, name) {
this.setAnchor(node, name);
- return new resolveSeq4a68b39b.Alias(node);
+ return new resolveSeq.Alias(node);
}
createMergePair(...sources) {
- const merge = new resolveSeq4a68b39b.Merge();
+ const merge = new resolveSeq.Merge();
merge.value.items = sources.map(s => {
- if (s instanceof resolveSeq4a68b39b.Alias) {
- if (s.source instanceof resolveSeq4a68b39b.YAMLMap) return s;
- } else if (s instanceof resolveSeq4a68b39b.YAMLMap) {
+ if (s instanceof resolveSeq.Alias) {
+ if (s.source instanceof resolveSeq.YAMLMap) return s;
+ } else if (s instanceof resolveSeq.YAMLMap) {
return this.createAlias(s);
}
tag
} = node;
- if (node instanceof resolveSeq4a68b39b.Collection) {
+ if (node instanceof resolveSeq.Collection) {
if (tag) tags[tag] = true;
node.items.forEach(n => visit(n, tags));
- } else if (node instanceof resolveSeq4a68b39b.Pair) {
+ } else if (node instanceof resolveSeq.Pair) {
visit(node.key, tags);
visit(node.value, tags);
- } else if (node instanceof resolveSeq4a68b39b.Scalar) {
+ } else if (node instanceof resolveSeq.Scalar) {
if (tag) tags[tag] = true;
}
}
if (node.valueRange) {
if (body !== undefined) {
const msg = 'Document contains trailing content not separated by a ... or --- line';
- doc.errors.push(new PlainValueEc8e588e.YAMLSyntaxError(node, msg));
+ doc.errors.push(new PlainValue$1.YAMLSyntaxError(node, msg));
break;
}
- const res = resolveSeq4a68b39b.resolveNode(doc, node);
+ const res = resolveSeq.resolveNode(doc, node);
if (spaceBefore) {
res.spaceBefore = true;
} else if (node.comment !== null) {
const cc = body === undefined ? comments.before : comments.after;
cc.push(node.comment);
- } else if (node.type === PlainValueEc8e588e.Type.BLANK_LINE) {
+ } else if (node.type === PlainValue$1.Type.BLANK_LINE) {
spaceBefore = true;
if (body === undefined && comments.before.length > 0 && !doc.commentBefore) {
const cb = comments.before.join('\n');
if (cb) {
- const cbNode = body instanceof resolveSeq4a68b39b.Collection && body.items[0] ? body.items[0] : body;
+ const cbNode = body instanceof resolveSeq.Collection && body.items[0] ? body.items[0] : body;
cbNode.commentBefore = cbNode.commentBefore ? `${cb}\n${cbNode.commentBefore}` : cb;
}
if (!handle || !prefix) {
const msg = 'Insufficient parameters given for %TAG directive';
- throw new PlainValueEc8e588e.YAMLSemanticError(directive, msg);
+ throw new PlainValue$1.YAMLSemanticError(directive, msg);
}
if (tagPrefixes.some(p => p.handle === handle)) {
const msg = 'The %TAG directive must only be given at most once per handle in the same document.';
- throw new PlainValueEc8e588e.YAMLSemanticError(directive, msg);
+ throw new PlainValue$1.YAMLSemanticError(directive, msg);
}
return {
if (!version) {
const msg = 'Insufficient parameters given for %YAML directive';
- throw new PlainValueEc8e588e.YAMLSemanticError(directive, msg);
+ throw new PlainValue$1.YAMLSemanticError(directive, msg);
}
if (!documentOptions[version]) {
const v0 = doc.version || doc.options.version;
const msg = `Document will be parsed as YAML ${v0} rather than YAML ${version}`;
- doc.warnings.push(new PlainValueEc8e588e.YAMLWarning(directive, msg));
+ doc.warnings.push(new PlainValue$1.YAMLWarning(directive, msg));
}
return version;
case 'YAML:1.0':
if (doc.version) {
const msg = 'The %YAML directive must only be given at most once per document.';
- doc.errors.push(new PlainValueEc8e588e.YAMLSemanticError(directive, msg));
+ doc.errors.push(new PlainValue$1.YAMLSemanticError(directive, msg));
}
try {
default:
if (name) {
const msg = `YAML only supports %TAG and %YAML directives, and not %${name}`;
- doc.warnings.push(new PlainValueEc8e588e.YAMLWarning(directive, msg));
+ doc.warnings.push(new PlainValue$1.YAMLWarning(directive, msg));
}
}
}
function assertCollection(contents) {
- if (contents instanceof resolveSeq4a68b39b.Collection) return true;
+ if (contents instanceof resolveSeq.Collection) return true;
throw new Error('Expected a YAML collection as document contents');
}
-class Document$1 {
+class Document$2 {
constructor(options) {
this.anchors = new Anchors(options.anchorPrefix);
this.commentBefore = null;
}
deleteIn(path) {
- if (resolveSeq4a68b39b.isEmptyPath(path)) {
+ if (resolveSeq.isEmptyPath(path)) {
if (this.contents == null) return false;
this.contents = null;
return true;
}
getDefaults() {
- return Document$1.defaults[this.version] || Document$1.defaults[this.options.version] || {};
+ return Document$2.defaults[this.version] || Document$2.defaults[this.options.version] || {};
}
get(key, keepScalar) {
- return this.contents instanceof resolveSeq4a68b39b.Collection ? this.contents.get(key, keepScalar) : undefined;
+ return this.contents instanceof resolveSeq.Collection ? this.contents.get(key, keepScalar) : undefined;
}
getIn(path, keepScalar) {
- if (resolveSeq4a68b39b.isEmptyPath(path)) return !keepScalar && this.contents instanceof resolveSeq4a68b39b.Scalar ? this.contents.value : this.contents;
- return this.contents instanceof resolveSeq4a68b39b.Collection ? this.contents.getIn(path, keepScalar) : undefined;
+ if (resolveSeq.isEmptyPath(path)) return !keepScalar && this.contents instanceof resolveSeq.Scalar ? this.contents.value : this.contents;
+ return this.contents instanceof resolveSeq.Collection ? this.contents.getIn(path, keepScalar) : undefined;
}
has(key) {
- return this.contents instanceof resolveSeq4a68b39b.Collection ? this.contents.has(key) : false;
+ return this.contents instanceof resolveSeq.Collection ? this.contents.has(key) : false;
}
hasIn(path) {
- if (resolveSeq4a68b39b.isEmptyPath(path)) return this.contents !== undefined;
- return this.contents instanceof resolveSeq4a68b39b.Collection ? this.contents.hasIn(path) : false;
+ if (resolveSeq.isEmptyPath(path)) return this.contents !== undefined;
+ return this.contents instanceof resolveSeq.Collection ? this.contents.hasIn(path) : false;
}
set(key, value) {
}
setIn(path, value) {
- if (resolveSeq4a68b39b.isEmptyPath(path)) this.contents = value;else {
+ if (resolveSeq.isEmptyPath(path)) this.contents = value;else {
assertCollection(this.contents);
this.contents.setIn(path, value);
}
if (Array.isArray(customTags)) this.options.customTags = customTags;
const opt = Object.assign({}, this.getDefaults(), this.options);
- this.schema = new Schema42e9705c.Schema(opt);
+ this.schema = new Schema$1.Schema(opt);
}
parse(node, prevDoc) {
this.anchors.resolveNodes();
if (this.options.prettyErrors) {
- for (const error of this.errors) if (error instanceof PlainValueEc8e588e.YAMLError) error.makePretty();
+ for (const error of this.errors) if (error instanceof PlainValue$1.YAMLError) error.makePretty();
- for (const warn of this.warnings) if (warn instanceof PlainValueEc8e588e.YAMLError) warn.makePretty();
+ for (const warn of this.warnings) if (warn instanceof PlainValue$1.YAMLError) warn.makePretty();
}
return this;
}
listNonDefaultTags() {
- return listTagNames(this.contents).filter(t => t.indexOf(Schema42e9705c.Schema.defaultPrefix) !== 0);
+ return listTagNames(this.contents).filter(t => t.indexOf(Schema$1.Schema.defaultPrefix) !== 0);
}
setTagPrefix(handle, prefix) {
mapAsMap,
maxAliasCount
} = this.options;
- const keep = keepBlobsInJSON && (typeof arg !== 'string' || !(this.contents instanceof resolveSeq4a68b39b.Scalar));
+ const keep = keepBlobsInJSON && (typeof arg !== 'string' || !(this.contents instanceof resolveSeq.Scalar));
const ctx = {
doc: this,
indentStep: ' ',
keep,
mapAsMap: keep && !!mapAsMap,
maxAliasCount,
- stringify // Requiring directly in Pair would create circular dependencies
+ stringify: stringify$1 // Requiring directly in Pair would create circular dependencies
};
const anchorNames = Object.keys(this.anchors.map);
aliasCount: 0,
count: 1
}]));
- const res = resolveSeq4a68b39b.toJSON(this.contents, arg, ctx);
+ const res = resolveSeq.toJSON(this.contents, arg, ctx);
if (typeof onAnchor === 'function' && ctx.anchors) for (const {
count,
res
}
const ctx = {
- anchors: {},
+ anchors: Object.create(null),
doc: this,
indent: '',
indentStep: ' '.repeat(indentSize),
- stringify // Requiring directly in nodes would create circular dependencies
+ stringify: stringify$1 // Requiring directly in nodes would create circular dependencies
};
let chompKeep = false;
let contentComment = null;
if (this.contents) {
- if (this.contents instanceof resolveSeq4a68b39b.Node) {
+ if (this.contents instanceof resolveSeq.Node) {
if (this.contents.spaceBefore && (hasDirectives || this.directivesEndMarker)) lines.push('');
if (this.contents.commentBefore) lines.push(this.contents.commentBefore.replace(/^/gm, '#')); // top-level block scalars need to be indented if followed by a comment
}
const onChompKeep = contentComment ? null : () => chompKeep = true;
- const body = stringify(this.contents, ctx, () => contentComment = null, onChompKeep);
- lines.push(resolveSeq4a68b39b.addComment(body, '', contentComment));
+ const body = stringify$1(this.contents, ctx, () => contentComment = null, onChompKeep);
+ lines.push(resolveSeq.addComment(body, '', contentComment));
} else if (this.contents !== undefined) {
- lines.push(stringify(this.contents, ctx));
+ lines.push(stringify$1(this.contents, ctx));
}
if (this.comment) {
}
-PlainValueEc8e588e._defineProperty(Document$1, "defaults", documentOptions);
+PlainValue$1._defineProperty(Document$2, "defaults", documentOptions);
-var Document_1 = Document$1;
-var defaultOptions_1 = defaultOptions;
-var scalarOptions_1 = scalarOptions;
-var Document2cf6b08c = {
- Document: Document_1,
- defaultOptions: defaultOptions_1,
- scalarOptions: scalarOptions_1
-};
+Document9b4560a1.Document = Document$2;
+Document9b4560a1.defaultOptions = defaultOptions;
+Document9b4560a1.scalarOptions = scalarOptions;
+
+var parseCst = parseCst$1;
+var Document$1 = Document9b4560a1;
+var Schema = Schema88e323a7;
+var PlainValue = PlainValueEc8e588e;
+var warnings = warnings1000a372;
-function createNode$1(value, wrapScalars = true, tag) {
+function createNode(value, wrapScalars = true, tag) {
if (tag === undefined && typeof wrapScalars === 'string') {
tag = wrapScalars;
wrapScalars = true;
}
- const options = Object.assign({}, Document2cf6b08c.Document.defaults[Document2cf6b08c.defaultOptions.version], Document2cf6b08c.defaultOptions);
- const schema = new Schema42e9705c.Schema(options);
+ 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$2 extends Document2cf6b08c.Document {
+class Document extends Document$1.Document {
constructor(options) {
- super(Object.assign({}, Document2cf6b08c.defaultOptions, options));
+ super(Object.assign({}, Document$1.defaultOptions, options));
}
}
let prev;
for (const cstDoc of parseCst.parse(src)) {
- const doc = new Document$2(options);
+ const doc = new Document(options);
doc.parse(cstDoc, prev);
stream.push(doc);
prev = doc;
function parseDocument(src, options) {
const cst = parseCst.parse(src);
- const doc = new Document$2(options).parse(cst[0]);
+ 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 PlainValueEc8e588e.YAMLSemanticError(cst[1], errMsg));
+ doc.errors.unshift(new PlainValue.YAMLSemanticError(cst[1], errMsg));
}
return doc;
}
-function parse$1(src, options) {
+function parse(src, options) {
const doc = parseDocument(src, options);
- doc.warnings.forEach(warning => warnings39684f17.warn(warning));
+ doc.warnings.forEach(warning => warnings.warn(warning));
if (doc.errors.length > 0) throw doc.errors[0];
return doc.toJSON();
}
-function stringify$1(value, options) {
- const doc = new Document$2(options);
+function stringify(value, options) {
+ const doc = new Document(options);
doc.contents = value;
return String(doc);
}
const YAML = {
- createNode: createNode$1,
- defaultOptions: Document2cf6b08c.defaultOptions,
- Document: Document$2,
- parse: parse$1,
+ createNode,
+ defaultOptions: Document$1.defaultOptions,
+ Document,
+ parse,
parseAllDocuments,
parseCST: parseCst.parse,
parseDocument,
- scalarOptions: Document2cf6b08c.scalarOptions,
- stringify: stringify$1
-};
-var YAML_1 = YAML;
-var dist$1 = {
- YAML: YAML_1
+ scalarOptions: Document$1.scalarOptions,
+ stringify
};
+dist.YAML = YAML;
-var yaml = dist$1.YAML;
+var yaml$1 = dist.YAML;
-var loaders_1 = createCommonjsModule(function (module, exports) {
+Object.defineProperty(loaders$1, "__esModule", {
+ value: true
+});
+loaders$1.loaders = void 0;
+/* eslint-disable @typescript-eslint/no-require-imports */
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.loaders = void 0;
- /* eslint-disable @typescript-eslint/no-require-imports */
+let importFresh;
- let importFresh$1;
+const loadJs = function loadJs(filepath) {
+ if (importFresh === undefined) {
+ importFresh = importFresh$1;
+ }
- const loadJs = function loadJs(filepath) {
- if (importFresh$1 === undefined) {
- importFresh$1 = importFresh;
- }
+ const result = importFresh(filepath);
+ return result;
+};
- const result = importFresh$1(filepath);
- return result;
- };
+let parseJson;
- let parseJson;
+const loadJson = function loadJson(filepath, content) {
+ if (parseJson === undefined) {
+ parseJson = parseJson_1;
+ }
- const loadJson = function loadJson(filepath, content) {
- if (parseJson === undefined) {
- parseJson = parseJson$1;
- }
+ try {
+ const result = parseJson(content);
+ return result;
+ } catch (error) {
+ error.message = `JSON Error in ${filepath}:\n${error.message}`;
+ throw error;
+ }
+};
- try {
- const result = parseJson(content);
- return result;
- } catch (error) {
- error.message = `JSON Error in ${filepath}:\n${error.message}`;
- throw error;
- }
- };
+let yaml;
- let yaml$1;
+const loadYaml = function loadYaml(filepath, content) {
+ if (yaml === undefined) {
+ yaml = yaml$1;
+ }
- const loadYaml = function loadYaml(filepath, content) {
- if (yaml$1 === undefined) {
- yaml$1 = yaml;
- }
+ try {
+ const result = yaml.parse(content, {
+ prettyErrors: true
+ });
+ return result;
+ } catch (error) {
+ error.message = `YAML Error in ${filepath}:\n${error.message}`;
+ throw error;
+ }
+};
- try {
- const result = yaml$1.parse(content, {
- prettyErrors: true
- });
- return result;
- } catch (error) {
- error.message = `YAML Error in ${filepath}:\n${error.message}`;
- throw error;
- }
- };
+const loaders = {
+ loadJs,
+ loadJson,
+ loadYaml
+};
+loaders$1.loaders = loaders;
- const loaders = {
- loadJs,
- loadJson,
- loadYaml
- };
- exports.loaders = loaders;
+var getPropertyByPath$1 = {};
+
+Object.defineProperty(getPropertyByPath$1, "__esModule", {
+ value: true
});
+getPropertyByPath$1.getPropertyByPath = getPropertyByPath; // Resolves property names or property paths defined with period-delimited
+// strings or arrays of strings. Property names that are found on the source
+// object are used directly (even if they include a period).
+// Nested property names that include periods, within a path, are only
+// understood in array paths.
-var getPropertyByPath_1 = createCommonjsModule(function (module, exports) {
+function getPropertyByPath(source, path) {
+ if (typeof path === 'string' && Object.prototype.hasOwnProperty.call(source, path)) {
+ return source[path];
+ }
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.getPropertyByPath = getPropertyByPath; // Resolves property names or property paths defined with period-delimited
- // strings or arrays of strings. Property names that are found on the source
- // object are used directly (even if they include a period).
- // Nested property names that include periods, within a path, are only
- // understood in array paths.
+ const parsedPath = typeof path === 'string' ? path.split('.') : path; // eslint-disable-next-line @typescript-eslint/no-explicit-any
- function getPropertyByPath(source, path) {
- if (typeof path === 'string' && Object.prototype.hasOwnProperty.call(source, path)) {
- return source[path];
+ return parsedPath.reduce((previous, key) => {
+ if (previous === undefined) {
+ return previous;
}
- const parsedPath = typeof path === 'string' ? path.split('.') : path; // eslint-disable-next-line @typescript-eslint/no-explicit-any
-
- return parsedPath.reduce((previous, key) => {
- if (previous === undefined) {
- return previous;
- }
+ return previous[key];
+ }, source);
+}
- return previous[key];
- }, source);
- }
+Object.defineProperty(ExplorerBase$1, "__esModule", {
+ value: true
});
+ExplorerBase$1.getExtensionDescription = getExtensionDescription;
+ExplorerBase$1.ExplorerBase = void 0;
-var ExplorerBase_1 = createCommonjsModule(function (module, exports) {
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.getExtensionDescription = getExtensionDescription;
- exports.ExplorerBase = void 0;
-
- var _path = _interopRequireDefault(path__default['default']);
-
- function _interopRequireDefault(obj) {
- return obj && obj.__esModule ? obj : {
- default: obj
- };
- }
-
- class ExplorerBase {
- constructor(options) {
- if (options.cache === true) {
- this.loadCache = new Map();
- this.searchCache = new Map();
- }
-
- this.config = options;
- this.validateConfig();
- }
+var _path$3 = _interopRequireDefault$5(require$$0__default["default"]);
- clearLoadCache() {
- if (this.loadCache) {
- this.loadCache.clear();
- }
- }
+var _loaders$1 = loaders$1;
+var _getPropertyByPath = getPropertyByPath$1;
- clearSearchCache() {
- if (this.searchCache) {
- this.searchCache.clear();
- }
- }
+function _interopRequireDefault$5(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
- clearCaches() {
- this.clearLoadCache();
- this.clearSearchCache();
+class ExplorerBase {
+ constructor(options) {
+ if (options.cache === true) {
+ this.loadCache = new Map();
+ this.searchCache = new Map();
}
- validateConfig() {
- const config = this.config;
- config.searchPlaces.forEach(place => {
- const loaderKey = _path.default.extname(place) || 'noExt';
- const loader = config.loaders[loaderKey];
-
- if (!loader) {
- throw new Error(`No loader specified for ${getExtensionDescription(place)}, so searchPlaces item "${place}" is invalid`);
- }
+ this.config = options;
+ this.validateConfig();
+ }
- if (typeof loader !== 'function') {
- throw new Error(`loader for ${getExtensionDescription(place)} is not a function (type provided: "${typeof loader}"), so searchPlaces item "${place}" is invalid`);
- }
- });
+ clearLoadCache() {
+ if (this.loadCache) {
+ this.loadCache.clear();
}
+ }
- shouldSearchStopWithResult(result) {
- if (result === null) return false;
- if (result.isEmpty && this.config.ignoreEmptySearchPlaces) return false;
- return true;
+ clearSearchCache() {
+ if (this.searchCache) {
+ this.searchCache.clear();
}
+ }
- nextDirectoryToSearch(currentDir, currentResult) {
- if (this.shouldSearchStopWithResult(currentResult)) {
- return null;
- }
+ clearCaches() {
+ this.clearLoadCache();
+ this.clearSearchCache();
+ }
- const nextDir = nextDirUp(currentDir);
+ validateConfig() {
+ const config = this.config;
+ config.searchPlaces.forEach(place => {
+ const loaderKey = _path$3.default.extname(place) || 'noExt';
+ const loader = config.loaders[loaderKey];
- if (nextDir === currentDir || currentDir === this.config.stopDir) {
- return null;
+ if (!loader) {
+ throw new Error(`No loader specified for ${getExtensionDescription(place)}, so searchPlaces item "${place}" is invalid`);
}
- return nextDir;
+ if (typeof loader !== 'function') {
+ throw new Error(`loader for ${getExtensionDescription(place)} is not a function (type provided: "${typeof loader}"), so searchPlaces item "${place}" is invalid`);
+ }
+ });
+ }
+
+ shouldSearchStopWithResult(result) {
+ if (result === null) return false;
+ if (result.isEmpty && this.config.ignoreEmptySearchPlaces) return false;
+ return true;
+ }
+
+ nextDirectoryToSearch(currentDir, currentResult) {
+ if (this.shouldSearchStopWithResult(currentResult)) {
+ return null;
}
- loadPackageProp(filepath, content) {
- const parsedContent = loaders_1.loaders.loadJson(filepath, content);
+ const nextDir = nextDirUp(currentDir);
- const packagePropValue = (0, getPropertyByPath_1.getPropertyByPath)(parsedContent, this.config.packageProp);
- return packagePropValue || null;
+ if (nextDir === currentDir || currentDir === this.config.stopDir) {
+ return null;
}
- getLoaderEntryForFile(filepath) {
- if (_path.default.basename(filepath) === 'package.json') {
- const loader = this.loadPackageProp.bind(this);
- return loader;
- }
+ return nextDir;
+ }
- const loaderKey = _path.default.extname(filepath) || 'noExt';
- const loader = this.config.loaders[loaderKey];
+ loadPackageProp(filepath, content) {
+ const parsedContent = _loaders$1.loaders.loadJson(filepath, content);
- if (!loader) {
- throw new Error(`No loader specified for ${getExtensionDescription(filepath)}`);
- }
+ const packagePropValue = (0, _getPropertyByPath.getPropertyByPath)(parsedContent, this.config.packageProp);
+ return packagePropValue || null;
+ }
+ getLoaderEntryForFile(filepath) {
+ if (_path$3.default.basename(filepath) === 'package.json') {
+ const loader = this.loadPackageProp.bind(this);
return loader;
}
- loadedContentToCosmiconfigResult(filepath, loadedContent) {
- if (loadedContent === null) {
- return null;
- }
+ const loaderKey = _path$3.default.extname(filepath) || 'noExt';
+ const loader = this.config.loaders[loaderKey];
- if (loadedContent === undefined) {
- return {
- filepath,
- config: undefined,
- isEmpty: true
- };
- }
+ if (!loader) {
+ throw new Error(`No loader specified for ${getExtensionDescription(filepath)}`);
+ }
- return {
- config: loadedContent,
- filepath
- };
+ return loader;
+ }
+
+ loadedContentToCosmiconfigResult(filepath, loadedContent) {
+ if (loadedContent === null) {
+ return null;
}
- validateFilePath(filepath) {
- if (!filepath) {
- throw new Error('load must pass a non-empty string');
- }
+ if (loadedContent === undefined) {
+ return {
+ filepath,
+ config: undefined,
+ isEmpty: true
+ };
}
+ return {
+ config: loadedContent,
+ filepath
+ };
}
- exports.ExplorerBase = ExplorerBase;
-
- function nextDirUp(dir) {
- return _path.default.dirname(dir);
+ validateFilePath(filepath) {
+ if (!filepath) {
+ throw new Error('load must pass a non-empty string');
+ }
}
- function getExtensionDescription(filepath) {
- const ext = _path.default.extname(filepath);
+}
- return ext ? `extension "${ext}"` : 'files without extensions';
- }
-});
+ExplorerBase$1.ExplorerBase = ExplorerBase;
-var readFile_1 = createCommonjsModule(function (module, exports) {
+function nextDirUp(dir) {
+ return _path$3.default.dirname(dir);
+}
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.readFile = readFile;
- exports.readFileSync = readFileSync;
+function getExtensionDescription(filepath) {
+ const ext = _path$3.default.extname(filepath);
- var _fs = _interopRequireDefault(fs__default['default']);
+ return ext ? `extension "${ext}"` : 'files without extensions';
+}
- function _interopRequireDefault(obj) {
- return obj && obj.__esModule ? obj : {
- default: obj
- };
- }
+var readFile$1 = {};
- async function fsReadFileAsync(pathname, encoding) {
- return new Promise((resolve, reject) => {
- _fs.default.readFile(pathname, encoding, (error, contents) => {
- if (error) {
- reject(error);
- return;
- }
+Object.defineProperty(readFile$1, "__esModule", {
+ value: true
+});
+readFile$1.readFile = readFile;
+readFile$1.readFileSync = readFileSync;
- resolve(contents);
- });
- });
- }
+var _fs = _interopRequireDefault$4(require$$1__default["default"]);
- async function readFile(filepath, options = {}) {
- const throwNotFound = options.throwNotFound === true;
+function _interopRequireDefault$4(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
- try {
- const content = await fsReadFileAsync(filepath, 'utf8');
- return content;
- } catch (error) {
- if (throwNotFound === false && error.code === 'ENOENT') {
- return null;
+async function fsReadFileAsync(pathname, encoding) {
+ return new Promise((resolve, reject) => {
+ _fs.default.readFile(pathname, encoding, (error, contents) => {
+ if (error) {
+ reject(error);
+ return;
}
- throw error;
+ resolve(contents);
+ });
+ });
+}
+
+async function readFile(filepath, options = {}) {
+ const throwNotFound = options.throwNotFound === true;
+
+ try {
+ const content = await fsReadFileAsync(filepath, 'utf8');
+ return content;
+ } catch (error) {
+ if (throwNotFound === false && (error.code === 'ENOENT' || error.code === 'EISDIR')) {
+ return null;
}
- }
- function readFileSync(filepath, options = {}) {
- const throwNotFound = options.throwNotFound === true;
+ throw error;
+ }
+}
- try {
- const content = _fs.default.readFileSync(filepath, 'utf8');
+function readFileSync(filepath, options = {}) {
+ const throwNotFound = options.throwNotFound === true;
- return content;
- } catch (error) {
- if (throwNotFound === false && error.code === 'ENOENT') {
- return null;
- }
+ try {
+ const content = _fs.default.readFileSync(filepath, 'utf8');
- throw error;
+ return content;
+ } catch (error) {
+ if (throwNotFound === false && (error.code === 'ENOENT' || error.code === 'EISDIR')) {
+ return null;
}
+
+ throw error;
}
+}
+
+var cacheWrapper$1 = {};
+
+Object.defineProperty(cacheWrapper$1, "__esModule", {
+ value: true
});
+cacheWrapper$1.cacheWrapper = cacheWrapper;
+cacheWrapper$1.cacheWrapperSync = cacheWrapperSync;
-var cacheWrapper_1 = createCommonjsModule(function (module, exports) {
+async function cacheWrapper(cache, key, fn) {
+ const cached = cache.get(key);
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.cacheWrapper = cacheWrapper;
- exports.cacheWrapperSync = cacheWrapperSync;
+ if (cached !== undefined) {
+ return cached;
+ }
- async function cacheWrapper(cache, key, fn) {
- const cached = cache.get(key);
+ const result = await fn();
+ cache.set(key, result);
+ return result;
+}
- if (cached !== undefined) {
- return cached;
- }
+function cacheWrapperSync(cache, key, fn) {
+ const cached = cache.get(key);
- const result = await fn();
- cache.set(key, result);
- return result;
+ if (cached !== undefined) {
+ return cached;
}
- function cacheWrapperSync(cache, key, fn) {
- const cached = cache.get(key);
+ const result = fn();
+ cache.set(key, result);
+ return result;
+}
- if (cached !== undefined) {
- return cached;
- }
+var getDirectory$1 = {};
- const result = fn();
- cache.set(key, result);
- return result;
- }
-});
+var pathType = {};
const {
promisify
-} = util__default['default'];
+} = require$$0__default$1["default"];
+const fs = require$$1__default["default"];
async function isType(fsStatType, statsMethodName, filePath) {
if (typeof filePath !== 'string') {
}
try {
- const stats = await promisify(fs__default['default'][fsStatType])(filePath);
+ const stats = await promisify(fs[fsStatType])(filePath);
return stats[statsMethodName]();
} catch (error) {
if (error.code === 'ENOENT') {
}
try {
- return fs__default['default'][fsStatType](filePath)[statsMethodName]();
+ return fs[fsStatType](filePath)[statsMethodName]();
} catch (error) {
if (error.code === 'ENOENT') {
return false;
}
}
-var isFile = isType.bind(null, 'stat', 'isFile');
-var isDirectory = isType.bind(null, 'stat', 'isDirectory');
-var isSymlink = isType.bind(null, 'lstat', 'isSymbolicLink');
-var isFileSync = isTypeSync.bind(null, 'statSync', 'isFile');
-var isDirectorySync = isTypeSync.bind(null, 'statSync', 'isDirectory');
-var isSymlinkSync = isTypeSync.bind(null, 'lstatSync', 'isSymbolicLink');
-var pathType = {
- isFile: isFile,
- isDirectory: isDirectory,
- isSymlink: isSymlink,
- isFileSync: isFileSync,
- isDirectorySync: isDirectorySync,
- isSymlinkSync: isSymlinkSync
-};
+pathType.isFile = isType.bind(null, 'stat', 'isFile');
+pathType.isDirectory = isType.bind(null, 'stat', 'isDirectory');
+pathType.isSymlink = isType.bind(null, 'lstat', 'isSymbolicLink');
+pathType.isFileSync = isTypeSync.bind(null, 'statSync', 'isFile');
+pathType.isDirectorySync = isTypeSync.bind(null, 'statSync', 'isDirectory');
+pathType.isSymlinkSync = isTypeSync.bind(null, 'lstatSync', 'isSymbolicLink');
-var getDirectory_1 = createCommonjsModule(function (module, exports) {
+Object.defineProperty(getDirectory$1, "__esModule", {
+ value: true
+});
+getDirectory$1.getDirectory = getDirectory;
+getDirectory$1.getDirectorySync = getDirectorySync;
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.getDirectory = getDirectory;
- exports.getDirectorySync = getDirectorySync;
+var _path$2 = _interopRequireDefault$3(require$$0__default["default"]);
- var _path = _interopRequireDefault(path__default['default']);
+var _pathType = pathType;
- function _interopRequireDefault(obj) {
- return obj && obj.__esModule ? obj : {
- default: obj
- };
+function _interopRequireDefault$3(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+
+async function getDirectory(filepath) {
+ const filePathIsDirectory = await (0, _pathType.isDirectory)(filepath);
+
+ if (filePathIsDirectory === true) {
+ return filepath;
}
- async function getDirectory(filepath) {
- const filePathIsDirectory = await (0, pathType.isDirectory)(filepath);
+ const directory = _path$2.default.dirname(filepath);
- if (filePathIsDirectory === true) {
- return filepath;
- }
+ return directory;
+}
- const directory = _path.default.dirname(filepath);
+function getDirectorySync(filepath) {
+ const filePathIsDirectory = (0, _pathType.isDirectorySync)(filepath);
- return directory;
+ if (filePathIsDirectory === true) {
+ return filepath;
}
- function getDirectorySync(filepath) {
- const filePathIsDirectory = (0, pathType.isDirectorySync)(filepath);
-
- if (filePathIsDirectory === true) {
- return filepath;
- }
+ const directory = _path$2.default.dirname(filepath);
- const directory = _path.default.dirname(filepath);
+ return directory;
+}
- return directory;
- }
+Object.defineProperty(Explorer$1, "__esModule", {
+ value: true
});
+Explorer$1.Explorer = void 0;
-var Explorer_1 = createCommonjsModule(function (module, exports) {
+var _path$1 = _interopRequireDefault$2(require$$0__default["default"]);
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.Explorer = void 0;
+var _ExplorerBase$1 = ExplorerBase$1;
+var _readFile$1 = readFile$1;
+var _cacheWrapper$1 = cacheWrapper$1;
+var _getDirectory$1 = getDirectory$1;
- var _path = _interopRequireDefault(path__default['default']);
+function _interopRequireDefault$2(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
- function _interopRequireDefault(obj) {
- return obj && obj.__esModule ? obj : {
- default: obj
- };
+class Explorer extends _ExplorerBase$1.ExplorerBase {
+ constructor(options) {
+ super(options);
}
- class Explorer extends ExplorerBase_1.ExplorerBase {
- constructor(options) {
- super(options);
- }
+ async search(searchFrom = process.cwd()) {
+ const startDirectory = await (0, _getDirectory$1.getDirectory)(searchFrom);
+ const result = await this.searchFromDirectory(startDirectory);
+ return result;
+ }
- async search(searchFrom = process.cwd()) {
- const startDirectory = await (0, getDirectory_1.getDirectory)(searchFrom);
- const result = await this.searchFromDirectory(startDirectory);
- return result;
- }
+ async searchFromDirectory(dir) {
+ const absoluteDir = _path$1.default.resolve(process.cwd(), dir);
- async searchFromDirectory(dir) {
- const absoluteDir = _path.default.resolve(process.cwd(), dir);
+ const run = async () => {
+ const result = await this.searchDirectory(absoluteDir);
+ const nextDir = this.nextDirectoryToSearch(absoluteDir, result);
- const run = async () => {
- const result = await this.searchDirectory(absoluteDir);
- const nextDir = this.nextDirectoryToSearch(absoluteDir, result);
+ if (nextDir) {
+ return this.searchFromDirectory(nextDir);
+ }
- if (nextDir) {
- return this.searchFromDirectory(nextDir);
- }
+ const transformResult = await this.config.transform(result);
+ return transformResult;
+ };
- const transformResult = await this.config.transform(result);
- return transformResult;
- };
+ if (this.searchCache) {
+ return (0, _cacheWrapper$1.cacheWrapper)(this.searchCache, absoluteDir, run);
+ }
+
+ return run();
+ }
+
+ async searchDirectory(dir) {
+ for await (const place of this.config.searchPlaces) {
+ const placeResult = await this.loadSearchPlace(dir, place);
- if (this.searchCache) {
- return (0, cacheWrapper_1.cacheWrapper)(this.searchCache, absoluteDir, run);
+ if (this.shouldSearchStopWithResult(placeResult) === true) {
+ return placeResult;
}
+ } // config not found
- return run();
- }
- async searchDirectory(dir) {
- for await (const place of this.config.searchPlaces) {
- const placeResult = await this.loadSearchPlace(dir, place);
+ return null;
+ }
- if (this.shouldSearchStopWithResult(placeResult) === true) {
- return placeResult;
- }
- } // config not found
+ async loadSearchPlace(dir, place) {
+ const filepath = _path$1.default.join(dir, place);
+ const fileContents = await (0, _readFile$1.readFile)(filepath);
+ const result = await this.createCosmiconfigResult(filepath, fileContents);
+ return result;
+ }
+ async loadFileContent(filepath, content) {
+ if (content === null) {
return null;
}
- async loadSearchPlace(dir, place) {
- const filepath = _path.default.join(dir, place);
-
- const fileContents = await (0, readFile_1.readFile)(filepath);
- const result = await this.createCosmiconfigResult(filepath, fileContents);
- return result;
+ if (content.trim() === '') {
+ return undefined;
}
- async loadFileContent(filepath, content) {
- if (content === null) {
- return null;
- }
+ const loader = this.getLoaderEntryForFile(filepath);
+ const loaderResult = await loader(filepath, content);
+ return loaderResult;
+ }
- if (content.trim() === '') {
- return undefined;
- }
+ async createCosmiconfigResult(filepath, content) {
+ const fileContent = await this.loadFileContent(filepath, content);
+ const result = this.loadedContentToCosmiconfigResult(filepath, fileContent);
+ return result;
+ }
- const loader = this.getLoaderEntryForFile(filepath);
- const loaderResult = await loader(filepath, content);
- return loaderResult;
- }
+ async load(filepath) {
+ this.validateFilePath(filepath);
- async createCosmiconfigResult(filepath, content) {
- const fileContent = await this.loadFileContent(filepath, content);
- const result = this.loadedContentToCosmiconfigResult(filepath, fileContent);
- return result;
- }
+ const absoluteFilePath = _path$1.default.resolve(process.cwd(), filepath);
- async load(filepath) {
- this.validateFilePath(filepath);
+ const runLoad = async () => {
+ const fileContents = await (0, _readFile$1.readFile)(absoluteFilePath, {
+ throwNotFound: true
+ });
+ const result = await this.createCosmiconfigResult(absoluteFilePath, fileContents);
+ const transformResult = await this.config.transform(result);
+ return transformResult;
+ };
- const absoluteFilePath = _path.default.resolve(process.cwd(), filepath);
+ if (this.loadCache) {
+ return (0, _cacheWrapper$1.cacheWrapper)(this.loadCache, absoluteFilePath, runLoad);
+ }
- const runLoad = async () => {
- const fileContents = await (0, readFile_1.readFile)(absoluteFilePath, {
- throwNotFound: true
- });
- const result = await this.createCosmiconfigResult(absoluteFilePath, fileContents);
- const transformResult = await this.config.transform(result);
- return transformResult;
- };
+ return runLoad();
+ }
- if (this.loadCache) {
- return (0, cacheWrapper_1.cacheWrapper)(this.loadCache, absoluteFilePath, runLoad);
- }
+}
- return runLoad();
- }
+Explorer$1.Explorer = Explorer;
- }
+var ExplorerSync$1 = {};
- exports.Explorer = Explorer;
+Object.defineProperty(ExplorerSync$1, "__esModule", {
+ value: true
});
+ExplorerSync$1.ExplorerSync = void 0;
-var ExplorerSync_1 = createCommonjsModule(function (module, exports) {
+var _path = _interopRequireDefault$1(require$$0__default["default"]);
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.ExplorerSync = void 0;
+var _ExplorerBase = ExplorerBase$1;
+var _readFile = readFile$1;
+var _cacheWrapper = cacheWrapper$1;
+var _getDirectory = getDirectory$1;
- var _path = _interopRequireDefault(path__default['default']);
+function _interopRequireDefault$1(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
- function _interopRequireDefault(obj) {
- return obj && obj.__esModule ? obj : {
- default: obj
- };
+class ExplorerSync extends _ExplorerBase.ExplorerBase {
+ constructor(options) {
+ super(options);
}
- class ExplorerSync extends ExplorerBase_1.ExplorerBase {
- constructor(options) {
- super(options);
- }
+ searchSync(searchFrom = process.cwd()) {
+ const startDirectory = (0, _getDirectory.getDirectorySync)(searchFrom);
+ const result = this.searchFromDirectorySync(startDirectory);
+ return result;
+ }
- searchSync(searchFrom = process.cwd()) {
- const startDirectory = (0, getDirectory_1.getDirectorySync)(searchFrom);
- const result = this.searchFromDirectorySync(startDirectory);
- return result;
- }
+ searchFromDirectorySync(dir) {
+ const absoluteDir = _path.default.resolve(process.cwd(), dir);
- searchFromDirectorySync(dir) {
- const absoluteDir = _path.default.resolve(process.cwd(), dir);
+ const run = () => {
+ const result = this.searchDirectorySync(absoluteDir);
+ const nextDir = this.nextDirectoryToSearch(absoluteDir, result);
- const run = () => {
- const result = this.searchDirectorySync(absoluteDir);
- const nextDir = this.nextDirectoryToSearch(absoluteDir, result);
+ if (nextDir) {
+ return this.searchFromDirectorySync(nextDir);
+ }
- if (nextDir) {
- return this.searchFromDirectorySync(nextDir);
- }
+ const transformResult = this.config.transform(result);
+ return transformResult;
+ };
- const transformResult = this.config.transform(result);
- return transformResult;
- };
+ if (this.searchCache) {
+ return (0, _cacheWrapper.cacheWrapperSync)(this.searchCache, absoluteDir, run);
+ }
+
+ return run();
+ }
+
+ searchDirectorySync(dir) {
+ for (const place of this.config.searchPlaces) {
+ const placeResult = this.loadSearchPlaceSync(dir, place);
- if (this.searchCache) {
- return (0, cacheWrapper_1.cacheWrapperSync)(this.searchCache, absoluteDir, run);
+ if (this.shouldSearchStopWithResult(placeResult) === true) {
+ return placeResult;
}
+ } // config not found
- return run();
- }
- searchDirectorySync(dir) {
- for (const place of this.config.searchPlaces) {
- const placeResult = this.loadSearchPlaceSync(dir, place);
+ return null;
+ }
- if (this.shouldSearchStopWithResult(placeResult) === true) {
- return placeResult;
- }
- } // config not found
+ loadSearchPlaceSync(dir, place) {
+ const filepath = _path.default.join(dir, place);
+ const content = (0, _readFile.readFileSync)(filepath);
+ const result = this.createCosmiconfigResultSync(filepath, content);
+ return result;
+ }
+ loadFileContentSync(filepath, content) {
+ if (content === null) {
return null;
}
- loadSearchPlaceSync(dir, place) {
- const filepath = _path.default.join(dir, place);
-
- const content = (0, readFile_1.readFileSync)(filepath);
- const result = this.createCosmiconfigResultSync(filepath, content);
- return result;
+ if (content.trim() === '') {
+ return undefined;
}
- loadFileContentSync(filepath, content) {
- if (content === null) {
- return null;
- }
+ const loader = this.getLoaderEntryForFile(filepath);
+ const loaderResult = loader(filepath, content);
+ return loaderResult;
+ }
- if (content.trim() === '') {
- return undefined;
- }
+ createCosmiconfigResultSync(filepath, content) {
+ const fileContent = this.loadFileContentSync(filepath, content);
+ const result = this.loadedContentToCosmiconfigResult(filepath, fileContent);
+ return result;
+ }
- const loader = this.getLoaderEntryForFile(filepath);
- const loaderResult = loader(filepath, content);
- return loaderResult;
- }
+ loadSync(filepath) {
+ this.validateFilePath(filepath);
- createCosmiconfigResultSync(filepath, content) {
- const fileContent = this.loadFileContentSync(filepath, content);
- const result = this.loadedContentToCosmiconfigResult(filepath, fileContent);
- return result;
- }
+ const absoluteFilePath = _path.default.resolve(process.cwd(), filepath);
- loadSync(filepath) {
- this.validateFilePath(filepath);
+ const runLoadSync = () => {
+ const content = (0, _readFile.readFileSync)(absoluteFilePath, {
+ throwNotFound: true
+ });
+ const cosmiconfigResult = this.createCosmiconfigResultSync(absoluteFilePath, content);
+ const transformResult = this.config.transform(cosmiconfigResult);
+ return transformResult;
+ };
- const absoluteFilePath = _path.default.resolve(process.cwd(), filepath);
+ if (this.loadCache) {
+ return (0, _cacheWrapper.cacheWrapperSync)(this.loadCache, absoluteFilePath, runLoadSync);
+ }
- const runLoadSync = () => {
- const content = (0, readFile_1.readFileSync)(absoluteFilePath, {
- throwNotFound: true
- });
- const cosmiconfigResult = this.createCosmiconfigResultSync(absoluteFilePath, content);
- const transformResult = this.config.transform(cosmiconfigResult);
- return transformResult;
- };
+ return runLoadSync();
+ }
- if (this.loadCache) {
- return (0, cacheWrapper_1.cacheWrapperSync)(this.loadCache, absoluteFilePath, runLoadSync);
- }
+}
- return runLoadSync();
- }
+ExplorerSync$1.ExplorerSync = ExplorerSync;
- }
+var types = {};
- exports.ExplorerSync = ExplorerSync;
+Object.defineProperty(types, "__esModule", {
+ value: true
});
-var dist$2 = createCommonjsModule(function (module, exports) {
+Object.defineProperty(dist$2, "__esModule", {
+ value: true
+});
+dist$2.cosmiconfig = cosmiconfig;
+dist$2.cosmiconfigSync = cosmiconfigSync;
+dist$2.defaultLoaders = void 0;
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.cosmiconfig = cosmiconfig;
- exports.cosmiconfigSync = cosmiconfigSync;
- exports.defaultLoaders = void 0;
+var _os = _interopRequireDefault(require$$0__default$2["default"]);
- var _os = _interopRequireDefault(os__default['default']);
+var _Explorer = Explorer$1;
+var _ExplorerSync = ExplorerSync$1;
+var _loaders = loaders$1;
- function _interopRequireDefault(obj) {
- return obj && obj.__esModule ? obj : {
- default: obj
- };
- }
- /* eslint-disable @typescript-eslint/explicit-module-boundary-types */
- // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
+function _interopRequireDefault(obj) {
+ return obj && obj.__esModule ? obj : {
+ default: obj
+ };
+}
+/* eslint-disable @typescript-eslint/explicit-module-boundary-types */
+// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
- function cosmiconfig(moduleName, options = {}) {
- const normalizedOptions = normalizeOptions(moduleName, options);
- const explorer = new Explorer_1.Explorer(normalizedOptions);
- return {
- search: explorer.search.bind(explorer),
- load: explorer.load.bind(explorer),
- clearLoadCache: explorer.clearLoadCache.bind(explorer),
- clearSearchCache: explorer.clearSearchCache.bind(explorer),
- clearCaches: explorer.clearCaches.bind(explorer)
- };
- } // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
+function cosmiconfig(moduleName, options = {}) {
+ const normalizedOptions = normalizeOptions(moduleName, options);
+ const explorer = new _Explorer.Explorer(normalizedOptions);
+ return {
+ search: explorer.search.bind(explorer),
+ load: explorer.load.bind(explorer),
+ clearLoadCache: explorer.clearLoadCache.bind(explorer),
+ clearSearchCache: explorer.clearSearchCache.bind(explorer),
+ clearCaches: explorer.clearCaches.bind(explorer)
+ };
+} // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
- function cosmiconfigSync(moduleName, options = {}) {
- const normalizedOptions = normalizeOptions(moduleName, options);
- const explorerSync = new ExplorerSync_1.ExplorerSync(normalizedOptions);
- return {
- search: explorerSync.searchSync.bind(explorerSync),
- load: explorerSync.loadSync.bind(explorerSync),
- clearLoadCache: explorerSync.clearLoadCache.bind(explorerSync),
- clearSearchCache: explorerSync.clearSearchCache.bind(explorerSync),
- clearCaches: explorerSync.clearCaches.bind(explorerSync)
- };
- } // do not allow mutation of default loaders. Make sure it is set inside options
+function cosmiconfigSync(moduleName, options = {}) {
+ const normalizedOptions = normalizeOptions(moduleName, options);
+ const explorerSync = new _ExplorerSync.ExplorerSync(normalizedOptions);
+ return {
+ search: explorerSync.searchSync.bind(explorerSync),
+ load: explorerSync.loadSync.bind(explorerSync),
+ clearLoadCache: explorerSync.clearLoadCache.bind(explorerSync),
+ clearSearchCache: explorerSync.clearSearchCache.bind(explorerSync),
+ clearCaches: explorerSync.clearCaches.bind(explorerSync)
+ };
+} // do not allow mutation of default loaders. Make sure it is set inside options
- const defaultLoaders = Object.freeze({
- '.cjs': loaders_1.loaders.loadJs,
- '.js': loaders_1.loaders.loadJs,
- '.json': loaders_1.loaders.loadJson,
- '.yaml': loaders_1.loaders.loadYaml,
- '.yml': loaders_1.loaders.loadYaml,
- noExt: loaders_1.loaders.loadYaml
- });
- exports.defaultLoaders = defaultLoaders;
+const defaultLoaders = Object.freeze({
+ '.cjs': _loaders.loaders.loadJs,
+ '.js': _loaders.loaders.loadJs,
+ '.json': _loaders.loaders.loadJson,
+ '.yaml': _loaders.loaders.loadYaml,
+ '.yml': _loaders.loaders.loadYaml,
+ noExt: _loaders.loaders.loadYaml
+});
+dist$2.defaultLoaders = defaultLoaders;
+
+const identity = function identity(x) {
+ return x;
+};
- const identity = function identity(x) {
- return x;
+function normalizeOptions(moduleName, options) {
+ const defaults = {
+ packageProp: moduleName,
+ searchPlaces: ['package.json', `.${moduleName}rc`, `.${moduleName}rc.json`, `.${moduleName}rc.yaml`, `.${moduleName}rc.yml`, `.${moduleName}rc.js`, `.${moduleName}rc.cjs`, `${moduleName}.config.js`, `${moduleName}.config.cjs`],
+ ignoreEmptySearchPlaces: true,
+ stopDir: _os.default.homedir(),
+ cache: true,
+ transform: identity,
+ loaders: defaultLoaders
};
+ const normalizedOptions = Object.assign(Object.assign(Object.assign({}, defaults), options), {}, {
+ loaders: Object.assign(Object.assign({}, defaults.loaders), options.loaders)
+ });
+ return normalizedOptions;
+}
- function normalizeOptions(moduleName, options) {
- const defaults = {
- packageProp: moduleName,
- searchPlaces: ['package.json', `.${moduleName}rc`, `.${moduleName}rc.json`, `.${moduleName}rc.yaml`, `.${moduleName}rc.yml`, `.${moduleName}rc.js`, `.${moduleName}rc.cjs`, `${moduleName}.config.js`, `${moduleName}.config.cjs`],
- ignoreEmptySearchPlaces: true,
- stopDir: _os.default.homedir(),
- cache: true,
- transform: identity,
- loaders: defaultLoaders
- };
- const normalizedOptions = Object.assign({}, defaults, options, {
- loaders: Object.assign({}, defaults.loaders, options.loaders)
- });
- return normalizedOptions;
- }
-});
+var findParentDir = {exports: {}};
-var findParentDir = createCommonjsModule(function (module, exports) {
+(function (module, exports) {
- var exists = fs__default['default'].exists || path__default['default'].exists,
- existsSync = fs__default['default'].existsSync || path__default['default'].existsSync;
+ var path = require$$0__default["default"],
+ fs = require$$1__default["default"],
+ exists = fs.exists || path.exists,
+ existsSync = fs.existsSync || path.existsSync;
function splitPath(path) {
var parts = path.split(/(\/|\\)/);
function testDir(parts) {
if (parts.length === 0) return cb(null, null);
var p = parts.join('');
- exists(path__default['default'].join(p, clue), function (itdoes) {
+ exists(path.join(p, clue), function (itdoes) {
if (itdoes) return cb(null, p);
testDir(parts.slice(0, -1));
});
function testDir(parts) {
if (parts.length === 0) return null;
var p = parts.join('');
- var itdoes = existsSync(path__default['default'].join(p, clue));
+ var itdoes = existsSync(path.join(p, clue));
return itdoes ? p : testDir(parts.slice(0, -1));
}
return testDir(splitPath(currentFullPath));
};
-});
+})(findParentDir, findParentDir.exports);
+
+var getStdin = {exports: {}};
const {
stdin
} = process;
-var getStdin = async () => {
+getStdin.exports = async () => {
let result = '';
if (stdin.isTTY) {
return result;
};
-var buffer = async () => {
+getStdin.exports.buffer = async () => {
const result = [];
let length = 0;
return Buffer.concat(result, length);
};
-getStdin.buffer = buffer;
-var vendors = [
+var ciInfo = {};
+
+var require$$0 = [
{
name: "AppVeyor",
constant: "APPVEYOR",
env: "SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",
pr: "SYSTEM_PULLREQUEST_PULLREQUESTID"
},
+ {
+ name: "Appcircle",
+ constant: "APPCIRCLE",
+ env: "AC_APPCIRCLE"
+ },
{
name: "Bamboo",
constant: "BAMBOO",
constant: "CODEBUILD",
env: "CODEBUILD_BUILD_ARN"
},
+ {
+ name: "Codefresh",
+ constant: "CODEFRESH",
+ env: "CF_BUILD_ID",
+ pr: {
+ any: [
+ "CF_PULL_REQUEST_NUMBER",
+ "CF_PULL_REQUEST_ID"
+ ]
+ }
+ },
{
name: "Codeship",
constant: "CODESHIP",
{
name: "GitLab CI",
constant: "GITLAB",
- env: "GITLAB_CI"
+ env: "GITLAB_CI",
+ pr: "CI_MERGE_REQUEST_ID"
},
{
name: "GoCD",
constant: "GOCD",
env: "GO_PIPELINE_LABEL"
},
+ {
+ name: "LayerCI",
+ constant: "LAYERCI",
+ env: "LAYERCI",
+ pr: "LAYERCI_PULL_REQUEST"
+ },
{
name: "Hudson",
constant: "HUDSON",
]
}
},
- {
- name: "ZEIT Now",
- constant: "ZEIT_NOW",
- env: "NOW_BUILDER"
- },
{
name: "Magnum CI",
constant: "MAGNUM",
env: "SEMAPHORE",
pr: "PULL_REQUEST_NUMBER"
},
+ {
+ name: "Screwdriver",
+ constant: "SCREWDRIVER",
+ env: "SCREWDRIVER",
+ pr: {
+ env: "SD_PULL_REQUEST",
+ ne: "false"
+ }
+ },
{
name: "Shippable",
constant: "SHIPPABLE",
env: "TRAVIS_PULL_REQUEST",
ne: "false"
}
+ },
+ {
+ name: "Vercel",
+ constant: "VERCEL",
+ env: "NOW_BUILDER"
+ },
+ {
+ name: "Visual Studio App Center",
+ constant: "APPCENTER",
+ env: "APPCENTER_BUILD_ID"
}
];
-var ciInfo = createCommonjsModule(function (module, exports) {
+(function (exports) {
- var env = process.env; // Used for testing only
+ const vendors = require$$0;
+ const env = process.env; // Used for testing only
Object.defineProperty(exports, '_vendors', {
value: vendors.map(function (v) {
exports.name = null;
exports.isPR = null;
vendors.forEach(function (vendor) {
- var envs = Array.isArray(vendor.env) ? vendor.env : [vendor.env];
- var isCI = envs.every(function (obj) {
+ const envs = Array.isArray(vendor.env) ? vendor.env : [vendor.env];
+ const isCI = envs.every(function (obj) {
return checkEnv(obj);
});
exports[vendor.constant] = isCI;
return env[k] === obj[k];
});
}
-});
+})(ciInfo);
var thirdParty = {
cosmiconfig: dist$2.cosmiconfig,
cosmiconfigSync: dist$2.cosmiconfigSync,
- findParentDir: findParentDir.sync,
- getStdin: getStdin,
+ findParentDir: findParentDir.exports.sync,
+ getStdin: getStdin.exports,
isCI: () => ciInfo.isCI
};