mirror of
https://github.com/deployphp/action.git
synced 2025-06-29 12:44:14 +00:00
Add node_modules
This commit is contained in:
parent
e1f786311a
commit
554eb0b122
994 changed files with 195567 additions and 0 deletions
127
node_modules/yaml/dist/stringify/stringify.js
generated
vendored
Normal file
127
node_modules/yaml/dist/stringify/stringify.js
generated
vendored
Normal file
|
@ -0,0 +1,127 @@
|
|||
'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',
|
||||
flowCollectionPadding: true,
|
||||
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,
|
||||
flowCollectionPadding: opt.flowCollectionPadding ? ' ' : '',
|
||||
indent: '',
|
||||
indentStep: typeof opt.indent === 'number' ? ' '.repeat(opt.indent) : ' ',
|
||||
inFlow,
|
||||
options: opt
|
||||
};
|
||||
}
|
||||
function getTagObject(tags, item) {
|
||||
if (item.tag) {
|
||||
const match = tags.filter(t => t.tag === item.tag);
|
||||
if (match.length > 0)
|
||||
return match.find(t => t.format === item.format) ?? match[0];
|
||||
}
|
||||
let tagObj = undefined;
|
||||
let obj;
|
||||
if (Node.isScalar(item)) {
|
||||
obj = item.value;
|
||||
const match = tags.filter(t => t.identify?.(obj));
|
||||
tagObj =
|
||||
match.find(t => t.format === item.format) ?? match.find(t => !t.format);
|
||||
}
|
||||
else {
|
||||
obj = item;
|
||||
tagObj = tags.find(t => t.nodeClass && obj instanceof t.nodeClass);
|
||||
}
|
||||
if (!tagObj) {
|
||||
const name = obj?.constructor?.name ?? 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) {
|
||||
if (Node.isPair(item))
|
||||
return item.toString(ctx, onComment, onChompKeep);
|
||||
if (Node.isAlias(item)) {
|
||||
if (ctx.doc.directives)
|
||||
return item.toString(ctx);
|
||||
if (ctx.resolvedAliases?.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 = (ctx.indentAtStart ?? 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;
|
Loading…
Add table
Add a link
Reference in a new issue