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,99 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var map = require('./common/map.js');
|
|
4
|
-
var _null = require('./common/null.js');
|
|
5
|
-
var seq = require('./common/seq.js');
|
|
6
|
-
var string = require('./common/string.js');
|
|
7
|
-
var bool = require('./core/bool.js');
|
|
8
|
-
var float = require('./core/float.js');
|
|
9
|
-
var int = require('./core/int.js');
|
|
10
|
-
var schema = require('./core/schema.js');
|
|
11
|
-
var schema$1 = require('./json/schema.js');
|
|
12
|
-
var binary = require('./yaml-1.1/binary.js');
|
|
13
|
-
var merge = require('./yaml-1.1/merge.js');
|
|
14
|
-
var omap = require('./yaml-1.1/omap.js');
|
|
15
|
-
var pairs = require('./yaml-1.1/pairs.js');
|
|
16
|
-
var schema$2 = require('./yaml-1.1/schema.js');
|
|
17
|
-
var set = require('./yaml-1.1/set.js');
|
|
18
|
-
var timestamp = require('./yaml-1.1/timestamp.js');
|
|
19
|
-
|
|
20
|
-
const schemas = new Map([
|
|
21
|
-
['core', schema.schema],
|
|
22
|
-
['failsafe', [map.map, seq.seq, string.string]],
|
|
23
|
-
['json', schema$1.schema],
|
|
24
|
-
['yaml11', schema$2.schema],
|
|
25
|
-
['yaml-1.1', schema$2.schema]
|
|
26
|
-
]);
|
|
27
|
-
const tagsByName = {
|
|
28
|
-
binary: binary.binary,
|
|
29
|
-
bool: bool.boolTag,
|
|
30
|
-
float: float.float,
|
|
31
|
-
floatExp: float.floatExp,
|
|
32
|
-
floatNaN: float.floatNaN,
|
|
33
|
-
floatTime: timestamp.floatTime,
|
|
34
|
-
int: int.int,
|
|
35
|
-
intHex: int.intHex,
|
|
36
|
-
intOct: int.intOct,
|
|
37
|
-
intTime: timestamp.intTime,
|
|
38
|
-
map: map.map,
|
|
39
|
-
merge: merge.merge,
|
|
40
|
-
null: _null.nullTag,
|
|
41
|
-
omap: omap.omap,
|
|
42
|
-
pairs: pairs.pairs,
|
|
43
|
-
seq: seq.seq,
|
|
44
|
-
set: set.set,
|
|
45
|
-
timestamp: timestamp.timestamp
|
|
46
|
-
};
|
|
47
|
-
const coreKnownTags = {
|
|
48
|
-
'tag:yaml.org,2002:binary': binary.binary,
|
|
49
|
-
'tag:yaml.org,2002:merge': merge.merge,
|
|
50
|
-
'tag:yaml.org,2002:omap': omap.omap,
|
|
51
|
-
'tag:yaml.org,2002:pairs': pairs.pairs,
|
|
52
|
-
'tag:yaml.org,2002:set': set.set,
|
|
53
|
-
'tag:yaml.org,2002:timestamp': timestamp.timestamp
|
|
54
|
-
};
|
|
55
|
-
function getTags(customTags, schemaName, addMergeTag) {
|
|
56
|
-
const schemaTags = schemas.get(schemaName);
|
|
57
|
-
if (schemaTags && !customTags) {
|
|
58
|
-
return addMergeTag && !schemaTags.includes(merge.merge)
|
|
59
|
-
? schemaTags.concat(merge.merge)
|
|
60
|
-
: schemaTags.slice();
|
|
61
|
-
}
|
|
62
|
-
let tags = schemaTags;
|
|
63
|
-
if (!tags) {
|
|
64
|
-
if (Array.isArray(customTags))
|
|
65
|
-
tags = [];
|
|
66
|
-
else {
|
|
67
|
-
const keys = Array.from(schemas.keys())
|
|
68
|
-
.filter(key => key !== 'yaml11')
|
|
69
|
-
.map(key => JSON.stringify(key))
|
|
70
|
-
.join(', ');
|
|
71
|
-
throw new Error(`Unknown schema "${schemaName}"; use one of ${keys} or define customTags array`);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
if (Array.isArray(customTags)) {
|
|
75
|
-
for (const tag of customTags)
|
|
76
|
-
tags = tags.concat(tag);
|
|
77
|
-
}
|
|
78
|
-
else if (typeof customTags === 'function') {
|
|
79
|
-
tags = customTags(tags.slice());
|
|
80
|
-
}
|
|
81
|
-
if (addMergeTag)
|
|
82
|
-
tags = tags.concat(merge.merge);
|
|
83
|
-
return tags.reduce((tags, tag) => {
|
|
84
|
-
const tagObj = typeof tag === 'string' ? tagsByName[tag] : tag;
|
|
85
|
-
if (!tagObj) {
|
|
86
|
-
const tagName = JSON.stringify(tag);
|
|
87
|
-
const keys = Object.keys(tagsByName)
|
|
88
|
-
.map(key => JSON.stringify(key))
|
|
89
|
-
.join(', ');
|
|
90
|
-
throw new Error(`Unknown custom tag ${tagName}; use one of ${keys}`);
|
|
91
|
-
}
|
|
92
|
-
if (!tags.includes(tagObj))
|
|
93
|
-
tags.push(tagObj);
|
|
94
|
-
return tags;
|
|
95
|
-
}, []);
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
exports.coreKnownTags = coreKnownTags;
|
|
99
|
-
exports.getTags = getTags;
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import type { CreateNodeContext } from '../doc/createNode';
|
|
2
|
-
import type { Node } from '../nodes/Node';
|
|
3
|
-
import type { Scalar } from '../nodes/Scalar';
|
|
4
|
-
import type { YAMLMap } from '../nodes/YAMLMap';
|
|
5
|
-
import type { YAMLSeq } from '../nodes/YAMLSeq';
|
|
6
|
-
import type { ParseOptions } from '../options';
|
|
7
|
-
import type { StringifyContext } from '../stringify/stringify';
|
|
8
|
-
import type { Schema } from './Schema';
|
|
9
|
-
interface TagBase {
|
|
10
|
-
/**
|
|
11
|
-
* An optional factory function, used e.g. by collections when wrapping JS objects as AST nodes.
|
|
12
|
-
*/
|
|
13
|
-
createNode?: (schema: Schema, value: unknown, ctx: CreateNodeContext) => Node;
|
|
14
|
-
/**
|
|
15
|
-
* If `true`, allows for values to be stringified without
|
|
16
|
-
* an explicit tag together with `test`.
|
|
17
|
-
* If `'key'`, this only applies if the value is used as a mapping key.
|
|
18
|
-
* For most cases, it's unlikely that you'll actually want to use this,
|
|
19
|
-
* even if you first think you do.
|
|
20
|
-
*/
|
|
21
|
-
default?: boolean | 'key';
|
|
22
|
-
/**
|
|
23
|
-
* If a tag has multiple forms that should be parsed and/or stringified
|
|
24
|
-
* differently, use `format` to identify them.
|
|
25
|
-
*/
|
|
26
|
-
format?: string;
|
|
27
|
-
/**
|
|
28
|
-
* Used by `YAML.createNode` to detect your data type, e.g. using `typeof` or
|
|
29
|
-
* `instanceof`.
|
|
30
|
-
*/
|
|
31
|
-
identify?: (value: unknown) => boolean;
|
|
32
|
-
/**
|
|
33
|
-
* The identifier for your data type, with which its stringified form will be
|
|
34
|
-
* prefixed. Should either be a !-prefixed local `!tag`, or a fully qualified
|
|
35
|
-
* `tag:domain,date:foo`.
|
|
36
|
-
*/
|
|
37
|
-
tag: string;
|
|
38
|
-
}
|
|
39
|
-
export interface ScalarTag extends TagBase {
|
|
40
|
-
collection?: never;
|
|
41
|
-
nodeClass?: never;
|
|
42
|
-
/**
|
|
43
|
-
* Turns a value into an AST node.
|
|
44
|
-
* If returning a non-`Node` value, the output will be wrapped as a `Scalar`.
|
|
45
|
-
*/
|
|
46
|
-
resolve(value: string, onError: (message: string) => void, options: ParseOptions): unknown;
|
|
47
|
-
/**
|
|
48
|
-
* Optional function stringifying a Scalar node. If your data includes a
|
|
49
|
-
* suitable `.toString()` method, you can probably leave this undefined and
|
|
50
|
-
* use the default stringifier.
|
|
51
|
-
*
|
|
52
|
-
* @param item The node being stringified.
|
|
53
|
-
* @param ctx Contains the stringifying context variables.
|
|
54
|
-
* @param onComment Callback to signal that the stringifier includes the
|
|
55
|
-
* item's comment in its output.
|
|
56
|
-
* @param onChompKeep Callback to signal that the output uses a block scalar
|
|
57
|
-
* type with the `+` chomping indicator.
|
|
58
|
-
*/
|
|
59
|
-
stringify?: (item: Scalar, ctx: StringifyContext, onComment?: () => void, onChompKeep?: () => void) => string;
|
|
60
|
-
/**
|
|
61
|
-
* Together with `default` allows for values to be stringified without an
|
|
62
|
-
* explicit tag and detected using a regular expression. For most cases, it's
|
|
63
|
-
* unlikely that you'll actually want to use these, even if you first think
|
|
64
|
-
* you do.
|
|
65
|
-
*/
|
|
66
|
-
test?: RegExp;
|
|
67
|
-
}
|
|
68
|
-
export interface CollectionTag extends TagBase {
|
|
69
|
-
stringify?: never;
|
|
70
|
-
test?: never;
|
|
71
|
-
/** The source collection type supported by this tag. */
|
|
72
|
-
collection: 'map' | 'seq';
|
|
73
|
-
/**
|
|
74
|
-
* The `Node` child class that implements this tag.
|
|
75
|
-
* If set, used to select this tag when stringifying.
|
|
76
|
-
*
|
|
77
|
-
* If the class provides a static `from` method, then that
|
|
78
|
-
* will be used if the tag object doesn't have a `createNode` method.
|
|
79
|
-
*/
|
|
80
|
-
nodeClass?: {
|
|
81
|
-
new (schema?: Schema): Node;
|
|
82
|
-
from?: (schema: Schema, obj: unknown, ctx: CreateNodeContext) => Node;
|
|
83
|
-
};
|
|
84
|
-
/**
|
|
85
|
-
* Turns a value into an AST node.
|
|
86
|
-
* If returning a non-`Node` value, the output will be wrapped as a `Scalar`.
|
|
87
|
-
*
|
|
88
|
-
* Note: this is required if nodeClass is not provided.
|
|
89
|
-
*/
|
|
90
|
-
resolve?: (value: YAMLMap.Parsed | YAMLSeq.Parsed, onError: (message: string) => void, options: ParseOptions) => unknown;
|
|
91
|
-
}
|
|
92
|
-
export {};
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var node_buffer = require('buffer');
|
|
4
|
-
var Scalar = require('../../nodes/Scalar.js');
|
|
5
|
-
var stringifyString = require('../../stringify/stringifyString.js');
|
|
6
|
-
|
|
7
|
-
const binary = {
|
|
8
|
-
identify: value => value instanceof Uint8Array, // Buffer inherits from Uint8Array
|
|
9
|
-
default: false,
|
|
10
|
-
tag: 'tag:yaml.org,2002:binary',
|
|
11
|
-
/**
|
|
12
|
-
* Returns a Buffer in node and an Uint8Array in browsers
|
|
13
|
-
*
|
|
14
|
-
* To use the resulting buffer as an image, you'll want to do something like:
|
|
15
|
-
*
|
|
16
|
-
* const blob = new Blob([buffer], { type: 'image/jpeg' })
|
|
17
|
-
* document.querySelector('#photo').src = URL.createObjectURL(blob)
|
|
18
|
-
*/
|
|
19
|
-
resolve(src, onError) {
|
|
20
|
-
if (typeof node_buffer.Buffer === 'function') {
|
|
21
|
-
return node_buffer.Buffer.from(src, 'base64');
|
|
22
|
-
}
|
|
23
|
-
else if (typeof atob === 'function') {
|
|
24
|
-
// On IE 11, atob() can't handle newlines
|
|
25
|
-
const str = atob(src.replace(/[\n\r]/g, ''));
|
|
26
|
-
const buffer = new Uint8Array(str.length);
|
|
27
|
-
for (let i = 0; i < str.length; ++i)
|
|
28
|
-
buffer[i] = str.charCodeAt(i);
|
|
29
|
-
return buffer;
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
onError('This environment does not support reading binary tags; either Buffer or atob is required');
|
|
33
|
-
return src;
|
|
34
|
-
}
|
|
35
|
-
},
|
|
36
|
-
stringify({ comment, type, value }, ctx, onComment, onChompKeep) {
|
|
37
|
-
if (!value)
|
|
38
|
-
return '';
|
|
39
|
-
const buf = value; // checked earlier by binary.identify()
|
|
40
|
-
let str;
|
|
41
|
-
if (typeof node_buffer.Buffer === 'function') {
|
|
42
|
-
str =
|
|
43
|
-
buf instanceof node_buffer.Buffer
|
|
44
|
-
? buf.toString('base64')
|
|
45
|
-
: node_buffer.Buffer.from(buf.buffer).toString('base64');
|
|
46
|
-
}
|
|
47
|
-
else if (typeof btoa === 'function') {
|
|
48
|
-
let s = '';
|
|
49
|
-
for (let i = 0; i < buf.length; ++i)
|
|
50
|
-
s += String.fromCharCode(buf[i]);
|
|
51
|
-
str = btoa(s);
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
throw new Error('This environment does not support writing binary tags; either Buffer or btoa is required');
|
|
55
|
-
}
|
|
56
|
-
type ?? (type = Scalar.Scalar.BLOCK_LITERAL);
|
|
57
|
-
if (type !== Scalar.Scalar.QUOTE_DOUBLE) {
|
|
58
|
-
const lineWidth = Math.max(ctx.options.lineWidth - ctx.indent.length, ctx.options.minContentWidth);
|
|
59
|
-
const n = Math.ceil(str.length / lineWidth);
|
|
60
|
-
const lines = new Array(n);
|
|
61
|
-
for (let i = 0, o = 0; i < n; ++i, o += lineWidth) {
|
|
62
|
-
lines[i] = str.substr(o, lineWidth);
|
|
63
|
-
}
|
|
64
|
-
str = lines.join(type === Scalar.Scalar.BLOCK_LITERAL ? '\n' : ' ');
|
|
65
|
-
}
|
|
66
|
-
return stringifyString.stringifyString({ comment, type, value: str }, ctx, onComment, onChompKeep);
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
exports.binary = binary;
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var Scalar = require('../../nodes/Scalar.js');
|
|
4
|
-
|
|
5
|
-
function boolStringify({ value, source }, ctx) {
|
|
6
|
-
const boolObj = value ? trueTag : falseTag;
|
|
7
|
-
if (source && boolObj.test.test(source))
|
|
8
|
-
return source;
|
|
9
|
-
return value ? ctx.options.trueStr : ctx.options.falseStr;
|
|
10
|
-
}
|
|
11
|
-
const trueTag = {
|
|
12
|
-
identify: value => value === true,
|
|
13
|
-
default: true,
|
|
14
|
-
tag: 'tag:yaml.org,2002:bool',
|
|
15
|
-
test: /^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,
|
|
16
|
-
resolve: () => new Scalar.Scalar(true),
|
|
17
|
-
stringify: boolStringify
|
|
18
|
-
};
|
|
19
|
-
const falseTag = {
|
|
20
|
-
identify: value => value === false,
|
|
21
|
-
default: true,
|
|
22
|
-
tag: 'tag:yaml.org,2002:bool',
|
|
23
|
-
test: /^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,
|
|
24
|
-
resolve: () => new Scalar.Scalar(false),
|
|
25
|
-
stringify: boolStringify
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
exports.falseTag = falseTag;
|
|
29
|
-
exports.trueTag = trueTag;
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var Scalar = require('../../nodes/Scalar.js');
|
|
4
|
-
var stringifyNumber = require('../../stringify/stringifyNumber.js');
|
|
5
|
-
|
|
6
|
-
const floatNaN = {
|
|
7
|
-
identify: value => typeof value === 'number',
|
|
8
|
-
default: true,
|
|
9
|
-
tag: 'tag:yaml.org,2002:float',
|
|
10
|
-
test: /^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,
|
|
11
|
-
resolve: (str) => str.slice(-3).toLowerCase() === 'nan'
|
|
12
|
-
? NaN
|
|
13
|
-
: str[0] === '-'
|
|
14
|
-
? Number.NEGATIVE_INFINITY
|
|
15
|
-
: Number.POSITIVE_INFINITY,
|
|
16
|
-
stringify: stringifyNumber.stringifyNumber
|
|
17
|
-
};
|
|
18
|
-
const floatExp = {
|
|
19
|
-
identify: value => typeof value === 'number',
|
|
20
|
-
default: true,
|
|
21
|
-
tag: 'tag:yaml.org,2002:float',
|
|
22
|
-
format: 'EXP',
|
|
23
|
-
test: /^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,
|
|
24
|
-
resolve: (str) => parseFloat(str.replace(/_/g, '')),
|
|
25
|
-
stringify(node) {
|
|
26
|
-
const num = Number(node.value);
|
|
27
|
-
return isFinite(num) ? num.toExponential() : stringifyNumber.stringifyNumber(node);
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
const float = {
|
|
31
|
-
identify: value => typeof value === 'number',
|
|
32
|
-
default: true,
|
|
33
|
-
tag: 'tag:yaml.org,2002:float',
|
|
34
|
-
test: /^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,
|
|
35
|
-
resolve(str) {
|
|
36
|
-
const node = new Scalar.Scalar(parseFloat(str.replace(/_/g, '')));
|
|
37
|
-
const dot = str.indexOf('.');
|
|
38
|
-
if (dot !== -1) {
|
|
39
|
-
const f = str.substring(dot + 1).replace(/_/g, '');
|
|
40
|
-
if (f[f.length - 1] === '0')
|
|
41
|
-
node.minFractionDigits = f.length;
|
|
42
|
-
}
|
|
43
|
-
return node;
|
|
44
|
-
},
|
|
45
|
-
stringify: stringifyNumber.stringifyNumber
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
exports.float = float;
|
|
49
|
-
exports.floatExp = floatExp;
|
|
50
|
-
exports.floatNaN = floatNaN;
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var stringifyNumber = require('../../stringify/stringifyNumber.js');
|
|
4
|
-
|
|
5
|
-
const intIdentify = (value) => typeof value === 'bigint' || Number.isInteger(value);
|
|
6
|
-
function intResolve(str, offset, radix, { intAsBigInt }) {
|
|
7
|
-
const sign = str[0];
|
|
8
|
-
if (sign === '-' || sign === '+')
|
|
9
|
-
offset += 1;
|
|
10
|
-
str = str.substring(offset).replace(/_/g, '');
|
|
11
|
-
if (intAsBigInt) {
|
|
12
|
-
switch (radix) {
|
|
13
|
-
case 2:
|
|
14
|
-
str = `0b${str}`;
|
|
15
|
-
break;
|
|
16
|
-
case 8:
|
|
17
|
-
str = `0o${str}`;
|
|
18
|
-
break;
|
|
19
|
-
case 16:
|
|
20
|
-
str = `0x${str}`;
|
|
21
|
-
break;
|
|
22
|
-
}
|
|
23
|
-
const n = BigInt(str);
|
|
24
|
-
return sign === '-' ? BigInt(-1) * n : n;
|
|
25
|
-
}
|
|
26
|
-
const n = parseInt(str, radix);
|
|
27
|
-
return sign === '-' ? -1 * n : n;
|
|
28
|
-
}
|
|
29
|
-
function intStringify(node, radix, prefix) {
|
|
30
|
-
const { value } = node;
|
|
31
|
-
if (intIdentify(value)) {
|
|
32
|
-
const str = value.toString(radix);
|
|
33
|
-
return value < 0 ? '-' + prefix + str.substr(1) : prefix + str;
|
|
34
|
-
}
|
|
35
|
-
return stringifyNumber.stringifyNumber(node);
|
|
36
|
-
}
|
|
37
|
-
const intBin = {
|
|
38
|
-
identify: intIdentify,
|
|
39
|
-
default: true,
|
|
40
|
-
tag: 'tag:yaml.org,2002:int',
|
|
41
|
-
format: 'BIN',
|
|
42
|
-
test: /^[-+]?0b[0-1_]+$/,
|
|
43
|
-
resolve: (str, _onError, opt) => intResolve(str, 2, 2, opt),
|
|
44
|
-
stringify: node => intStringify(node, 2, '0b')
|
|
45
|
-
};
|
|
46
|
-
const intOct = {
|
|
47
|
-
identify: intIdentify,
|
|
48
|
-
default: true,
|
|
49
|
-
tag: 'tag:yaml.org,2002:int',
|
|
50
|
-
format: 'OCT',
|
|
51
|
-
test: /^[-+]?0[0-7_]+$/,
|
|
52
|
-
resolve: (str, _onError, opt) => intResolve(str, 1, 8, opt),
|
|
53
|
-
stringify: node => intStringify(node, 8, '0')
|
|
54
|
-
};
|
|
55
|
-
const int = {
|
|
56
|
-
identify: intIdentify,
|
|
57
|
-
default: true,
|
|
58
|
-
tag: 'tag:yaml.org,2002:int',
|
|
59
|
-
test: /^[-+]?[0-9][0-9_]*$/,
|
|
60
|
-
resolve: (str, _onError, opt) => intResolve(str, 0, 10, opt),
|
|
61
|
-
stringify: stringifyNumber.stringifyNumber
|
|
62
|
-
};
|
|
63
|
-
const intHex = {
|
|
64
|
-
identify: intIdentify,
|
|
65
|
-
default: true,
|
|
66
|
-
tag: 'tag:yaml.org,2002:int',
|
|
67
|
-
format: 'HEX',
|
|
68
|
-
test: /^[-+]?0x[0-9a-fA-F_]+$/,
|
|
69
|
-
resolve: (str, _onError, opt) => intResolve(str, 2, 16, opt),
|
|
70
|
-
stringify: node => intStringify(node, 16, '0x')
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
exports.int = int;
|
|
74
|
-
exports.intBin = intBin;
|
|
75
|
-
exports.intHex = intHex;
|
|
76
|
-
exports.intOct = intOct;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { ToJSContext } from '../../nodes/toJS';
|
|
2
|
-
import type { MapLike } from '../../nodes/YAMLMap';
|
|
3
|
-
import type { ScalarTag } from '../types';
|
|
4
|
-
export declare const merge: ScalarTag & {
|
|
5
|
-
identify(value: unknown): boolean;
|
|
6
|
-
test: RegExp;
|
|
7
|
-
};
|
|
8
|
-
export declare const isMergeKey: (ctx: ToJSContext | undefined, key: unknown) => boolean | undefined;
|
|
9
|
-
export declare function addMergeToJSMap(ctx: ToJSContext | undefined, map: MapLike, value: unknown): void;
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var identity = require('../../nodes/identity.js');
|
|
4
|
-
var Scalar = require('../../nodes/Scalar.js');
|
|
5
|
-
|
|
6
|
-
// If the value associated with a merge key is a single mapping node, each of
|
|
7
|
-
// its key/value pairs is inserted into the current mapping, unless the key
|
|
8
|
-
// already exists in it. If the value associated with the merge key is a
|
|
9
|
-
// sequence, then this sequence is expected to contain mapping nodes and each
|
|
10
|
-
// of these nodes is merged in turn according to its order in the sequence.
|
|
11
|
-
// Keys in mapping nodes earlier in the sequence override keys specified in
|
|
12
|
-
// later mapping nodes. -- http://yaml.org/type/merge.html
|
|
13
|
-
const MERGE_KEY = '<<';
|
|
14
|
-
const merge = {
|
|
15
|
-
identify: value => value === MERGE_KEY ||
|
|
16
|
-
(typeof value === 'symbol' && value.description === MERGE_KEY),
|
|
17
|
-
default: 'key',
|
|
18
|
-
tag: 'tag:yaml.org,2002:merge',
|
|
19
|
-
test: /^<<$/,
|
|
20
|
-
resolve: () => Object.assign(new Scalar.Scalar(Symbol(MERGE_KEY)), {
|
|
21
|
-
addToJSMap: addMergeToJSMap
|
|
22
|
-
}),
|
|
23
|
-
stringify: () => MERGE_KEY
|
|
24
|
-
};
|
|
25
|
-
const isMergeKey = (ctx, key) => (merge.identify(key) ||
|
|
26
|
-
(identity.isScalar(key) &&
|
|
27
|
-
(!key.type || key.type === Scalar.Scalar.PLAIN) &&
|
|
28
|
-
merge.identify(key.value))) &&
|
|
29
|
-
ctx?.doc.schema.tags.some(tag => tag.tag === merge.tag && tag.default);
|
|
30
|
-
function addMergeToJSMap(ctx, map, value) {
|
|
31
|
-
value = ctx && identity.isAlias(value) ? value.resolve(ctx.doc) : value;
|
|
32
|
-
if (identity.isSeq(value))
|
|
33
|
-
for (const it of value.items)
|
|
34
|
-
mergeValue(ctx, map, it);
|
|
35
|
-
else if (Array.isArray(value))
|
|
36
|
-
for (const it of value)
|
|
37
|
-
mergeValue(ctx, map, it);
|
|
38
|
-
else
|
|
39
|
-
mergeValue(ctx, map, value);
|
|
40
|
-
}
|
|
41
|
-
function mergeValue(ctx, map, value) {
|
|
42
|
-
const source = ctx && identity.isAlias(value) ? value.resolve(ctx.doc) : value;
|
|
43
|
-
if (!identity.isMap(source))
|
|
44
|
-
throw new Error('Merge sources must be maps or map aliases');
|
|
45
|
-
const srcMap = source.toJSON(null, ctx, Map);
|
|
46
|
-
for (const [key, value] of srcMap) {
|
|
47
|
-
if (map instanceof Map) {
|
|
48
|
-
if (!map.has(key))
|
|
49
|
-
map.set(key, value);
|
|
50
|
-
}
|
|
51
|
-
else if (map instanceof Set) {
|
|
52
|
-
map.add(key);
|
|
53
|
-
}
|
|
54
|
-
else if (!Object.prototype.hasOwnProperty.call(map, key)) {
|
|
55
|
-
Object.defineProperty(map, key, {
|
|
56
|
-
value,
|
|
57
|
-
writable: true,
|
|
58
|
-
enumerable: true,
|
|
59
|
-
configurable: true
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
return map;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
exports.addMergeToJSMap = addMergeToJSMap;
|
|
67
|
-
exports.isMergeKey = isMergeKey;
|
|
68
|
-
exports.merge = merge;
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import type { ToJSContext } from '../../nodes/toJS';
|
|
2
|
-
import { YAMLMap } from '../../nodes/YAMLMap';
|
|
3
|
-
import { YAMLSeq } from '../../nodes/YAMLSeq';
|
|
4
|
-
import type { CreateNodeContext } from '../../util';
|
|
5
|
-
import type { Schema } from '../Schema';
|
|
6
|
-
import type { CollectionTag } from '../types';
|
|
7
|
-
export declare class YAMLOMap extends YAMLSeq {
|
|
8
|
-
static tag: string;
|
|
9
|
-
constructor();
|
|
10
|
-
add: typeof YAMLMap.prototype.add;
|
|
11
|
-
delete: typeof YAMLMap.prototype.delete;
|
|
12
|
-
get: typeof YAMLMap.prototype.get;
|
|
13
|
-
has: typeof YAMLMap.prototype.has;
|
|
14
|
-
set: typeof YAMLMap.prototype.set;
|
|
15
|
-
/**
|
|
16
|
-
* If `ctx` is given, the return type is actually `Map<unknown, unknown>`,
|
|
17
|
-
* but TypeScript won't allow widening the signature of a child method.
|
|
18
|
-
*/
|
|
19
|
-
toJSON(_?: unknown, ctx?: ToJSContext): unknown[];
|
|
20
|
-
static from(schema: Schema, iterable: unknown, ctx: CreateNodeContext): YAMLOMap;
|
|
21
|
-
}
|
|
22
|
-
export declare const omap: CollectionTag;
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var identity = require('../../nodes/identity.js');
|
|
4
|
-
var toJS = require('../../nodes/toJS.js');
|
|
5
|
-
var YAMLMap = require('../../nodes/YAMLMap.js');
|
|
6
|
-
var YAMLSeq = require('../../nodes/YAMLSeq.js');
|
|
7
|
-
var pairs = require('./pairs.js');
|
|
8
|
-
|
|
9
|
-
class YAMLOMap extends YAMLSeq.YAMLSeq {
|
|
10
|
-
constructor() {
|
|
11
|
-
super();
|
|
12
|
-
this.add = YAMLMap.YAMLMap.prototype.add.bind(this);
|
|
13
|
-
this.delete = YAMLMap.YAMLMap.prototype.delete.bind(this);
|
|
14
|
-
this.get = YAMLMap.YAMLMap.prototype.get.bind(this);
|
|
15
|
-
this.has = YAMLMap.YAMLMap.prototype.has.bind(this);
|
|
16
|
-
this.set = YAMLMap.YAMLMap.prototype.set.bind(this);
|
|
17
|
-
this.tag = YAMLOMap.tag;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* If `ctx` is given, the return type is actually `Map<unknown, unknown>`,
|
|
21
|
-
* but TypeScript won't allow widening the signature of a child method.
|
|
22
|
-
*/
|
|
23
|
-
toJSON(_, ctx) {
|
|
24
|
-
if (!ctx)
|
|
25
|
-
return super.toJSON(_);
|
|
26
|
-
const map = new Map();
|
|
27
|
-
if (ctx?.onCreate)
|
|
28
|
-
ctx.onCreate(map);
|
|
29
|
-
for (const pair of this.items) {
|
|
30
|
-
let key, value;
|
|
31
|
-
if (identity.isPair(pair)) {
|
|
32
|
-
key = toJS.toJS(pair.key, '', ctx);
|
|
33
|
-
value = toJS.toJS(pair.value, key, ctx);
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
key = toJS.toJS(pair, '', ctx);
|
|
37
|
-
}
|
|
38
|
-
if (map.has(key))
|
|
39
|
-
throw new Error('Ordered maps must not include duplicate keys');
|
|
40
|
-
map.set(key, value);
|
|
41
|
-
}
|
|
42
|
-
return map;
|
|
43
|
-
}
|
|
44
|
-
static from(schema, iterable, ctx) {
|
|
45
|
-
const pairs$1 = pairs.createPairs(schema, iterable, ctx);
|
|
46
|
-
const omap = new this();
|
|
47
|
-
omap.items = pairs$1.items;
|
|
48
|
-
return omap;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
YAMLOMap.tag = 'tag:yaml.org,2002:omap';
|
|
52
|
-
const omap = {
|
|
53
|
-
collection: 'seq',
|
|
54
|
-
identify: value => value instanceof Map,
|
|
55
|
-
nodeClass: YAMLOMap,
|
|
56
|
-
default: false,
|
|
57
|
-
tag: 'tag:yaml.org,2002:omap',
|
|
58
|
-
resolve(seq, onError) {
|
|
59
|
-
const pairs$1 = pairs.resolvePairs(seq, onError);
|
|
60
|
-
const seenKeys = [];
|
|
61
|
-
for (const { key } of pairs$1.items) {
|
|
62
|
-
if (identity.isScalar(key)) {
|
|
63
|
-
if (seenKeys.includes(key.value)) {
|
|
64
|
-
onError(`Ordered maps must not include duplicate keys: ${key.value}`);
|
|
65
|
-
}
|
|
66
|
-
else {
|
|
67
|
-
seenKeys.push(key.value);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
return Object.assign(new YAMLOMap(), pairs$1);
|
|
72
|
-
},
|
|
73
|
-
createNode: (schema, iterable, ctx) => YAMLOMap.from(schema, iterable, ctx)
|
|
74
|
-
};
|
|
75
|
-
|
|
76
|
-
exports.YAMLOMap = YAMLOMap;
|
|
77
|
-
exports.omap = omap;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { CreateNodeContext } from '../../doc/createNode';
|
|
2
|
-
import type { ParsedNode } from '../../nodes/Node';
|
|
3
|
-
import { Pair } from '../../nodes/Pair';
|
|
4
|
-
import type { YAMLMap } from '../../nodes/YAMLMap';
|
|
5
|
-
import { YAMLSeq } from '../../nodes/YAMLSeq';
|
|
6
|
-
import type { Schema } from '../../schema/Schema';
|
|
7
|
-
import type { CollectionTag } from '../types';
|
|
8
|
-
export declare function resolvePairs(seq: YAMLSeq.Parsed<ParsedNode | Pair<ParsedNode, ParsedNode | null>> | YAMLMap.Parsed, onError: (message: string) => void): YAMLSeq.Parsed<Pair<ParsedNode, ParsedNode | null>>;
|
|
9
|
-
export declare function createPairs(schema: Schema, iterable: unknown, ctx: CreateNodeContext): YAMLSeq<unknown>;
|
|
10
|
-
export declare const pairs: CollectionTag;
|