yaml 1.7.2 → 1.8.3

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.
Files changed (80) hide show
  1. package/browser/dist/Anchors.js +24 -39
  2. package/browser/dist/Document.js +86 -110
  3. package/browser/dist/addComment.js +2 -11
  4. package/browser/dist/constants.js +3 -11
  5. package/browser/dist/cst/Alias.js +19 -36
  6. package/browser/dist/cst/BlankLine.js +25 -38
  7. package/browser/dist/cst/BlockValue.js +29 -51
  8. package/browser/dist/cst/Collection.js +42 -65
  9. package/browser/dist/cst/CollectionItem.js +33 -55
  10. package/browser/dist/cst/Comment.js +19 -35
  11. package/browser/dist/cst/Directive.js +20 -56
  12. package/browser/dist/cst/Document.js +47 -71
  13. package/browser/dist/cst/FlowCollection.js +38 -61
  14. package/browser/dist/cst/Node.js +26 -46
  15. package/browser/dist/cst/ParseContext.js +100 -140
  16. package/browser/dist/cst/PlainValue.js +21 -38
  17. package/browser/dist/cst/QuoteDouble.js +26 -42
  18. package/browser/dist/cst/QuoteSingle.js +25 -41
  19. package/browser/dist/cst/Range.js +9 -19
  20. package/browser/dist/cst/parse.js +5 -16
  21. package/browser/dist/cst/source-utils.js +3 -14
  22. package/browser/dist/errors.js +42 -78
  23. package/browser/dist/foldFlowLines.js +4 -15
  24. package/browser/dist/index.js +24 -44
  25. package/browser/dist/listTagNames.js +10 -24
  26. package/browser/dist/schema/Alias.js +32 -49
  27. package/browser/dist/schema/Collection.js +54 -65
  28. package/browser/dist/schema/Map.js +39 -49
  29. package/browser/dist/schema/Merge.js +32 -52
  30. package/browser/dist/schema/Node.js +3 -12
  31. package/browser/dist/schema/Pair.js +40 -58
  32. package/browser/dist/schema/Scalar.js +18 -33
  33. package/browser/dist/schema/Seq.js +23 -40
  34. package/browser/dist/schema/index.js +66 -81
  35. package/browser/dist/schema/parseMap.js +52 -72
  36. package/browser/dist/schema/parseSeq.js +30 -45
  37. package/browser/dist/schema/parseUtils.js +12 -25
  38. package/browser/dist/stringify.js +39 -45
  39. package/browser/dist/tags/core.js +34 -40
  40. package/browser/dist/tags/failsafe/index.js +4 -17
  41. package/browser/dist/tags/failsafe/map.js +15 -24
  42. package/browser/dist/tags/failsafe/seq.js +7 -18
  43. package/browser/dist/tags/failsafe/string.js +7 -19
  44. package/browser/dist/tags/index.js +35 -49
  45. package/browser/dist/tags/json.js +11 -38
  46. package/browser/dist/tags/options.js +8 -20
  47. package/browser/dist/tags/yaml-1.1/binary.js +22 -33
  48. package/browser/dist/tags/yaml-1.1/index.js +34 -54
  49. package/browser/dist/tags/yaml-1.1/omap.js +39 -58
  50. package/browser/dist/tags/yaml-1.1/pairs.js +15 -34
  51. package/browser/dist/tags/yaml-1.1/set.js +35 -61
  52. package/browser/dist/tags/yaml-1.1/timestamp.js +6 -16
  53. package/browser/dist/test-events.js +7 -19
  54. package/browser/dist/toJSON.js +1 -8
  55. package/browser/dist/warnings.js +3 -15
  56. package/dist/Document.js +1 -1
  57. package/dist/cst/BlankLine.js +4 -0
  58. package/dist/cst/BlockValue.js +1 -1
  59. package/dist/cst/Directive.js +0 -16
  60. package/dist/cst/Node.js +0 -5
  61. package/dist/cst/ParseContext.js +41 -55
  62. package/dist/schema/Alias.js +1 -0
  63. package/dist/schema/Collection.js +22 -5
  64. package/dist/schema/Map.js +12 -5
  65. package/dist/schema/Pair.js +1 -0
  66. package/dist/schema/index.js +10 -5
  67. package/dist/schema/parseMap.js +1 -1
  68. package/dist/stringify.js +15 -8
  69. package/dist/tags/core.js +31 -13
  70. package/dist/tags/failsafe/map.js +5 -1
  71. package/dist/tags/failsafe/seq.js +1 -1
  72. package/dist/tags/index.js +13 -1
  73. package/dist/tags/json.js +2 -9
  74. package/dist/tags/yaml-1.1/binary.js +8 -5
  75. package/dist/tags/yaml-1.1/index.js +6 -6
  76. package/dist/tags/yaml-1.1/pairs.js +1 -1
  77. package/dist/tags/yaml-1.1/set.js +1 -1
  78. package/package.json +43 -17
  79. package/types.mjs +20 -0
  80. package/util.mjs +24 -0
