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,116 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var anchors = require('../doc/anchors.js');
|
|
4
|
-
var visit = require('../visit.js');
|
|
5
|
-
var identity = require('./identity.js');
|
|
6
|
-
var Node = require('./Node.js');
|
|
7
|
-
var toJS = require('./toJS.js');
|
|
8
|
-
|
|
9
|
-
class Alias extends Node.NodeBase {
|
|
10
|
-
constructor(source) {
|
|
11
|
-
super(identity.ALIAS);
|
|
12
|
-
this.source = source;
|
|
13
|
-
Object.defineProperty(this, 'tag', {
|
|
14
|
-
set() {
|
|
15
|
-
throw new Error('Alias nodes cannot have tags');
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Resolve the value of this alias within `doc`, finding the last
|
|
21
|
-
* instance of the `source` anchor before this node.
|
|
22
|
-
*/
|
|
23
|
-
resolve(doc, ctx) {
|
|
24
|
-
let nodes;
|
|
25
|
-
if (ctx?.aliasResolveCache) {
|
|
26
|
-
nodes = ctx.aliasResolveCache;
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
nodes = [];
|
|
30
|
-
visit.visit(doc, {
|
|
31
|
-
Node: (_key, node) => {
|
|
32
|
-
if (identity.isAlias(node) || identity.hasAnchor(node))
|
|
33
|
-
nodes.push(node);
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
if (ctx)
|
|
37
|
-
ctx.aliasResolveCache = nodes;
|
|
38
|
-
}
|
|
39
|
-
let found = undefined;
|
|
40
|
-
for (const node of nodes) {
|
|
41
|
-
if (node === this)
|
|
42
|
-
break;
|
|
43
|
-
if (node.anchor === this.source)
|
|
44
|
-
found = node;
|
|
45
|
-
}
|
|
46
|
-
return found;
|
|
47
|
-
}
|
|
48
|
-
toJSON(_arg, ctx) {
|
|
49
|
-
if (!ctx)
|
|
50
|
-
return { source: this.source };
|
|
51
|
-
const { anchors, doc, maxAliasCount } = ctx;
|
|
52
|
-
const source = this.resolve(doc, ctx);
|
|
53
|
-
if (!source) {
|
|
54
|
-
const msg = `Unresolved alias (the anchor must be set before the alias): ${this.source}`;
|
|
55
|
-
throw new ReferenceError(msg);
|
|
56
|
-
}
|
|
57
|
-
let data = anchors.get(source);
|
|
58
|
-
if (!data) {
|
|
59
|
-
// Resolve anchors for Node.prototype.toJS()
|
|
60
|
-
toJS.toJS(source, null, ctx);
|
|
61
|
-
data = anchors.get(source);
|
|
62
|
-
}
|
|
63
|
-
/* istanbul ignore if */
|
|
64
|
-
if (data?.res === undefined) {
|
|
65
|
-
const msg = 'This should not happen: Alias anchor was not resolved?';
|
|
66
|
-
throw new ReferenceError(msg);
|
|
67
|
-
}
|
|
68
|
-
if (maxAliasCount >= 0) {
|
|
69
|
-
data.count += 1;
|
|
70
|
-
if (data.aliasCount === 0)
|
|
71
|
-
data.aliasCount = getAliasCount(doc, source, anchors);
|
|
72
|
-
if (data.count * data.aliasCount > maxAliasCount) {
|
|
73
|
-
const msg = 'Excessive alias count indicates a resource exhaustion attack';
|
|
74
|
-
throw new ReferenceError(msg);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
return data.res;
|
|
78
|
-
}
|
|
79
|
-
toString(ctx, _onComment, _onChompKeep) {
|
|
80
|
-
const src = `*${this.source}`;
|
|
81
|
-
if (ctx) {
|
|
82
|
-
anchors.anchorIsValid(this.source);
|
|
83
|
-
if (ctx.options.verifyAliasOrder && !ctx.anchors.has(this.source)) {
|
|
84
|
-
const msg = `Unresolved alias (the anchor must be set before the alias): ${this.source}`;
|
|
85
|
-
throw new Error(msg);
|
|
86
|
-
}
|
|
87
|
-
if (ctx.implicitKey)
|
|
88
|
-
return `${src} `;
|
|
89
|
-
}
|
|
90
|
-
return src;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
function getAliasCount(doc, node, anchors) {
|
|
94
|
-
if (identity.isAlias(node)) {
|
|
95
|
-
const source = node.resolve(doc);
|
|
96
|
-
const anchor = anchors && source && anchors.get(source);
|
|
97
|
-
return anchor ? anchor.count * anchor.aliasCount : 0;
|
|
98
|
-
}
|
|
99
|
-
else if (identity.isCollection(node)) {
|
|
100
|
-
let count = 0;
|
|
101
|
-
for (const item of node.items) {
|
|
102
|
-
const c = getAliasCount(doc, item, anchors);
|
|
103
|
-
if (c > count)
|
|
104
|
-
count = c;
|
|
105
|
-
}
|
|
106
|
-
return count;
|
|
107
|
-
}
|
|
108
|
-
else if (identity.isPair(node)) {
|
|
109
|
-
const kc = getAliasCount(doc, node.key, anchors);
|
|
110
|
-
const vc = getAliasCount(doc, node.value, anchors);
|
|
111
|
-
return Math.max(kc, vc);
|
|
112
|
-
}
|
|
113
|
-
return 1;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
exports.Alias = Alias;
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import type { Schema } from '../schema/Schema';
|
|
2
|
-
import { NODE_TYPE } from './identity';
|
|
3
|
-
import { NodeBase } from './Node';
|
|
4
|
-
export declare function collectionFromPath(schema: Schema, path: unknown[], value: unknown): import('./Node').Node;
|
|
5
|
-
export declare const isEmptyPath: (path: Iterable<unknown> | null | undefined) => path is null | undefined;
|
|
6
|
-
export declare abstract class Collection extends NodeBase {
|
|
7
|
-
schema: Schema | undefined;
|
|
8
|
-
[NODE_TYPE]: symbol;
|
|
9
|
-
items: unknown[];
|
|
10
|
-
/** An optional anchor on this node. Used by alias nodes. */
|
|
11
|
-
anchor?: string;
|
|
12
|
-
/**
|
|
13
|
-
* If true, stringify this and all child nodes using flow rather than
|
|
14
|
-
* block styles.
|
|
15
|
-
*/
|
|
16
|
-
flow?: boolean;
|
|
17
|
-
constructor(type: symbol, schema?: Schema);
|
|
18
|
-
/**
|
|
19
|
-
* Create a copy of this collection.
|
|
20
|
-
*
|
|
21
|
-
* @param schema - If defined, overwrites the original's schema
|
|
22
|
-
*/
|
|
23
|
-
clone(schema?: Schema): Collection;
|
|
24
|
-
/** Adds a value to the collection. */
|
|
25
|
-
abstract add(value: unknown): void;
|
|
26
|
-
/**
|
|
27
|
-
* Removes a value from the collection.
|
|
28
|
-
* @returns `true` if the item was found and removed.
|
|
29
|
-
*/
|
|
30
|
-
abstract delete(key: unknown): boolean;
|
|
31
|
-
/**
|
|
32
|
-
* Returns item at `key`, or `undefined` if not found. By default unwraps
|
|
33
|
-
* scalar values from their surrounding node; to disable set `keepScalar` to
|
|
34
|
-
* `true` (collections are always returned intact).
|
|
35
|
-
*/
|
|
36
|
-
abstract get(key: unknown, keepScalar?: boolean): unknown;
|
|
37
|
-
/**
|
|
38
|
-
* Checks if the collection includes a value with the key `key`.
|
|
39
|
-
*/
|
|
40
|
-
abstract has(key: unknown): boolean;
|
|
41
|
-
/**
|
|
42
|
-
* Sets a value in this collection. For `!!set`, `value` needs to be a
|
|
43
|
-
* boolean to add/remove the item from the set.
|
|
44
|
-
*/
|
|
45
|
-
abstract set(key: unknown, value: unknown): void;
|
|
46
|
-
/**
|
|
47
|
-
* Adds a value to the collection. For `!!map` and `!!omap` the value must
|
|
48
|
-
* be a Pair instance or a `{ key, value }` object, which may not have a key
|
|
49
|
-
* that already exists in the map.
|
|
50
|
-
*/
|
|
51
|
-
addIn(path: Iterable<unknown>, value: unknown): void;
|
|
52
|
-
/**
|
|
53
|
-
* Removes a value from the collection.
|
|
54
|
-
* @returns `true` if the item was found and removed.
|
|
55
|
-
*/
|
|
56
|
-
deleteIn(path: Iterable<unknown>): boolean;
|
|
57
|
-
/**
|
|
58
|
-
* Returns item at `key`, or `undefined` if not found. By default unwraps
|
|
59
|
-
* scalar values from their surrounding node; to disable set `keepScalar` to
|
|
60
|
-
* `true` (collections are always returned intact).
|
|
61
|
-
*/
|
|
62
|
-
getIn(path: Iterable<unknown>, keepScalar?: boolean): unknown;
|
|
63
|
-
hasAllNullValues(allowScalar?: boolean): boolean;
|
|
64
|
-
/**
|
|
65
|
-
* Checks if the collection includes a value with the key `key`.
|
|
66
|
-
*/
|
|
67
|
-
hasIn(path: Iterable<unknown>): boolean;
|
|
68
|
-
/**
|
|
69
|
-
* Sets a value in this collection. For `!!set`, `value` needs to be a
|
|
70
|
-
* boolean to add/remove the item from the set.
|
|
71
|
-
*/
|
|
72
|
-
setIn(path: Iterable<unknown>, value: unknown): void;
|
|
73
|
-
}
|
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var createNode = require('../doc/createNode.js');
|
|
4
|
-
var identity = require('./identity.js');
|
|
5
|
-
var Node = require('./Node.js');
|
|
6
|
-
|
|
7
|
-
function collectionFromPath(schema, path, value) {
|
|
8
|
-
let v = value;
|
|
9
|
-
for (let i = path.length - 1; i >= 0; --i) {
|
|
10
|
-
const k = path[i];
|
|
11
|
-
if (typeof k === 'number' && Number.isInteger(k) && k >= 0) {
|
|
12
|
-
const a = [];
|
|
13
|
-
a[k] = v;
|
|
14
|
-
v = a;
|
|
15
|
-
}
|
|
16
|
-
else {
|
|
17
|
-
v = new Map([[k, v]]);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
return createNode.createNode(v, undefined, {
|
|
21
|
-
aliasDuplicateObjects: false,
|
|
22
|
-
keepUndefined: false,
|
|
23
|
-
onAnchor: () => {
|
|
24
|
-
throw new Error('This should not happen, please report a bug.');
|
|
25
|
-
},
|
|
26
|
-
schema,
|
|
27
|
-
sourceObjects: new Map()
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
// Type guard is intentionally a little wrong so as to be more useful,
|
|
31
|
-
// as it does not cover untypable empty non-string iterables (e.g. []).
|
|
32
|
-
const isEmptyPath = (path) => path == null ||
|
|
33
|
-
(typeof path === 'object' && !!path[Symbol.iterator]().next().done);
|
|
34
|
-
class Collection extends Node.NodeBase {
|
|
35
|
-
constructor(type, schema) {
|
|
36
|
-
super(type);
|
|
37
|
-
Object.defineProperty(this, 'schema', {
|
|
38
|
-
value: schema,
|
|
39
|
-
configurable: true,
|
|
40
|
-
enumerable: false,
|
|
41
|
-
writable: true
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Create a copy of this collection.
|
|
46
|
-
*
|
|
47
|
-
* @param schema - If defined, overwrites the original's schema
|
|
48
|
-
*/
|
|
49
|
-
clone(schema) {
|
|
50
|
-
const copy = Object.create(Object.getPrototypeOf(this), Object.getOwnPropertyDescriptors(this));
|
|
51
|
-
if (schema)
|
|
52
|
-
copy.schema = schema;
|
|
53
|
-
copy.items = copy.items.map(it => identity.isNode(it) || identity.isPair(it) ? it.clone(schema) : it);
|
|
54
|
-
if (this.range)
|
|
55
|
-
copy.range = this.range.slice();
|
|
56
|
-
return copy;
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Adds a value to the collection. For `!!map` and `!!omap` the value must
|
|
60
|
-
* be a Pair instance or a `{ key, value }` object, which may not have a key
|
|
61
|
-
* that already exists in the map.
|
|
62
|
-
*/
|
|
63
|
-
addIn(path, value) {
|
|
64
|
-
if (isEmptyPath(path))
|
|
65
|
-
this.add(value);
|
|
66
|
-
else {
|
|
67
|
-
const [key, ...rest] = path;
|
|
68
|
-
const node = this.get(key, true);
|
|
69
|
-
if (identity.isCollection(node))
|
|
70
|
-
node.addIn(rest, value);
|
|
71
|
-
else if (node === undefined && this.schema)
|
|
72
|
-
this.set(key, collectionFromPath(this.schema, rest, value));
|
|
73
|
-
else
|
|
74
|
-
throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Removes a value from the collection.
|
|
79
|
-
* @returns `true` if the item was found and removed.
|
|
80
|
-
*/
|
|
81
|
-
deleteIn(path) {
|
|
82
|
-
const [key, ...rest] = path;
|
|
83
|
-
if (rest.length === 0)
|
|
84
|
-
return this.delete(key);
|
|
85
|
-
const node = this.get(key, true);
|
|
86
|
-
if (identity.isCollection(node))
|
|
87
|
-
return node.deleteIn(rest);
|
|
88
|
-
else
|
|
89
|
-
throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`);
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Returns item at `key`, or `undefined` if not found. By default unwraps
|
|
93
|
-
* scalar values from their surrounding node; to disable set `keepScalar` to
|
|
94
|
-
* `true` (collections are always returned intact).
|
|
95
|
-
*/
|
|
96
|
-
getIn(path, keepScalar) {
|
|
97
|
-
const [key, ...rest] = path;
|
|
98
|
-
const node = this.get(key, true);
|
|
99
|
-
if (rest.length === 0)
|
|
100
|
-
return !keepScalar && identity.isScalar(node) ? node.value : node;
|
|
101
|
-
else
|
|
102
|
-
return identity.isCollection(node) ? node.getIn(rest, keepScalar) : undefined;
|
|
103
|
-
}
|
|
104
|
-
hasAllNullValues(allowScalar) {
|
|
105
|
-
return this.items.every(node => {
|
|
106
|
-
if (!identity.isPair(node))
|
|
107
|
-
return false;
|
|
108
|
-
const n = node.value;
|
|
109
|
-
return (n == null ||
|
|
110
|
-
(allowScalar &&
|
|
111
|
-
identity.isScalar(n) &&
|
|
112
|
-
n.value == null &&
|
|
113
|
-
!n.commentBefore &&
|
|
114
|
-
!n.comment &&
|
|
115
|
-
!n.tag));
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
/**
|
|
119
|
-
* Checks if the collection includes a value with the key `key`.
|
|
120
|
-
*/
|
|
121
|
-
hasIn(path) {
|
|
122
|
-
const [key, ...rest] = path;
|
|
123
|
-
if (rest.length === 0)
|
|
124
|
-
return this.has(key);
|
|
125
|
-
const node = this.get(key, true);
|
|
126
|
-
return identity.isCollection(node) ? node.hasIn(rest) : false;
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* Sets a value in this collection. For `!!set`, `value` needs to be a
|
|
130
|
-
* boolean to add/remove the item from the set.
|
|
131
|
-
*/
|
|
132
|
-
setIn(path, value) {
|
|
133
|
-
const [key, ...rest] = path;
|
|
134
|
-
if (rest.length === 0) {
|
|
135
|
-
this.set(key, value);
|
|
136
|
-
}
|
|
137
|
-
else {
|
|
138
|
-
const node = this.get(key, true);
|
|
139
|
-
if (identity.isCollection(node))
|
|
140
|
-
node.setIn(rest, value);
|
|
141
|
-
else if (node === undefined && this.schema)
|
|
142
|
-
this.set(key, collectionFromPath(this.schema, rest, value));
|
|
143
|
-
else
|
|
144
|
-
throw new Error(`Expected YAML collection at ${key}. Remaining path: ${rest}`);
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
exports.Collection = Collection;
|
|
150
|
-
exports.collectionFromPath = collectionFromPath;
|
|
151
|
-
exports.isEmptyPath = isEmptyPath;
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import type { Document } from '../doc/Document';
|
|
2
|
-
import type { ToJSOptions } from '../options';
|
|
3
|
-
import type { Token } from '../parse/cst';
|
|
4
|
-
import type { StringifyContext } from '../stringify/stringify';
|
|
5
|
-
import type { Alias } from './Alias';
|
|
6
|
-
import { NODE_TYPE } from './identity';
|
|
7
|
-
import type { Scalar } from './Scalar';
|
|
8
|
-
import type { ToJSContext } from './toJS';
|
|
9
|
-
import type { MapLike, YAMLMap } from './YAMLMap';
|
|
10
|
-
import type { YAMLSeq } from './YAMLSeq';
|
|
11
|
-
export type Node<T = unknown> = Alias | Scalar<T> | YAMLMap<unknown, T> | YAMLSeq<T>;
|
|
12
|
-
/** Utility type mapper */
|
|
13
|
-
export type NodeType<T> = T extends string | number | bigint | boolean | null | undefined ? Scalar<T> : T extends Date ? Scalar<string | Date> : T extends Array<any> ? YAMLSeq<NodeType<T[number]>> : T extends {
|
|
14
|
-
[key: string]: any;
|
|
15
|
-
} ? YAMLMap<NodeType<keyof T>, NodeType<T[keyof T]>> : T extends {
|
|
16
|
-
[key: number]: any;
|
|
17
|
-
} ? YAMLMap<NodeType<keyof T>, NodeType<T[keyof T]>> : Node;
|
|
18
|
-
export type ParsedNode = Alias.Parsed | Scalar.Parsed | YAMLMap.Parsed | YAMLSeq.Parsed;
|
|
19
|
-
/** `[start, value-end, node-end]` */
|
|
20
|
-
export type Range = [number, number, number];
|
|
21
|
-
export declare abstract class NodeBase {
|
|
22
|
-
readonly [NODE_TYPE]: symbol;
|
|
23
|
-
/** A comment on or immediately after this */
|
|
24
|
-
comment?: string | null;
|
|
25
|
-
/** A comment before this */
|
|
26
|
-
commentBefore?: string | null;
|
|
27
|
-
/**
|
|
28
|
-
* The `[start, value-end, node-end]` character offsets for the part of the
|
|
29
|
-
* source parsed into this node (undefined if not parsed). The `value-end`
|
|
30
|
-
* and `node-end` positions are themselves not included in their respective
|
|
31
|
-
* ranges.
|
|
32
|
-
*/
|
|
33
|
-
range?: Range | null;
|
|
34
|
-
/** A blank line before this node and its commentBefore */
|
|
35
|
-
spaceBefore?: boolean;
|
|
36
|
-
/** The CST token that was composed into this node. */
|
|
37
|
-
srcToken?: Token;
|
|
38
|
-
/** A fully qualified tag, if required */
|
|
39
|
-
tag?: string;
|
|
40
|
-
/**
|
|
41
|
-
* Customize the way that a key-value pair is resolved.
|
|
42
|
-
* Used for YAML 1.1 !!merge << handling.
|
|
43
|
-
*/
|
|
44
|
-
addToJSMap?: (ctx: ToJSContext | undefined, map: MapLike, value: unknown) => void;
|
|
45
|
-
/** A plain JS representation of this node */
|
|
46
|
-
abstract toJSON(): any;
|
|
47
|
-
abstract toString(ctx?: StringifyContext, onComment?: () => void, onChompKeep?: () => void): string;
|
|
48
|
-
constructor(type: symbol);
|
|
49
|
-
/** Create a copy of this node. */
|
|
50
|
-
clone(): NodeBase;
|
|
51
|
-
/** A plain JavaScript representation of this node. */
|
|
52
|
-
toJS(doc: Document<Node, boolean>, { mapAsMap, maxAliasCount, onAnchor, reviver }?: ToJSOptions): any;
|
|
53
|
-
}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var applyReviver = require('../doc/applyReviver.js');
|
|
4
|
-
var identity = require('./identity.js');
|
|
5
|
-
var toJS = require('./toJS.js');
|
|
6
|
-
|
|
7
|
-
class NodeBase {
|
|
8
|
-
constructor(type) {
|
|
9
|
-
Object.defineProperty(this, identity.NODE_TYPE, { value: type });
|
|
10
|
-
}
|
|
11
|
-
/** Create a copy of this node. */
|
|
12
|
-
clone() {
|
|
13
|
-
const copy = Object.create(Object.getPrototypeOf(this), Object.getOwnPropertyDescriptors(this));
|
|
14
|
-
if (this.range)
|
|
15
|
-
copy.range = this.range.slice();
|
|
16
|
-
return copy;
|
|
17
|
-
}
|
|
18
|
-
/** A plain JavaScript representation of this node. */
|
|
19
|
-
toJS(doc, { mapAsMap, maxAliasCount, onAnchor, reviver } = {}) {
|
|
20
|
-
if (!identity.isDocument(doc))
|
|
21
|
-
throw new TypeError('A document argument is required');
|
|
22
|
-
const ctx = {
|
|
23
|
-
anchors: new Map(),
|
|
24
|
-
doc,
|
|
25
|
-
keep: true,
|
|
26
|
-
mapAsMap: mapAsMap === true,
|
|
27
|
-
mapKeyWarned: false,
|
|
28
|
-
maxAliasCount: typeof maxAliasCount === 'number' ? maxAliasCount : 100
|
|
29
|
-
};
|
|
30
|
-
const res = toJS.toJS(this, '', ctx);
|
|
31
|
-
if (typeof onAnchor === 'function')
|
|
32
|
-
for (const { count, res } of ctx.anchors.values())
|
|
33
|
-
onAnchor(res, count);
|
|
34
|
-
return typeof reviver === 'function'
|
|
35
|
-
? applyReviver.applyReviver(reviver, { '': res }, '', res)
|
|
36
|
-
: res;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
exports.NodeBase = NodeBase;
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import type { CreateNodeContext } from '../doc/createNode';
|
|
2
|
-
import type { CollectionItem } from '../parse/cst';
|
|
3
|
-
import type { Schema } from '../schema/Schema';
|
|
4
|
-
import type { StringifyContext } from '../stringify/stringify';
|
|
5
|
-
import { addPairToJSMap } from './addPairToJSMap';
|
|
6
|
-
import { NODE_TYPE } from './identity';
|
|
7
|
-
import type { Node } from './Node';
|
|
8
|
-
import type { ToJSContext } from './toJS';
|
|
9
|
-
export declare function createPair(key: unknown, value: unknown, ctx: CreateNodeContext): Pair<Node, Node>;
|
|
10
|
-
export declare class Pair<K = unknown, V = unknown> {
|
|
11
|
-
readonly [NODE_TYPE]: symbol;
|
|
12
|
-
/** Always Node or null when parsed, but can be set to anything. */
|
|
13
|
-
key: K;
|
|
14
|
-
/** Always Node or null when parsed, but can be set to anything. */
|
|
15
|
-
value: V | null;
|
|
16
|
-
/** The CST token that was composed into this pair. */
|
|
17
|
-
srcToken?: CollectionItem;
|
|
18
|
-
constructor(key: K, value?: V | null);
|
|
19
|
-
clone(schema?: Schema): Pair<K, V>;
|
|
20
|
-
toJSON(_?: unknown, ctx?: ToJSContext): ReturnType<typeof addPairToJSMap>;
|
|
21
|
-
toString(ctx?: StringifyContext, onComment?: () => void, onChompKeep?: () => void): string;
|
|
22
|
-
}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var createNode = require('../doc/createNode.js');
|
|
4
|
-
var stringifyPair = require('../stringify/stringifyPair.js');
|
|
5
|
-
var addPairToJSMap = require('./addPairToJSMap.js');
|
|
6
|
-
var identity = require('./identity.js');
|
|
7
|
-
|
|
8
|
-
function createPair(key, value, ctx) {
|
|
9
|
-
const k = createNode.createNode(key, undefined, ctx);
|
|
10
|
-
const v = createNode.createNode(value, undefined, ctx);
|
|
11
|
-
return new Pair(k, v);
|
|
12
|
-
}
|
|
13
|
-
class Pair {
|
|
14
|
-
constructor(key, value = null) {
|
|
15
|
-
Object.defineProperty(this, identity.NODE_TYPE, { value: identity.PAIR });
|
|
16
|
-
this.key = key;
|
|
17
|
-
this.value = value;
|
|
18
|
-
}
|
|
19
|
-
clone(schema) {
|
|
20
|
-
let { key, value } = this;
|
|
21
|
-
if (identity.isNode(key))
|
|
22
|
-
key = key.clone(schema);
|
|
23
|
-
if (identity.isNode(value))
|
|
24
|
-
value = value.clone(schema);
|
|
25
|
-
return new Pair(key, value);
|
|
26
|
-
}
|
|
27
|
-
toJSON(_, ctx) {
|
|
28
|
-
const pair = ctx?.mapAsMap ? new Map() : {};
|
|
29
|
-
return addPairToJSMap.addPairToJSMap(ctx, pair, this);
|
|
30
|
-
}
|
|
31
|
-
toString(ctx, onComment, onChompKeep) {
|
|
32
|
-
return ctx?.doc
|
|
33
|
-
? stringifyPair.stringifyPair(this, ctx, onComment, onChompKeep)
|
|
34
|
-
: JSON.stringify(this);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
exports.Pair = Pair;
|
|
39
|
-
exports.createPair = createPair;
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import type { BlockScalar, FlowScalar } from '../parse/cst';
|
|
2
|
-
import type { Range } from './Node';
|
|
3
|
-
import { NodeBase } from './Node';
|
|
4
|
-
import type { ToJSContext } from './toJS';
|
|
5
|
-
export declare const isScalarValue: (value: unknown) => boolean;
|
|
6
|
-
export declare namespace Scalar {
|
|
7
|
-
interface Parsed extends Scalar {
|
|
8
|
-
range: Range;
|
|
9
|
-
source: string;
|
|
10
|
-
srcToken?: FlowScalar | BlockScalar;
|
|
11
|
-
}
|
|
12
|
-
type BLOCK_FOLDED = 'BLOCK_FOLDED';
|
|
13
|
-
type BLOCK_LITERAL = 'BLOCK_LITERAL';
|
|
14
|
-
type PLAIN = 'PLAIN';
|
|
15
|
-
type QUOTE_DOUBLE = 'QUOTE_DOUBLE';
|
|
16
|
-
type QUOTE_SINGLE = 'QUOTE_SINGLE';
|
|
17
|
-
type Type = BLOCK_FOLDED | BLOCK_LITERAL | PLAIN | QUOTE_DOUBLE | QUOTE_SINGLE;
|
|
18
|
-
}
|
|
19
|
-
export declare class Scalar<T = unknown> extends NodeBase {
|
|
20
|
-
static readonly BLOCK_FOLDED = "BLOCK_FOLDED";
|
|
21
|
-
static readonly BLOCK_LITERAL = "BLOCK_LITERAL";
|
|
22
|
-
static readonly PLAIN = "PLAIN";
|
|
23
|
-
static readonly QUOTE_DOUBLE = "QUOTE_DOUBLE";
|
|
24
|
-
static readonly QUOTE_SINGLE = "QUOTE_SINGLE";
|
|
25
|
-
value: T;
|
|
26
|
-
/** An optional anchor on this node. Used by alias nodes. */
|
|
27
|
-
anchor?: string;
|
|
28
|
-
/**
|
|
29
|
-
* By default (undefined), numbers use decimal notation.
|
|
30
|
-
* The YAML 1.2 core schema only supports 'HEX' and 'OCT'.
|
|
31
|
-
* The YAML 1.1 schema also supports 'BIN' and 'TIME'
|
|
32
|
-
*/
|
|
33
|
-
format?: string;
|
|
34
|
-
/** If `value` is a number, use this value when stringifying this node. */
|
|
35
|
-
minFractionDigits?: number;
|
|
36
|
-
/** Set during parsing to the source string value */
|
|
37
|
-
source?: string;
|
|
38
|
-
/** The scalar style used for the node's string representation */
|
|
39
|
-
type?: Scalar.Type;
|
|
40
|
-
constructor(value: T);
|
|
41
|
-
toJSON(arg?: any, ctx?: ToJSContext): any;
|
|
42
|
-
toString(): string;
|
|
43
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var identity = require('./identity.js');
|
|
4
|
-
var Node = require('./Node.js');
|
|
5
|
-
var toJS = require('./toJS.js');
|
|
6
|
-
|
|
7
|
-
const isScalarValue = (value) => !value || (typeof value !== 'function' && typeof value !== 'object');
|
|
8
|
-
class Scalar extends Node.NodeBase {
|
|
9
|
-
constructor(value) {
|
|
10
|
-
super(identity.SCALAR);
|
|
11
|
-
this.value = value;
|
|
12
|
-
}
|
|
13
|
-
toJSON(arg, ctx) {
|
|
14
|
-
return ctx?.keep ? this.value : toJS.toJS(this.value, arg, ctx);
|
|
15
|
-
}
|
|
16
|
-
toString() {
|
|
17
|
-
return String(this.value);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
Scalar.BLOCK_FOLDED = 'BLOCK_FOLDED';
|
|
21
|
-
Scalar.BLOCK_LITERAL = 'BLOCK_LITERAL';
|
|
22
|
-
Scalar.PLAIN = 'PLAIN';
|
|
23
|
-
Scalar.QUOTE_DOUBLE = 'QUOTE_DOUBLE';
|
|
24
|
-
Scalar.QUOTE_SINGLE = 'QUOTE_SINGLE';
|
|
25
|
-
|
|
26
|
-
exports.Scalar = Scalar;
|
|
27
|
-
exports.isScalarValue = isScalarValue;
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import type { BlockMap, FlowCollection } from '../parse/cst';
|
|
2
|
-
import type { Schema } from '../schema/Schema';
|
|
3
|
-
import type { StringifyContext } from '../stringify/stringify';
|
|
4
|
-
import type { CreateNodeContext } from '../util';
|
|
5
|
-
import { Collection } from './Collection';
|
|
6
|
-
import type { ParsedNode, Range } from './Node';
|
|
7
|
-
import { Pair } from './Pair';
|
|
8
|
-
import type { Scalar } from './Scalar';
|
|
9
|
-
import type { ToJSContext } from './toJS';
|
|
10
|
-
export type MapLike = Map<unknown, unknown> | Set<unknown> | Record<string | number | symbol, unknown>;
|
|
11
|
-
export declare function findPair<K = unknown, V = unknown>(items: Iterable<Pair<K, V>>, key: unknown): Pair<K, V> | undefined;
|
|
12
|
-
export declare namespace YAMLMap {
|
|
13
|
-
interface Parsed<K extends ParsedNode = ParsedNode, V extends ParsedNode | null = ParsedNode | null> extends YAMLMap<K, V> {
|
|
14
|
-
items: Pair<K, V>[];
|
|
15
|
-
range: Range;
|
|
16
|
-
srcToken?: BlockMap | FlowCollection;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
export declare class YAMLMap<K = unknown, V = unknown> extends Collection {
|
|
20
|
-
static get tagName(): 'tag:yaml.org,2002:map';
|
|
21
|
-
items: Pair<K, V>[];
|
|
22
|
-
constructor(schema?: Schema);
|
|
23
|
-
/**
|
|
24
|
-
* A generic collection parsing method that can be extended
|
|
25
|
-
* to other node classes that inherit from YAMLMap
|
|
26
|
-
*/
|
|
27
|
-
static from(schema: Schema, obj: unknown, ctx: CreateNodeContext): YAMLMap;
|
|
28
|
-
/**
|
|
29
|
-
* Adds a value to the collection.
|
|
30
|
-
*
|
|
31
|
-
* @param overwrite - If not set `true`, using a key that is already in the
|
|
32
|
-
* collection will throw. Otherwise, overwrites the previous value.
|
|
33
|
-
*/
|
|
34
|
-
add(pair: Pair<K, V> | {
|
|
35
|
-
key: K;
|
|
36
|
-
value: V;
|
|
37
|
-
}, overwrite?: boolean): void;
|
|
38
|
-
delete(key: unknown): boolean;
|
|
39
|
-
get(key: unknown, keepScalar: true): Scalar<V> | undefined;
|
|
40
|
-
get(key: unknown, keepScalar?: false): V | undefined;
|
|
41
|
-
get(key: unknown, keepScalar?: boolean): V | Scalar<V> | undefined;
|
|
42
|
-
has(key: unknown): boolean;
|
|
43
|
-
set(key: K, value: V): void;
|
|
44
|
-
/**
|
|
45
|
-
* @param ctx - Conversion context, originally set in Document#toJS()
|
|
46
|
-
* @param {Class} Type - If set, forces the returned collection type
|
|
47
|
-
* @returns Instance of Type, Map, or Object
|
|
48
|
-
*/
|
|
49
|
-
toJSON<T extends MapLike = Map<unknown, unknown>>(_?: unknown, ctx?: ToJSContext, Type?: {
|
|
50
|
-
new (): T;
|
|
51
|
-
}): any;
|
|
52
|
-
toString(ctx?: StringifyContext, onComment?: () => void, onChompKeep?: () => void): string;
|
|
53
|
-
}
|