aboutsummaryrefslogtreecommitdiff
path: root/node_modules/yaml/dist/stringify
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/yaml/dist/stringify')
-rw-r--r--node_modules/yaml/dist/stringify/foldFlowLines.d.ts34
-rw-r--r--node_modules/yaml/dist/stringify/foldFlowLines.js140
-rw-r--r--node_modules/yaml/dist/stringify/stringify.d.ts20
-rw-r--r--node_modules/yaml/dist/stringify/stringify.js127
-rw-r--r--node_modules/yaml/dist/stringify/stringifyCollection.d.ts17
-rw-r--r--node_modules/yaml/dist/stringify/stringifyCollection.js154
-rw-r--r--node_modules/yaml/dist/stringify/stringifyComment.d.ts10
-rw-r--r--node_modules/yaml/dist/stringify/stringifyComment.js24
-rw-r--r--node_modules/yaml/dist/stringify/stringifyDocument.d.ts3
-rw-r--r--node_modules/yaml/dist/stringify/stringifyDocument.js88
-rw-r--r--node_modules/yaml/dist/stringify/stringifyNumber.d.ts2
-rw-r--r--node_modules/yaml/dist/stringify/stringifyNumber.js26
-rw-r--r--node_modules/yaml/dist/stringify/stringifyPair.d.ts3
-rw-r--r--node_modules/yaml/dist/stringify/stringifyPair.js127
-rw-r--r--node_modules/yaml/dist/stringify/stringifyString.d.ts3
-rw-r--r--node_modules/yaml/dist/stringify/stringifyString.js316
16 files changed, 0 insertions, 1094 deletions
diff --git a/node_modules/yaml/dist/stringify/foldFlowLines.d.ts b/node_modules/yaml/dist/stringify/foldFlowLines.d.ts
deleted file mode 100644
index 58f8c7b..0000000
--- a/node_modules/yaml/dist/stringify/foldFlowLines.d.ts
+++ /dev/null
@@ -1,34 +0,0 @@
-export declare const FOLD_FLOW = "flow";
-export declare const FOLD_BLOCK = "block";
-export declare const FOLD_QUOTED = "quoted";
-/**
- * `'block'` prevents more-indented lines from being folded;
- * `'quoted'` allows for `\` escapes, including escaped newlines
- */
-export declare type FoldMode = 'flow' | 'block' | 'quoted';
-export interface FoldOptions {
- /**
- * Accounts for leading contents on the first line, defaulting to
- * `indent.length`
- */
- indentAtStart?: number;
- /** Default: `80` */
- lineWidth?: number;
- /**
- * Allow highly indented lines to stretch the line width or indent content
- * from the start.
- *
- * Default: `20`
- */
- minContentWidth?: number;
- /** Called once if the text is folded */
- onFold?: () => void;
- /** Called once if any line of text exceeds lineWidth characters */
- onOverflow?: () => void;
-}
-/**
- * Tries to keep input at up to `lineWidth` characters, splitting only on spaces
- * not followed by newlines or spaces unless `mode` is `'quoted'`. Lines are
- * terminated with `\n` and started with `indent`.
- */
-export declare function foldFlowLines(text: string, indent: string, mode?: FoldMode, { indentAtStart, lineWidth, minContentWidth, onFold, onOverflow }?: FoldOptions): string;
diff --git a/node_modules/yaml/dist/stringify/foldFlowLines.js b/node_modules/yaml/dist/stringify/foldFlowLines.js
deleted file mode 100644
index efe7a25..0000000
--- a/node_modules/yaml/dist/stringify/foldFlowLines.js
+++ /dev/null
@@ -1,140 +0,0 @@
-'use strict';
-
-const FOLD_FLOW = 'flow';
-const FOLD_BLOCK = 'block';
-const FOLD_QUOTED = 'quoted';
-/**
- * Tries to keep input at up to `lineWidth` characters, splitting only on spaces
- * not followed by newlines or spaces unless `mode` is `'quoted'`. Lines are
- * terminated with `\n` and started with `indent`.
- */
-function foldFlowLines(text, indent, mode = 'flow', { indentAtStart, lineWidth = 80, minContentWidth = 20, onFold, onOverflow } = {}) {
- if (!lineWidth || lineWidth < 0)
- return text;
- const endStep = Math.max(1 + minContentWidth, 1 + lineWidth - indent.length);
- if (text.length <= endStep)
- return text;
- const folds = [];
- const escapedFolds = {};
- 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);
- if (i !== -1)
- end = i + endStep;
- }
- for (let ch; (ch = text[(i += 1)]);) {
- if (mode === FOLD_QUOTED && ch === '\\') {
- escStart = i;
- switch (text[i + 1]) {
- case 'x':
- i += 3;
- break;
- case 'u':
- i += 5;
- break;
- case 'U':
- i += 9;
- break;
- default:
- i += 1;
- }
- escEnd = i;
- }
- if (ch === '\n') {
- if (mode === FOLD_BLOCK)
- i = consumeMoreIndentedLines(text, i);
- end = i + endStep;
- split = undefined;
- }
- else {
- if (ch === ' ' &&
- prev &&
- prev !== ' ' &&
- prev !== '\n' &&
- prev !== '\t') {
- // space surrounded by non-space can be replaced with newline + indent
- const next = text[i + 1];
- if (next && next !== ' ' && next !== '\n' && next !== '\t')
- split = i;
- }
- if (i >= end) {
- if (split) {
- folds.push(split);
- end = split + endStep;
- split = undefined;
- }
- else if (mode === FOLD_QUOTED) {
- // white-space collected at end may stretch past lineWidth
- while (prev === ' ' || prev === '\t') {
- prev = ch;
- ch = text[(i += 1)];
- overflow = true;
- }
- // Account for newline escape, but don't break preceding escape
- 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;
- }
- }
- }
- prev = ch;
- }
- if (overflow && onOverflow)
- onOverflow();
- if (folds.length === 0)
- return text;
- if (onFold)
- onFold();
- let res = text.slice(0, folds[0]);
- for (let i = 0; i < folds.length; ++i) {
- const fold = folds[i];
- const end = folds[i + 1] || text.length;
- 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;
-}
-/**
- * Presumes `i + 1` is at the start of a line
- * @returns index of last newline in more-indented block
- */
-function consumeMoreIndentedLines(text, i) {
- let ch = text[i + 1];
- while (ch === ' ' || ch === '\t') {
- do {
- ch = text[(i += 1)];
- } while (ch && ch !== '\n');
- ch = text[i + 1];
- }
- return i;
-}
-
-exports.FOLD_BLOCK = FOLD_BLOCK;
-exports.FOLD_FLOW = FOLD_FLOW;
-exports.FOLD_QUOTED = FOLD_QUOTED;
-exports.foldFlowLines = foldFlowLines;
diff --git a/node_modules/yaml/dist/stringify/stringify.d.ts b/node_modules/yaml/dist/stringify/stringify.d.ts
deleted file mode 100644
index fe96889..0000000
--- a/node_modules/yaml/dist/stringify/stringify.d.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-import type { Document } from '../doc/Document.js';
-import type { Alias } from '../nodes/Alias.js';
-import type { ToStringOptions } from '../options.js';
-export declare type StringifyContext = {
- actualString?: boolean;
- allNullValues?: boolean;
- anchors: Set<string>;
- doc: Document;
- forceBlockIndent?: boolean;
- implicitKey?: boolean;
- indent: string;
- indentStep: string;
- indentAtStart?: number;
- inFlow: boolean | null;
- inStringifyKey?: boolean;
- options: Readonly<Required<Omit<ToStringOptions, 'collectionStyle' | 'indent'>>>;
- resolvedAliases?: Set<Alias>;
-};
-export declare function createStringifyContext(doc: Document, options: ToStringOptions): StringifyContext;
-export declare function stringify(item: unknown, ctx: StringifyContext, onComment?: () => void, onChompKeep?: () => void): string;
diff --git a/node_modules/yaml/dist/stringify/stringify.js b/node_modules/yaml/dist/stringify/stringify.js
deleted file mode 100644
index b6fd122..0000000
--- a/node_modules/yaml/dist/stringify/stringify.js
+++ /dev/null
@@ -1,127 +0,0 @@
-'use strict';
-
-var anchors = require('../doc/anchors.js');
-var Node = require('../nodes/Node.js');
-var stringifyComment = require('./stringifyComment.js');
-var stringifyString = require('./stringifyString.js');
-
-function createStringifyContext(doc, options) {
- const opt = Object.assign({
- blockQuote: true,
- commentString: stringifyComment.stringifyComment,
- defaultKeyType: null,
- defaultStringType: 'PLAIN',
- directives: null,
- doubleQuotedAsJSON: false,
- doubleQuotedMinMultiLineLength: 40,
- falseStr: 'false',
- indentSeq: true,
- lineWidth: 80,
- minContentWidth: 20,
- nullStr: 'null',
- simpleKeys: false,
- singleQuote: null,
- trueStr: 'true',
- verifyAliasOrder: true
- }, doc.schema.toStringOptions, options);
- let inFlow;
- switch (opt.collectionStyle) {
- case 'block':
- inFlow = false;
- break;
- case 'flow':
- inFlow = true;
- break;
- default:
- inFlow = null;
- }
- return {
- anchors: new Set(),
- doc,
- indent: '',
- indentStep: typeof opt.indent === 'number' ? ' '.repeat(opt.indent) : ' ',
- inFlow,
- options: opt
- };
-}
-function getTagObject(tags, item) {
- var _a, _b, _c, _d;
- if (item.tag) {
- const match = tags.filter(t => t.tag === item.tag);
- if (match.length > 0)
- return (_a = match.find(t => t.format === item.format)) !== null && _a !== void 0 ? _a : match[0];
- }
- let tagObj = undefined;
- let obj;
- if (Node.isScalar(item)) {
- obj = item.value;
- const match = tags.filter(t => { var _a; return (_a = t.identify) === null || _a === void 0 ? void 0 : _a.call(t, obj); });
- tagObj =
- (_b = match.find(t => t.format === item.format)) !== null && _b !== void 0 ? _b : match.find(t => !t.format);
- }
- else {
- obj = item;
- tagObj = tags.find(t => t.nodeClass && obj instanceof t.nodeClass);
- }
- if (!tagObj) {
- const name = (_d = (_c = obj === null || obj === void 0 ? void 0 : obj.constructor) === null || _c === void 0 ? void 0 : _c.name) !== null && _d !== void 0 ? _d : typeof obj;
- throw new Error(`Tag not resolved for ${name} value`);
- }
- return tagObj;
-}
-// needs to be called before value stringifier to allow for circular anchor refs
-function stringifyProps(node, tagObj, { anchors: anchors$1, doc }) {
- if (!doc.directives)
- return '';
- const props = [];
- const anchor = (Node.isScalar(node) || Node.isCollection(node)) && node.anchor;
- if (anchor && anchors.anchorIsValid(anchor)) {
- anchors$1.add(anchor);
- props.push(`&${anchor}`);
- }
- const tag = node.tag ? node.tag : tagObj.default ? null : tagObj.tag;
- if (tag)
- props.push(doc.directives.tagString(tag));
- return props.join(' ');
-}
-function stringify(item, ctx, onComment, onChompKeep) {
- var _a, _b;
- if (Node.isPair(item))
- return item.toString(ctx, onComment, onChompKeep);
- if (Node.isAlias(item)) {
- if (ctx.doc.directives)
- return item.toString(ctx);
- if ((_a = ctx.resolvedAliases) === null || _a === void 0 ? void 0 : _a.has(item)) {
- throw new TypeError(`Cannot stringify circular structure without alias nodes`);
- }
- else {
- if (ctx.resolvedAliases)
- ctx.resolvedAliases.add(item);
- else
- ctx.resolvedAliases = new Set([item]);
- item = item.resolve(ctx.doc);
- }
- }
- let tagObj = undefined;
- const node = Node.isNode(item)
- ? item
- : ctx.doc.createNode(item, { onTagObj: o => (tagObj = o) });
- if (!tagObj)
- tagObj = getTagObject(ctx.doc.schema.tags, node);
- const props = stringifyProps(node, tagObj, ctx);
- if (props.length > 0)
- ctx.indentAtStart = ((_b = ctx.indentAtStart) !== null && _b !== void 0 ? _b : 0) + props.length + 1;
- const str = typeof tagObj.stringify === 'function'
- ? tagObj.stringify(node, ctx, onComment, onChompKeep)
- : Node.isScalar(node)
- ? stringifyString.stringifyString(node, ctx, onComment, onChompKeep)
- : node.toString(ctx, onComment, onChompKeep);
- if (!props)
- return str;
- return Node.isScalar(node) || str[0] === '{' || str[0] === '['
- ? `${props} ${str}`
- : `${props}\n${ctx.indent}${str}`;
-}
-
-exports.createStringifyContext = createStringifyContext;
-exports.stringify = stringify;
diff --git a/node_modules/yaml/dist/stringify/stringifyCollection.d.ts b/node_modules/yaml/dist/stringify/stringifyCollection.d.ts
deleted file mode 100644
index 207d703..0000000
--- a/node_modules/yaml/dist/stringify/stringifyCollection.d.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-import { Collection } from '../nodes/Collection.js';
-import { StringifyContext } from './stringify.js';
-interface StringifyCollectionOptions {
- blockItemPrefix: string;
- flowChars: {
- start: '{';
- end: '}';
- } | {
- start: '[';
- end: ']';
- };
- itemIndent: string;
- onChompKeep?: () => void;
- onComment?: () => void;
-}
-export declare function stringifyCollection(collection: Readonly<Collection>, ctx: StringifyContext, options: StringifyCollectionOptions): string;
-export {};
diff --git a/node_modules/yaml/dist/stringify/stringifyCollection.js b/node_modules/yaml/dist/stringify/stringifyCollection.js
deleted file mode 100644
index 7fc848a..0000000
--- a/node_modules/yaml/dist/stringify/stringifyCollection.js
+++ /dev/null
@@ -1,154 +0,0 @@
-'use strict';
-
-var Collection = require('../nodes/Collection.js');
-var Node = require('../nodes/Node.js');
-var stringify = require('./stringify.js');
-var stringifyComment = require('./stringifyComment.js');
-
-function stringifyCollection(collection, ctx, options) {
- var _a;
- const flow = (_a = ctx.inFlow) !== null && _a !== void 0 ? _a : collection.flow;
- const stringify = flow ? stringifyFlowCollection : stringifyBlockCollection;
- return stringify(collection, ctx, options);
-}
-function stringifyBlockCollection({ comment, items }, ctx, { blockItemPrefix, flowChars, itemIndent, onChompKeep, onComment }) {
- const { indent, options: { commentString } } = ctx;
- const itemCtx = Object.assign({}, ctx, { indent: itemIndent, type: null });
- let chompKeep = false; // flag for the preceding node's status
- const lines = [];
- for (let i = 0; i < items.length; ++i) {
- const item = items[i];
- let comment = null;
- if (Node.isNode(item)) {
- if (!chompKeep && item.spaceBefore)
- lines.push('');
- addCommentBefore(ctx, lines, item.commentBefore, chompKeep);
- if (item.comment)
- comment = item.comment;
- }
- else if (Node.isPair(item)) {
- const ik = Node.isNode(item.key) ? item.key : null;
- if (ik) {
- if (!chompKeep && ik.spaceBefore)
- lines.push('');
- addCommentBefore(ctx, lines, ik.commentBefore, chompKeep);
- }
- }
- chompKeep = false;
- let str = stringify.stringify(item, itemCtx, () => (comment = null), () => (chompKeep = true));
- if (comment)
- str += stringifyComment.lineComment(str, itemIndent, commentString(comment));
- if (chompKeep && comment)
- chompKeep = false;
- lines.push(blockItemPrefix + str);
- }
- let str;
- if (lines.length === 0) {
- str = flowChars.start + flowChars.end;
- }
- else {
- str = lines[0];
- for (let i = 1; i < lines.length; ++i) {
- const line = lines[i];
- str += line ? `\n${indent}${line}` : '\n';
- }
- }
- if (comment) {
- str += '\n' + stringifyComment.indentComment(commentString(comment), indent);
- if (onComment)
- onComment();
- }
- else if (chompKeep && onChompKeep)
- onChompKeep();
- return str;
-}
-function stringifyFlowCollection({ comment, items }, ctx, { flowChars, itemIndent, onComment }) {
- const { indent, indentStep, options: { commentString } } = ctx;
- itemIndent += indentStep;
- const itemCtx = Object.assign({}, ctx, {
- indent: itemIndent,
- inFlow: true,
- type: null
- });
- let reqNewline = false;
- let linesAtValue = 0;
- const lines = [];
- for (let i = 0; i < items.length; ++i) {
- const item = items[i];
- let comment = null;
- if (Node.isNode(item)) {
- if (item.spaceBefore)
- lines.push('');
- addCommentBefore(ctx, lines, item.commentBefore, false);
- if (item.comment)
- comment = item.comment;
- }
- else if (Node.isPair(item)) {
- const ik = Node.isNode(item.key) ? item.key : null;
- if (ik) {
- if (ik.spaceBefore)
- lines.push('');
- addCommentBefore(ctx, lines, ik.commentBefore, false);
- if (ik.comment)
- reqNewline = true;
- }
- const iv = Node.isNode(item.value) ? item.value : null;
- if (iv) {
- if (iv.comment)
- comment = iv.comment;
- if (iv.commentBefore)
- reqNewline = true;
- }
- else if (item.value == null && ik && ik.comment) {
- comment = ik.comment;
- }
- }
- if (comment)
- reqNewline = true;
- let str = stringify.stringify(item, itemCtx, () => (comment = null));
- if (i < items.length - 1)
- str += ',';
- if (comment)
- str += stringifyComment.lineComment(str, itemIndent, commentString(comment));
- if (!reqNewline && (lines.length > linesAtValue || str.includes('\n')))
- reqNewline = true;
- lines.push(str);
- linesAtValue = lines.length;
- }
- let str;
- const { start, end } = flowChars;
- if (lines.length === 0) {
- str = start + end;
- }
- else {
- if (!reqNewline) {
- const len = lines.reduce((sum, line) => sum + line.length + 2, 2);
- reqNewline = len > Collection.Collection.maxFlowStringSingleLineLength;
- }
- if (reqNewline) {
- str = start;
- for (const line of lines)
- str += line ? `\n${indentStep}${indent}${line}` : '\n';
- str += `\n${indent}${end}`;
- }
- else {
- str = `${start} ${lines.join(' ')} ${end}`;
- }
- }
- if (comment) {
- str += stringifyComment.lineComment(str, commentString(comment), indent);
- if (onComment)
- onComment();
- }
- return str;
-}
-function addCommentBefore({ indent, options: { commentString } }, lines, comment, chompKeep) {
- if (comment && chompKeep)
- comment = comment.replace(/^\n+/, '');
- if (comment) {
- const ic = stringifyComment.indentComment(commentString(comment), indent);
- lines.push(ic.trimStart()); // Avoid double indent on first line
- }
-}
-
-exports.stringifyCollection = stringifyCollection;
diff --git a/node_modules/yaml/dist/stringify/stringifyComment.d.ts b/node_modules/yaml/dist/stringify/stringifyComment.d.ts
deleted file mode 100644
index 9fcf48d..0000000
--- a/node_modules/yaml/dist/stringify/stringifyComment.d.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-/**
- * Stringifies a comment.
- *
- * Empty comment lines are left empty,
- * lines consisting of a single space are replaced by `#`,
- * and all other lines are prefixed with a `#`.
- */
-export declare const stringifyComment: (str: string) => string;
-export declare function indentComment(comment: string, indent: string): string;
-export declare const lineComment: (str: string, indent: string, comment: string) => string;
diff --git a/node_modules/yaml/dist/stringify/stringifyComment.js b/node_modules/yaml/dist/stringify/stringifyComment.js
deleted file mode 100644
index 26bf361..0000000
--- a/node_modules/yaml/dist/stringify/stringifyComment.js
+++ /dev/null
@@ -1,24 +0,0 @@
-'use strict';
-
-/**
- * Stringifies a comment.
- *
- * Empty comment lines are left empty,
- * lines consisting of a single space are replaced by `#`,
- * and all other lines are prefixed with a `#`.
- */
-const stringifyComment = (str) => str.replace(/^(?!$)(?: $)?/gm, '#');
-function indentComment(comment, indent) {
- if (/^\n+$/.test(comment))
- return comment.substring(1);
- return indent ? comment.replace(/^(?! *$)/gm, indent) : comment;
-}
-const lineComment = (str, indent, comment) => str.endsWith('\n')
- ? indentComment(comment, indent)
- : comment.includes('\n')
- ? '\n' + indentComment(comment, indent)
- : (str.endsWith(' ') ? '' : ' ') + comment;
-
-exports.indentComment = indentComment;
-exports.lineComment = lineComment;
-exports.stringifyComment = stringifyComment;
diff --git a/node_modules/yaml/dist/stringify/stringifyDocument.d.ts b/node_modules/yaml/dist/stringify/stringifyDocument.d.ts
deleted file mode 100644
index fb0633c..0000000
--- a/node_modules/yaml/dist/stringify/stringifyDocument.d.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-import { Document } from '../doc/Document.js';
-import { ToStringOptions } from '../options.js';
-export declare function stringifyDocument(doc: Readonly<Document>, options: ToStringOptions): string;
diff --git a/node_modules/yaml/dist/stringify/stringifyDocument.js b/node_modules/yaml/dist/stringify/stringifyDocument.js
deleted file mode 100644
index ead7df6..0000000
--- a/node_modules/yaml/dist/stringify/stringifyDocument.js
+++ /dev/null
@@ -1,88 +0,0 @@
-'use strict';
-
-var Node = require('../nodes/Node.js');
-var stringify = require('./stringify.js');
-var stringifyComment = require('./stringifyComment.js');
-
-function stringifyDocument(doc, options) {
- var _a;
- const lines = [];
- let hasDirectives = options.directives === true;
- if (options.directives !== false && doc.directives) {
- const dir = doc.directives.toString(doc);
- if (dir) {
- lines.push(dir);
- hasDirectives = true;
- }
- else if (doc.directives.docStart)
- hasDirectives = true;
- }
- if (hasDirectives)
- lines.push('---');
- const ctx = stringify.createStringifyContext(doc, options);
- const { commentString } = ctx.options;
- if (doc.commentBefore) {
- if (lines.length !== 1)
- lines.unshift('');
- const cs = commentString(doc.commentBefore);
- lines.unshift(stringifyComment.indentComment(cs, ''));
- }
- let chompKeep = false;
- let contentComment = null;
- if (doc.contents) {
- if (Node.isNode(doc.contents)) {
- if (doc.contents.spaceBefore && hasDirectives)
- lines.push('');
- if (doc.contents.commentBefore) {
- const cs = commentString(doc.contents.commentBefore);
- lines.push(stringifyComment.indentComment(cs, ''));
- }
- // top-level block scalars need to be indented if followed by a comment
- ctx.forceBlockIndent = !!doc.comment;
- contentComment = doc.contents.comment;
- }
- const onChompKeep = contentComment ? undefined : () => (chompKeep = true);
- let body = stringify.stringify(doc.contents, ctx, () => (contentComment = null), onChompKeep);
- if (contentComment)
- body += stringifyComment.lineComment(body, '', commentString(contentComment));
- if ((body[0] === '|' || body[0] === '>') &&
- lines[lines.length - 1] === '---') {
- // Top-level block scalars with a preceding doc marker ought to use the
- // same line for their header.
- lines[lines.length - 1] = `--- ${body}`;
- }
- else
- lines.push(body);
- }
- else {
- lines.push(stringify.stringify(doc.contents, ctx));
- }
- if ((_a = doc.directives) === null || _a === void 0 ? void 0 : _a.docEnd) {
- if (doc.comment) {
- const cs = commentString(doc.comment);
- if (cs.includes('\n')) {
- lines.push('...');
- lines.push(stringifyComment.indentComment(cs, ''));
- }
- else {
- lines.push(`... ${cs}`);
- }
- }
- else {
- lines.push('...');
- }
- }
- else {
- let dc = doc.comment;
- if (dc && chompKeep)
- dc = dc.replace(/^\n+/, '');
- if (dc) {
- if ((!chompKeep || contentComment) && lines[lines.length - 1] !== '')
- lines.push('');
- lines.push(stringifyComment.indentComment(commentString(dc), ''));
- }
- }
- return lines.join('\n') + '\n';
-}
-
-exports.stringifyDocument = stringifyDocument;
diff --git a/node_modules/yaml/dist/stringify/stringifyNumber.d.ts b/node_modules/yaml/dist/stringify/stringifyNumber.d.ts
deleted file mode 100644
index 3c14df1..0000000
--- a/node_modules/yaml/dist/stringify/stringifyNumber.d.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-import type { Scalar } from '../nodes/Scalar.js';
-export declare function stringifyNumber({ format, minFractionDigits, tag, value }: Scalar): string;
diff --git a/node_modules/yaml/dist/stringify/stringifyNumber.js b/node_modules/yaml/dist/stringify/stringifyNumber.js
deleted file mode 100644
index 4118ff6..0000000
--- a/node_modules/yaml/dist/stringify/stringifyNumber.js
+++ /dev/null
@@ -1,26 +0,0 @@
-'use strict';
-
-function stringifyNumber({ format, minFractionDigits, tag, value }) {
- if (typeof value === 'bigint')
- return String(value);
- const num = typeof value === 'number' ? value : Number(value);
- if (!isFinite(num))
- return isNaN(num) ? '.nan' : num < 0 ? '-.inf' : '.inf';
- let n = JSON.stringify(value);
- if (!format &&
- minFractionDigits &&
- (!tag || tag === 'tag:yaml.org,2002:float') &&
- /^\d/.test(n)) {
- let i = n.indexOf('.');
- if (i < 0) {
- i = n.length;
- n += '.';
- }
- let d = minFractionDigits - (n.length - i - 1);
- while (d-- > 0)
- n += '0';
- }
- return n;
-}
-
-exports.stringifyNumber = stringifyNumber;
diff --git a/node_modules/yaml/dist/stringify/stringifyPair.d.ts b/node_modules/yaml/dist/stringify/stringifyPair.d.ts
deleted file mode 100644
index c512149..0000000
--- a/node_modules/yaml/dist/stringify/stringifyPair.d.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-import type { Pair } from '../nodes/Pair.js';
-import { StringifyContext } from './stringify.js';
-export declare function stringifyPair({ key, value }: Readonly<Pair>, ctx: StringifyContext, onComment?: () => void, onChompKeep?: () => void): string;
diff --git a/node_modules/yaml/dist/stringify/stringifyPair.js b/node_modules/yaml/dist/stringify/stringifyPair.js
deleted file mode 100644
index f48a053..0000000
--- a/node_modules/yaml/dist/stringify/stringifyPair.js
+++ /dev/null
@@ -1,127 +0,0 @@
-'use strict';
-
-var Node = require('../nodes/Node.js');
-var Scalar = require('../nodes/Scalar.js');
-var stringify = require('./stringify.js');
-var stringifyComment = require('./stringifyComment.js');
-
-function stringifyPair({ key, value }, ctx, onComment, onChompKeep) {
- const { allNullValues, doc, indent, indentStep, options: { commentString, indentSeq, simpleKeys } } = ctx;
- let keyComment = (Node.isNode(key) && key.comment) || null;
- if (simpleKeys) {
- if (keyComment) {
- throw new Error('With simple keys, key nodes cannot have comments');
- }
- if (Node.isCollection(key)) {
- const msg = 'With simple keys, collection cannot be used as a key value';
- throw new Error(msg);
- }
- }
- let explicitKey = !simpleKeys &&
- (!key ||
- (keyComment && value == null && !ctx.inFlow) ||
- Node.isCollection(key) ||
- (Node.isScalar(key)
- ? key.type === Scalar.Scalar.BLOCK_FOLDED || key.type === Scalar.Scalar.BLOCK_LITERAL
- : typeof key === 'object'));
- ctx = Object.assign({}, ctx, {
- allNullValues: false,
- implicitKey: !explicitKey && (simpleKeys || !allNullValues),
- indent: indent + indentStep
- });
- let keyCommentDone = false;
- let chompKeep = false;
- let str = stringify.stringify(key, ctx, () => (keyCommentDone = true), () => (chompKeep = true));
- if (!explicitKey && !ctx.inFlow && 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.inFlow) {
- if (allNullValues || value == null) {
- if (keyCommentDone && onComment)
- onComment();
- return str === '' ? '?' : explicitKey ? `? ${str}` : str;
- }
- }
- else if ((allNullValues && !simpleKeys) || (value == null && explicitKey)) {
- str = `? ${str}`;
- if (keyComment && !keyCommentDone) {
- str += stringifyComment.lineComment(str, ctx.indent, commentString(keyComment));
- }
- else if (chompKeep && onChompKeep)
- onChompKeep();
- return str;
- }
- if (keyCommentDone)
- keyComment = null;
- if (explicitKey) {
- if (keyComment)
- str += stringifyComment.lineComment(str, ctx.indent, commentString(keyComment));
- str = `? ${str}\n${indent}:`;
- }
- else {
- str = `${str}:`;
- if (keyComment)
- str += stringifyComment.lineComment(str, ctx.indent, commentString(keyComment));
- }
- let vcb = '';
- let valueComment = null;
- if (Node.isNode(value)) {
- if (value.spaceBefore)
- vcb = '\n';
- if (value.commentBefore) {
- const cs = commentString(value.commentBefore);
- vcb += `\n${stringifyComment.indentComment(cs, ctx.indent)}`;
- }
- valueComment = value.comment;
- }
- else if (value && typeof value === 'object') {
- value = doc.createNode(value);
- }
- ctx.implicitKey = false;
- if (!explicitKey && !keyComment && Node.isScalar(value))
- ctx.indentAtStart = str.length + 1;
- chompKeep = false;
- if (!indentSeq &&
- indentStep.length >= 2 &&
- !ctx.inFlow &&
- !explicitKey &&
- Node.isSeq(value) &&
- !value.flow &&
- !value.tag &&
- !value.anchor) {
- // If indentSeq === false, consider '- ' as part of indentation where possible
- ctx.indent = ctx.indent.substr(2);
- }
- let valueCommentDone = false;
- const valueStr = stringify.stringify(value, ctx, () => (valueCommentDone = true), () => (chompKeep = true));
- let ws = ' ';
- if (vcb || keyComment) {
- if (valueStr === '' && !ctx.inFlow)
- ws = vcb === '\n' ? '\n\n' : vcb;
- else
- ws = `${vcb}\n${ctx.indent}`;
- }
- else if (!explicitKey && Node.isCollection(value)) {
- const flow = valueStr[0] === '[' || valueStr[0] === '{';
- if (!flow || valueStr.includes('\n'))
- ws = `\n${ctx.indent}`;
- }
- else if (valueStr === '' || valueStr[0] === '\n')
- ws = '';
- str += ws + valueStr;
- if (ctx.inFlow) {
- if (valueCommentDone && onComment)
- onComment();
- }
- else if (valueComment && !valueCommentDone) {
- str += stringifyComment.lineComment(str, ctx.indent, commentString(valueComment));
- }
- else if (chompKeep && onChompKeep) {
- onChompKeep();
- }
- return str;
-}
-
-exports.stringifyPair = stringifyPair;
diff --git a/node_modules/yaml/dist/stringify/stringifyString.d.ts b/node_modules/yaml/dist/stringify/stringifyString.d.ts
deleted file mode 100644
index a9904b9..0000000
--- a/node_modules/yaml/dist/stringify/stringifyString.d.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-import { Scalar } from '../nodes/Scalar.js';
-import type { StringifyContext } from './stringify.js';
-export declare function stringifyString(item: Scalar, ctx: StringifyContext, onComment?: () => void, onChompKeep?: () => void): string;
diff --git a/node_modules/yaml/dist/stringify/stringifyString.js b/node_modules/yaml/dist/stringify/stringifyString.js
deleted file mode 100644
index 8a41503..0000000
--- a/node_modules/yaml/dist/stringify/stringifyString.js
+++ /dev/null
@@ -1,316 +0,0 @@
-'use strict';
-
-var Scalar = require('../nodes/Scalar.js');
-var foldFlowLines = require('./foldFlowLines.js');
-
-const getFoldOptions = (ctx) => ({
- indentAtStart: ctx.indentAtStart,
- lineWidth: ctx.options.lineWidth,
- minContentWidth: ctx.options.minContentWidth
-});
-// Also checks for lines starting with %, as parsing the output as YAML 1.1 will
-// presume that's starting a new document.
-const containsDocumentMarker = (str) => /^(%|---|\.\.\.)/m.test(str);
-function lineLengthOverLimit(str, lineWidth, indentLength) {
- if (!lineWidth || lineWidth < 0)
- return false;
- const limit = lineWidth - indentLength;
- const strLen = str.length;
- if (strLen <= limit)
- return false;
- for (let i = 0, start = 0; i < strLen; ++i) {
- if (str[i] === '\n') {
- if (i - start > limit)
- return true;
- start = i + 1;
- if (strLen - start <= limit)
- return false;
- }
- }
- return true;
-}
-function doubleQuotedString(value, ctx) {
- const json = JSON.stringify(value);
- if (ctx.options.doubleQuotedAsJSON)
- return json;
- const { implicitKey } = ctx;
- const minMultiLineLength = ctx.options.doubleQuotedMinMultiLineLength;
- const indent = ctx.indent || (containsDocumentMarker(value) ? ' ' : '');
- let str = '';
- let start = 0;
- for (let i = 0, ch = json[i]; ch; ch = json[++i]) {
- if (ch === ' ' && json[i + 1] === '\\' && json[i + 2] === 'n') {
- // space before newline needs to be escaped to not be folded
- str += json.slice(start, i) + '\\ ';
- i += 1;
- start = i;
- ch = '\\';
- }
- if (ch === '\\')
- switch (json[i + 1]) {
- case 'u':
- {
- str += json.slice(start, i);
- const code = json.substr(i + 2, 4);
- switch (code) {
- case '0000':
- str += '\\0';
- break;
- case '0007':
- str += '\\a';
- break;
- case '000b':
- str += '\\v';
- break;
- case '001b':
- str += '\\e';
- break;
- case '0085':
- str += '\\N';
- break;
- case '00a0':
- str += '\\_';
- break;
- case '2028':
- str += '\\L';
- break;
- case '2029':
- str += '\\P';
- break;
- default:
- if (code.substr(0, 2) === '00')
- str += '\\x' + code.substr(2);
- else
- str += json.substr(i, 6);
- }
- i += 5;
- start = i + 1;
- }
- break;
- case 'n':
- if (implicitKey ||
- json[i + 2] === '"' ||
- json.length < minMultiLineLength) {
- i += 1;
- }
- else {
- // folding will eat first newline
- str += json.slice(start, i) + '\n\n';
- while (json[i + 2] === '\\' &&
- json[i + 3] === 'n' &&
- json[i + 4] !== '"') {
- str += '\n';
- i += 2;
- }
- str += indent;
- // space after newline needs to be escaped to not be folded
- if (json[i + 2] === ' ')
- str += '\\';
- i += 1;
- start = i + 1;
- }
- break;
- default:
- i += 1;
- }
- }
- str = start ? str + json.slice(start) : json;
- return implicitKey
- ? str
- : foldFlowLines.foldFlowLines(str, indent, foldFlowLines.FOLD_QUOTED, getFoldOptions(ctx));
-}
-function singleQuotedString(value, ctx) {
- if (ctx.options.singleQuote === false ||
- (ctx.implicitKey && value.includes('\n')) ||
- /[ \t]\n|\n[ \t]/.test(value) // single quoted string can't have leading or trailing whitespace around newline
- )
- return doubleQuotedString(value, ctx);
- const indent = ctx.indent || (containsDocumentMarker(value) ? ' ' : '');
- const res = "'" + value.replace(/'/g, "''").replace(/\n+/g, `$&\n${indent}`) + "'";
- return ctx.implicitKey
- ? res
- : foldFlowLines.foldFlowLines(res, indent, foldFlowLines.FOLD_FLOW, getFoldOptions(ctx));
-}
-function quotedString(value, ctx) {
- const { singleQuote } = ctx.options;
- let qs;
- if (singleQuote === false)
- qs = doubleQuotedString;
- else {
- const hasDouble = value.includes('"');
- const hasSingle = value.includes("'");
- if (hasDouble && !hasSingle)
- qs = singleQuotedString;
- else if (hasSingle && !hasDouble)
- qs = doubleQuotedString;
- else
- qs = singleQuote ? singleQuotedString : doubleQuotedString;
- }
- return qs(value, ctx);
-}
-function blockString({ comment, type, value }, ctx, onComment, onChompKeep) {
- const { blockQuote, commentString, lineWidth } = ctx.options;
- // 1. Block can't end in whitespace unless the last line is non-empty.
- // 2. Strings consisting of only whitespace are best rendered explicitly.
- if (!blockQuote || /\n[\t ]+$/.test(value) || /^\s*$/.test(value)) {
- return quotedString(value, ctx);
- }
- const indent = ctx.indent ||
- (ctx.forceBlockIndent || containsDocumentMarker(value) ? ' ' : '');
- const literal = blockQuote === 'literal'
- ? true
- : blockQuote === 'folded' || type === Scalar.Scalar.BLOCK_FOLDED
- ? false
- : type === Scalar.Scalar.BLOCK_LITERAL
- ? true
- : !lineLengthOverLimit(value, lineWidth, indent.length);
- if (!value)
- return literal ? '|\n' : '>\n';
- // determine chomping from whitespace at value end
- let chomp;
- let endStart;
- for (endStart = value.length; endStart > 0; --endStart) {
- const ch = value[endStart - 1];
- if (ch !== '\n' && ch !== '\t' && ch !== ' ')
- break;
- }
- let end = value.substring(endStart);
- const endNlPos = end.indexOf('\n');
- if (endNlPos === -1) {
- chomp = '-'; // strip
- }
- else if (value === end || endNlPos !== end.length - 1) {
- chomp = '+'; // keep
- if (onChompKeep)
- onChompKeep();
- }
- else {
- chomp = ''; // clip
- }
- if (end) {
- value = value.slice(0, -end.length);
- if (end[end.length - 1] === '\n')
- end = end.slice(0, -1);
- end = end.replace(/\n+(?!\n|$)/g, `$&${indent}`);
- }
- // determine indent indicator from whitespace at value start
- let startWithSpace = false;
- let startEnd;
- let startNlPos = -1;
- for (startEnd = 0; startEnd < value.length; ++startEnd) {
- const ch = value[startEnd];
- if (ch === ' ')
- startWithSpace = true;
- else if (ch === '\n')
- startNlPos = startEnd;
- else
- break;
- }
- let start = value.substring(0, startNlPos < startEnd ? startNlPos + 1 : startEnd);
- if (start) {
- value = value.substring(start.length);
- start = start.replace(/\n+/g, `$&${indent}`);
- }
- const indentSize = indent ? '2' : '1'; // root is at -1
- let header = (literal ? '|' : '>') + (startWithSpace ? indentSize : '') + chomp;
- if (comment) {
- header += ' ' + commentString(comment.replace(/ ?[\r\n]+/g, ' '));
- if (onComment)
- onComment();
- }
- if (literal) {
- value = value.replace(/\n+/g, `$&${indent}`);
- return `${header}\n${indent}${start}${value}${end}`;
- }
- value = value
- .replace(/\n+/g, '\n$&')
- .replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g, '$1$2') // more-indented lines aren't folded
- // ^ more-ind. ^ empty ^ capture next empty lines only at end of indent
- .replace(/\n+/g, `$&${indent}`);
- const body = foldFlowLines.foldFlowLines(`${start}${value}${end}`, indent, foldFlowLines.FOLD_BLOCK, getFoldOptions(ctx));
- return `${header}\n${indent}${body}`;
-}
-function plainString(item, ctx, onComment, onChompKeep) {
- const { type, value } = item;
- const { actualString, implicitKey, indent, inFlow } = ctx;
- if ((implicitKey && /[\n[\]{},]/.test(value)) ||
- (inFlow && /[[\]{},]/.test(value))) {
- return quotedString(value, ctx);
- }
- if (!value ||
- /^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(value)) {
- // not allowed:
- // - empty string, '-' or '?'
- // - start with an indicator character (except [?:-]) or /[?-] /
- // - '\n ', ': ' or ' \n' anywhere
- // - '#' not preceded by a non-space char
- // - end with ' ' or ':'
- return implicitKey || inFlow || !value.includes('\n')
- ? quotedString(value, ctx)
- : blockString(item, ctx, onComment, onChompKeep);
- }
- if (!implicitKey &&
- !inFlow &&
- type !== Scalar.Scalar.PLAIN &&
- value.includes('\n')) {
- // Where allowed & type not set explicitly, prefer block style for multiline strings
- return blockString(item, ctx, onComment, onChompKeep);
- }
- if (indent === '' && containsDocumentMarker(value)) {
- ctx.forceBlockIndent = true;
- return blockString(item, ctx, onComment, onChompKeep);
- }
- const str = value.replace(/\n+/g, `$&\n${indent}`);
- // Verify that output will be parsed as a string, as e.g. plain numbers and
- // booleans get parsed with those types in v1.2 (e.g. '42', 'true' & '0.9e-3'),
- // and others in v1.1.
- if (actualString) {
- const test = (tag) => { var _a; return tag.default && tag.tag !== 'tag:yaml.org,2002:str' && ((_a = tag.test) === null || _a === void 0 ? void 0 : _a.test(str)); };
- const { compat, tags } = ctx.doc.schema;
- if (tags.some(test) || (compat === null || compat === void 0 ? void 0 : compat.some(test)))
- return quotedString(value, ctx);
- }
- return implicitKey
- ? str
- : foldFlowLines.foldFlowLines(str, indent, foldFlowLines.FOLD_FLOW, getFoldOptions(ctx));
-}
-function stringifyString(item, ctx, onComment, onChompKeep) {
- const { implicitKey, inFlow } = ctx;
- const ss = typeof item.value === 'string'
- ? item
- : Object.assign({}, item, { value: String(item.value) });
- let { type } = item;
- if (type !== Scalar.Scalar.QUOTE_DOUBLE) {
- // force double quotes on control characters & unpaired surrogates
- if (/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(ss.value))
- type = Scalar.Scalar.QUOTE_DOUBLE;
- }
- const _stringify = (_type) => {
- switch (_type) {
- case Scalar.Scalar.BLOCK_FOLDED:
- case Scalar.Scalar.BLOCK_LITERAL:
- return implicitKey || inFlow
- ? quotedString(ss.value, ctx) // blocks are not valid inside flow containers
- : blockString(ss, ctx, onComment, onChompKeep);
- case Scalar.Scalar.QUOTE_DOUBLE:
- return doubleQuotedString(ss.value, ctx);
- case Scalar.Scalar.QUOTE_SINGLE:
- return singleQuotedString(ss.value, ctx);
- case Scalar.Scalar.PLAIN:
- return plainString(ss, ctx, onComment, onChompKeep);
- default:
- return null;
- }
- };
- let res = _stringify(type);
- if (res === null) {
- const { defaultKeyType, defaultStringType } = ctx.options;
- const t = (implicitKey && defaultKeyType) || defaultStringType;
- res = _stringify(t);
- if (res === null)
- throw new Error(`Unsupported default string type ${t}`);
- }
- return res;
-}
-
-exports.stringifyString = stringifyString;