phantom-pr 0.2.5 → 0.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/index/indexer.js +3 -1
- package/dist/core/index/indexer.js.map +1 -1
- package/package.json +3 -7
- package/node_modules/ignore/LICENSE-MIT +0 -21
- package/node_modules/ignore/README.md +0 -452
- package/node_modules/ignore/index.d.ts +0 -81
- package/node_modules/ignore/index.js +0 -784
- package/node_modules/ignore/legacy.js +0 -681
- package/node_modules/ignore/package.json +0 -87
- package/node_modules/yaml/LICENSE +0 -13
- package/node_modules/yaml/README.md +0 -172
- package/node_modules/yaml/bin.mjs +0 -11
- package/node_modules/yaml/browser/dist/compose/compose-collection.js +0 -88
- package/node_modules/yaml/browser/dist/compose/compose-doc.js +0 -43
- package/node_modules/yaml/browser/dist/compose/compose-node.js +0 -102
- package/node_modules/yaml/browser/dist/compose/compose-scalar.js +0 -86
- package/node_modules/yaml/browser/dist/compose/composer.js +0 -217
- package/node_modules/yaml/browser/dist/compose/resolve-block-map.js +0 -115
- package/node_modules/yaml/browser/dist/compose/resolve-block-scalar.js +0 -198
- package/node_modules/yaml/browser/dist/compose/resolve-block-seq.js +0 -49
- package/node_modules/yaml/browser/dist/compose/resolve-end.js +0 -37
- package/node_modules/yaml/browser/dist/compose/resolve-flow-collection.js +0 -207
- package/node_modules/yaml/browser/dist/compose/resolve-flow-scalar.js +0 -223
- package/node_modules/yaml/browser/dist/compose/resolve-props.js +0 -146
- package/node_modules/yaml/browser/dist/compose/util-contains-newline.js +0 -34
- package/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.js +0 -26
- package/node_modules/yaml/browser/dist/compose/util-flow-indent-check.js +0 -15
- package/node_modules/yaml/browser/dist/compose/util-map-includes.js +0 -13
- package/node_modules/yaml/browser/dist/doc/Document.js +0 -335
- package/node_modules/yaml/browser/dist/doc/anchors.js +0 -71
- package/node_modules/yaml/browser/dist/doc/applyReviver.js +0 -55
- package/node_modules/yaml/browser/dist/doc/createNode.js +0 -88
- package/node_modules/yaml/browser/dist/doc/directives.js +0 -176
- package/node_modules/yaml/browser/dist/errors.js +0 -57
- package/node_modules/yaml/browser/dist/index.js +0 -17
- package/node_modules/yaml/browser/dist/log.js +0 -11
- package/node_modules/yaml/browser/dist/nodes/Alias.js +0 -114
- package/node_modules/yaml/browser/dist/nodes/Collection.js +0 -147
- package/node_modules/yaml/browser/dist/nodes/Node.js +0 -38
- package/node_modules/yaml/browser/dist/nodes/Pair.js +0 -36
- package/node_modules/yaml/browser/dist/nodes/Scalar.js +0 -24
- package/node_modules/yaml/browser/dist/nodes/YAMLMap.js +0 -144
- package/node_modules/yaml/browser/dist/nodes/YAMLSeq.js +0 -113
- package/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js +0 -63
- package/node_modules/yaml/browser/dist/nodes/identity.js +0 -36
- package/node_modules/yaml/browser/dist/nodes/toJS.js +0 -37
- package/node_modules/yaml/browser/dist/parse/cst-scalar.js +0 -214
- package/node_modules/yaml/browser/dist/parse/cst-stringify.js +0 -61
- package/node_modules/yaml/browser/dist/parse/cst-visit.js +0 -97
- package/node_modules/yaml/browser/dist/parse/cst.js +0 -98
- package/node_modules/yaml/browser/dist/parse/lexer.js +0 -717
- package/node_modules/yaml/browser/dist/parse/line-counter.js +0 -39
- package/node_modules/yaml/browser/dist/parse/parser.js +0 -967
- package/node_modules/yaml/browser/dist/public-api.js +0 -102
- package/node_modules/yaml/browser/dist/schema/Schema.js +0 -37
- package/node_modules/yaml/browser/dist/schema/common/map.js +0 -17
- package/node_modules/yaml/browser/dist/schema/common/null.js +0 -15
- package/node_modules/yaml/browser/dist/schema/common/seq.js +0 -17
- package/node_modules/yaml/browser/dist/schema/common/string.js +0 -14
- package/node_modules/yaml/browser/dist/schema/core/bool.js +0 -19
- package/node_modules/yaml/browser/dist/schema/core/float.js +0 -43
- package/node_modules/yaml/browser/dist/schema/core/int.js +0 -38
- package/node_modules/yaml/browser/dist/schema/core/schema.js +0 -23
- package/node_modules/yaml/browser/dist/schema/json/schema.js +0 -62
- package/node_modules/yaml/browser/dist/schema/tags.js +0 -96
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js +0 -58
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/bool.js +0 -26
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/float.js +0 -46
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/int.js +0 -71
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/merge.js +0 -64
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/omap.js +0 -74
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js +0 -78
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/schema.js +0 -39
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/set.js +0 -93
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js +0 -101
- package/node_modules/yaml/browser/dist/stringify/foldFlowLines.js +0 -146
- package/node_modules/yaml/browser/dist/stringify/stringify.js +0 -128
- package/node_modules/yaml/browser/dist/stringify/stringifyCollection.js +0 -143
- package/node_modules/yaml/browser/dist/stringify/stringifyComment.js +0 -20
- package/node_modules/yaml/browser/dist/stringify/stringifyDocument.js +0 -85
- package/node_modules/yaml/browser/dist/stringify/stringifyNumber.js +0 -24
- package/node_modules/yaml/browser/dist/stringify/stringifyPair.js +0 -150
- package/node_modules/yaml/browser/dist/stringify/stringifyString.js +0 -336
- package/node_modules/yaml/browser/dist/util.js +0 -11
- package/node_modules/yaml/browser/dist/visit.js +0 -233
- package/node_modules/yaml/browser/index.js +0 -5
- package/node_modules/yaml/browser/package.json +0 -3
- package/node_modules/yaml/dist/cli.d.ts +0 -8
- package/node_modules/yaml/dist/cli.mjs +0 -201
- package/node_modules/yaml/dist/compose/compose-collection.d.ts +0 -11
- package/node_modules/yaml/dist/compose/compose-collection.js +0 -90
- package/node_modules/yaml/dist/compose/compose-doc.d.ts +0 -7
- package/node_modules/yaml/dist/compose/compose-doc.js +0 -45
- package/node_modules/yaml/dist/compose/compose-node.d.ts +0 -29
- package/node_modules/yaml/dist/compose/compose-node.js +0 -105
- package/node_modules/yaml/dist/compose/compose-scalar.d.ts +0 -5
- package/node_modules/yaml/dist/compose/compose-scalar.js +0 -88
- package/node_modules/yaml/dist/compose/composer.d.ts +0 -63
- package/node_modules/yaml/dist/compose/composer.js +0 -222
- package/node_modules/yaml/dist/compose/resolve-block-map.d.ts +0 -6
- package/node_modules/yaml/dist/compose/resolve-block-map.js +0 -117
- package/node_modules/yaml/dist/compose/resolve-block-scalar.d.ts +0 -11
- package/node_modules/yaml/dist/compose/resolve-block-scalar.js +0 -200
- package/node_modules/yaml/dist/compose/resolve-block-seq.d.ts +0 -6
- package/node_modules/yaml/dist/compose/resolve-block-seq.js +0 -51
- package/node_modules/yaml/dist/compose/resolve-end.d.ts +0 -6
- package/node_modules/yaml/dist/compose/resolve-end.js +0 -39
- package/node_modules/yaml/dist/compose/resolve-flow-collection.d.ts +0 -7
- package/node_modules/yaml/dist/compose/resolve-flow-collection.js +0 -209
- package/node_modules/yaml/dist/compose/resolve-flow-scalar.d.ts +0 -10
- package/node_modules/yaml/dist/compose/resolve-flow-scalar.js +0 -225
- package/node_modules/yaml/dist/compose/resolve-props.d.ts +0 -23
- package/node_modules/yaml/dist/compose/resolve-props.js +0 -148
- package/node_modules/yaml/dist/compose/util-contains-newline.d.ts +0 -2
- package/node_modules/yaml/dist/compose/util-contains-newline.js +0 -36
- package/node_modules/yaml/dist/compose/util-empty-scalar-position.d.ts +0 -2
- package/node_modules/yaml/dist/compose/util-empty-scalar-position.js +0 -28
- package/node_modules/yaml/dist/compose/util-flow-indent-check.d.ts +0 -3
- package/node_modules/yaml/dist/compose/util-flow-indent-check.js +0 -17
- package/node_modules/yaml/dist/compose/util-map-includes.d.ts +0 -4
- package/node_modules/yaml/dist/compose/util-map-includes.js +0 -15
- package/node_modules/yaml/dist/doc/Document.d.ts +0 -141
- package/node_modules/yaml/dist/doc/Document.js +0 -337
- package/node_modules/yaml/dist/doc/anchors.d.ts +0 -24
- package/node_modules/yaml/dist/doc/anchors.js +0 -76
- package/node_modules/yaml/dist/doc/applyReviver.d.ts +0 -9
- package/node_modules/yaml/dist/doc/applyReviver.js +0 -57
- package/node_modules/yaml/dist/doc/createNode.d.ts +0 -17
- package/node_modules/yaml/dist/doc/createNode.js +0 -90
- package/node_modules/yaml/dist/doc/directives.d.ts +0 -49
- package/node_modules/yaml/dist/doc/directives.js +0 -178
- package/node_modules/yaml/dist/errors.d.ts +0 -21
- package/node_modules/yaml/dist/errors.js +0 -62
- package/node_modules/yaml/dist/index.d.ts +0 -25
- package/node_modules/yaml/dist/index.js +0 -50
- package/node_modules/yaml/dist/log.d.ts +0 -3
- package/node_modules/yaml/dist/log.js +0 -19
- package/node_modules/yaml/dist/nodes/Alias.d.ts +0 -29
- package/node_modules/yaml/dist/nodes/Alias.js +0 -116
- package/node_modules/yaml/dist/nodes/Collection.d.ts +0 -73
- package/node_modules/yaml/dist/nodes/Collection.js +0 -151
- package/node_modules/yaml/dist/nodes/Node.d.ts +0 -53
- package/node_modules/yaml/dist/nodes/Node.js +0 -40
- package/node_modules/yaml/dist/nodes/Pair.d.ts +0 -22
- package/node_modules/yaml/dist/nodes/Pair.js +0 -39
- package/node_modules/yaml/dist/nodes/Scalar.d.ts +0 -43
- package/node_modules/yaml/dist/nodes/Scalar.js +0 -27
- package/node_modules/yaml/dist/nodes/YAMLMap.d.ts +0 -53
- package/node_modules/yaml/dist/nodes/YAMLMap.js +0 -147
- package/node_modules/yaml/dist/nodes/YAMLSeq.d.ts +0 -60
- package/node_modules/yaml/dist/nodes/YAMLSeq.js +0 -115
- package/node_modules/yaml/dist/nodes/addPairToJSMap.d.ts +0 -4
- package/node_modules/yaml/dist/nodes/addPairToJSMap.js +0 -65
- package/node_modules/yaml/dist/nodes/identity.d.ts +0 -23
- package/node_modules/yaml/dist/nodes/identity.js +0 -53
- package/node_modules/yaml/dist/nodes/toJS.d.ts +0 -29
- package/node_modules/yaml/dist/nodes/toJS.js +0 -39
- package/node_modules/yaml/dist/options.d.ts +0 -344
- package/node_modules/yaml/dist/parse/cst-scalar.d.ts +0 -64
- package/node_modules/yaml/dist/parse/cst-scalar.js +0 -218
- package/node_modules/yaml/dist/parse/cst-stringify.d.ts +0 -8
- package/node_modules/yaml/dist/parse/cst-stringify.js +0 -63
- package/node_modules/yaml/dist/parse/cst-visit.d.ts +0 -39
- package/node_modules/yaml/dist/parse/cst-visit.js +0 -99
- package/node_modules/yaml/dist/parse/cst.d.ts +0 -109
- package/node_modules/yaml/dist/parse/cst.js +0 -112
- package/node_modules/yaml/dist/parse/lexer.d.ts +0 -87
- package/node_modules/yaml/dist/parse/lexer.js +0 -719
- package/node_modules/yaml/dist/parse/line-counter.d.ts +0 -22
- package/node_modules/yaml/dist/parse/line-counter.js +0 -41
- package/node_modules/yaml/dist/parse/parser.d.ts +0 -84
- package/node_modules/yaml/dist/parse/parser.js +0 -972
- package/node_modules/yaml/dist/public-api.d.ts +0 -44
- package/node_modules/yaml/dist/public-api.js +0 -107
- package/node_modules/yaml/dist/schema/Schema.d.ts +0 -17
- package/node_modules/yaml/dist/schema/Schema.js +0 -39
- package/node_modules/yaml/dist/schema/common/map.d.ts +0 -2
- package/node_modules/yaml/dist/schema/common/map.js +0 -19
- package/node_modules/yaml/dist/schema/common/null.d.ts +0 -4
- package/node_modules/yaml/dist/schema/common/null.js +0 -17
- package/node_modules/yaml/dist/schema/common/seq.d.ts +0 -2
- package/node_modules/yaml/dist/schema/common/seq.js +0 -19
- package/node_modules/yaml/dist/schema/common/string.d.ts +0 -2
- package/node_modules/yaml/dist/schema/common/string.js +0 -16
- package/node_modules/yaml/dist/schema/core/bool.d.ts +0 -4
- package/node_modules/yaml/dist/schema/core/bool.js +0 -21
- package/node_modules/yaml/dist/schema/core/float.d.ts +0 -4
- package/node_modules/yaml/dist/schema/core/float.js +0 -47
- package/node_modules/yaml/dist/schema/core/int.d.ts +0 -4
- package/node_modules/yaml/dist/schema/core/int.js +0 -42
- package/node_modules/yaml/dist/schema/core/schema.d.ts +0 -1
- package/node_modules/yaml/dist/schema/core/schema.js +0 -25
- package/node_modules/yaml/dist/schema/json/schema.d.ts +0 -2
- package/node_modules/yaml/dist/schema/json/schema.js +0 -64
- package/node_modules/yaml/dist/schema/json-schema.d.ts +0 -69
- package/node_modules/yaml/dist/schema/tags.d.ts +0 -48
- package/node_modules/yaml/dist/schema/tags.js +0 -99
- package/node_modules/yaml/dist/schema/types.d.ts +0 -92
- package/node_modules/yaml/dist/schema/yaml-1.1/binary.d.ts +0 -2
- package/node_modules/yaml/dist/schema/yaml-1.1/binary.js +0 -70
- package/node_modules/yaml/dist/schema/yaml-1.1/bool.d.ts +0 -7
- package/node_modules/yaml/dist/schema/yaml-1.1/bool.js +0 -29
- package/node_modules/yaml/dist/schema/yaml-1.1/float.d.ts +0 -4
- package/node_modules/yaml/dist/schema/yaml-1.1/float.js +0 -50
- package/node_modules/yaml/dist/schema/yaml-1.1/int.d.ts +0 -5
- package/node_modules/yaml/dist/schema/yaml-1.1/int.js +0 -76
- package/node_modules/yaml/dist/schema/yaml-1.1/merge.d.ts +0 -9
- package/node_modules/yaml/dist/schema/yaml-1.1/merge.js +0 -68
- package/node_modules/yaml/dist/schema/yaml-1.1/omap.d.ts +0 -22
- package/node_modules/yaml/dist/schema/yaml-1.1/omap.js +0 -77
- package/node_modules/yaml/dist/schema/yaml-1.1/pairs.d.ts +0 -10
- package/node_modules/yaml/dist/schema/yaml-1.1/pairs.js +0 -82
- package/node_modules/yaml/dist/schema/yaml-1.1/schema.d.ts +0 -1
- package/node_modules/yaml/dist/schema/yaml-1.1/schema.js +0 -41
- package/node_modules/yaml/dist/schema/yaml-1.1/set.d.ts +0 -28
- package/node_modules/yaml/dist/schema/yaml-1.1/set.js +0 -96
- package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.d.ts +0 -6
- package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +0 -105
- package/node_modules/yaml/dist/stringify/foldFlowLines.d.ts +0 -34
- package/node_modules/yaml/dist/stringify/foldFlowLines.js +0 -151
- package/node_modules/yaml/dist/stringify/stringify.d.ts +0 -21
- package/node_modules/yaml/dist/stringify/stringify.js +0 -131
- package/node_modules/yaml/dist/stringify/stringifyCollection.d.ts +0 -17
- package/node_modules/yaml/dist/stringify/stringifyCollection.js +0 -145
- package/node_modules/yaml/dist/stringify/stringifyComment.d.ts +0 -10
- package/node_modules/yaml/dist/stringify/stringifyComment.js +0 -24
- package/node_modules/yaml/dist/stringify/stringifyDocument.d.ts +0 -4
- package/node_modules/yaml/dist/stringify/stringifyDocument.js +0 -87
- package/node_modules/yaml/dist/stringify/stringifyNumber.d.ts +0 -2
- package/node_modules/yaml/dist/stringify/stringifyNumber.js +0 -26
- package/node_modules/yaml/dist/stringify/stringifyPair.d.ts +0 -3
- package/node_modules/yaml/dist/stringify/stringifyPair.js +0 -152
- package/node_modules/yaml/dist/stringify/stringifyString.d.ts +0 -9
- package/node_modules/yaml/dist/stringify/stringifyString.js +0 -338
- package/node_modules/yaml/dist/test-events.d.ts +0 -4
- package/node_modules/yaml/dist/test-events.js +0 -134
- package/node_modules/yaml/dist/util.d.ts +0 -16
- package/node_modules/yaml/dist/util.js +0 -28
- package/node_modules/yaml/dist/visit.d.ts +0 -102
- package/node_modules/yaml/dist/visit.js +0 -236
- package/node_modules/yaml/package.json +0 -97
- package/node_modules/yaml/util.js +0 -2
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import { Composer } from './compose/composer.js';
|
|
2
|
-
import { Document } from './doc/Document.js';
|
|
3
|
-
import { prettifyError, YAMLParseError } from './errors.js';
|
|
4
|
-
import { warn } from './log.js';
|
|
5
|
-
import { isDocument } from './nodes/identity.js';
|
|
6
|
-
import { LineCounter } from './parse/line-counter.js';
|
|
7
|
-
import { Parser } from './parse/parser.js';
|
|
8
|
-
|
|
9
|
-
function parseOptions(options) {
|
|
10
|
-
const prettyErrors = options.prettyErrors !== false;
|
|
11
|
-
const lineCounter = options.lineCounter || (prettyErrors && new LineCounter()) || null;
|
|
12
|
-
return { lineCounter, prettyErrors };
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Parse the input as a stream of YAML documents.
|
|
16
|
-
*
|
|
17
|
-
* Documents should be separated from each other by `...` or `---` marker lines.
|
|
18
|
-
*
|
|
19
|
-
* @returns If an empty `docs` array is returned, it will be of type
|
|
20
|
-
* EmptyStream and contain additional stream information. In
|
|
21
|
-
* TypeScript, you should use `'empty' in docs` as a type guard for it.
|
|
22
|
-
*/
|
|
23
|
-
function parseAllDocuments(source, options = {}) {
|
|
24
|
-
const { lineCounter, prettyErrors } = parseOptions(options);
|
|
25
|
-
const parser = new Parser(lineCounter?.addNewLine);
|
|
26
|
-
const composer = new Composer(options);
|
|
27
|
-
const docs = Array.from(composer.compose(parser.parse(source)));
|
|
28
|
-
if (prettyErrors && lineCounter)
|
|
29
|
-
for (const doc of docs) {
|
|
30
|
-
doc.errors.forEach(prettifyError(source, lineCounter));
|
|
31
|
-
doc.warnings.forEach(prettifyError(source, lineCounter));
|
|
32
|
-
}
|
|
33
|
-
if (docs.length > 0)
|
|
34
|
-
return docs;
|
|
35
|
-
return Object.assign([], { empty: true }, composer.streamInfo());
|
|
36
|
-
}
|
|
37
|
-
/** Parse an input string into a single YAML.Document */
|
|
38
|
-
function parseDocument(source, options = {}) {
|
|
39
|
-
const { lineCounter, prettyErrors } = parseOptions(options);
|
|
40
|
-
const parser = new Parser(lineCounter?.addNewLine);
|
|
41
|
-
const composer = new Composer(options);
|
|
42
|
-
// `doc` is always set by compose.end(true) at the very latest
|
|
43
|
-
let doc = null;
|
|
44
|
-
for (const _doc of composer.compose(parser.parse(source), true, source.length)) {
|
|
45
|
-
if (!doc)
|
|
46
|
-
doc = _doc;
|
|
47
|
-
else if (doc.options.logLevel !== 'silent') {
|
|
48
|
-
doc.errors.push(new YAMLParseError(_doc.range.slice(0, 2), 'MULTIPLE_DOCS', 'Source contains multiple documents; please use YAML.parseAllDocuments()'));
|
|
49
|
-
break;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
if (prettyErrors && lineCounter) {
|
|
53
|
-
doc.errors.forEach(prettifyError(source, lineCounter));
|
|
54
|
-
doc.warnings.forEach(prettifyError(source, lineCounter));
|
|
55
|
-
}
|
|
56
|
-
return doc;
|
|
57
|
-
}
|
|
58
|
-
function parse(src, reviver, options) {
|
|
59
|
-
let _reviver = undefined;
|
|
60
|
-
if (typeof reviver === 'function') {
|
|
61
|
-
_reviver = reviver;
|
|
62
|
-
}
|
|
63
|
-
else if (options === undefined && reviver && typeof reviver === 'object') {
|
|
64
|
-
options = reviver;
|
|
65
|
-
}
|
|
66
|
-
const doc = parseDocument(src, options);
|
|
67
|
-
if (!doc)
|
|
68
|
-
return null;
|
|
69
|
-
doc.warnings.forEach(warning => warn(doc.options.logLevel, warning));
|
|
70
|
-
if (doc.errors.length > 0) {
|
|
71
|
-
if (doc.options.logLevel !== 'silent')
|
|
72
|
-
throw doc.errors[0];
|
|
73
|
-
else
|
|
74
|
-
doc.errors = [];
|
|
75
|
-
}
|
|
76
|
-
return doc.toJS(Object.assign({ reviver: _reviver }, options));
|
|
77
|
-
}
|
|
78
|
-
function stringify(value, replacer, options) {
|
|
79
|
-
let _replacer = null;
|
|
80
|
-
if (typeof replacer === 'function' || Array.isArray(replacer)) {
|
|
81
|
-
_replacer = replacer;
|
|
82
|
-
}
|
|
83
|
-
else if (options === undefined && replacer) {
|
|
84
|
-
options = replacer;
|
|
85
|
-
}
|
|
86
|
-
if (typeof options === 'string')
|
|
87
|
-
options = options.length;
|
|
88
|
-
if (typeof options === 'number') {
|
|
89
|
-
const indent = Math.round(options);
|
|
90
|
-
options = indent < 1 ? undefined : indent > 8 ? { indent: 8 } : { indent };
|
|
91
|
-
}
|
|
92
|
-
if (value === undefined) {
|
|
93
|
-
const { keepUndefined } = options ?? replacer ?? {};
|
|
94
|
-
if (!keepUndefined)
|
|
95
|
-
return undefined;
|
|
96
|
-
}
|
|
97
|
-
if (isDocument(value) && !_replacer)
|
|
98
|
-
return value.toString(options);
|
|
99
|
-
return new Document(value, _replacer, options).toString(options);
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
export { parse, parseAllDocuments, parseDocument, stringify };
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { MAP, SCALAR, SEQ } from '../nodes/identity.js';
|
|
2
|
-
import { map } from './common/map.js';
|
|
3
|
-
import { seq } from './common/seq.js';
|
|
4
|
-
import { string } from './common/string.js';
|
|
5
|
-
import { getTags, coreKnownTags } from './tags.js';
|
|
6
|
-
|
|
7
|
-
const sortMapEntriesByKey = (a, b) => a.key < b.key ? -1 : a.key > b.key ? 1 : 0;
|
|
8
|
-
class Schema {
|
|
9
|
-
constructor({ compat, customTags, merge, resolveKnownTags, schema, sortMapEntries, toStringDefaults }) {
|
|
10
|
-
this.compat = Array.isArray(compat)
|
|
11
|
-
? getTags(compat, 'compat')
|
|
12
|
-
: compat
|
|
13
|
-
? getTags(null, compat)
|
|
14
|
-
: null;
|
|
15
|
-
this.name = (typeof schema === 'string' && schema) || 'core';
|
|
16
|
-
this.knownTags = resolveKnownTags ? coreKnownTags : {};
|
|
17
|
-
this.tags = getTags(customTags, this.name, merge);
|
|
18
|
-
this.toStringOptions = toStringDefaults ?? null;
|
|
19
|
-
Object.defineProperty(this, MAP, { value: map });
|
|
20
|
-
Object.defineProperty(this, SCALAR, { value: string });
|
|
21
|
-
Object.defineProperty(this, SEQ, { value: seq });
|
|
22
|
-
// Used by createMap()
|
|
23
|
-
this.sortMapEntries =
|
|
24
|
-
typeof sortMapEntries === 'function'
|
|
25
|
-
? sortMapEntries
|
|
26
|
-
: sortMapEntries === true
|
|
27
|
-
? sortMapEntriesByKey
|
|
28
|
-
: null;
|
|
29
|
-
}
|
|
30
|
-
clone() {
|
|
31
|
-
const copy = Object.create(Schema.prototype, Object.getOwnPropertyDescriptors(this));
|
|
32
|
-
copy.tags = this.tags.slice();
|
|
33
|
-
return copy;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
export { Schema };
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { isMap } from '../../nodes/identity.js';
|
|
2
|
-
import { YAMLMap } from '../../nodes/YAMLMap.js';
|
|
3
|
-
|
|
4
|
-
const map = {
|
|
5
|
-
collection: 'map',
|
|
6
|
-
default: true,
|
|
7
|
-
nodeClass: YAMLMap,
|
|
8
|
-
tag: 'tag:yaml.org,2002:map',
|
|
9
|
-
resolve(map, onError) {
|
|
10
|
-
if (!isMap(map))
|
|
11
|
-
onError('Expected a mapping for this tag');
|
|
12
|
-
return map;
|
|
13
|
-
},
|
|
14
|
-
createNode: (schema, obj, ctx) => YAMLMap.from(schema, obj, ctx)
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
export { map };
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { Scalar } from '../../nodes/Scalar.js';
|
|
2
|
-
|
|
3
|
-
const nullTag = {
|
|
4
|
-
identify: value => value == null,
|
|
5
|
-
createNode: () => new Scalar(null),
|
|
6
|
-
default: true,
|
|
7
|
-
tag: 'tag:yaml.org,2002:null',
|
|
8
|
-
test: /^(?:~|[Nn]ull|NULL)?$/,
|
|
9
|
-
resolve: () => new Scalar(null),
|
|
10
|
-
stringify: ({ source }, ctx) => typeof source === 'string' && nullTag.test.test(source)
|
|
11
|
-
? source
|
|
12
|
-
: ctx.options.nullStr
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
export { nullTag };
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { isSeq } from '../../nodes/identity.js';
|
|
2
|
-
import { YAMLSeq } from '../../nodes/YAMLSeq.js';
|
|
3
|
-
|
|
4
|
-
const seq = {
|
|
5
|
-
collection: 'seq',
|
|
6
|
-
default: true,
|
|
7
|
-
nodeClass: YAMLSeq,
|
|
8
|
-
tag: 'tag:yaml.org,2002:seq',
|
|
9
|
-
resolve(seq, onError) {
|
|
10
|
-
if (!isSeq(seq))
|
|
11
|
-
onError('Expected a sequence for this tag');
|
|
12
|
-
return seq;
|
|
13
|
-
},
|
|
14
|
-
createNode: (schema, obj, ctx) => YAMLSeq.from(schema, obj, ctx)
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
export { seq };
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { stringifyString } from '../../stringify/stringifyString.js';
|
|
2
|
-
|
|
3
|
-
const string = {
|
|
4
|
-
identify: value => typeof value === 'string',
|
|
5
|
-
default: true,
|
|
6
|
-
tag: 'tag:yaml.org,2002:str',
|
|
7
|
-
resolve: str => str,
|
|
8
|
-
stringify(item, ctx, onComment, onChompKeep) {
|
|
9
|
-
ctx = Object.assign({ actualString: true }, ctx);
|
|
10
|
-
return stringifyString(item, ctx, onComment, onChompKeep);
|
|
11
|
-
}
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
export { string };
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { Scalar } from '../../nodes/Scalar.js';
|
|
2
|
-
|
|
3
|
-
const boolTag = {
|
|
4
|
-
identify: value => typeof value === 'boolean',
|
|
5
|
-
default: true,
|
|
6
|
-
tag: 'tag:yaml.org,2002:bool',
|
|
7
|
-
test: /^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,
|
|
8
|
-
resolve: str => new Scalar(str[0] === 't' || str[0] === 'T'),
|
|
9
|
-
stringify({ source, value }, ctx) {
|
|
10
|
-
if (source && boolTag.test.test(source)) {
|
|
11
|
-
const sv = source[0] === 't' || source[0] === 'T';
|
|
12
|
-
if (value === sv)
|
|
13
|
-
return source;
|
|
14
|
-
}
|
|
15
|
-
return value ? ctx.options.trueStr : ctx.options.falseStr;
|
|
16
|
-
}
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
export { boolTag };
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { Scalar } from '../../nodes/Scalar.js';
|
|
2
|
-
import { stringifyNumber } from '../../stringify/stringifyNumber.js';
|
|
3
|
-
|
|
4
|
-
const floatNaN = {
|
|
5
|
-
identify: value => typeof value === 'number',
|
|
6
|
-
default: true,
|
|
7
|
-
tag: 'tag:yaml.org,2002:float',
|
|
8
|
-
test: /^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,
|
|
9
|
-
resolve: str => str.slice(-3).toLowerCase() === 'nan'
|
|
10
|
-
? NaN
|
|
11
|
-
: str[0] === '-'
|
|
12
|
-
? Number.NEGATIVE_INFINITY
|
|
13
|
-
: Number.POSITIVE_INFINITY,
|
|
14
|
-
stringify: stringifyNumber
|
|
15
|
-
};
|
|
16
|
-
const floatExp = {
|
|
17
|
-
identify: value => typeof value === 'number',
|
|
18
|
-
default: true,
|
|
19
|
-
tag: 'tag:yaml.org,2002:float',
|
|
20
|
-
format: 'EXP',
|
|
21
|
-
test: /^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,
|
|
22
|
-
resolve: str => parseFloat(str),
|
|
23
|
-
stringify(node) {
|
|
24
|
-
const num = Number(node.value);
|
|
25
|
-
return isFinite(num) ? num.toExponential() : stringifyNumber(node);
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
const float = {
|
|
29
|
-
identify: value => typeof value === 'number',
|
|
30
|
-
default: true,
|
|
31
|
-
tag: 'tag:yaml.org,2002:float',
|
|
32
|
-
test: /^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,
|
|
33
|
-
resolve(str) {
|
|
34
|
-
const node = new Scalar(parseFloat(str));
|
|
35
|
-
const dot = str.indexOf('.');
|
|
36
|
-
if (dot !== -1 && str[str.length - 1] === '0')
|
|
37
|
-
node.minFractionDigits = str.length - dot - 1;
|
|
38
|
-
return node;
|
|
39
|
-
},
|
|
40
|
-
stringify: stringifyNumber
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
export { float, floatExp, floatNaN };
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { stringifyNumber } from '../../stringify/stringifyNumber.js';
|
|
2
|
-
|
|
3
|
-
const intIdentify = (value) => typeof value === 'bigint' || Number.isInteger(value);
|
|
4
|
-
const intResolve = (str, offset, radix, { intAsBigInt }) => (intAsBigInt ? BigInt(str) : parseInt(str.substring(offset), radix));
|
|
5
|
-
function intStringify(node, radix, prefix) {
|
|
6
|
-
const { value } = node;
|
|
7
|
-
if (intIdentify(value) && value >= 0)
|
|
8
|
-
return prefix + value.toString(radix);
|
|
9
|
-
return stringifyNumber(node);
|
|
10
|
-
}
|
|
11
|
-
const intOct = {
|
|
12
|
-
identify: value => intIdentify(value) && value >= 0,
|
|
13
|
-
default: true,
|
|
14
|
-
tag: 'tag:yaml.org,2002:int',
|
|
15
|
-
format: 'OCT',
|
|
16
|
-
test: /^0o[0-7]+$/,
|
|
17
|
-
resolve: (str, _onError, opt) => intResolve(str, 2, 8, opt),
|
|
18
|
-
stringify: node => intStringify(node, 8, '0o')
|
|
19
|
-
};
|
|
20
|
-
const int = {
|
|
21
|
-
identify: intIdentify,
|
|
22
|
-
default: true,
|
|
23
|
-
tag: 'tag:yaml.org,2002:int',
|
|
24
|
-
test: /^[-+]?[0-9]+$/,
|
|
25
|
-
resolve: (str, _onError, opt) => intResolve(str, 0, 10, opt),
|
|
26
|
-
stringify: stringifyNumber
|
|
27
|
-
};
|
|
28
|
-
const intHex = {
|
|
29
|
-
identify: value => intIdentify(value) && value >= 0,
|
|
30
|
-
default: true,
|
|
31
|
-
tag: 'tag:yaml.org,2002:int',
|
|
32
|
-
format: 'HEX',
|
|
33
|
-
test: /^0x[0-9a-fA-F]+$/,
|
|
34
|
-
resolve: (str, _onError, opt) => intResolve(str, 2, 16, opt),
|
|
35
|
-
stringify: node => intStringify(node, 16, '0x')
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
export { int, intHex, intOct };
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { map } from '../common/map.js';
|
|
2
|
-
import { nullTag } from '../common/null.js';
|
|
3
|
-
import { seq } from '../common/seq.js';
|
|
4
|
-
import { string } from '../common/string.js';
|
|
5
|
-
import { boolTag } from './bool.js';
|
|
6
|
-
import { floatNaN, floatExp, float } from './float.js';
|
|
7
|
-
import { intOct, int, intHex } from './int.js';
|
|
8
|
-
|
|
9
|
-
const schema = [
|
|
10
|
-
map,
|
|
11
|
-
seq,
|
|
12
|
-
string,
|
|
13
|
-
nullTag,
|
|
14
|
-
boolTag,
|
|
15
|
-
intOct,
|
|
16
|
-
int,
|
|
17
|
-
intHex,
|
|
18
|
-
floatNaN,
|
|
19
|
-
floatExp,
|
|
20
|
-
float
|
|
21
|
-
];
|
|
22
|
-
|
|
23
|
-
export { schema };
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { Scalar } from '../../nodes/Scalar.js';
|
|
2
|
-
import { map } from '../common/map.js';
|
|
3
|
-
import { seq } from '../common/seq.js';
|
|
4
|
-
|
|
5
|
-
function intIdentify(value) {
|
|
6
|
-
return typeof value === 'bigint' || Number.isInteger(value);
|
|
7
|
-
}
|
|
8
|
-
const stringifyJSON = ({ value }) => JSON.stringify(value);
|
|
9
|
-
const jsonScalars = [
|
|
10
|
-
{
|
|
11
|
-
identify: value => typeof value === 'string',
|
|
12
|
-
default: true,
|
|
13
|
-
tag: 'tag:yaml.org,2002:str',
|
|
14
|
-
resolve: str => str,
|
|
15
|
-
stringify: stringifyJSON
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
identify: value => value == null,
|
|
19
|
-
createNode: () => new Scalar(null),
|
|
20
|
-
default: true,
|
|
21
|
-
tag: 'tag:yaml.org,2002:null',
|
|
22
|
-
test: /^null$/,
|
|
23
|
-
resolve: () => null,
|
|
24
|
-
stringify: stringifyJSON
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
identify: value => typeof value === 'boolean',
|
|
28
|
-
default: true,
|
|
29
|
-
tag: 'tag:yaml.org,2002:bool',
|
|
30
|
-
test: /^true$|^false$/,
|
|
31
|
-
resolve: str => str === 'true',
|
|
32
|
-
stringify: stringifyJSON
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
identify: intIdentify,
|
|
36
|
-
default: true,
|
|
37
|
-
tag: 'tag:yaml.org,2002:int',
|
|
38
|
-
test: /^-?(?:0|[1-9][0-9]*)$/,
|
|
39
|
-
resolve: (str, _onError, { intAsBigInt }) => intAsBigInt ? BigInt(str) : parseInt(str, 10),
|
|
40
|
-
stringify: ({ value }) => intIdentify(value) ? value.toString() : JSON.stringify(value)
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
identify: value => typeof value === 'number',
|
|
44
|
-
default: true,
|
|
45
|
-
tag: 'tag:yaml.org,2002:float',
|
|
46
|
-
test: /^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,
|
|
47
|
-
resolve: str => parseFloat(str),
|
|
48
|
-
stringify: stringifyJSON
|
|
49
|
-
}
|
|
50
|
-
];
|
|
51
|
-
const jsonError = {
|
|
52
|
-
default: true,
|
|
53
|
-
tag: '',
|
|
54
|
-
test: /^/,
|
|
55
|
-
resolve(str, onError) {
|
|
56
|
-
onError(`Unresolved plain scalar ${JSON.stringify(str)}`);
|
|
57
|
-
return str;
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
const schema = [map, seq].concat(jsonScalars, jsonError);
|
|
61
|
-
|
|
62
|
-
export { schema };
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import { map } from './common/map.js';
|
|
2
|
-
import { nullTag } from './common/null.js';
|
|
3
|
-
import { seq } from './common/seq.js';
|
|
4
|
-
import { string } from './common/string.js';
|
|
5
|
-
import { boolTag } from './core/bool.js';
|
|
6
|
-
import { floatNaN, floatExp, float } from './core/float.js';
|
|
7
|
-
import { intOct, intHex, int } from './core/int.js';
|
|
8
|
-
import { schema } from './core/schema.js';
|
|
9
|
-
import { schema as schema$1 } from './json/schema.js';
|
|
10
|
-
import { binary } from './yaml-1.1/binary.js';
|
|
11
|
-
import { merge } from './yaml-1.1/merge.js';
|
|
12
|
-
import { omap } from './yaml-1.1/omap.js';
|
|
13
|
-
import { pairs } from './yaml-1.1/pairs.js';
|
|
14
|
-
import { schema as schema$2 } from './yaml-1.1/schema.js';
|
|
15
|
-
import { set } from './yaml-1.1/set.js';
|
|
16
|
-
import { timestamp, intTime, floatTime } from './yaml-1.1/timestamp.js';
|
|
17
|
-
|
|
18
|
-
const schemas = new Map([
|
|
19
|
-
['core', schema],
|
|
20
|
-
['failsafe', [map, seq, string]],
|
|
21
|
-
['json', schema$1],
|
|
22
|
-
['yaml11', schema$2],
|
|
23
|
-
['yaml-1.1', schema$2]
|
|
24
|
-
]);
|
|
25
|
-
const tagsByName = {
|
|
26
|
-
binary,
|
|
27
|
-
bool: boolTag,
|
|
28
|
-
float,
|
|
29
|
-
floatExp,
|
|
30
|
-
floatNaN,
|
|
31
|
-
floatTime,
|
|
32
|
-
int,
|
|
33
|
-
intHex,
|
|
34
|
-
intOct,
|
|
35
|
-
intTime,
|
|
36
|
-
map,
|
|
37
|
-
merge,
|
|
38
|
-
null: nullTag,
|
|
39
|
-
omap,
|
|
40
|
-
pairs,
|
|
41
|
-
seq,
|
|
42
|
-
set,
|
|
43
|
-
timestamp
|
|
44
|
-
};
|
|
45
|
-
const coreKnownTags = {
|
|
46
|
-
'tag:yaml.org,2002:binary': binary,
|
|
47
|
-
'tag:yaml.org,2002:merge': merge,
|
|
48
|
-
'tag:yaml.org,2002:omap': omap,
|
|
49
|
-
'tag:yaml.org,2002:pairs': pairs,
|
|
50
|
-
'tag:yaml.org,2002:set': set,
|
|
51
|
-
'tag:yaml.org,2002:timestamp': timestamp
|
|
52
|
-
};
|
|
53
|
-
function getTags(customTags, schemaName, addMergeTag) {
|
|
54
|
-
const schemaTags = schemas.get(schemaName);
|
|
55
|
-
if (schemaTags && !customTags) {
|
|
56
|
-
return addMergeTag && !schemaTags.includes(merge)
|
|
57
|
-
? schemaTags.concat(merge)
|
|
58
|
-
: schemaTags.slice();
|
|
59
|
-
}
|
|
60
|
-
let tags = schemaTags;
|
|
61
|
-
if (!tags) {
|
|
62
|
-
if (Array.isArray(customTags))
|
|
63
|
-
tags = [];
|
|
64
|
-
else {
|
|
65
|
-
const keys = Array.from(schemas.keys())
|
|
66
|
-
.filter(key => key !== 'yaml11')
|
|
67
|
-
.map(key => JSON.stringify(key))
|
|
68
|
-
.join(', ');
|
|
69
|
-
throw new Error(`Unknown schema "${schemaName}"; use one of ${keys} or define customTags array`);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
if (Array.isArray(customTags)) {
|
|
73
|
-
for (const tag of customTags)
|
|
74
|
-
tags = tags.concat(tag);
|
|
75
|
-
}
|
|
76
|
-
else if (typeof customTags === 'function') {
|
|
77
|
-
tags = customTags(tags.slice());
|
|
78
|
-
}
|
|
79
|
-
if (addMergeTag)
|
|
80
|
-
tags = tags.concat(merge);
|
|
81
|
-
return tags.reduce((tags, tag) => {
|
|
82
|
-
const tagObj = typeof tag === 'string' ? tagsByName[tag] : tag;
|
|
83
|
-
if (!tagObj) {
|
|
84
|
-
const tagName = JSON.stringify(tag);
|
|
85
|
-
const keys = Object.keys(tagsByName)
|
|
86
|
-
.map(key => JSON.stringify(key))
|
|
87
|
-
.join(', ');
|
|
88
|
-
throw new Error(`Unknown custom tag ${tagName}; use one of ${keys}`);
|
|
89
|
-
}
|
|
90
|
-
if (!tags.includes(tagObj))
|
|
91
|
-
tags.push(tagObj);
|
|
92
|
-
return tags;
|
|
93
|
-
}, []);
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
export { coreKnownTags, getTags };
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { Scalar } from '../../nodes/Scalar.js';
|
|
2
|
-
import { stringifyString } from '../../stringify/stringifyString.js';
|
|
3
|
-
|
|
4
|
-
const binary = {
|
|
5
|
-
identify: value => value instanceof Uint8Array, // Buffer inherits from Uint8Array
|
|
6
|
-
default: false,
|
|
7
|
-
tag: 'tag:yaml.org,2002:binary',
|
|
8
|
-
/**
|
|
9
|
-
* Returns a Buffer in node and an Uint8Array in browsers
|
|
10
|
-
*
|
|
11
|
-
* To use the resulting buffer as an image, you'll want to do something like:
|
|
12
|
-
*
|
|
13
|
-
* const blob = new Blob([buffer], { type: 'image/jpeg' })
|
|
14
|
-
* document.querySelector('#photo').src = URL.createObjectURL(blob)
|
|
15
|
-
*/
|
|
16
|
-
resolve(src, onError) {
|
|
17
|
-
if (typeof atob === 'function') {
|
|
18
|
-
// On IE 11, atob() can't handle newlines
|
|
19
|
-
const str = atob(src.replace(/[\n\r]/g, ''));
|
|
20
|
-
const buffer = new Uint8Array(str.length);
|
|
21
|
-
for (let i = 0; i < str.length; ++i)
|
|
22
|
-
buffer[i] = str.charCodeAt(i);
|
|
23
|
-
return buffer;
|
|
24
|
-
}
|
|
25
|
-
else {
|
|
26
|
-
onError('This environment does not support reading binary tags; either Buffer or atob is required');
|
|
27
|
-
return src;
|
|
28
|
-
}
|
|
29
|
-
},
|
|
30
|
-
stringify({ comment, type, value }, ctx, onComment, onChompKeep) {
|
|
31
|
-
if (!value)
|
|
32
|
-
return '';
|
|
33
|
-
const buf = value; // checked earlier by binary.identify()
|
|
34
|
-
let str;
|
|
35
|
-
if (typeof btoa === 'function') {
|
|
36
|
-
let s = '';
|
|
37
|
-
for (let i = 0; i < buf.length; ++i)
|
|
38
|
-
s += String.fromCharCode(buf[i]);
|
|
39
|
-
str = btoa(s);
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
throw new Error('This environment does not support writing binary tags; either Buffer or btoa is required');
|
|
43
|
-
}
|
|
44
|
-
type ?? (type = Scalar.BLOCK_LITERAL);
|
|
45
|
-
if (type !== Scalar.QUOTE_DOUBLE) {
|
|
46
|
-
const lineWidth = Math.max(ctx.options.lineWidth - ctx.indent.length, ctx.options.minContentWidth);
|
|
47
|
-
const n = Math.ceil(str.length / lineWidth);
|
|
48
|
-
const lines = new Array(n);
|
|
49
|
-
for (let i = 0, o = 0; i < n; ++i, o += lineWidth) {
|
|
50
|
-
lines[i] = str.substr(o, lineWidth);
|
|
51
|
-
}
|
|
52
|
-
str = lines.join(type === Scalar.BLOCK_LITERAL ? '\n' : ' ');
|
|
53
|
-
}
|
|
54
|
-
return stringifyString({ comment, type, value: str }, ctx, onComment, onChompKeep);
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
export { binary };
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { Scalar } from '../../nodes/Scalar.js';
|
|
2
|
-
|
|
3
|
-
function boolStringify({ value, source }, ctx) {
|
|
4
|
-
const boolObj = value ? trueTag : falseTag;
|
|
5
|
-
if (source && boolObj.test.test(source))
|
|
6
|
-
return source;
|
|
7
|
-
return value ? ctx.options.trueStr : ctx.options.falseStr;
|
|
8
|
-
}
|
|
9
|
-
const trueTag = {
|
|
10
|
-
identify: value => value === true,
|
|
11
|
-
default: true,
|
|
12
|
-
tag: 'tag:yaml.org,2002:bool',
|
|
13
|
-
test: /^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,
|
|
14
|
-
resolve: () => new Scalar(true),
|
|
15
|
-
stringify: boolStringify
|
|
16
|
-
};
|
|
17
|
-
const falseTag = {
|
|
18
|
-
identify: value => value === false,
|
|
19
|
-
default: true,
|
|
20
|
-
tag: 'tag:yaml.org,2002:bool',
|
|
21
|
-
test: /^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,
|
|
22
|
-
resolve: () => new Scalar(false),
|
|
23
|
-
stringify: boolStringify
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
export { falseTag, trueTag };
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { Scalar } from '../../nodes/Scalar.js';
|
|
2
|
-
import { stringifyNumber } from '../../stringify/stringifyNumber.js';
|
|
3
|
-
|
|
4
|
-
const floatNaN = {
|
|
5
|
-
identify: value => typeof value === 'number',
|
|
6
|
-
default: true,
|
|
7
|
-
tag: 'tag:yaml.org,2002:float',
|
|
8
|
-
test: /^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,
|
|
9
|
-
resolve: (str) => str.slice(-3).toLowerCase() === 'nan'
|
|
10
|
-
? NaN
|
|
11
|
-
: str[0] === '-'
|
|
12
|
-
? Number.NEGATIVE_INFINITY
|
|
13
|
-
: Number.POSITIVE_INFINITY,
|
|
14
|
-
stringify: stringifyNumber
|
|
15
|
-
};
|
|
16
|
-
const floatExp = {
|
|
17
|
-
identify: value => typeof value === 'number',
|
|
18
|
-
default: true,
|
|
19
|
-
tag: 'tag:yaml.org,2002:float',
|
|
20
|
-
format: 'EXP',
|
|
21
|
-
test: /^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,
|
|
22
|
-
resolve: (str) => parseFloat(str.replace(/_/g, '')),
|
|
23
|
-
stringify(node) {
|
|
24
|
-
const num = Number(node.value);
|
|
25
|
-
return isFinite(num) ? num.toExponential() : stringifyNumber(node);
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
const float = {
|
|
29
|
-
identify: value => typeof value === 'number',
|
|
30
|
-
default: true,
|
|
31
|
-
tag: 'tag:yaml.org,2002:float',
|
|
32
|
-
test: /^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,
|
|
33
|
-
resolve(str) {
|
|
34
|
-
const node = new Scalar(parseFloat(str.replace(/_/g, '')));
|
|
35
|
-
const dot = str.indexOf('.');
|
|
36
|
-
if (dot !== -1) {
|
|
37
|
-
const f = str.substring(dot + 1).replace(/_/g, '');
|
|
38
|
-
if (f[f.length - 1] === '0')
|
|
39
|
-
node.minFractionDigits = f.length;
|
|
40
|
-
}
|
|
41
|
-
return node;
|
|
42
|
-
},
|
|
43
|
-
stringify: stringifyNumber
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
export { float, floatExp, floatNaN };
|