yaml 1.8.2 → 1.9.2
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/browser/dist/Anchors.js +10 -13
- package/browser/dist/Document.js +72 -67
- package/browser/dist/addComment.js +1 -1
- package/browser/dist/cst/Alias.js +12 -8
- package/browser/dist/cst/BlankLine.js +16 -20
- package/browser/dist/cst/BlockValue.js +14 -10
- package/browser/dist/cst/Collection.js +17 -13
- package/browser/dist/cst/CollectionItem.js +15 -11
- package/browser/dist/cst/Comment.js +13 -9
- package/browser/dist/cst/Directive.js +13 -9
- package/browser/dist/cst/Document.js +17 -13
- package/browser/dist/cst/FlowCollection.js +17 -13
- package/browser/dist/cst/Node.js +3 -5
- package/browser/dist/cst/ParseContext.js +12 -14
- package/browser/dist/cst/PlainValue.js +12 -8
- package/browser/dist/cst/QuoteDouble.js +13 -9
- package/browser/dist/cst/QuoteSingle.js +13 -9
- package/browser/dist/cst/Range.js +2 -5
- package/browser/dist/cst/parse.js +3 -3
- package/browser/dist/errors.js +23 -8
- package/browser/dist/foldFlowLines.js +1 -1
- package/browser/dist/index.js +71 -21
- package/browser/dist/listTagNames.js +5 -5
- package/browser/dist/schema/Alias.js +30 -34
- package/browser/dist/schema/Collection.js +40 -47
- package/browser/dist/schema/Map.js +39 -56
- package/browser/dist/schema/Merge.js +37 -46
- package/browser/dist/schema/Node.js +2 -5
- package/browser/dist/schema/Pair.js +36 -13
- package/browser/dist/schema/Scalar.js +13 -9
- package/browser/dist/schema/Seq.js +27 -25
- package/browser/dist/schema/index.js +25 -39
- package/browser/dist/schema/parseMap.js +8 -8
- package/browser/dist/schema/parseSeq.js +5 -5
- package/browser/dist/schema/parseUtils.js +11 -15
- package/browser/dist/stringify.js +2 -1
- package/browser/dist/tags/core.js +39 -23
- package/browser/dist/tags/failsafe/index.js +4 -4
- package/browser/dist/tags/failsafe/map.js +15 -18
- package/browser/dist/tags/failsafe/seq.js +14 -18
- package/browser/dist/tags/failsafe/string.js +1 -1
- package/browser/dist/tags/index.js +10 -10
- package/browser/dist/tags/json.js +27 -26
- package/browser/dist/tags/options.js +3 -0
- package/browser/dist/tags/yaml-1.1/binary.js +10 -8
- package/browser/dist/tags/yaml-1.1/index.js +75 -43
- package/browser/dist/tags/yaml-1.1/omap.js +34 -39
- package/browser/dist/tags/yaml-1.1/pairs.js +17 -20
- package/browser/dist/tags/yaml-1.1/set.js +27 -23
- package/browser/dist/test-events.js +4 -4
- package/browser/dist/toJSON.js +3 -4
- package/browser/dist/warnings.js +29 -18
- package/browser/index.js +1 -1
- package/browser/map.js +4 -2
- package/browser/pair.js +4 -2
- package/browser/parse-cst.js +1 -1
- package/browser/scalar.js +4 -2
- package/browser/schema.js +11 -6
- package/browser/seq.js +4 -2
- package/browser/types/binary.js +5 -6
- package/browser/types/omap.js +4 -2
- package/browser/types/pairs.js +4 -2
- package/browser/types/set.js +4 -2
- package/browser/types/timestamp.js +5 -9
- package/browser/types.js +12 -10
- package/browser/util.js +16 -13
- package/dist/Anchors.js +13 -18
- package/dist/Document.js +52 -48
- package/dist/addComment.js +1 -4
- package/dist/constants.js +0 -3
- package/dist/cst/Alias.js +8 -13
- package/dist/cst/BlankLine.js +8 -24
- package/dist/cst/BlockValue.js +12 -17
- package/dist/cst/Collection.js +22 -27
- package/dist/cst/CollectionItem.js +16 -21
- package/dist/cst/Comment.js +6 -11
- package/dist/cst/Directive.js +7 -12
- package/dist/cst/Document.js +23 -28
- package/dist/cst/FlowCollection.js +21 -26
- package/dist/cst/Node.js +4 -9
- package/dist/cst/ParseContext.js +38 -43
- package/dist/cst/PlainValue.js +10 -15
- package/dist/cst/QuoteDouble.js +9 -14
- package/dist/cst/QuoteSingle.js +9 -14
- package/dist/cst/Range.js +2 -5
- package/dist/cst/parse.js +5 -10
- package/dist/cst/source-utils.js +0 -3
- package/dist/errors.js +4 -9
- package/dist/foldFlowLines.js +1 -4
- package/dist/index.js +59 -17
- package/dist/listTagNames.js +9 -14
- package/dist/schema/Alias.js +12 -17
- package/dist/schema/Collection.js +16 -20
- package/dist/schema/Map.js +12 -17
- package/dist/schema/Merge.js +13 -18
- package/dist/schema/Node.js +2 -5
- package/dist/schema/Pair.js +44 -31
- package/dist/schema/Scalar.js +6 -11
- package/dist/schema/Seq.js +9 -14
- package/dist/schema/index.js +22 -27
- package/dist/schema/parseMap.js +19 -28
- package/dist/schema/parseSeq.js +10 -15
- package/dist/schema/parseUtils.js +0 -3
- package/dist/stringify.js +6 -12
- package/dist/tags/core.js +34 -26
- package/dist/tags/failsafe/index.js +6 -11
- package/dist/tags/failsafe/map.js +8 -13
- package/dist/tags/failsafe/seq.js +8 -13
- package/dist/tags/failsafe/string.js +3 -6
- package/dist/tags/index.js +20 -29
- package/dist/tags/json.js +26 -22
- package/dist/tags/options.js +5 -4
- package/dist/tags/yaml-1.1/binary.js +11 -11
- package/dist/tags/yaml-1.1/index.js +69 -38
- package/dist/tags/yaml-1.1/omap.js +19 -24
- package/dist/tags/yaml-1.1/pairs.js +12 -17
- package/dist/tags/yaml-1.1/set.js +12 -21
- package/dist/tags/yaml-1.1/timestamp.js +0 -3
- package/dist/test-events.js +4 -9
- package/dist/toJSON.js +3 -5
- package/dist/warnings.js +31 -22
- package/index.d.ts +358 -0
- package/index.js +1 -1
- package/map.js +1 -1
- package/package.json +29 -23
- package/pair.js +1 -1
- package/parse-cst.d.ts +187 -0
- package/parse-cst.js +1 -1
- package/scalar.js +1 -1
- package/schema.js +2 -2
- package/seq.js +1 -1
- package/types/binary.js +1 -1
- package/types/omap.js +1 -1
- package/types/pairs.js +1 -1
- package/types/set.js +1 -1
- package/types/timestamp.js +1 -1
- package/types.d.ts +393 -0
- package/types.js +7 -6
- package/types.mjs +6 -5
- package/util.d.ts +86 -0
- package/util.js +6 -5
- package/util.mjs +4 -3
package/dist/cst/ParseContext.js
CHANGED
|
@@ -1,65 +1,60 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
3
|
+
exports.ParseContext = void 0;
|
|
7
4
|
|
|
8
5
|
var _constants = require("../constants");
|
|
9
6
|
|
|
10
7
|
var _errors = require("../errors");
|
|
11
8
|
|
|
12
|
-
var _Alias =
|
|
9
|
+
var _Alias = require("./Alias");
|
|
13
10
|
|
|
14
|
-
var _BlockValue =
|
|
11
|
+
var _BlockValue = require("./BlockValue");
|
|
15
12
|
|
|
16
|
-
var _Collection =
|
|
13
|
+
var _Collection = require("./Collection");
|
|
17
14
|
|
|
18
|
-
var _CollectionItem =
|
|
15
|
+
var _CollectionItem = require("./CollectionItem");
|
|
19
16
|
|
|
20
|
-
var _FlowCollection =
|
|
17
|
+
var _FlowCollection = require("./FlowCollection");
|
|
21
18
|
|
|
22
|
-
var _Node =
|
|
19
|
+
var _Node = require("./Node");
|
|
23
20
|
|
|
24
|
-
var _PlainValue =
|
|
21
|
+
var _PlainValue = require("./PlainValue");
|
|
25
22
|
|
|
26
|
-
var _QuoteDouble =
|
|
23
|
+
var _QuoteDouble = require("./QuoteDouble");
|
|
27
24
|
|
|
28
|
-
var _QuoteSingle =
|
|
25
|
+
var _QuoteSingle = require("./QuoteSingle");
|
|
29
26
|
|
|
30
|
-
var _Range =
|
|
31
|
-
|
|
32
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
27
|
+
var _Range = require("./Range");
|
|
33
28
|
|
|
34
29
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
35
30
|
|
|
36
31
|
function createNewNode(type, props) {
|
|
37
32
|
switch (type) {
|
|
38
33
|
case _constants.Type.ALIAS:
|
|
39
|
-
return new _Alias.
|
|
34
|
+
return new _Alias.Alias(type, props);
|
|
40
35
|
|
|
41
36
|
case _constants.Type.BLOCK_FOLDED:
|
|
42
37
|
case _constants.Type.BLOCK_LITERAL:
|
|
43
|
-
return new _BlockValue.
|
|
38
|
+
return new _BlockValue.BlockValue(type, props);
|
|
44
39
|
|
|
45
40
|
case _constants.Type.FLOW_MAP:
|
|
46
41
|
case _constants.Type.FLOW_SEQ:
|
|
47
|
-
return new _FlowCollection.
|
|
42
|
+
return new _FlowCollection.FlowCollection(type, props);
|
|
48
43
|
|
|
49
44
|
case _constants.Type.MAP_KEY:
|
|
50
45
|
case _constants.Type.MAP_VALUE:
|
|
51
46
|
case _constants.Type.SEQ_ITEM:
|
|
52
|
-
return new _CollectionItem.
|
|
47
|
+
return new _CollectionItem.CollectionItem(type, props);
|
|
53
48
|
|
|
54
49
|
case _constants.Type.COMMENT:
|
|
55
50
|
case _constants.Type.PLAIN:
|
|
56
|
-
return new _PlainValue.
|
|
51
|
+
return new _PlainValue.PlainValue(type, props);
|
|
57
52
|
|
|
58
53
|
case _constants.Type.QUOTE_DOUBLE:
|
|
59
|
-
return new _QuoteDouble.
|
|
54
|
+
return new _QuoteDouble.QuoteDouble(type, props);
|
|
60
55
|
|
|
61
56
|
case _constants.Type.QUOTE_SINGLE:
|
|
62
|
-
return new _QuoteSingle.
|
|
57
|
+
return new _QuoteSingle.QuoteSingle(type, props);
|
|
63
58
|
|
|
64
59
|
/* istanbul ignore next */
|
|
65
60
|
|
|
@@ -98,13 +93,13 @@ class ParseContext {
|
|
|
98
93
|
return _constants.Type.FLOW_SEQ;
|
|
99
94
|
|
|
100
95
|
case '?':
|
|
101
|
-
return !inFlow && _Node.
|
|
96
|
+
return !inFlow && _Node.Node.atBlank(src, offset + 1, true) ? _constants.Type.MAP_KEY : _constants.Type.PLAIN;
|
|
102
97
|
|
|
103
98
|
case ':':
|
|
104
|
-
return !inFlow && _Node.
|
|
99
|
+
return !inFlow && _Node.Node.atBlank(src, offset + 1, true) ? _constants.Type.MAP_VALUE : _constants.Type.PLAIN;
|
|
105
100
|
|
|
106
101
|
case '-':
|
|
107
|
-
return !inFlow && _Node.
|
|
102
|
+
return !inFlow && _Node.Node.atBlank(src, offset + 1, true) ? _constants.Type.SEQ_ITEM : _constants.Type.PLAIN;
|
|
108
103
|
|
|
109
104
|
case '"':
|
|
110
105
|
return _constants.Type.QUOTE_DOUBLE;
|
|
@@ -126,7 +121,7 @@ class ParseContext {
|
|
|
126
121
|
parent
|
|
127
122
|
} = {}) {
|
|
128
123
|
_defineProperty(this, "parseNode", (overlay, start) => {
|
|
129
|
-
if (_Node.
|
|
124
|
+
if (_Node.Node.atDocumentBoundary(this.src, start)) return null;
|
|
130
125
|
const context = new ParseContext(this, overlay);
|
|
131
126
|
const {
|
|
132
127
|
props,
|
|
@@ -135,7 +130,7 @@ class ParseContext {
|
|
|
135
130
|
} = context.parseProps(start);
|
|
136
131
|
const node = createNewNode(type, props);
|
|
137
132
|
let offset = node.parse(context, valueStart);
|
|
138
|
-
node.range = new _Range.
|
|
133
|
+
node.range = new _Range.Range(start, offset);
|
|
139
134
|
/* istanbul ignore if */
|
|
140
135
|
|
|
141
136
|
if (offset <= start) {
|
|
@@ -152,9 +147,9 @@ class ParseContext {
|
|
|
152
147
|
node.error = new _errors.YAMLSyntaxError(node, 'Block collection must not have preceding content here (e.g. directives-end indicator)');
|
|
153
148
|
}
|
|
154
149
|
|
|
155
|
-
const collection = new _Collection.
|
|
150
|
+
const collection = new _Collection.Collection(node);
|
|
156
151
|
offset = collection.parse(new ParseContext(context), offset);
|
|
157
|
-
collection.range = new _Range.
|
|
152
|
+
collection.range = new _Range.Range(start, offset);
|
|
158
153
|
return collection;
|
|
159
154
|
}
|
|
160
155
|
|
|
@@ -178,11 +173,11 @@ class ParseContext {
|
|
|
178
173
|
src
|
|
179
174
|
} = this;
|
|
180
175
|
if (inCollection || inFlow) return false;
|
|
181
|
-
if (node instanceof _CollectionItem.
|
|
176
|
+
if (node instanceof _CollectionItem.CollectionItem) return true; // check for implicit key
|
|
182
177
|
|
|
183
178
|
let offset = node.range.end;
|
|
184
179
|
if (src[offset] === '\n' || src[offset - 1] === '\n') return false;
|
|
185
|
-
offset = _Node.
|
|
180
|
+
offset = _Node.Node.endOfWhiteSpace(src, offset);
|
|
186
181
|
return src[offset] === ':';
|
|
187
182
|
} // Anchor and tag are before type, which determines the node implementation
|
|
188
183
|
// class; hence this intermediate step.
|
|
@@ -196,48 +191,48 @@ class ParseContext {
|
|
|
196
191
|
} = this;
|
|
197
192
|
const props = [];
|
|
198
193
|
let lineHasProps = false;
|
|
199
|
-
offset = _Node.
|
|
194
|
+
offset = _Node.Node.endOfWhiteSpace(src, offset);
|
|
200
195
|
let ch = src[offset];
|
|
201
196
|
|
|
202
197
|
while (ch === _constants.Char.ANCHOR || ch === _constants.Char.COMMENT || ch === _constants.Char.TAG || ch === '\n') {
|
|
203
198
|
if (ch === '\n') {
|
|
204
199
|
const lineStart = offset + 1;
|
|
205
200
|
|
|
206
|
-
const inEnd = _Node.
|
|
201
|
+
const inEnd = _Node.Node.endOfIndent(src, lineStart);
|
|
207
202
|
|
|
208
203
|
const indentDiff = inEnd - (lineStart + this.indent);
|
|
209
204
|
const noIndicatorAsIndent = parent.type === _constants.Type.SEQ_ITEM && parent.context.atLineStart;
|
|
210
|
-
if (!_Node.
|
|
205
|
+
if (!_Node.Node.nextNodeIsIndented(src[inEnd], indentDiff, !noIndicatorAsIndent)) break;
|
|
211
206
|
this.atLineStart = true;
|
|
212
207
|
this.lineStart = lineStart;
|
|
213
208
|
lineHasProps = false;
|
|
214
209
|
offset = inEnd;
|
|
215
210
|
} else if (ch === _constants.Char.COMMENT) {
|
|
216
|
-
const end = _Node.
|
|
211
|
+
const end = _Node.Node.endOfLine(src, offset + 1);
|
|
217
212
|
|
|
218
|
-
props.push(new _Range.
|
|
213
|
+
props.push(new _Range.Range(offset, end));
|
|
219
214
|
offset = end;
|
|
220
215
|
} else {
|
|
221
|
-
let end = _Node.
|
|
216
|
+
let end = _Node.Node.endOfIdentifier(src, offset + 1);
|
|
222
217
|
|
|
223
218
|
if (ch === _constants.Char.TAG && src[end] === ',' && /^[a-zA-Z0-9-]+\.[a-zA-Z0-9-]+,\d\d\d\d(-\d\d){0,2}\/\S/.test(src.slice(offset + 1, end + 13))) {
|
|
224
219
|
// Let's presume we're dealing with a YAML 1.0 domain tag here, rather
|
|
225
220
|
// than an empty but 'foo.bar' private-tagged node in a flow collection
|
|
226
221
|
// followed without whitespace by a plain string starting with a year
|
|
227
222
|
// or date divided by something.
|
|
228
|
-
end = _Node.
|
|
223
|
+
end = _Node.Node.endOfIdentifier(src, end + 5);
|
|
229
224
|
}
|
|
230
225
|
|
|
231
|
-
props.push(new _Range.
|
|
226
|
+
props.push(new _Range.Range(offset, end));
|
|
232
227
|
lineHasProps = true;
|
|
233
|
-
offset = _Node.
|
|
228
|
+
offset = _Node.Node.endOfWhiteSpace(src, end);
|
|
234
229
|
}
|
|
235
230
|
|
|
236
231
|
ch = src[offset];
|
|
237
232
|
} // '- &a : b' has an anchor on an empty node
|
|
238
233
|
|
|
239
234
|
|
|
240
|
-
if (lineHasProps && ch === ':' && _Node.
|
|
235
|
+
if (lineHasProps && ch === ':' && _Node.Node.atBlank(src, offset + 1, true)) offset -= 1;
|
|
241
236
|
const type = ParseContext.parseType(src, offset, inFlow);
|
|
242
237
|
return {
|
|
243
238
|
props,
|
|
@@ -255,4 +250,4 @@ class ParseContext {
|
|
|
255
250
|
|
|
256
251
|
}
|
|
257
252
|
|
|
258
|
-
exports.
|
|
253
|
+
exports.ParseContext = ParseContext;
|
package/dist/cst/PlainValue.js
CHANGED
|
@@ -1,17 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
3
|
+
exports.PlainValue = void 0;
|
|
7
4
|
|
|
8
|
-
var _Node =
|
|
5
|
+
var _Node = require("./Node");
|
|
9
6
|
|
|
10
|
-
var _Range =
|
|
7
|
+
var _Range = require("./Range");
|
|
11
8
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
class PlainValue extends _Node.default {
|
|
9
|
+
class PlainValue extends _Node.Node {
|
|
15
10
|
static endOfLine(src, start, inFlow) {
|
|
16
11
|
let ch = src[start];
|
|
17
12
|
let offset = start;
|
|
@@ -54,7 +49,7 @@ class PlainValue extends _Node.default {
|
|
|
54
49
|
const {
|
|
55
50
|
fold,
|
|
56
51
|
offset
|
|
57
|
-
} = _Node.
|
|
52
|
+
} = _Node.Node.foldNewline(src, i, -1);
|
|
58
53
|
|
|
59
54
|
str += fold;
|
|
60
55
|
i = offset;
|
|
@@ -87,9 +82,9 @@ class PlainValue extends _Node.default {
|
|
|
87
82
|
let valueEnd = start;
|
|
88
83
|
|
|
89
84
|
for (let ch = src[offset]; ch === '\n'; ch = src[offset]) {
|
|
90
|
-
if (_Node.
|
|
85
|
+
if (_Node.Node.atDocumentBoundary(src, offset + 1)) break;
|
|
91
86
|
|
|
92
|
-
const end = _Node.
|
|
87
|
+
const end = _Node.Node.endOfBlockIndent(src, indent, offset + 1);
|
|
93
88
|
|
|
94
89
|
if (end === null || src[end] === '#') break;
|
|
95
90
|
|
|
@@ -145,8 +140,8 @@ class PlainValue extends _Node.default {
|
|
|
145
140
|
offset = PlainValue.endOfLine(src, start, inFlow);
|
|
146
141
|
}
|
|
147
142
|
|
|
148
|
-
this.valueRange = new _Range.
|
|
149
|
-
offset = _Node.
|
|
143
|
+
this.valueRange = new _Range.Range(start, offset);
|
|
144
|
+
offset = _Node.Node.endOfWhiteSpace(src, offset);
|
|
150
145
|
offset = this.parseComment(offset);
|
|
151
146
|
|
|
152
147
|
if (!this.hasComment || this.valueRange.isEmpty()) {
|
|
@@ -158,4 +153,4 @@ class PlainValue extends _Node.default {
|
|
|
158
153
|
|
|
159
154
|
}
|
|
160
155
|
|
|
161
|
-
exports.
|
|
156
|
+
exports.PlainValue = PlainValue;
|
package/dist/cst/QuoteDouble.js
CHANGED
|
@@ -1,19 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
3
|
+
exports.QuoteDouble = void 0;
|
|
7
4
|
|
|
8
5
|
var _errors = require("../errors");
|
|
9
6
|
|
|
10
|
-
var _Node =
|
|
7
|
+
var _Node = require("./Node");
|
|
11
8
|
|
|
12
|
-
var _Range =
|
|
9
|
+
var _Range = require("./Range");
|
|
13
10
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
class QuoteDouble extends _Node.default {
|
|
11
|
+
class QuoteDouble extends _Node.Node {
|
|
17
12
|
static endOfQuote(src, offset) {
|
|
18
13
|
let ch = src[offset];
|
|
19
14
|
|
|
@@ -49,13 +44,13 @@ class QuoteDouble extends _Node.default {
|
|
|
49
44
|
const ch = src[i];
|
|
50
45
|
|
|
51
46
|
if (ch === '\n') {
|
|
52
|
-
if (_Node.
|
|
47
|
+
if (_Node.Node.atDocumentBoundary(src, i + 1)) errors.push(new _errors.YAMLSemanticError(this, 'Document boundary indicators are not allowed within string values'));
|
|
53
48
|
|
|
54
49
|
const {
|
|
55
50
|
fold,
|
|
56
51
|
offset,
|
|
57
52
|
error
|
|
58
|
-
} = _Node.
|
|
53
|
+
} = _Node.Node.foldNewline(src, i, indent);
|
|
59
54
|
|
|
60
55
|
str += fold;
|
|
61
56
|
i = offset;
|
|
@@ -226,12 +221,12 @@ class QuoteDouble extends _Node.default {
|
|
|
226
221
|
src
|
|
227
222
|
} = context;
|
|
228
223
|
let offset = QuoteDouble.endOfQuote(src, start + 1);
|
|
229
|
-
this.valueRange = new _Range.
|
|
230
|
-
offset = _Node.
|
|
224
|
+
this.valueRange = new _Range.Range(start, offset);
|
|
225
|
+
offset = _Node.Node.endOfWhiteSpace(src, offset);
|
|
231
226
|
offset = this.parseComment(offset);
|
|
232
227
|
return offset;
|
|
233
228
|
}
|
|
234
229
|
|
|
235
230
|
}
|
|
236
231
|
|
|
237
|
-
exports.
|
|
232
|
+
exports.QuoteDouble = QuoteDouble;
|
package/dist/cst/QuoteSingle.js
CHANGED
|
@@ -1,19 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
3
|
+
exports.QuoteSingle = void 0;
|
|
7
4
|
|
|
8
5
|
var _errors = require("../errors");
|
|
9
6
|
|
|
10
|
-
var _Node =
|
|
7
|
+
var _Node = require("./Node");
|
|
11
8
|
|
|
12
|
-
var _Range =
|
|
9
|
+
var _Range = require("./Range");
|
|
13
10
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
class QuoteSingle extends _Node.default {
|
|
11
|
+
class QuoteSingle extends _Node.Node {
|
|
17
12
|
static endOfQuote(src, offset) {
|
|
18
13
|
let ch = src[offset];
|
|
19
14
|
|
|
@@ -51,13 +46,13 @@ class QuoteSingle extends _Node.default {
|
|
|
51
46
|
const ch = src[i];
|
|
52
47
|
|
|
53
48
|
if (ch === '\n') {
|
|
54
|
-
if (_Node.
|
|
49
|
+
if (_Node.Node.atDocumentBoundary(src, i + 1)) errors.push(new _errors.YAMLSemanticError(this, 'Document boundary indicators are not allowed within string values'));
|
|
55
50
|
|
|
56
51
|
const {
|
|
57
52
|
fold,
|
|
58
53
|
offset,
|
|
59
54
|
error
|
|
60
|
-
} = _Node.
|
|
55
|
+
} = _Node.Node.foldNewline(src, i, indent);
|
|
61
56
|
|
|
62
57
|
str += fold;
|
|
63
58
|
i = offset;
|
|
@@ -102,12 +97,12 @@ class QuoteSingle extends _Node.default {
|
|
|
102
97
|
src
|
|
103
98
|
} = context;
|
|
104
99
|
let offset = QuoteSingle.endOfQuote(src, start + 1);
|
|
105
|
-
this.valueRange = new _Range.
|
|
106
|
-
offset = _Node.
|
|
100
|
+
this.valueRange = new _Range.Range(start, offset);
|
|
101
|
+
offset = _Node.Node.endOfWhiteSpace(src, offset);
|
|
107
102
|
offset = this.parseComment(offset);
|
|
108
103
|
return offset;
|
|
109
104
|
}
|
|
110
105
|
|
|
111
106
|
}
|
|
112
107
|
|
|
113
|
-
exports.
|
|
108
|
+
exports.QuoteSingle = QuoteSingle;
|
package/dist/cst/Range.js
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
3
|
+
exports.Range = void 0;
|
|
7
4
|
|
|
8
5
|
class Range {
|
|
9
6
|
static copy(orig) {
|
|
@@ -60,4 +57,4 @@ class Range {
|
|
|
60
57
|
|
|
61
58
|
}
|
|
62
59
|
|
|
63
|
-
exports.
|
|
60
|
+
exports.Range = Range;
|
package/dist/cst/parse.js
CHANGED
|
@@ -1,15 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = parse;
|
|
3
|
+
exports.parse = parse;
|
|
7
4
|
|
|
8
|
-
var _Document =
|
|
5
|
+
var _Document = require("./Document");
|
|
9
6
|
|
|
10
|
-
var _ParseContext =
|
|
11
|
-
|
|
12
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
7
|
+
var _ParseContext = require("./ParseContext");
|
|
13
8
|
|
|
14
9
|
// Published as 'yaml/parse-cst'
|
|
15
10
|
function parse(src) {
|
|
@@ -26,8 +21,8 @@ function parse(src) {
|
|
|
26
21
|
let offset = 0;
|
|
27
22
|
|
|
28
23
|
do {
|
|
29
|
-
const doc = new _Document.
|
|
30
|
-
const context = new _ParseContext.
|
|
24
|
+
const doc = new _Document.Document();
|
|
25
|
+
const context = new _ParseContext.ParseContext({
|
|
31
26
|
src
|
|
32
27
|
});
|
|
33
28
|
offset = doc.parse(context, offset);
|
package/dist/cst/source-utils.js
CHANGED
package/dist/errors.js
CHANGED
|
@@ -1,21 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
3
|
exports.YAMLWarning = exports.YAMLSyntaxError = exports.YAMLSemanticError = exports.YAMLReferenceError = exports.YAMLError = void 0;
|
|
7
4
|
|
|
8
|
-
var _Node =
|
|
5
|
+
var _Node = require("./cst/Node");
|
|
9
6
|
|
|
10
7
|
var _sourceUtils = require("./cst/source-utils");
|
|
11
8
|
|
|
12
|
-
var _Range =
|
|
13
|
-
|
|
14
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
|
+
var _Range = require("./cst/Range");
|
|
15
10
|
|
|
16
11
|
class YAMLError extends Error {
|
|
17
12
|
constructor(name, source, message) {
|
|
18
|
-
if (!message || !(source instanceof _Node.
|
|
13
|
+
if (!message || !(source instanceof _Node.Node)) throw new Error(`Invalid arguments for new ${name}`);
|
|
19
14
|
super();
|
|
20
15
|
this.name = name;
|
|
21
16
|
this.message = message;
|
|
@@ -28,7 +23,7 @@ class YAMLError extends Error {
|
|
|
28
23
|
const cst = this.source.context && this.source.context.root;
|
|
29
24
|
|
|
30
25
|
if (typeof this.offset === 'number') {
|
|
31
|
-
this.range = new _Range.
|
|
26
|
+
this.range = new _Range.Range(this.offset, this.offset + 1);
|
|
32
27
|
const start = cst && (0, _sourceUtils.getLinePos)(this.offset, cst);
|
|
33
28
|
|
|
34
29
|
if (start) {
|
package/dist/foldFlowLines.js
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = foldFlowLines;
|
|
3
|
+
exports.foldFlowLines = foldFlowLines;
|
|
7
4
|
exports.FOLD_QUOTED = exports.FOLD_BLOCK = exports.FOLD_FLOW = void 0;
|
|
8
5
|
const FOLD_FLOW = 'flow';
|
|
9
6
|
exports.FOLD_FLOW = FOLD_FLOW;
|
package/dist/index.js
CHANGED
|
@@ -1,25 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
3
|
+
exports.YAML = void 0;
|
|
7
4
|
|
|
8
|
-
var _parse =
|
|
5
|
+
var _parse = require("./cst/parse");
|
|
9
6
|
|
|
10
|
-
var _Document =
|
|
7
|
+
var _Document = require("./Document");
|
|
11
8
|
|
|
12
9
|
var _errors = require("./errors");
|
|
13
10
|
|
|
14
|
-
var _schema =
|
|
11
|
+
var _schema = require("./schema");
|
|
15
12
|
|
|
16
|
-
var
|
|
13
|
+
var _options = require("./tags/options");
|
|
17
14
|
|
|
18
|
-
|
|
15
|
+
var _warnings = require("./warnings");
|
|
19
16
|
|
|
20
17
|
const defaultOptions = {
|
|
21
18
|
anchorPrefix: 'a',
|
|
22
19
|
customTags: null,
|
|
20
|
+
indent: 2,
|
|
21
|
+
indentSeq: true,
|
|
23
22
|
keepCstNodes: false,
|
|
24
23
|
keepNodeTypes: true,
|
|
25
24
|
keepBlobsInJSON: true,
|
|
@@ -30,6 +29,48 @@ const defaultOptions = {
|
|
|
30
29
|
simpleKeys: false,
|
|
31
30
|
version: '1.2'
|
|
32
31
|
};
|
|
32
|
+
const scalarOptions = {
|
|
33
|
+
get binary() {
|
|
34
|
+
return _options.binaryOptions;
|
|
35
|
+
},
|
|
36
|
+
|
|
37
|
+
set binary(opt) {
|
|
38
|
+
Object.assign(_options.binaryOptions, opt);
|
|
39
|
+
},
|
|
40
|
+
|
|
41
|
+
get bool() {
|
|
42
|
+
return _options.boolOptions;
|
|
43
|
+
},
|
|
44
|
+
|
|
45
|
+
set bool(opt) {
|
|
46
|
+
Object.assign(_options.boolOptions, opt);
|
|
47
|
+
},
|
|
48
|
+
|
|
49
|
+
get int() {
|
|
50
|
+
return _options.intOptions;
|
|
51
|
+
},
|
|
52
|
+
|
|
53
|
+
set int(opt) {
|
|
54
|
+
Object.assign(_options.intOptions, opt);
|
|
55
|
+
},
|
|
56
|
+
|
|
57
|
+
get null() {
|
|
58
|
+
return _options.nullOptions;
|
|
59
|
+
},
|
|
60
|
+
|
|
61
|
+
set null(opt) {
|
|
62
|
+
Object.assign(_options.nullOptions, opt);
|
|
63
|
+
},
|
|
64
|
+
|
|
65
|
+
get str() {
|
|
66
|
+
return _options.strOptions;
|
|
67
|
+
},
|
|
68
|
+
|
|
69
|
+
set str(opt) {
|
|
70
|
+
Object.assign(_options.strOptions, opt);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
};
|
|
33
74
|
|
|
34
75
|
function createNode(value, wrapScalars = true, tag) {
|
|
35
76
|
if (tag === undefined && typeof wrapScalars === 'string') {
|
|
@@ -37,12 +78,12 @@ function createNode(value, wrapScalars = true, tag) {
|
|
|
37
78
|
wrapScalars = true;
|
|
38
79
|
}
|
|
39
80
|
|
|
40
|
-
const options = Object.assign({}, _Document.
|
|
41
|
-
const schema = new _schema.
|
|
81
|
+
const options = Object.assign({}, _Document.Document.defaults[defaultOptions.version], defaultOptions);
|
|
82
|
+
const schema = new _schema.Schema(options);
|
|
42
83
|
return schema.createNode(value, wrapScalars, tag);
|
|
43
84
|
}
|
|
44
85
|
|
|
45
|
-
class Document extends _Document.
|
|
86
|
+
class Document extends _Document.Document {
|
|
46
87
|
constructor(options) {
|
|
47
88
|
super(Object.assign({}, defaultOptions, options));
|
|
48
89
|
}
|
|
@@ -53,7 +94,7 @@ function parseAllDocuments(src, options) {
|
|
|
53
94
|
const stream = [];
|
|
54
95
|
let prev;
|
|
55
96
|
|
|
56
|
-
for (const cstDoc of (0, _parse.
|
|
97
|
+
for (const cstDoc of (0, _parse.parse)(src)) {
|
|
57
98
|
const doc = new Document(options);
|
|
58
99
|
doc.parse(cstDoc, prev);
|
|
59
100
|
stream.push(doc);
|
|
@@ -64,7 +105,7 @@ function parseAllDocuments(src, options) {
|
|
|
64
105
|
}
|
|
65
106
|
|
|
66
107
|
function parseDocument(src, options) {
|
|
67
|
-
const cst = (0, _parse.
|
|
108
|
+
const cst = (0, _parse.parse)(src);
|
|
68
109
|
const doc = new Document(options).parse(cst[0]);
|
|
69
110
|
|
|
70
111
|
if (cst.length > 1) {
|
|
@@ -88,14 +129,15 @@ function stringify(value, options) {
|
|
|
88
129
|
return String(doc);
|
|
89
130
|
}
|
|
90
131
|
|
|
91
|
-
|
|
132
|
+
const YAML = {
|
|
92
133
|
createNode,
|
|
93
134
|
defaultOptions,
|
|
94
135
|
Document,
|
|
95
136
|
parse,
|
|
96
137
|
parseAllDocuments,
|
|
97
|
-
parseCST: _parse.
|
|
138
|
+
parseCST: _parse.parse,
|
|
98
139
|
parseDocument,
|
|
140
|
+
scalarOptions,
|
|
99
141
|
stringify
|
|
100
142
|
};
|
|
101
|
-
exports.
|
|
143
|
+
exports.YAML = YAML;
|
package/dist/listTagNames.js
CHANGED
|
@@ -1,17 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
3
|
+
exports.listTagNames = void 0;
|
|
7
4
|
|
|
8
|
-
var _Collection =
|
|
5
|
+
var _Collection = require("./schema/Collection");
|
|
9
6
|
|
|
10
|
-
var _Pair =
|
|
7
|
+
var _Pair = require("./schema/Pair");
|
|
11
8
|
|
|
12
|
-
var _Scalar =
|
|
13
|
-
|
|
14
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
|
+
var _Scalar = require("./schema/Scalar");
|
|
15
10
|
|
|
16
11
|
const visit = (node, tags) => {
|
|
17
12
|
if (node && typeof node === 'object') {
|
|
@@ -19,13 +14,13 @@ const visit = (node, tags) => {
|
|
|
19
14
|
tag
|
|
20
15
|
} = node;
|
|
21
16
|
|
|
22
|
-
if (node instanceof _Collection.
|
|
17
|
+
if (node instanceof _Collection.Collection) {
|
|
23
18
|
if (tag) tags[tag] = true;
|
|
24
19
|
node.items.forEach(n => visit(n, tags));
|
|
25
|
-
} else if (node instanceof _Pair.
|
|
20
|
+
} else if (node instanceof _Pair.Pair) {
|
|
26
21
|
visit(node.key, tags);
|
|
27
22
|
visit(node.value, tags);
|
|
28
|
-
} else if (node instanceof _Scalar.
|
|
23
|
+
} else if (node instanceof _Scalar.Scalar) {
|
|
29
24
|
if (tag) tags[tag] = true;
|
|
30
25
|
}
|
|
31
26
|
}
|
|
@@ -33,6 +28,6 @@ const visit = (node, tags) => {
|
|
|
33
28
|
return tags;
|
|
34
29
|
};
|
|
35
30
|
|
|
36
|
-
|
|
31
|
+
const listTagNames = node => Object.keys(visit(node, {}));
|
|
37
32
|
|
|
38
|
-
exports.
|
|
33
|
+
exports.listTagNames = listTagNames;
|