yaml 1.8.3 → 1.10.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 (163) hide show
  1. package/README.md +4 -4
  2. package/browser/dist/PlainValue-ff5147c6.js +1277 -0
  3. package/browser/dist/Schema-2bf2c74e.js +679 -0
  4. package/browser/dist/index.js +923 -38
  5. package/browser/dist/legacy-exports.js +3 -0
  6. package/browser/dist/parse-cst.js +1904 -0
  7. package/browser/dist/resolveSeq-04825f30.js +2373 -0
  8. package/browser/dist/types.js +4 -0
  9. package/browser/dist/util.js +2 -0
  10. package/browser/dist/warnings-0e4b70d3.js +499 -0
  11. package/browser/index.js +1 -1
  12. package/browser/map.js +2 -2
  13. package/browser/pair.js +2 -2
  14. package/browser/parse-cst.js +1 -1
  15. package/browser/scalar.js +2 -2
  16. package/browser/schema.js +8 -6
  17. package/browser/seq.js +2 -2
  18. package/browser/types/binary.js +3 -2
  19. package/browser/types/omap.js +3 -2
  20. package/browser/types/pairs.js +3 -2
  21. package/browser/types/set.js +3 -2
  22. package/browser/types/timestamp.js +6 -6
  23. package/browser/types.js +1 -11
  24. package/browser/util.js +1 -15
  25. package/dist/Document-2cf6b08c.js +757 -0
  26. package/dist/PlainValue-ec8e588e.js +876 -0
  27. package/dist/Schema-42e9705c.js +522 -0
  28. package/dist/index.js +21 -43
  29. package/dist/legacy-exports.js +16 -0
  30. package/dist/parse-cst.js +1747 -0
  31. package/dist/resolveSeq-4a68b39b.js +2115 -0
  32. package/dist/test-events.js +11 -14
  33. package/dist/types.js +23 -0
  34. package/dist/util.js +19 -0
  35. package/dist/warnings-39684f17.js +416 -0
  36. package/index.d.ts +372 -0
  37. package/index.js +1 -1
  38. package/map.js +2 -2
  39. package/package.json +32 -45
  40. package/pair.js +2 -2
  41. package/parse-cst.d.ts +187 -0
  42. package/parse-cst.js +1 -1
  43. package/scalar.js +2 -2
  44. package/schema.js +8 -6
  45. package/seq.js +2 -2
  46. package/types/binary.js +3 -2
  47. package/types/omap.js +3 -2
  48. package/types/pairs.js +3 -2
  49. package/types/set.js +3 -2
  50. package/types/timestamp.js +6 -6
  51. package/types.d.ts +407 -0
  52. package/types.js +16 -10
  53. package/types.mjs +15 -18
  54. package/util.d.ts +86 -0
  55. package/util.js +14 -13
  56. package/util.mjs +13 -19
  57. package/browser/dist/Anchors.js +0 -133
  58. package/browser/dist/Document.js +0 -819
  59. package/browser/dist/addComment.js +0 -8
  60. package/browser/dist/constants.js +0 -26
  61. package/browser/dist/cst/Alias.js +0 -42
  62. package/browser/dist/cst/BlankLine.js +0 -56
  63. package/browser/dist/cst/BlockValue.js +0 -247
  64. package/browser/dist/cst/Collection.js +0 -274
  65. package/browser/dist/cst/CollectionItem.js +0 -136
  66. package/browser/dist/cst/Comment.js +0 -40
  67. package/browser/dist/cst/Directive.js +0 -72
  68. package/browser/dist/cst/Document.js +0 -282
  69. package/browser/dist/cst/FlowCollection.js +0 -216
  70. package/browser/dist/cst/Node.js +0 -388
  71. package/browser/dist/cst/ParseContext.js +0 -248
  72. package/browser/dist/cst/PlainValue.js +0 -166
  73. package/browser/dist/cst/QuoteDouble.js +0 -241
  74. package/browser/dist/cst/QuoteSingle.js +0 -116
  75. package/browser/dist/cst/Range.js +0 -67
  76. package/browser/dist/cst/parse.js +0 -48
  77. package/browser/dist/cst/source-utils.js +0 -168
  78. package/browser/dist/errors.js +0 -112
  79. package/browser/dist/foldFlowLines.js +0 -138
  80. package/browser/dist/listTagNames.js +0 -28
  81. package/browser/dist/schema/Alias.js +0 -139
  82. package/browser/dist/schema/Collection.js +0 -267
  83. package/browser/dist/schema/Map.js +0 -178
  84. package/browser/dist/schema/Merge.js +0 -127
  85. package/browser/dist/schema/Node.js +0 -7
  86. package/browser/dist/schema/Pair.js +0 -171
  87. package/browser/dist/schema/Scalar.js +0 -38
  88. package/browser/dist/schema/Seq.js +0 -114
  89. package/browser/dist/schema/index.js +0 -382
  90. package/browser/dist/schema/parseMap.js +0 -312
  91. package/browser/dist/schema/parseSeq.js +0 -168
  92. package/browser/dist/schema/parseUtils.js +0 -110
  93. package/browser/dist/stringify.js +0 -331
  94. package/browser/dist/tags/core.js +0 -126
  95. package/browser/dist/tags/failsafe/index.js +0 -4
  96. package/browser/dist/tags/failsafe/map.js +0 -56
  97. package/browser/dist/tags/failsafe/seq.js +0 -43
  98. package/browser/dist/tags/failsafe/string.js +0 -28
  99. package/browser/dist/tags/index.js +0 -36
  100. package/browser/dist/tags/json.js +0 -76
  101. package/browser/dist/tags/options.js +0 -23
  102. package/browser/dist/tags/yaml-1.1/binary.js +0 -87
  103. package/browser/dist/tags/yaml-1.1/index.js +0 -157
  104. package/browser/dist/tags/yaml-1.1/omap.js +0 -142
  105. package/browser/dist/tags/yaml-1.1/pairs.js +0 -81
  106. package/browser/dist/tags/yaml-1.1/set.js +0 -114
  107. package/browser/dist/tags/yaml-1.1/timestamp.js +0 -97
  108. package/browser/dist/test-events.js +0 -163
  109. package/browser/dist/toJSON.js +0 -20
  110. package/browser/dist/warnings.js +0 -28
  111. package/dist/Anchors.js +0 -125
  112. package/dist/Document.js +0 -710
  113. package/dist/addComment.js +0 -17
  114. package/dist/constants.js +0 -34
  115. package/dist/cst/Alias.js +0 -38
  116. package/dist/cst/BlankLine.js +0 -56
  117. package/dist/cst/BlockValue.js +0 -248
  118. package/dist/cst/Collection.js +0 -271
  119. package/dist/cst/CollectionItem.js +0 -140
  120. package/dist/cst/Comment.js +0 -38
  121. package/dist/cst/Directive.js +0 -64
  122. package/dist/cst/Document.js +0 -281
  123. package/dist/cst/FlowCollection.js +0 -218
  124. package/dist/cst/Node.js +0 -365
  125. package/dist/cst/ParseContext.js +0 -258
  126. package/dist/cst/PlainValue.js +0 -161
  127. package/dist/cst/QuoteDouble.js +0 -237
  128. package/dist/cst/QuoteSingle.js +0 -113
  129. package/dist/cst/Range.js +0 -63
  130. package/dist/cst/parse.js +0 -55
  131. package/dist/cst/source-utils.js +0 -178
  132. package/dist/errors.js +0 -102
  133. package/dist/foldFlowLines.js +0 -146
  134. package/dist/listTagNames.js +0 -38
  135. package/dist/schema/Alias.js +0 -110
  136. package/dist/schema/Collection.js +0 -188
  137. package/dist/schema/Map.js +0 -103
  138. package/dist/schema/Merge.js +0 -80
  139. package/dist/schema/Node.js +0 -10
  140. package/dist/schema/Pair.js +0 -161
  141. package/dist/schema/Scalar.js +0 -31
  142. package/dist/schema/Seq.js +0 -78
  143. package/dist/schema/index.js +0 -315
  144. package/dist/schema/parseMap.js +0 -343
  145. package/dist/schema/parseSeq.js +0 -180
  146. package/dist/schema/parseUtils.js +0 -104
  147. package/dist/stringify.js +0 -358
  148. package/dist/tags/core.js +0 -114
  149. package/dist/tags/failsafe/index.js +0 -17
  150. package/dist/tags/failsafe/map.js +0 -37
  151. package/dist/tags/failsafe/seq.js +0 -34
  152. package/dist/tags/failsafe/string.js +0 -40
  153. package/dist/tags/index.js +0 -62
  154. package/dist/tags/json.js +0 -60
  155. package/dist/tags/options.js +0 -35
  156. package/dist/tags/yaml-1.1/binary.js +0 -97
  157. package/dist/tags/yaml-1.1/index.js +0 -131
  158. package/dist/tags/yaml-1.1/omap.js +0 -105
  159. package/dist/tags/yaml-1.1/pairs.js +0 -80
  160. package/dist/tags/yaml-1.1/set.js +0 -91
  161. package/dist/tags/yaml-1.1/timestamp.js +0 -93
  162. package/dist/toJSON.js +0 -23
  163. package/dist/warnings.js +0 -39
