yaml 1.6.0 → 1.8.0

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 (112) hide show
  1. package/browser/dist/Anchors.js +24 -39
  2. package/browser/dist/Document.js +99 -111
  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 +57 -58
  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 +30 -47
  15. package/browser/dist/cst/ParseContext.js +100 -140
  16. package/browser/dist/cst/PlainValue.js +22 -39
  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 +168 -0
  22. package/browser/dist/errors.js +71 -74
  23. package/browser/dist/foldFlowLines.js +4 -15
  24. package/browser/dist/index.js +26 -45
  25. package/browser/dist/listTagNames.js +10 -24
  26. package/browser/dist/schema/Alias.js +33 -50
  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 +33 -53
  30. package/browser/dist/schema/Node.js +3 -12
  31. package/browser/dist/schema/Pair.js +53 -56
  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 +67 -81
  35. package/browser/dist/schema/parseMap.js +63 -70
  36. package/browser/dist/schema/parseSeq.js +45 -44
  37. package/browser/dist/schema/parseUtils.js +47 -11
  38. package/browser/dist/stringify.js +43 -48
  39. package/browser/dist/tags/core.js +30 -37
  40. package/browser/dist/tags/failsafe/index.js +4 -17
  41. package/browser/dist/tags/failsafe/map.js +17 -26
  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 +16 -29
  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 +28 -0
  56. package/browser/map.js +1 -1
  57. package/browser/pair.js +1 -1
  58. package/browser/scalar.js +1 -1
  59. package/browser/schema.js +1 -1
  60. package/browser/seq.js +1 -1
  61. package/browser/types/binary.js +1 -1
  62. package/browser/types/omap.js +1 -1
  63. package/browser/types/pairs.js +1 -1
  64. package/browser/types/set.js +1 -1
  65. package/browser/types/timestamp.js +1 -1
  66. package/dist/Document.js +21 -9
  67. package/dist/cst/BlankLine.js +4 -0
  68. package/dist/cst/BlockValue.js +1 -1
  69. package/dist/cst/CollectionItem.js +27 -6
  70. package/dist/cst/Directive.js +0 -16
  71. package/dist/cst/Node.js +7 -9
  72. package/dist/cst/ParseContext.js +41 -55
  73. package/dist/cst/PlainValue.js +1 -1
  74. package/dist/cst/source-utils.js +178 -0
  75. package/dist/errors.js +37 -3
  76. package/dist/index.js +5 -4
  77. package/dist/schema/Alias.js +2 -1
  78. package/dist/schema/Collection.js +22 -5
  79. package/dist/schema/Map.js +12 -5
  80. package/dist/schema/Merge.js +4 -5
  81. package/dist/schema/Pair.js +20 -2
  82. package/dist/schema/index.js +14 -8
  83. package/dist/schema/parseMap.js +20 -5
  84. package/dist/schema/parseSeq.js +19 -6
  85. package/dist/schema/parseUtils.js +54 -6
  86. package/dist/stringify.js +21 -11
  87. package/dist/tags/core.js +27 -10
  88. package/dist/tags/failsafe/map.js +5 -1
  89. package/dist/tags/failsafe/seq.js +1 -1
  90. package/dist/tags/index.js +13 -1
  91. package/dist/tags/json.js +2 -9
  92. package/dist/tags/yaml-1.1/index.js +6 -6
  93. package/dist/tags/yaml-1.1/omap.js +3 -5
  94. package/dist/tags/yaml-1.1/pairs.js +1 -1
  95. package/dist/tags/yaml-1.1/set.js +3 -1
  96. package/dist/{deprecation.js → warnings.js} +12 -7
  97. package/map.js +1 -1
  98. package/package.json +35 -17
  99. package/pair.js +1 -1
  100. package/scalar.js +1 -1
  101. package/schema.js +1 -1
  102. package/seq.js +1 -1
  103. package/types/binary.js +1 -1
  104. package/types/omap.js +1 -1
  105. package/types/pairs.js +1 -1
  106. package/types/set.js +1 -1
  107. package/types/timestamp.js +1 -1
  108. package/types.mjs +20 -0
  109. package/util.mjs +24 -0
  110. package/browser/dist/cst/getLinePos.js +0 -79
  111. package/browser/dist/deprecation.js +0 -34
  112. package/dist/cst/getLinePos.js +0 -79
@@ -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 _getLinePos = _interopRequireDefault(require("./getLinePos"));
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,8 +182,12 @@ function () {
204
182
  }]);
205
183
 
