yaml 2.0.0-3 → 2.0.0-7
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/LICENSE +1 -1
- package/README.md +46 -26
- package/browser/dist/compose/compose-collection.js +59 -0
- package/browser/dist/compose/compose-doc.js +39 -0
- package/browser/dist/compose/compose-node.js +79 -0
- package/browser/dist/compose/compose-scalar.js +74 -0
- package/browser/dist/compose/composer.js +219 -0
- package/browser/dist/compose/resolve-block-map.js +93 -0
- package/browser/dist/compose/resolve-block-scalar.js +185 -0
- package/browser/dist/compose/resolve-block-seq.js +40 -0
- package/browser/dist/compose/resolve-end.js +37 -0
- package/browser/dist/compose/resolve-flow-collection.js +189 -0
- package/browser/dist/compose/resolve-flow-scalar.js +217 -0
- package/browser/dist/compose/resolve-props.js +126 -0
- package/browser/dist/compose/util-contains-newline.js +34 -0
- package/browser/dist/compose/util-empty-scalar-position.js +27 -0
- package/browser/dist/compose/util-map-includes.js +17 -0
- package/browser/dist/doc/Document.js +251 -348
- package/browser/dist/doc/anchors.js +72 -0
- package/browser/dist/doc/applyReviver.js +41 -28
- package/browser/dist/doc/createNode.js +75 -55
- package/browser/dist/doc/directives.js +161 -0
- package/browser/dist/errors.js +50 -72
- package/browser/dist/index.js +16 -72
- package/browser/dist/log.js +11 -7
- package/browser/dist/nodes/Alias.js +94 -0
- package/browser/dist/nodes/Collection.js +133 -0
- package/browser/dist/nodes/Node.js +41 -0
- package/browser/dist/nodes/Pair.js +28 -0
- package/browser/dist/nodes/Scalar.js +23 -0
- package/browser/dist/nodes/YAMLMap.js +116 -0
- package/browser/dist/nodes/YAMLSeq.js +105 -0
- package/browser/dist/nodes/addPairToJSMap.js +103 -0
- package/browser/dist/nodes/toJS.js +35 -0
- package/browser/dist/options.js +14 -95
- package/browser/dist/parse/cst-scalar.js +219 -0
- package/browser/dist/parse/cst-stringify.js +61 -0
- package/browser/dist/parse/cst-visit.js +97 -0
- package/browser/dist/parse/cst.js +98 -0
- package/browser/dist/parse/lexer.js +674 -0
- package/browser/dist/parse/line-counter.js +39 -0
- package/browser/dist/parse/parser.js +876 -0
- package/browser/dist/public-api.js +101 -0
- package/browser/dist/schema/Schema.js +23 -0
- package/browser/dist/schema/common/map.js +42 -0
- package/browser/dist/schema/common/null.js +13 -0
- package/browser/dist/schema/common/seq.js +33 -0
- package/browser/dist/schema/common/string.js +14 -0
- package/browser/dist/schema/core/bool.js +19 -0
- package/browser/dist/schema/core/float.js +40 -0
- package/browser/dist/schema/core/int.js +38 -0
- package/browser/dist/schema/core/schema.js +23 -0
- package/browser/dist/schema/json/schema.js +62 -0
- package/browser/dist/schema/tags.js +79 -0
- package/browser/dist/schema/yaml-1.1/binary.js +66 -0
- package/browser/dist/schema/yaml-1.1/bool.js +26 -0
- package/browser/dist/schema/yaml-1.1/float.js +43 -0
- package/browser/dist/schema/yaml-1.1/int.js +71 -0
- package/browser/dist/schema/yaml-1.1/omap.js +73 -0
- package/browser/dist/schema/yaml-1.1/pairs.js +77 -0
- package/browser/dist/schema/yaml-1.1/schema.js +37 -0
- package/browser/dist/schema/yaml-1.1/set.js +87 -0
- package/browser/dist/schema/yaml-1.1/timestamp.js +101 -0
- package/browser/dist/stringify/foldFlowLines.js +121 -139
- package/browser/dist/stringify/stringify.js +87 -72
- package/browser/dist/stringify/stringifyCollection.js +122 -0
- package/browser/dist/stringify/stringifyComment.js +14 -0
- package/browser/dist/stringify/stringifyDocument.js +64 -0
- package/browser/dist/stringify/stringifyNumber.js +20 -23
- package/browser/dist/stringify/stringifyPair.js +111 -0
- package/browser/dist/stringify/stringifyString.js +295 -322
- package/browser/dist/util.js +4 -4
- package/browser/dist/visit.js +134 -71
- package/browser/index.js +4 -1
- package/dist/compose/compose-collection.d.ts +5 -0
- package/dist/compose/compose-collection.js +61 -0
- package/dist/compose/compose-doc.d.ts +6 -0
- package/dist/compose/compose-doc.js +41 -0
- package/dist/compose/compose-node.d.ts +25 -0
- package/dist/compose/compose-node.js +82 -0
- package/dist/compose/compose-scalar.d.ts +5 -0
- package/dist/compose/compose-scalar.js +76 -0
- package/dist/compose/composer.d.ts +62 -0
- package/dist/compose/composer.js +223 -0
- package/dist/compose/resolve-block-map.d.ts +6 -0
- package/dist/compose/resolve-block-map.js +95 -0
- package/dist/compose/resolve-block-scalar.d.ts +10 -0
- package/dist/compose/resolve-block-scalar.js +187 -0
- package/dist/compose/resolve-block-seq.d.ts +5 -0
- package/dist/compose/resolve-block-seq.js +42 -0
- package/dist/compose/resolve-end.d.ts +6 -0
- package/dist/compose/resolve-end.js +39 -0
- package/dist/compose/resolve-flow-collection.d.ts +6 -0
- package/dist/compose/resolve-flow-collection.js +191 -0
- package/dist/compose/resolve-flow-scalar.d.ts +10 -0
- package/dist/compose/resolve-flow-scalar.js +219 -0
- package/dist/compose/resolve-props.d.ts +21 -0
- package/dist/compose/resolve-props.js +128 -0
- package/dist/compose/util-contains-newline.d.ts +2 -0
- package/dist/compose/util-contains-newline.js +36 -0
- package/dist/compose/util-empty-scalar-position.d.ts +2 -0
- package/dist/compose/util-empty-scalar-position.js +29 -0
- package/dist/compose/util-map-includes.d.ts +4 -0
- package/dist/compose/util-map-includes.js +19 -0
- package/dist/doc/Document.d.ts +130 -0
- package/dist/doc/Document.js +250 -347
- package/dist/doc/anchors.d.ts +24 -0
- package/dist/doc/anchors.js +77 -0
- package/dist/doc/applyReviver.d.ts +9 -0
- package/dist/doc/applyReviver.js +41 -28
- package/dist/doc/createNode.d.ts +16 -0
- package/dist/doc/createNode.js +75 -55
- package/dist/doc/directives.d.ts +46 -0
- package/dist/doc/directives.js +163 -0
- package/dist/errors.d.ts +21 -0
- package/dist/errors.js +51 -74
- package/dist/index.d.ts +19 -0
- package/dist/index.js +39 -70
- package/dist/log.d.ts +3 -0
- package/dist/log.js +11 -6
- package/dist/nodes/Alias.d.ts +24 -0
- package/dist/nodes/Alias.js +96 -0
- package/dist/nodes/Collection.d.ts +67 -0
- package/dist/nodes/Collection.js +137 -0
- package/dist/nodes/Node.d.ts +48 -0
- package/dist/nodes/Node.js +59 -0
- package/dist/nodes/Pair.d.ts +16 -0
- package/dist/nodes/Pair.js +31 -0
- package/dist/nodes/Scalar.d.ts +40 -0
- package/dist/nodes/Scalar.js +26 -0
- package/dist/nodes/YAMLMap.d.ts +39 -0
- package/dist/nodes/YAMLMap.js +119 -0
- package/dist/nodes/YAMLSeq.d.ts +53 -0
- package/dist/nodes/YAMLSeq.js +107 -0
- package/dist/nodes/addPairToJSMap.d.ts +3 -0
- package/dist/nodes/addPairToJSMap.js +105 -0
- package/dist/nodes/toJS.d.ts +30 -0
- package/dist/nodes/toJS.js +37 -0
- package/dist/options.d.ts +278 -0
- package/dist/options.js +13 -96
- package/dist/parse/cst-scalar.d.ts +58 -0
- package/dist/parse/cst-scalar.js +223 -0
- package/dist/parse/cst-stringify.d.ts +8 -0
- package/dist/parse/cst-stringify.js +63 -0
- package/dist/parse/cst-visit.d.ts +39 -0
- package/dist/parse/cst-visit.js +99 -0
- package/dist/parse/cst.d.ts +106 -0
- package/dist/parse/cst.js +112 -0
- package/dist/parse/lexer.d.ts +85 -0
- package/dist/parse/lexer.js +676 -0
- package/dist/parse/line-counter.d.ts +22 -0
- package/dist/parse/line-counter.js +41 -0
- package/dist/parse/parser.d.ts +84 -0
- package/dist/parse/parser.js +880 -0
- package/dist/public-api.d.ts +43 -0
- package/dist/public-api.js +106 -0
- package/dist/schema/Schema.d.ts +16 -0
- package/dist/schema/Schema.js +25 -0
- package/dist/schema/common/map.d.ts +2 -0
- package/dist/schema/common/map.js +44 -0
- package/dist/schema/common/null.d.ts +4 -0
- package/dist/schema/common/null.js +15 -0
- package/dist/schema/common/seq.d.ts +2 -0
- package/dist/schema/common/seq.js +35 -0
- package/dist/schema/common/string.d.ts +2 -0
- package/dist/schema/common/string.js +16 -0
- package/dist/schema/core/bool.d.ts +4 -0
- package/dist/schema/core/bool.js +21 -0
- package/dist/schema/core/float.d.ts +4 -0
- package/dist/schema/core/float.js +44 -0
- package/dist/schema/core/int.d.ts +4 -0
- package/dist/schema/core/int.js +42 -0
- package/dist/schema/core/schema.d.ts +1 -0
- package/dist/schema/core/schema.js +25 -0
- package/dist/schema/json/schema.d.ts +2 -0
- package/dist/schema/json/schema.js +64 -0
- package/dist/schema/tags.d.ts +41 -0
- package/dist/schema/tags.js +82 -0
- package/dist/schema/types.d.ts +82 -0
- package/dist/schema/yaml-1.1/binary.d.ts +2 -0
- package/dist/schema/yaml-1.1/binary.js +68 -0
- package/dist/schema/yaml-1.1/bool.d.ts +7 -0
- package/dist/schema/yaml-1.1/bool.js +29 -0
- package/dist/schema/yaml-1.1/float.d.ts +4 -0
- package/dist/schema/yaml-1.1/float.js +47 -0
- package/dist/schema/yaml-1.1/int.d.ts +5 -0
- package/dist/schema/yaml-1.1/int.js +76 -0
- package/dist/schema/yaml-1.1/omap.d.ts +21 -0
- package/dist/schema/yaml-1.1/omap.js +76 -0
- package/dist/schema/yaml-1.1/pairs.d.ts +10 -0
- package/dist/schema/yaml-1.1/pairs.js +81 -0
- package/dist/schema/yaml-1.1/schema.d.ts +1 -0
- package/dist/schema/yaml-1.1/schema.js +39 -0
- package/dist/schema/yaml-1.1/set.d.ts +22 -0
- package/dist/schema/yaml-1.1/set.js +90 -0
- package/dist/schema/yaml-1.1/timestamp.d.ts +6 -0
- package/dist/schema/yaml-1.1/timestamp.js +105 -0
- package/dist/stringify/foldFlowLines.d.ts +34 -0
- package/dist/stringify/foldFlowLines.js +121 -139
- package/dist/stringify/stringify.d.ts +18 -0
- package/dist/stringify/stringify.js +87 -71
- package/dist/stringify/stringifyCollection.d.ts +21 -0
- package/dist/stringify/stringifyCollection.js +124 -0
- package/dist/stringify/stringifyComment.d.ts +2 -0
- package/dist/stringify/stringifyComment.js +17 -0
- package/dist/stringify/stringifyDocument.d.ts +3 -0
- package/dist/stringify/stringifyDocument.js +66 -0
- package/dist/stringify/stringifyNumber.d.ts +2 -0
- package/dist/stringify/stringifyNumber.js +20 -23
- package/dist/stringify/stringifyPair.d.ts +3 -0
- package/dist/stringify/stringifyPair.js +113 -0
- package/dist/stringify/stringifyString.d.ts +3 -0
- package/dist/stringify/stringifyString.js +295 -322
- package/dist/test-events.d.ts +4 -0
- package/dist/test-events.js +124 -148
- package/dist/util.d.ts +6 -0
- package/dist/util.js +9 -12
- package/dist/visit.d.ts +63 -0
- package/dist/visit.js +134 -71
- package/package.json +31 -39
- package/util.js +2 -14
- package/browser/dist/_virtual/_rollupPluginBabelHelpers.js +0 -16
- package/browser/dist/ast/Alias.js +0 -95
- package/browser/dist/ast/Collection.js +0 -192
- package/browser/dist/ast/Merge.js +0 -71
- package/browser/dist/ast/Node.js +0 -3
- package/browser/dist/ast/Pair.js +0 -200
- package/browser/dist/ast/Scalar.js +0 -21
- package/browser/dist/ast/YAMLMap.js +0 -91
- package/browser/dist/ast/YAMLSeq.js +0 -67
- package/browser/dist/ast/toJS.js +0 -29
- package/browser/dist/constants.js +0 -40
- package/browser/dist/cst/Alias.js +0 -26
- package/browser/dist/cst/BlankLine.js +0 -34
- package/browser/dist/cst/BlockValue.js +0 -240
- package/browser/dist/cst/Collection.js +0 -259
- package/browser/dist/cst/CollectionItem.js +0 -123
- package/browser/dist/cst/Comment.js +0 -27
- package/browser/dist/cst/Directive.js +0 -53
- package/browser/dist/cst/Document.js +0 -262
- package/browser/dist/cst/FlowCollection.js +0 -201
- package/browser/dist/cst/Node.js +0 -355
- package/browser/dist/cst/ParseContext.js +0 -234
- package/browser/dist/cst/PlainValue.js +0 -171
- package/browser/dist/cst/QuoteDouble.js +0 -224
- package/browser/dist/cst/QuoteSingle.js +0 -100
- package/browser/dist/cst/Range.js +0 -56
- package/browser/dist/cst/parse.js +0 -46
- package/browser/dist/cst/source-utils.js +0 -169
- package/browser/dist/doc/Anchors.js +0 -115
- package/browser/dist/doc/Schema.js +0 -34
- package/browser/dist/doc/getSchemaTags.js +0 -33
- package/browser/dist/doc/listTagNames.js +0 -27
- package/browser/dist/doc/parseContents.js +0 -60
- package/browser/dist/doc/parseDirectives.js +0 -107
- package/browser/dist/resolve/collection-utils.js +0 -86
- package/browser/dist/resolve/resolveMap.js +0 -315
- package/browser/dist/resolve/resolveNode.js +0 -173
- package/browser/dist/resolve/resolveScalar.js +0 -20
- package/browser/dist/resolve/resolveSeq.js +0 -170
- package/browser/dist/resolve/resolveTag.js +0 -107
- package/browser/dist/resolve/resolveTagName.js +0 -87
- package/browser/dist/stringify/addComment.js +0 -10
- package/browser/dist/stringify/stringifyTag.js +0 -28
- package/browser/dist/tags/core.js +0 -128
- package/browser/dist/tags/failsafe/index.js +0 -7
- package/browser/dist/tags/failsafe/map.js +0 -37
- package/browser/dist/tags/failsafe/seq.js +0 -34
- package/browser/dist/tags/failsafe/string.js +0 -20
- package/browser/dist/tags/index.js +0 -39
- package/browser/dist/tags/json.js +0 -62
- package/browser/dist/tags/options.js +0 -31
- package/browser/dist/tags/yaml-1.1/binary.js +0 -83
- package/browser/dist/tags/yaml-1.1/index.js +0 -174
- package/browser/dist/tags/yaml-1.1/omap.js +0 -86
- package/browser/dist/tags/yaml-1.1/pairs.js +0 -62
- package/browser/dist/tags/yaml-1.1/set.js +0 -78
- package/browser/dist/tags/yaml-1.1/timestamp.js +0 -101
- package/browser/dist/types.js +0 -10
- package/cst.d.ts +0 -185
- package/dist/_virtual/_rollupPluginBabelHelpers.js +0 -18
- package/dist/ast/Alias.js +0 -97
- package/dist/ast/Collection.js +0 -196
- package/dist/ast/Merge.js +0 -74
- package/dist/ast/Node.js +0 -5
- package/dist/ast/Pair.js +0 -203
- package/dist/ast/Scalar.js +0 -24
- package/dist/ast/YAMLMap.js +0 -94
- package/dist/ast/YAMLSeq.js +0 -69
- package/dist/ast/toJS.js +0 -31
- package/dist/constants.js +0 -46
- package/dist/cst/Alias.js +0 -28
- package/dist/cst/BlankLine.js +0 -36
- package/dist/cst/BlockValue.js +0 -243
- package/dist/cst/Collection.js +0 -262
- package/dist/cst/CollectionItem.js +0 -125
- package/dist/cst/Comment.js +0 -29
- package/dist/cst/Directive.js +0 -55
- package/dist/cst/Document.js +0 -264
- package/dist/cst/FlowCollection.js +0 -203
- package/dist/cst/Node.js +0 -357
- package/dist/cst/ParseContext.js +0 -236
- package/dist/cst/PlainValue.js +0 -173
- package/dist/cst/QuoteDouble.js +0 -226
- package/dist/cst/QuoteSingle.js +0 -102
- package/dist/cst/Range.js +0 -58
- package/dist/cst/parse.js +0 -48
- package/dist/cst/source-utils.js +0 -173
- package/dist/doc/Anchors.js +0 -117
- package/dist/doc/Schema.js +0 -36
- package/dist/doc/getSchemaTags.js +0 -35
- package/dist/doc/listTagNames.js +0 -29
- package/dist/doc/parseContents.js +0 -62
- package/dist/doc/parseDirectives.js +0 -109
- package/dist/resolve/collection-utils.js +0 -91
- package/dist/resolve/resolveMap.js +0 -317
- package/dist/resolve/resolveNode.js +0 -175
- package/dist/resolve/resolveScalar.js +0 -22
- package/dist/resolve/resolveSeq.js +0 -172
- package/dist/resolve/resolveTag.js +0 -109
- package/dist/resolve/resolveTagName.js +0 -89
- package/dist/stringify/addComment.js +0 -13
- package/dist/stringify/stringifyTag.js +0 -30
- package/dist/tags/core.js +0 -138
- package/dist/tags/failsafe/index.js +0 -9
- package/dist/tags/failsafe/map.js +0 -39
- package/dist/tags/failsafe/seq.js +0 -36
- package/dist/tags/failsafe/string.js +0 -22
- package/dist/tags/index.js +0 -42
- package/dist/tags/json.js +0 -64
- package/dist/tags/options.js +0 -37
- package/dist/tags/yaml-1.1/binary.js +0 -85
- package/dist/tags/yaml-1.1/index.js +0 -176
- package/dist/tags/yaml-1.1/omap.js +0 -89
- package/dist/tags/yaml-1.1/pairs.js +0 -66
- package/dist/tags/yaml-1.1/set.js +0 -81
- package/dist/tags/yaml-1.1/timestamp.js +0 -105
- package/dist/types.js +0 -29
- package/index.d.ts +0 -519
- package/index.js +0 -1
- package/types.d.ts +0 -379
- package/types.js +0 -17
- package/types.mjs +0 -17
- package/util.d.ts +0 -76
- package/util.mjs +0 -15
package/dist/ast/YAMLMap.js
DELETED
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var Collection = require('./Collection.js');
|
|
4
|
-
var Pair = require('./Pair.js');
|
|
5
|
-
var Scalar = require('./Scalar.js');
|
|
6
|
-
|
|
7
|
-
function findPair(items, key) {
|
|
8
|
-
const k = key instanceof Scalar.Scalar ? key.value : key;
|
|
9
|
-
|
|
10
|
-
for (const it of items) {
|
|
11
|
-
if (it instanceof Pair.Pair) {
|
|
12
|
-
if (it.key === key || it.key === k) return it;
|
|
13
|
-
if (it.key && it.key.value === k) return it;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
return undefined;
|
|
18
|
-
}
|
|
19
|
-
class YAMLMap extends Collection.Collection {
|
|
20
|
-
add(pair, overwrite) {
|
|
21
|
-
if (!pair) pair = new Pair.Pair(pair);else if (!(pair instanceof Pair.Pair)) pair = new Pair.Pair(pair.key || pair, pair.value);
|
|
22
|
-
const prev = findPair(this.items, pair.key);
|
|
23
|
-
const sortEntries = this.schema && this.schema.sortMapEntries;
|
|
24
|
-
|
|
25
|
-
if (prev) {
|
|
26
|
-
if (!overwrite) throw new Error(`Key ${pair.key} already set`); // For scalars, keep the old node & its comments and anchors
|
|
27
|
-
|
|
28
|
-
if (prev.value instanceof Scalar.Scalar && Scalar.isScalarValue(pair.value)) prev.value.value = pair.value;else prev.value = pair.value;
|
|
29
|
-
} else if (sortEntries) {
|
|
30
|
-
const i = this.items.findIndex(item => sortEntries(pair, item) < 0);
|
|
31
|
-
if (i === -1) this.items.push(pair);else this.items.splice(i, 0, pair);
|
|
32
|
-
} else {
|
|
33
|
-
this.items.push(pair);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
delete(key) {
|
|
38
|
-
const it = findPair(this.items, key);
|
|
39
|
-
if (!it) return false;
|
|
40
|
-
const del = this.items.splice(this.items.indexOf(it), 1);
|
|
41
|
-
return del.length > 0;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
get(key, keepScalar) {
|
|
45
|
-
const it = findPair(this.items, key);
|
|
46
|
-
const node = it && it.value;
|
|
47
|
-
return !keepScalar && node instanceof Scalar.Scalar ? node.value : node;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
has(key) {
|
|
51
|
-
return !!findPair(this.items, key);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
set(key, value) {
|
|
55
|
-
this.add(new Pair.Pair(key, value), true);
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* @param ctx - Conversion context, originally set in Document#toJS()
|
|
59
|
-
* @param {Class} Type - If set, forces the returned collection type
|
|
60
|
-
* @returns Instance of Type, Map, or Object
|
|
61
|
-
*/
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
toJSON(_, ctx, Type) {
|
|
65
|
-
const map = Type ? new Type() : ctx && ctx.mapAsMap ? new Map() : {};
|
|
66
|
-
if (ctx && ctx.onCreate) ctx.onCreate(map);
|
|
67
|
-
|
|
68
|
-
for (const item of this.items) item.addToJSMap(ctx, map);
|
|
69
|
-
|
|
70
|
-
return map;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
toString(ctx, onComment, onChompKeep) {
|
|
74
|
-
if (!ctx) return JSON.stringify(this);
|
|
75
|
-
|
|
76
|
-
for (const item of this.items) {
|
|
77
|
-
if (!(item instanceof Pair.Pair)) throw new Error(`Map items must all be pairs; found ${JSON.stringify(item)} instead`);
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
return super.toString(ctx, {
|
|
81
|
-
blockItem: n => n.str,
|
|
82
|
-
flowChars: {
|
|
83
|
-
start: '{',
|
|
84
|
-
end: '}'
|
|
85
|
-
},
|
|
86
|
-
isMap: true,
|
|
87
|
-
itemIndent: ctx.indent || ''
|
|
88
|
-
}, onComment, onChompKeep);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
exports.YAMLMap = YAMLMap;
|
|
94
|
-
exports.findPair = findPair;
|
package/dist/ast/YAMLSeq.js
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var Collection = require('./Collection.js');
|
|
4
|
-
var Scalar = require('./Scalar.js');
|
|
5
|
-
var toJS = require('./toJS.js');
|
|
6
|
-
|
|
7
|
-
function asItemIndex(key) {
|
|
8
|
-
let idx = key instanceof Scalar.Scalar ? key.value : key;
|
|
9
|
-
if (idx && typeof idx === 'string') idx = Number(idx);
|
|
10
|
-
return Number.isInteger(idx) && idx >= 0 ? idx : null;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
class YAMLSeq extends Collection.Collection {
|
|
14
|
-
add(value) {
|
|
15
|
-
this.items.push(value);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
delete(key) {
|
|
19
|
-
const idx = asItemIndex(key);
|
|
20
|
-
if (typeof idx !== 'number') return false;
|
|
21
|
-
const del = this.items.splice(idx, 1);
|
|
22
|
-
return del.length > 0;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
get(key, keepScalar) {
|
|
26
|
-
const idx = asItemIndex(key);
|
|
27
|
-
if (typeof idx !== 'number') return undefined;
|
|
28
|
-
const it = this.items[idx];
|
|
29
|
-
return !keepScalar && it instanceof Scalar.Scalar ? it.value : it;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
has(key) {
|
|
33
|
-
const idx = asItemIndex(key);
|
|
34
|
-
return typeof idx === 'number' && idx < this.items.length;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
set(key, value) {
|
|
38
|
-
const idx = asItemIndex(key);
|
|
39
|
-
if (typeof idx !== 'number') throw new Error(`Expected a valid index, not ${key}.`);
|
|
40
|
-
const prev = this.items[idx];
|
|
41
|
-
if (prev instanceof Scalar.Scalar && Scalar.isScalarValue(value)) prev.value = value;else this.items[idx] = value;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
toJSON(_, ctx) {
|
|
45
|
-
const seq = [];
|
|
46
|
-
if (ctx && ctx.onCreate) ctx.onCreate(seq);
|
|
47
|
-
let i = 0;
|
|
48
|
-
|
|
49
|
-
for (const item of this.items) seq.push(toJS.toJS(item, String(i++), ctx));
|
|
50
|
-
|
|
51
|
-
return seq;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
toString(ctx, onComment, onChompKeep) {
|
|
55
|
-
if (!ctx) return JSON.stringify(this);
|
|
56
|
-
return super.toString(ctx, {
|
|
57
|
-
blockItem: n => n.type === 'comment' ? n.str : `- ${n.str}`,
|
|
58
|
-
flowChars: {
|
|
59
|
-
start: '[',
|
|
60
|
-
end: ']'
|
|
61
|
-
},
|
|
62
|
-
isMap: false,
|
|
63
|
-
itemIndent: (ctx.indent || '') + ' '
|
|
64
|
-
}, onComment, onChompKeep);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
exports.YAMLSeq = YAMLSeq;
|
package/dist/ast/toJS.js
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Recursively convert any node or its contents to native JavaScript
|
|
5
|
-
*
|
|
6
|
-
* @param value - The input value
|
|
7
|
-
* @param {string|null} arg - If `value` defines a `toJSON()` method, use this
|
|
8
|
-
* as its first argument
|
|
9
|
-
* @param ctx - Conversion context, originally set in Document#toJS(). If
|
|
10
|
-
* `{ keep: true }` is not set, output should be suitable for JSON
|
|
11
|
-
* stringification.
|
|
12
|
-
*/
|
|
13
|
-
function toJS(value, arg, ctx) {
|
|
14
|
-
if (Array.isArray(value)) return value.map((v, i) => toJS(v, String(i), ctx));
|
|
15
|
-
|
|
16
|
-
if (value && typeof value.toJSON === 'function') {
|
|
17
|
-
const anchor = ctx && ctx.anchors && ctx.anchors.get(value);
|
|
18
|
-
if (anchor) ctx.onCreate = res => {
|
|
19
|
-
anchor.res = res;
|
|
20
|
-
delete ctx.onCreate;
|
|
21
|
-
};
|
|
22
|
-
const res = value.toJSON(arg, ctx);
|
|
23
|
-
if (anchor && ctx.onCreate) ctx.onCreate(res);
|
|
24
|
-
return res;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
if (!(ctx && ctx.keep) && typeof value === 'bigint') return Number(value);
|
|
28
|
-
return value;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
exports.toJS = toJS;
|
package/dist/constants.js
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const Char = {
|
|
4
|
-
ANCHOR: '&',
|
|
5
|
-
COMMENT: '#',
|
|
6
|
-
TAG: '!',
|
|
7
|
-
DIRECTIVES_END: '-',
|
|
8
|
-
DOCUMENT_END: '.'
|
|
9
|
-
};
|
|
10
|
-
const LogLevel = Object.assign(['silent', 'error', 'warn', 'debug'], {
|
|
11
|
-
SILENT: 0,
|
|
12
|
-
ERROR: 1,
|
|
13
|
-
WARN: 2,
|
|
14
|
-
DEBUG: 3
|
|
15
|
-
});
|
|
16
|
-
const Type = {
|
|
17
|
-
ALIAS: 'ALIAS',
|
|
18
|
-
BLANK_LINE: 'BLANK_LINE',
|
|
19
|
-
BLOCK_FOLDED: 'BLOCK_FOLDED',
|
|
20
|
-
BLOCK_LITERAL: 'BLOCK_LITERAL',
|
|
21
|
-
COMMENT: 'COMMENT',
|
|
22
|
-
DIRECTIVE: 'DIRECTIVE',
|
|
23
|
-
DOCUMENT: 'DOCUMENT',
|
|
24
|
-
FLOW_MAP: 'FLOW_MAP',
|
|
25
|
-
FLOW_SEQ: 'FLOW_SEQ',
|
|
26
|
-
MAP: 'MAP',
|
|
27
|
-
MAP_KEY: 'MAP_KEY',
|
|
28
|
-
MAP_VALUE: 'MAP_VALUE',
|
|
29
|
-
PLAIN: 'PLAIN',
|
|
30
|
-
QUOTE_DOUBLE: 'QUOTE_DOUBLE',
|
|
31
|
-
QUOTE_SINGLE: 'QUOTE_SINGLE',
|
|
32
|
-
SEQ: 'SEQ',
|
|
33
|
-
SEQ_ITEM: 'SEQ_ITEM'
|
|
34
|
-
};
|
|
35
|
-
const defaultTagPrefix = 'tag:yaml.org,2002:';
|
|
36
|
-
const defaultTags = {
|
|
37
|
-
MAP: 'tag:yaml.org,2002:map',
|
|
38
|
-
SEQ: 'tag:yaml.org,2002:seq',
|
|
39
|
-
STR: 'tag:yaml.org,2002:str'
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
exports.Char = Char;
|
|
43
|
-
exports.LogLevel = LogLevel;
|
|
44
|
-
exports.Type = Type;
|
|
45
|
-
exports.defaultTagPrefix = defaultTagPrefix;
|
|
46
|
-
exports.defaultTags = defaultTags;
|
package/dist/cst/Alias.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var Node = require('./Node.js');
|
|
4
|
-
var Range = require('./Range.js');
|
|
5
|
-
|
|
6
|
-
class Alias extends Node.Node {
|
|
7
|
-
/**
|
|
8
|
-
* Parses an *alias from the source
|
|
9
|
-
*
|
|
10
|
-
* @param {ParseContext} context
|
|
11
|
-
* @param {number} start - Index of first character
|
|
12
|
-
* @returns {number} - Index of the character after this scalar
|
|
13
|
-
*/
|
|
14
|
-
parse(context, start) {
|
|
15
|
-
this.context = context;
|
|
16
|
-
const {
|
|
17
|
-
src
|
|
18
|
-
} = context;
|
|
19
|
-
let offset = Node.Node.endOfIdentifier(src, start + 1);
|
|
20
|
-
this.valueRange = new Range.Range(start + 1, offset);
|
|
21
|
-
offset = Node.Node.endOfWhiteSpace(src, offset);
|
|
22
|
-
offset = this.parseComment(offset);
|
|
23
|
-
return offset;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
exports.Alias = Alias;
|
package/dist/cst/BlankLine.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var constants = require('../constants.js');
|
|
4
|
-
var Node = require('./Node.js');
|
|
5
|
-
var Range = require('./Range.js');
|
|
6
|
-
|
|
7
|
-
class BlankLine extends Node.Node {
|
|
8
|
-
constructor() {
|
|
9
|
-
super(constants.Type.BLANK_LINE);
|
|
10
|
-
}
|
|
11
|
-
/* istanbul ignore next */
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
get includesTrailingLines() {
|
|
15
|
-
// This is never called from anywhere, but if it were,
|
|
16
|
-
// this is the value it should return.
|
|
17
|
-
return true;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Parses a blank line from the source
|
|
21
|
-
*
|
|
22
|
-
* @param {ParseContext} context
|
|
23
|
-
* @param {number} start - Index of first \n character
|
|
24
|
-
* @returns {number} - Index of the character after this
|
|
25
|
-
*/
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
parse(context, start) {
|
|
29
|
-
this.context = context;
|
|
30
|
-
this.range = new Range.Range(start, start + 1);
|
|
31
|
-
return start + 1;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
exports.BlankLine = BlankLine;
|
package/dist/cst/BlockValue.js
DELETED
|
@@ -1,243 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var constants = require('../constants.js');
|
|
4
|
-
var errors = require('../errors.js');
|
|
5
|
-
var Node = require('./Node.js');
|
|
6
|
-
var Range = require('./Range.js');
|
|
7
|
-
|
|
8
|
-
const Chomp = {
|
|
9
|
-
CLIP: 'CLIP',
|
|
10
|
-
KEEP: 'KEEP',
|
|
11
|
-
STRIP: 'STRIP'
|
|
12
|
-
};
|
|
13
|
-
class BlockValue extends Node.Node {
|
|
14
|
-
constructor(type, props) {
|
|
15
|
-
super(type, props);
|
|
16
|
-
this.blockIndent = null;
|
|
17
|
-
this.chomping = Chomp.CLIP;
|
|
18
|
-
this.header = null;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
get includesTrailingLines() {
|
|
22
|
-
return this.chomping === Chomp.KEEP;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
get strValue() {
|
|
26
|
-
if (!this.valueRange || !this.context) return null;
|
|
27
|
-
let {
|
|
28
|
-
start,
|
|
29
|
-
end
|
|
30
|
-
} = this.valueRange;
|
|
31
|
-
const {
|
|
32
|
-
indent,
|
|
33
|
-
src
|
|
34
|
-
} = this.context;
|
|
35
|
-
if (this.valueRange.isEmpty()) return '';
|
|
36
|
-
let lastNewLine = null;
|
|
37
|
-
let ch = src[end - 1];
|
|
38
|
-
|
|
39
|
-
while (ch === '\n' || ch === '\t' || ch === ' ') {
|
|
40
|
-
end -= 1;
|
|
41
|
-
|
|
42
|
-
if (end <= start) {
|
|
43
|
-
if (this.chomping === Chomp.KEEP) break;else return ''; // probably never happens
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
if (ch === '\n') lastNewLine = end;
|
|
47
|
-
ch = src[end - 1];
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
let keepStart = end + 1;
|
|
51
|
-
|
|
52
|
-
if (lastNewLine) {
|
|
53
|
-
if (this.chomping === Chomp.KEEP) {
|
|
54
|
-
keepStart = lastNewLine;
|
|
55
|
-
end = this.valueRange.end;
|
|
56
|
-
} else {
|
|
57
|
-
end = lastNewLine;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
const bi = indent + this.blockIndent;
|
|
62
|
-
const folded = this.type === constants.Type.BLOCK_FOLDED;
|
|
63
|
-
let atStart = true;
|
|
64
|
-
let str = '';
|
|
65
|
-
let sep = '';
|
|
66
|
-
let prevMoreIndented = false;
|
|
67
|
-
|
|
68
|
-
for (let i = start; i < end; ++i) {
|
|
69
|
-
for (let j = 0; j < bi; ++j) {
|
|
70
|
-
if (src[i] !== ' ') break;
|
|
71
|
-
i += 1;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
const ch = src[i];
|
|
75
|
-
|
|
76
|
-
if (ch === '\n') {
|
|
77
|
-
if (sep === '\n') str += '\n';else sep = '\n';
|
|
78
|
-
} else {
|
|
79
|
-
const lineEnd = Node.Node.endOfLine(src, i);
|
|
80
|
-
const line = src.slice(i, lineEnd);
|
|
81
|
-
i = lineEnd;
|
|
82
|
-
|
|
83
|
-
if (folded && (ch === ' ' || ch === '\t') && i < keepStart) {
|
|
84
|
-
if (sep === ' ') sep = '\n';else if (!prevMoreIndented && !atStart && sep === '\n') sep = '\n\n';
|
|
85
|
-
str += sep + line; //+ ((lineEnd < end && src[lineEnd]) || '')
|
|
86
|
-
|
|
87
|
-
sep = lineEnd < end && src[lineEnd] || '';
|
|
88
|
-
prevMoreIndented = true;
|
|
89
|
-
} else {
|
|
90
|
-
str += sep + line;
|
|
91
|
-
sep = folded && i < keepStart ? ' ' : '\n';
|
|
92
|
-
prevMoreIndented = false;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
if (atStart && line !== '') atStart = false;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
return this.chomping === Chomp.STRIP ? str : str + '\n';
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
parseBlockHeader(start) {
|
|
103
|
-
const {
|
|
104
|
-
src
|
|
105
|
-
} = this.context;
|
|
106
|
-
let offset = start + 1;
|
|
107
|
-
let bi = '';
|
|
108
|
-
|
|
109
|
-
while (true) {
|
|
110
|
-
const ch = src[offset];
|
|
111
|
-
|
|
112
|
-
switch (ch) {
|
|
113
|
-
case '-':
|
|
114
|
-
this.chomping = Chomp.STRIP;
|
|
115
|
-
break;
|
|
116
|
-
|
|
117
|
-
case '+':
|
|
118
|
-
this.chomping = Chomp.KEEP;
|
|
119
|
-
break;
|
|
120
|
-
|
|
121
|
-
case '0':
|
|
122
|
-
case '1':
|
|
123
|
-
case '2':
|
|
124
|
-
case '3':
|
|
125
|
-
case '4':
|
|
126
|
-
case '5':
|
|
127
|
-
case '6':
|
|
128
|
-
case '7':
|
|
129
|
-
case '8':
|
|
130
|
-
case '9':
|
|
131
|
-
bi += ch;
|
|
132
|
-
break;
|
|
133
|
-
|
|
134
|
-
default:
|
|
135
|
-
this.blockIndent = Number(bi) || null;
|
|
136
|
-
this.header = new Range.Range(start, offset);
|
|
137
|
-
return offset;
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
offset += 1;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
parseBlockValue(start) {
|
|
145
|
-
const {
|
|
146
|
-
indent,
|
|
147
|
-
src
|
|
148
|
-
} = this.context;
|
|
149
|
-
const explicit = !!this.blockIndent;
|
|
150
|
-
let offset = start;
|
|
151
|
-
let valueEnd = start;
|
|
152
|
-
let minBlockIndent = 1;
|
|
153
|
-
|
|
154
|
-
for (let ch = src[offset]; ch === '\n'; ch = src[offset]) {
|
|
155
|
-
offset += 1;
|
|
156
|
-
if (Node.Node.atDocumentBoundary(src, offset)) break;
|
|
157
|
-
const end = Node.Node.endOfBlockIndent(src, indent, offset); // should not include tab?
|
|
158
|
-
|
|
159
|
-
if (end === null) break;
|
|
160
|
-
const ch = src[end];
|
|
161
|
-
const lineIndent = end - (offset + indent);
|
|
162
|
-
|
|
163
|
-
if (!this.blockIndent) {
|
|
164
|
-
// no explicit block indent, none yet detected
|
|
165
|
-
if (src[end] !== '\n') {
|
|
166
|
-
// first line with non-whitespace content
|
|
167
|
-
if (lineIndent < minBlockIndent) {
|
|
168
|
-
const msg = 'Block scalars with more-indented leading empty lines must use an explicit indentation indicator';
|
|
169
|
-
this.error = new errors.YAMLSemanticError(this, msg);
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
this.blockIndent = lineIndent;
|
|
173
|
-
} else if (lineIndent > minBlockIndent) {
|
|
174
|
-
// empty line with more whitespace
|
|
175
|
-
minBlockIndent = lineIndent;
|
|
176
|
-
}
|
|
177
|
-
} else if (ch && ch !== '\n' && lineIndent < this.blockIndent) {
|
|
178
|
-
if (src[end] === '#') break;
|
|
179
|
-
|
|
180
|
-
if (!this.error) {
|
|
181
|
-
const src = explicit ? 'explicit indentation indicator' : 'first line';
|
|
182
|
-
const msg = `Block scalars must not be less indented than their ${src}`;
|
|
183
|
-
this.error = new errors.YAMLSemanticError(this, msg);
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
if (src[end] === '\n') {
|
|
188
|
-
offset = end;
|
|
189
|
-
} else {
|
|
190
|
-
offset = valueEnd = Node.Node.endOfLine(src, end);
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
if (this.chomping !== Chomp.KEEP) {
|
|
195
|
-
offset = src[valueEnd] ? valueEnd + 1 : valueEnd;
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
this.valueRange = new Range.Range(start + 1, offset);
|
|
199
|
-
return offset;
|
|
200
|
-
}
|
|
201
|
-
/**
|
|
202
|
-
* Parses a block value from the source
|
|
203
|
-
*
|
|
204
|
-
* Accepted forms are:
|
|
205
|
-
* ```
|
|
206
|
-
* BS
|
|
207
|
-
* block
|
|
208
|
-
* lines
|
|
209
|
-
*
|
|
210
|
-
* BS #comment
|
|
211
|
-
* block
|
|
212
|
-
* lines
|
|
213
|
-
* ```
|
|
214
|
-
* where the block style BS matches the regexp `[|>][-+1-9]*` and block lines
|
|
215
|
-
* are empty or have an indent level greater than `indent`.
|
|
216
|
-
*
|
|
217
|
-
* @param {ParseContext} context
|
|
218
|
-
* @param {number} start - Index of first character
|
|
219
|
-
* @returns {number} - Index of the character after this block
|
|
220
|
-
*/
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
parse(context, start) {
|
|
224
|
-
this.context = context;
|
|
225
|
-
const {
|
|
226
|
-
src
|
|
227
|
-
} = context;
|
|
228
|
-
let offset = this.parseBlockHeader(start);
|
|
229
|
-
offset = Node.Node.endOfWhiteSpace(src, offset);
|
|
230
|
-
offset = this.parseComment(offset);
|
|
231
|
-
offset = this.parseBlockValue(offset);
|
|
232
|
-
return offset;
|
|
233
|
-
}
|
|
234
|
-
|
|
235
|
-
setOrigRanges(cr, offset) {
|
|
236
|
-
offset = super.setOrigRanges(cr, offset);
|
|
237
|
-
return this.header ? this.header.setOrigRange(cr, offset) : offset;
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
exports.BlockValue = BlockValue;
|
|
243
|
-
exports.Chomp = Chomp;
|