@@ -1,56 +1,35 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
-
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
15
-
16
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
17
-
18
- var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
19
-
20
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
21
-
22
- var _constants = require("../constants");
23
-
24
- var _errors = require("../errors");
25
-
26
- var _BlankLine = _interopRequireDefault(require("./BlankLine"));
27
-
28
- var _Comment = _interopRequireDefault(require("./Comment"));
29
-
30
- var _Node2 = _interopRequireDefault(require("./Node"));
31
-
32
- var _Range = _interopRequireDefault(require("./Range"));
33
-
34
- var FlowCollection =
35
- /*#__PURE__*/
36
- function (_Node) {
37
- (0, _inherits2.default)(FlowCollection, _Node);
1
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
+ import _createClass from "@babel/runtime/helpers/createClass";
3
+ import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
4
+ import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
5
+ import _get from "@babel/runtime/helpers/get";
6
+ import _inherits from "@babel/runtime/helpers/inherits";
7
+ import { Type } from '../constants';
8
+ import { YAMLSemanticError } from '../errors';
9
+ import BlankLine from './BlankLine';
10
+ import Comment from './Comment';
11
+ import Node from './Node';
12
+ import Range from './Range';
13
+
14
+ var FlowCollection = /*#__PURE__*/function (_Node) {
15
+ _inherits(FlowCollection, _Node);
38
16
 
39
17
  function FlowCollection(type, props) {
40
18
  var _this;
41
19
 
42
- (0, _classCallCheck2.default)(this, FlowCollection);
43
- _this = (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(FlowCollection).call(this, type, props));
20
+ _classCallCheck(this, FlowCollection);
21
+
22
+ _this = _possibleConstructorReturn(this, _getPrototypeOf(FlowCollection).call(this, type, props));
44
23
  _this.items = null;
45
24
  return _this;
46
25
  }
47
26
 
48
- (0, _createClass2.default)(FlowCollection, [{
27
+ _createClass(FlowCollection, [{
49
28
  key: "prevNodeIsJsonLike",
50
29
  value: function prevNodeIsJsonLike() {
51
30
  var idx = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.items.length;
52
31
  var node = this.items[idx - 1];
53
- return !!node && (node.jsonLike || node.type === _constants.Type.COMMENT && this.nodeIsJsonLike(idx - 1));
32
+ return !!node && (node.jsonLike || node.type === Type.COMMENT && this.nodeIsJsonLike(idx - 1));
54
33
  }
55
34
  /**
56
35
  * @param {ParseContext} context
@@ -72,9 +51,7 @@ function (_Node) {
72
51
  char: char,
73
52
  offset: start
74
53
  }];
75
-
76
- var offset = _Node2.default.endOfWhiteSpace(src, start + 1);
77
-
54
+ var offset = Node.endOfWhiteSpace(src, start + 1);
78
55
  char = src[offset];
79
56
 
80
57
  while (char && char !== ']' && char !== '}') {
@@ -82,25 +59,24 @@ function (_Node) {
82
59
  case '\n':
83
60
  {
84
61
  lineStart = offset + 1;
85
-
86
- var wsEnd = _Node2.default.endOfWhiteSpace(src, lineStart);
62
+ var wsEnd = Node.endOfWhiteSpace(src, lineStart);
87
63
 
88
64
  if (src[wsEnd] === '\n') {
89
- var blankLine = new _BlankLine.default();
65
+ var blankLine = new BlankLine();
90
66
  lineStart = blankLine.parse({
91
67
  src: src
92
68
  }, lineStart);
93
69
  this.items.push(blankLine);
94
70
  }
95
71
 
96
- offset = _Node2.default.endOfIndent(src, lineStart);
72
+ offset = Node.endOfIndent(src, lineStart);
97
73
 
98
74
  if (offset <= lineStart + indent) {
99
75
  char = src[offset];
100
76
 
101
77
  if (offset < lineStart + indent || char !== ']' && char !== '}') {
102
78
  var msg = 'Insufficient indentation in flow collection';
103
- this.error = new _errors.YAMLSemanticError(this, msg);
79
+ this.error = new YAMLSemanticError(this, msg);
104
80
  }
105
81
  }
106
82
  }
@@ -118,7 +94,7 @@ function (_Node) {
118
94
 
119
95
  case '#':
120
96
  {
121
- var comment = new _Comment.default();
97
+ var comment = new Comment();
122
98
  offset = comment.parse({
123
99
  src: src
124
100
  }, offset);
@@ -156,27 +132,27 @@ function (_Node) {
156
132
 
157
133
  if (!node) {
158
134
  // at next document start
159
- this.valueRange = new _Range.default(start, offset);
135
+ this.valueRange = new Range(start, offset);
160
136
  return offset;
161
137
  }
162
138
 
163
139
  this.items.push(node);
164
- offset = _Node2.default.normalizeOffset(src, node.range.end);
140
+ offset = Node.normalizeOffset(src, node.range.end);
165
141
  }
166
142
  }
167
143
 
168
- offset = _Node2.default.endOfWhiteSpace(src, offset);
144
+ offset = Node.endOfWhiteSpace(src, offset);
169
145
  char = src[offset];
170
146
  }
171
147
 
172
- this.valueRange = new _Range.default(start, offset + 1);
148
+ this.valueRange = new Range(start, offset + 1);
173
149
 
174
150
  if (char) {
175
151
  this.items.push({
176
152
  char: char,
177
153
  offset: offset
178
154
  });
179
- offset = _Node2.default.endOfWhiteSpace(src, offset + 1);
155
+ offset = Node.endOfWhiteSpace(src, offset + 1);
180
156
  offset = this.parseComment(offset);
181
157
  }
182
158
 
@@ -185,9 +161,9 @@ function (_Node) {
185
161
  }, {
186
162
  key: "setOrigRanges",
187
163
  value: function setOrigRanges(cr, offset) {
188
- offset = (0, _get2.default)((0, _getPrototypeOf2.default)(FlowCollection.prototype), "setOrigRanges", this).call(this, cr, offset);
164
+ offset = _get(_getPrototypeOf(FlowCollection.prototype), "setOrigRanges", this).call(this, cr, offset);
189
165
  this.items.forEach(function (node) {
190
- if (node instanceof _Node2.default) {
166
+ if (node instanceof Node) {
191
167
  offset = node.setOrigRanges(cr, offset);
192
168
  } else if (cr.length === 0) {
193
169
  node.origOffset = node.offset;
@@ -213,7 +189,7 @@ function (_Node) {
213
189
  value = this.value;
214
190
  if (value != null) return value;
215
191
  var nodes = items.filter(function (item) {
216
- return item instanceof _Node2.default;
192
+ return item instanceof Node;
217
193
  });
218
194
  var str = '';
219
195
  var prevEnd = range.start;
@@ -230,10 +206,11 @@ function (_Node) {
230
206
  }
231
207
  });
232
208
  str += src.slice(prevEnd, range.end);
233
- return _Node2.default.addStringTerminator(src, range.end, str);
209
+ return Node.addStringTerminator(src, range.end, str);
234
210
  }
235
211
  }]);
212
+
236
213
  return FlowCollection;
237
- }(_Node2.default);
214
+ }(Node);
238
215
 
239
- exports.default = FlowCollection;
216
+ export { FlowCollection as default };
@@ -1,29 +1,13 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
-
10
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
-
12
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
- var _constants = require("../constants");
17
-
18
- var _sourceUtils = require("./source-utils");
19
-
20
- var _Range = _interopRequireDefault(require("./Range"));
21
-
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
3
+ import _createClass from "@babel/runtime/helpers/createClass";
4
+ import { Char, Type } from '../constants';
5
+ import { getLinePos } from './source-utils';
6
+ import Range from './Range';
22
7
  /** Root class of all nodes */
23
- var Node =
24
- /*#__PURE__*/
25
- function () {
26
- (0, _createClass2.default)(Node, null, [{
8
+
9
+ var Node = /*#__PURE__*/function () {
10
+ _createClass(Node, null, [{
27
11
  key: "addStringTerminator",
28
12
  value: function addStringTerminator(src, offset, str) {
29
13
  if (str[str.length - 1] === '\n') return str;
@@ -42,7 +26,7 @@ function () {
42
26
  if (sep) {
43
27
  if (ch0 !== sep) return false;
44
28
  } else {
45
- if (ch0 !== _constants.Char.DIRECTIVES_END && ch0 !== _constants.Char.DOCUMENT_END) return false;
29
+ if (ch0 !== Char.DIRECTIVES_END && ch0 !== Char.DOCUMENT_END) return false;
46
30
  }
47
31
 
48
32
  var ch1 = src[offset + 1];
@@ -141,12 +125,6 @@ function () {
141
125
  var ch = src[offset];
142
126
  return ch === '\n' || ch === '\t' || ch === ' ' || endAsBlank && !ch;
143
127
  }
144
- }, {
145
- key: "atCollectionItem",
146
- value: function atCollectionItem(src, offset) {
147
- var ch = src[offset];
148
- return (ch === '?' || ch === ':' || ch === '-') && Node.atBlank(src, offset + 1, true);
149
- }
150
128
  }, {
151
129
  key: "nextNodeIsIndented",
152
130
  value: function nextNodeIsIndented(ch, indentDiff, indicatorAsIndent) {
@@ -204,7 +182,8 @@ function () {
204
182
  }]);
205
183
 
206
184
  function Node(type, props, context) {
207
- (0, _classCallCheck2.default)(this, Node);
185
+ _classCallCheck(this, Node);
186
+
208
187
  Object.defineProperty(this, 'context', {
209
188
  value: context || null,
210
189
  writable: true
@@ -217,7 +196,7 @@ function () {
217
196
  this.value = null;
218
197
  }
219
198
 
220
- (0, _createClass2.default)(Node, [{
199
+ _createClass(Node, [{
221
200
  key: "getPropValue",
222
201
  value: function getPropValue(idx, key, skipKey) {
223
202
  if (!this.context) return null;
@@ -239,9 +218,9 @@ function () {
239
218
  value: function parseComment(start) {
240
219
  var src = this.context.src;
241
220
 
242
- if (src[start] === _constants.Char.COMMENT) {
221
+ if (src[start] === Char.COMMENT) {
243
222
  var end = Node.endOfLine(src, start + 1);
244
- var commentRange = new _Range.default(start, end);
223
+ var commentRange = new Range(start, end);
245
224
  this.props.push(commentRange);
246
225
  return end;
247
226
  }
@@ -281,7 +260,7 @@ function () {
281
260
  key: "anchor",
282
261
  get: function get() {
283
262
  for (var i = 0; i < this.props.length; ++i) {
284
- var anchor = this.getPropValue(i, _constants.Char.ANCHOR, true);
263
+ var anchor = this.getPropValue(i, Char.ANCHOR, true);
285
264
  if (anchor != null) return anchor;
286
265
  }
287
266
 
@@ -293,7 +272,7 @@ function () {
293
272
  var comments = [];
294
273
 
295
274
  for (var i = 0; i < this.props.length; ++i) {
296
- var comment = this.getPropValue(i, _constants.Char.COMMENT, true);
275
+ var comment = this.getPropValue(i, Char.COMMENT, true);
297
276
  if (comment != null) comments.push(comment);
298
277
  }
299
278
 
@@ -306,7 +285,7 @@ function () {
306
285
  var src = this.context.src;
307
286
 
308
287
  for (var i = 0; i < this.props.length; ++i) {
309
- if (src[this.props[i].start] === _constants.Char.COMMENT) return true;
288
+ if (src[this.props[i].start] === Char.COMMENT) return true;
310
289
  }
311
290
  }
312
291
 
@@ -319,7 +298,7 @@ function () {
319
298
  var src = this.context.src;
320
299
 
321
300
  for (var i = 0; i < this.props.length; ++i) {
322
- if (src[this.props[i].start] !== _constants.Char.COMMENT) return true;
301
+ if (src[this.props[i].start] !== Char.COMMENT) return true;
323
302
  }
324
303
  }
325
304
 
@@ -333,16 +312,16 @@ function () {
333
312
  }, {
334
313
  key: "jsonLike",
335
314
  get: function get() {
336
- var jsonLikeTypes = [_constants.Type.FLOW_MAP, _constants.Type.FLOW_SEQ, _constants.Type.QUOTE_DOUBLE, _constants.Type.QUOTE_SINGLE];
315
+ var jsonLikeTypes = [Type.FLOW_MAP, Type.FLOW_SEQ, Type.QUOTE_DOUBLE, Type.QUOTE_SINGLE];
337
316
  return jsonLikeTypes.indexOf(this.type) !== -1;
338
317
  }
339
318
  }, {
340
319
  key: "rangeAsLinePos",
341
320
  get: function get() {
342
321
  if (!this.range || !this.context) return undefined;
343
- var start = (0, _sourceUtils.getLinePos)(this.range.start, this.context.root);
322
+ var start = getLinePos(this.range.start, this.context.root);
344
323
  if (!start) return undefined;
345
- var end = (0, _sourceUtils.getLinePos)(this.range.end, this.context.root);
324
+ var end = getLinePos(this.range.end, this.context.root);
346
325
  return {
347
326
  start: start,
348
327
  end: end
@@ -361,7 +340,7 @@ function () {
361
340
  key: "tag",
362
341
  get: function get() {
363
342
  for (var i = 0; i < this.props.length; ++i) {
364
- var tag = this.getPropValue(i, _constants.Char.TAG, false);
343
+ var tag = this.getPropValue(i, Char.TAG, false);
365
344
 
366
345
  if (tag != null) {
367
346
  if (tag[1] === '<') {
@@ -371,7 +350,7 @@ function () {
371
350
  } else {
372
351
  // eslint-disable-next-line no-unused-vars
373
352
  var _tag$match = tag.match(/^(.*!)([^!]*)$/),
374
- _tag$match2 = (0, _slicedToArray2.default)(_tag$match, 3),
353
+ _tag$match2 = _slicedToArray(_tag$match, 3),
375
354
  _ = _tag$match2[0],
376
355
  handle = _tag$match2[1],
377
356
  suffix = _tag$match2[2];
@@ -402,7 +381,8 @@ function () {
402
381
  return false;
403
382
  }
404
383
  }]);
384
+
405
385
  return Node;
406
386
  }();
407
387
 
408
- exports.default = Node;
388
+ export { Node as default };