206
184
  function Node(type, props, context) {
207
- (0, _classCallCheck2.default)(this, Node);
208
- this.context = context || null;
185
+ _classCallCheck(this, Node);
186
+
187
+ Object.defineProperty(this, 'context', {
188
+ value: context || null,
189
+ writable: true
190
+ });
209
191
  this.error = null;
210
192
  this.range = null;
211
193
  this.valueRange = null;
@@ -214,7 +196,7 @@ function () {
214
196
  this.value = null;
215
197
  }
216
198
 
217
- (0, _createClass2.default)(Node, [{
199
+ _createClass(Node, [{
218
200
  key: "getPropValue",
219
201
  value: function getPropValue(idx, key, skipKey) {
220
202
  if (!this.context) return null;
@@ -236,9 +218,9 @@ function () {
236
218
  value: function parseComment(start) {
237
219
  var src = this.context.src;
238
220
 
239
- if (src[start] === _constants.Char.COMMENT) {
221
+ if (src[start] === Char.COMMENT) {
240
222
  var end = Node.endOfLine(src, start + 1);
241
- var commentRange = new _Range.default(start, end);
223
+ var commentRange = new Range(start, end);
242
224
  this.props.push(commentRange);
243
225
  return end;
244
226
  }
@@ -278,7 +260,7 @@ function () {
278
260
  key: "anchor",
279
261
  get: function get() {
280
262
  for (var i = 0; i < this.props.length; ++i) {
281
- var anchor = this.getPropValue(i, _constants.Char.ANCHOR, true);
263
+ var anchor = this.getPropValue(i, Char.ANCHOR, true);
282
264
  if (anchor != null) return anchor;
283
265
  }
284
266
 
@@ -290,7 +272,7 @@ function () {
290
272
  var comments = [];
291
273
 
292
274
  for (var i = 0; i < this.props.length; ++i) {
293
- var comment = this.getPropValue(i, _constants.Char.COMMENT, true);
275
+ var comment = this.getPropValue(i, Char.COMMENT, true);
294
276
  if (comment != null) comments.push(comment);
295
277
  }
296
278
 
@@ -303,7 +285,7 @@ function () {
303
285
  var src = this.context.src;
304
286
 
305
287
  for (var i = 0; i < this.props.length; ++i) {
306
- if (src[this.props[i].start] === _constants.Char.COMMENT) return true;
288
+ if (src[this.props[i].start] === Char.COMMENT) return true;
307
289
  }
308
290
  }
309
291
 
@@ -316,7 +298,7 @@ function () {
316
298
  var src = this.context.src;
317
299
 
318
300
  for (var i = 0; i < this.props.length; ++i) {
319
- if (src[this.props[i].start] !== _constants.Char.COMMENT) return true;
301
+ if (src[this.props[i].start] !== Char.COMMENT) return true;
320
302
  }
321
303
  }
322
304
 
@@ -330,16 +312,16 @@ function () {
330
312
  }, {
331
313
  key: "jsonLike",
332
314
  get: function get() {
333
- 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];
334
316
  return jsonLikeTypes.indexOf(this.type) !== -1;
335
317
  }
336
318
  }, {
337
319
  key: "rangeAsLinePos",
338
320
  get: function get() {
339
321
  if (!this.range || !this.context) return undefined;
340
- var start = (0, _getLinePos.default)(this.range.start, this.context.root);
322
+ var start = getLinePos(this.range.start, this.context.root);
341
323
  if (!start) return undefined;
342
- var end = (0, _getLinePos.default)(this.range.end, this.context.root);
324
+ var end = getLinePos(this.range.end, this.context.root);
343
325
  return {
344
326
  start: start,
345
327
  end: end
@@ -358,7 +340,7 @@ function () {
358
340
  key: "tag",
359
341
  get: function get() {
360
342
  for (var i = 0; i < this.props.length; ++i) {
361
- var tag = this.getPropValue(i, _constants.Char.TAG, false);
343
+ var tag = this.getPropValue(i, Char.TAG, false);
362
344
 
363
345
  if (tag != null) {
364
346
  if (tag[1] === '<') {
@@ -368,7 +350,7 @@ function () {
368
350
  } else {
369
351
  // eslint-disable-next-line no-unused-vars
370
352
  var _tag$match = tag.match(/^(.*!)([^!]*)$/),
371
- _tag$match2 = (0, _slicedToArray2.default)(_tag$match, 3),
353
+ _tag$match2 = _slicedToArray(_tag$match, 3),
372
354
  _ = _tag$match2[0],
373
355
  handle = _tag$match2[1],
374
356
  suffix = _tag$match2[2];
@@ -399,7 +381,8 @@ function () {
399
381
  return false;
400
382
  }
401
383
  }]);
384
+
402
385
  return Node;
403
386
  }();
404
387
 
405
- exports.default = Node;
388
+ export { Node as default };