@@ -1,116 +0,0 @@
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 _inherits from "@babel/runtime/helpers/inherits";
6
- import { YAMLSemanticError, YAMLSyntaxError } from '../errors';
7
- import Node from './Node';
8
- import Range from './Range';
9
-
10
- var QuoteSingle = /*#__PURE__*/function (_Node) {
11
- _inherits(QuoteSingle, _Node);
12
-
13
- function QuoteSingle() {
14
- _classCallCheck(this, QuoteSingle);
15
-
16
- return _possibleConstructorReturn(this, _getPrototypeOf(QuoteSingle).apply(this, arguments));
17
- }
18
-
19
- _createClass(QuoteSingle, [{
20
- key: "parse",
21
-
22
- /**
23
- * Parses a 'single quoted' value from the source
24
- *
25
- * @param {ParseContext} context
26
- * @param {number} start - Index of first character
27
- * @returns {number} - Index of the character after this scalar
28
- */
29
- value: function parse(context, start) {
30
- this.context = context;
31
- var src = context.src;
32
- var offset = QuoteSingle.endOfQuote(src, start + 1);
33
- this.valueRange = new Range(start, offset);
34
- offset = Node.endOfWhiteSpace(src, offset);
35
- offset = this.parseComment(offset);
36
- return offset;
37
- }
38
- }, {
39
- key: "strValue",
40
-
41
- /**
42
- * @returns {string | { str: string, errors: YAMLSyntaxError[] }}
43
- */
44
- get: function get() {
45
- if (!this.valueRange || !this.context) return null;
46
- var errors = [];
47
- var _this$valueRange = this.valueRange,
48
- start = _this$valueRange.start,
49
- end = _this$valueRange.end;
50
- var _this$context = this.context,
51
- indent = _this$context.indent,
52
- src = _this$context.src;
53
- if (src[end - 1] !== "'") errors.push(new YAMLSyntaxError(this, "Missing closing 'quote"));
54
- var str = '';
55
-
56
- for (var i = start + 1; i < end - 1; ++i) {
57
- var ch = src[i];
58
-
59
- if (ch === '\n') {
60
- if (Node.atDocumentBoundary(src, i + 1)) errors.push(new YAMLSemanticError(this, 'Document boundary indicators are not allowed within string values'));
61
-
62
- var _Node$foldNewline = Node.foldNewline(src, i, indent),
63
- fold = _Node$foldNewline.fold,
64
- offset = _Node$foldNewline.offset,
65
- error = _Node$foldNewline.error;
66
-
67
- str += fold;
68
- i = offset;
69
- if (error) errors.push(new YAMLSemanticError(this, 'Multi-line single-quoted string needs to be sufficiently indented'));
70
- } else if (ch === "'") {
71
- str += ch;
72
- i += 1;
73
- if (src[i] !== "'") errors.push(new YAMLSyntaxError(this, 'Unescaped single quote? This should not happen.'));
74
- } else if (ch === ' ' || ch === '\t') {
75
- // trim trailing whitespace
76
- var wsStart = i;
77
- var next = src[i + 1];
78
-
79
- while (next === ' ' || next === '\t') {
80
- i += 1;
81
- next = src[i + 1];
82
- }
83
-
84
- if (next !== '\n') str += i > wsStart ? src.slice(wsStart, i + 1) : ch;
85
- } else {
86
- str += ch;
87
- }
88
- }
89
-
90
- return errors.length > 0 ? {
91
- errors: errors,
92
- str: str
93
- } : str;
94
- }
95
- }], [{
96
- key: "endOfQuote",
97
- value: function endOfQuote(src, offset) {
98
- var ch = src[offset];
99
-
100
- while (ch) {
101
- if (ch === "'") {
102
- if (src[offset + 1] !== "'") break;
103
- ch = src[offset += 2];
104
- } else {
105
- ch = src[offset += 1];
106
- }
107
- }
108
-
109
- return offset + 1;
110
- }
111
- }]);
112
-
113
- return QuoteSingle;
114
- }(Node);
115
-
116
- export { QuoteSingle as default };
@@ -1,67 +0,0 @@
1
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
- import _createClass from "@babel/runtime/helpers/createClass";
3
-
4
- var Range = /*#__PURE__*/function () {
5
- _createClass(Range, null, [{
6
- key: "copy",
7
- value: function copy(orig) {
8
- return new Range(orig.start, orig.end);
9
- }
10
- }]);
11
-
12
- function Range(start, end) {
13
- _classCallCheck(this, Range);
14
-
15
- this.start = start;
16
- this.end = end || start;
17
- }
18
-
19
- _createClass(Range, [{
20
- key: "isEmpty",
21
- value: function isEmpty() {
22
- return typeof this.start !== 'number' || !this.end || this.end <= this.start;
23
- }
24
- /**
25
- * Set `origStart` and `origEnd` to point to the original source range for
26
- * this node, which may differ due to dropped CR characters.
27
- *
28
- * @param {number[]} cr - Positions of dropped CR characters
29
- * @param {number} offset - Starting index of `cr` from the last call
30
- * @returns {number} - The next offset, matching the one found for `origStart`
31
- */
32
-
33
- }, {
34
- key: "setOrigRange",
35
- value: function setOrigRange(cr, offset) {
36
- var start = this.start,
37
- end = this.end;
38
-
39
- if (cr.length === 0 || end <= cr[0]) {
40
- this.origStart = start;
41
- this.origEnd = end;
42
- return offset;
43
- }
44
-
45
- var i = offset;
46
-
47
- while (i < cr.length) {
48
- if (cr[i] > start) break;else ++i;
49
- }
50
-
51
- this.origStart = start + i;
52
- var nextOffset = i;
53
-
54
- while (i < cr.length) {
55
- // if end was at \n, it should now be at \r
56
- if (cr[i] >= end) break;else ++i;
57
- }
58
-
59
- this.origEnd = end + i;
60
- return nextOffset;
61
- }
62
- }]);
63
-
64
- return Range;
65
- }();
66
-
67
- export { Range as default };
@@ -1,48 +0,0 @@
1
- // Published as 'yaml/parse-cst'
2
- import Document from './Document';
3
- import ParseContext from './ParseContext';
4
- export default function parse(src) {
5
- var cr = [];
6
-
7
- if (src.indexOf('\r') !== -1) {
8
- src = src.replace(/\r\n?/g, function (match, offset) {
9
- if (match.length > 1) cr.push(offset);
10
- return '\n';
11
- });
12
- }
13
-
14
- var documents = [];
15
- var offset = 0;
16
-
17
- do {
18
- var doc = new Document();
19
- var context = new ParseContext({
20
- src: src
21
- });
22
- offset = doc.parse(context, offset);
23
- documents.push(doc);
24
- } while (offset < src.length);
25
-
26
- documents.setOrigRanges = function () {
27
- if (cr.length === 0) return false;
28
-
29
- for (var i = 1; i < cr.length; ++i) {
30
- cr[i] -= i;
31
- }
32
-
33
- var crOffset = 0;
34
-
35
- for (var _i = 0; _i < documents.length; ++_i) {
36
- crOffset = documents[_i].setOrigRanges(cr, crOffset);
37
- }
38
-
39
- cr.splice(0, cr.length);
40
- return true;
41
- };
42
-
43
- documents.toString = function () {
44
- return documents.join('...\n');
45
- };
46
-
47
- return documents;
48
- }
@@ -1,168 +0,0 @@
1
- function findLineStarts(src) {
2
- var ls = [0];
3
- var offset = src.indexOf('\n');
4
-
5
- while (offset !== -1) {
6
- offset += 1;
7
- ls.push(offset);
8
- offset = src.indexOf('\n', offset);
9
- }
10
-
11
- return ls;
12
- }
13
-
14
- function getSrcInfo(cst) {
15
- var lineStarts, src;
16
-
17
- if (typeof cst === 'string') {
18
- lineStarts = findLineStarts(cst);
19
- src = cst;
20
- } else {
21
- if (Array.isArray(cst)) cst = cst[0];
22
-
23
- if (cst && cst.context) {
24
- if (!cst.lineStarts) cst.lineStarts = findLineStarts(cst.context.src);
25
- lineStarts = cst.lineStarts;
26
- src = cst.context.src;
27
- }
28
- }
29
-
30
- return {
31
- lineStarts: lineStarts,
32
- src: src
33
- };
34
- }
35
- /**
36
- * @typedef {Object} LinePos - One-indexed position in the source
37
- * @property {number} line
38
- * @property {number} col
39
- */
40
-
41
- /**
42
- * Determine the line/col position matching a character offset.
43
- *
44
- * Accepts a source string or a CST document as the second parameter. With
45
- * the latter, starting indices for lines are cached in the document as
46
- * `lineStarts: number[]`.
47
- *
48
- * Returns a one-indexed `{ line, col }` location if found, or
49
- * `undefined` otherwise.
50
- *
51
- * @param {number} offset
52
- * @param {string|Document|Document[]} cst
53
- * @returns {?LinePos}
54
- */
55
-
56
-
57
- export function getLinePos(offset, cst) {
58
- if (typeof offset !== 'number' || offset < 0) return null;
59
-
60
- var _getSrcInfo = getSrcInfo(cst),
61
- lineStarts = _getSrcInfo.lineStarts,
62
- src = _getSrcInfo.src;
63
-
64
- if (!lineStarts || !src || offset > src.length) return null;
65
-
66
- for (var i = 0; i < lineStarts.length; ++i) {
67
- var start = lineStarts[i];
68
-
69
- if (offset < start) {
70
- return {
71
- line: i,
72
- col: offset - lineStarts[i - 1] + 1
73
- };
74
- }
75
-
76
- if (offset === start) return {
77
- line: i + 1,
78
- col: 1
79
- };
80
- }
81
-
82
- var line = lineStarts.length;
83
- return {
84
- line: line,
85
- col: offset - lineStarts[line - 1] + 1
86
- };
87
- }
88
- /**
89
- * Get a specified line from the source.
90
- *
91
- * Accepts a source string or a CST document as the second parameter. With
92
- * the latter, starting indices for lines are cached in the document as
93
- * `lineStarts: number[]`.
94
- *
95
- * Returns the line as a string if found, or `null` otherwise.
96
- *
97
- * @param {number} line One-indexed line number
98
- * @param {string|Document|Document[]} cst
99
- * @returns {?string}
100
- */
101
-
102
- export function getLine(line, cst) {
103
- var _getSrcInfo2 = getSrcInfo(cst),
104
- lineStarts = _getSrcInfo2.lineStarts,
105
- src = _getSrcInfo2.src;
106
-
107
- if (!lineStarts || !(line >= 1) || line > lineStarts.length) return null;
108
- var start = lineStarts[line - 1];
109
- var end = lineStarts[line]; // undefined for last line; that's ok for slice()
110
-
111
- while (end && end > start && src[end - 1] === '\n') {
112
- --end;
113
- }
114
-
115
- return src.slice(start, end);
116
- }
117
- /**
118
- * Pretty-print the starting line from the source indicated by the range `pos`
119
- *
120
- * Trims output to `maxWidth` chars while keeping the starting column visible,
121
- * using `…` at either end to indicate dropped characters.
122
- *
123
- * Returns a two-line string (or `null`) with `\n` as separator; the second line
124
- * will hold appropriately indented `^` marks indicating the column range.
125
- *
126
- * @param {Object} pos
127
- * @param {LinePos} pos.start
128
- * @param {LinePos} [pos.end]
129
- * @param {string|Document|Document[]*} cst
130
- * @param {number} [maxWidth=80]
131
- * @returns {?string}
132
- */
133
-
134
- export function getPrettyContext(_ref, cst) {
135
- var start = _ref.start,
136
- end = _ref.end;
137
- var maxWidth = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 80;
138
- var src = getLine(start.line, cst);
139
- if (!src) return null;
140
- var col = start.col;
141
-
142
- if (src.length > maxWidth) {
143
- if (col <= maxWidth - 10) {
144
- src = src.substr(0, maxWidth - 1) + '…';
145
- } else {
146
- var halfWidth = Math.round(maxWidth / 2);
147
- if (src.length > col + halfWidth) src = src.substr(0, col + halfWidth - 1) + '…';
148
- col -= src.length - maxWidth;
149
- src = '…' + src.substr(1 - maxWidth);
150
- }
151
- }
152
-
153
- var errLen = 1;
154
- var errEnd = '';
155
-
156
- if (end) {
157
- if (end.line === start.line && col + (end.col - start.col) <= maxWidth + 1) {
158
- errLen = end.col - start.col;
159
- } else {
160
- errLen = Math.min(src.length + 1, maxWidth) - col;
161
- errEnd = '…';
162
- }
163
- }
164
-
165
- var offset = col > 1 ? ' '.repeat(col - 1) : '';
166
- var err = '^'.repeat(errLen);
167
- return "".concat(src, "\n").concat(offset).concat(err).concat(errEnd);
168
- }
@@ -1,112 +0,0 @@
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 _inherits from "@babel/runtime/helpers/inherits";
6
- import _wrapNativeSuper from "@babel/runtime/helpers/wrapNativeSuper";
7
- import Node from './cst/Node';
8
- import { getLinePos, getPrettyContext } from './cst/source-utils';
9
- import Range from './cst/Range';
10
- export var YAMLError = /*#__PURE__*/function (_Error) {
11
- _inherits(YAMLError, _Error);
12
-
13
- function YAMLError(name, source, message) {
14
- var _this;
15
-
16
- _classCallCheck(this, YAMLError);
17
-
18
- if (!message || !(source instanceof Node)) throw new Error("Invalid arguments for new ".concat(name));
19
- _this = _possibleConstructorReturn(this, _getPrototypeOf(YAMLError).call(this));
20
- _this.name = name;
21
- _this.message = message;
22
- _this.source = source;
23
- return _this;
24
- }
25
-
26
- _createClass(YAMLError, [{
27
- key: "makePretty",
28
- value: function makePretty() {
29
- if (!this.source) return;
30
- this.nodeType = this.source.type;
31
- var cst = this.source.context && this.source.context.root;
32
-
33
- if (typeof this.offset === 'number') {
34
- this.range = new Range(this.offset, this.offset + 1);
35
- var start = cst && getLinePos(this.offset, cst);
36
-
37
- if (start) {
38
- var end = {
39
- line: start.line,
40
- col: start.col + 1
41
- };
42
- this.linePos = {
43
- start: start,
44
- end: end
45
- };
46
- }
47
-
48
- delete this.offset;
49
- } else {
50
- this.range = this.source.range;
51
- this.linePos = this.source.rangeAsLinePos;
52
- }
53
-
54
- if (this.linePos) {
55
- var _this$linePos$start = this.linePos.start,
56
- line = _this$linePos$start.line,
57
- col = _this$linePos$start.col;
58
- this.message += " at line ".concat(line, ", column ").concat(col);
59
- var ctx = cst && getPrettyContext(this.linePos, cst);
60
- if (ctx) this.message += ":\n\n".concat(ctx, "\n");
61
- }
62
-
63
- delete this.source;
64
- }
65
- }]);
66
-
67
- return YAMLError;
68
- }( /*#__PURE__*/_wrapNativeSuper(Error));
69
- export var YAMLReferenceError = /*#__PURE__*/function (_YAMLError) {
70
- _inherits(YAMLReferenceError, _YAMLError);
71
-
72
- function YAMLReferenceError(source, message) {
73
- _classCallCheck(this, YAMLReferenceError);
74
-
75
- return _possibleConstructorReturn(this, _getPrototypeOf(YAMLReferenceError).call(this, 'YAMLReferenceError', source, message));
76
- }
77
-
78
- return YAMLReferenceError;
79
- }(YAMLError);
80
- export var YAMLSemanticError = /*#__PURE__*/function (_YAMLError2) {
81
- _inherits(YAMLSemanticError, _YAMLError2);
82
-
83
- function YAMLSemanticError(source, message) {
84
- _classCallCheck(this, YAMLSemanticError);
85
-
86
- return _possibleConstructorReturn(this, _getPrototypeOf(YAMLSemanticError).call(this, 'YAMLSemanticError', source, message));
87
- }
88
-
89
- return YAMLSemanticError;
90
- }(YAMLError);
91
- export var YAMLSyntaxError = /*#__PURE__*/function (_YAMLError3) {
92
- _inherits(YAMLSyntaxError, _YAMLError3);
93
-
94
- function YAMLSyntaxError(source, message) {
95
- _classCallCheck(this, YAMLSyntaxError);
96
-
97
- return _possibleConstructorReturn(this, _getPrototypeOf(YAMLSyntaxError).call(this, 'YAMLSyntaxError', source, message));
98
- }
99
-
100
- return YAMLSyntaxError;
101
- }(YAMLError);
102
- export var YAMLWarning = /*#__PURE__*/function (_YAMLError4) {
103
- _inherits(YAMLWarning, _YAMLError4);
104
-
105
- function YAMLWarning(source, message) {
106
- _classCallCheck(this, YAMLWarning);
107
-
108
- return _possibleConstructorReturn(this, _getPrototypeOf(YAMLWarning).call(this, 'YAMLWarning', source, message));
109
- }
110
-
111
- return YAMLWarning;
112
- }(YAMLError);
@@ -1,138 +0,0 @@
1
- export var FOLD_FLOW = 'flow';
2
- export var FOLD_BLOCK = 'block';
3
- export var FOLD_QUOTED = 'quoted'; // presumes i+1 is at the start of a line
4
- // returns index of last newline in more-indented block
5
-
6
- var consumeMoreIndentedLines = function consumeMoreIndentedLines(text, i) {
7
- var ch = text[i + 1];
8
-
9
- while (ch === ' ' || ch === '\t') {
10
- do {
11
- ch = text[i += 1];
12
- } while (ch && ch !== '\n');
13
-
14
- ch = text[i + 1];
15
- }
16
-
17
- return i;
18
- };
19
- /**
20
- * Tries to keep input at up to `lineWidth` characters, splitting only on spaces
21
- * not followed by newlines or spaces unless `mode` is `'quoted'`. Lines are
22
- * terminated with `\n` and started with `indent`.
23
- *
24
- * @param {string} text
25
- * @param {string} indent
26
- * @param {string} [mode='flow'] `'block'` prevents more-indented lines
27
- * from being folded; `'quoted'` allows for `\` escapes, including escaped
28
- * newlines
29
- * @param {Object} options
30
- * @param {number} [options.indentAtStart] Accounts for leading contents on
31
- * the first line, defaulting to `indent.length`
32
- * @param {number} [options.lineWidth=80]
33
- * @param {number} [options.minContentWidth=20] Allow highly indented lines to
34
- * stretch the line width
35
- * @param {function} options.onFold Called once if the text is folded
36
- * @param {function} options.onFold Called once if any line of text exceeds
37
- * lineWidth characters
38
- */
39
-
40
-
41
- export default function foldFlowLines(text, indent, mode, _ref) {
42
- var indentAtStart = _ref.indentAtStart,
43
- _ref$lineWidth = _ref.lineWidth,
44
- lineWidth = _ref$lineWidth === void 0 ? 80 : _ref$lineWidth,
45
- _ref$minContentWidth = _ref.minContentWidth,
46
- minContentWidth = _ref$minContentWidth === void 0 ? 20 : _ref$minContentWidth,
47
- onFold = _ref.onFold,
48
- onOverflow = _ref.onOverflow;
49
- if (!lineWidth || lineWidth < 0) return text;
50
- var endStep = Math.max(1 + minContentWidth, 1 + lineWidth - indent.length);
51
- if (text.length <= endStep) return text;
52
- var folds = [];
53
- var escapedFolds = {};
54
- var end = lineWidth - (typeof indentAtStart === 'number' ? indentAtStart : indent.length);
55
- var split = undefined;
56
- var prev = undefined;
57
- var overflow = false;
58
- var i = -1;
59
-
60
- if (mode === FOLD_BLOCK) {
61
- i = consumeMoreIndentedLines(text, i);
62
- if (i !== -1) end = i + endStep;
63
- }
64
-
65
- for (var ch; ch = text[i += 1];) {
66
- if (mode === FOLD_QUOTED && ch === '\\') {
67
- switch (text[i + 1]) {
68
- case 'x':
69
- i += 3;
70
- break;
71
-
72
- case 'u':
73
- i += 5;
74
- break;
75
-
76
- case 'U':
77
- i += 9;
78
- break;
79
-
80
- default:
81
- i += 1;
82
- }
83
- }
84
-
85
- if (ch === '\n') {
86
- if (mode === FOLD_BLOCK) i = consumeMoreIndentedLines(text, i);
87
- end = i + endStep;
88
- split = undefined;
89
- } else {
90
- if (ch === ' ' && prev && prev !== ' ' && prev !== '\n' && prev !== '\t') {
91
- // space surrounded by non-space can be replaced with newline + indent
92
- var next = text[i + 1];
93
- if (next && next !== ' ' && next !== '\n' && next !== '\t') split = i;
94
- }
95
-
96
- if (i >= end) {
97
- if (split) {
98
- folds.push(split);
99
- end = split + endStep;
100
- split = undefined;
101
- } else if (mode === FOLD_QUOTED) {
102
- // white-space collected at end may stretch past lineWidth
103
- while (prev === ' ' || prev === '\t') {
104
- prev = ch;
105
- ch = text[i += 1];
106
- overflow = true;
107
- } // i - 2 accounts for not-dropped last char + newline-escaping \
108
-
109
-
110
- folds.push(i - 2);
111
- escapedFolds[i - 2] = true;
112
- end = i - 2 + endStep;
113
- split = undefined;
114
- } else {
115
- overflow = true;
116
- }
117
- }
118
- }
119
-
120
- prev = ch;
121
- }
122
-
123
- if (overflow && onOverflow) onOverflow();
124
- if (folds.length === 0) return text;
125
- if (onFold) onFold();
126
- var res = text.slice(0, folds[0]);
127
-
128
- for (var _i = 0; _i < folds.length; ++_i) {
129
- var fold = folds[_i];
130
-
131
- var _end = folds[_i + 1] || text.length;
132
-
133
- if (mode === FOLD_QUOTED && escapedFolds[fold]) res += "".concat(text[fold], "\\");
134
- res += "\n".concat(indent).concat(text.slice(fold + 1, _end));
135
- }
136
-
137
- return res;
138
- }
@@ -1,28 +0,0 @@
1
- import _typeof from "@babel/runtime/helpers/typeof";
2
- import Collection from './schema/Collection';
3
- import Pair from './schema/Pair';
4
- import Scalar from './schema/Scalar';
5
-
6
- var visit = function visit(node, tags) {
7
- if (node && _typeof(node) === 'object') {
8
- var tag = node.tag;
9
-
10
- if (node instanceof Collection) {
11
- if (tag) tags[tag] = true;
12
- node.items.forEach(function (n) {
13
- return visit(n, tags);
14
- });
15
- } else if (node instanceof Pair) {
16
- visit(node.key, tags);
17
- visit(node.value, tags);
18
- } else if (node instanceof Scalar) {
19
- if (tag) tags[tag] = true;
20
- }
21
- }
22
-
23
- return tags;
24
- };
25
-
26
- export default (function (node) {
27
- return Object.keys(visit(node, {}));
28
- });