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,140 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _constants = require("../constants");
9
-
10
- var _errors = require("../errors");
11
-
12
- var _BlankLine = _interopRequireDefault(require("./BlankLine"));
13
-
14
- var _Node = _interopRequireDefault(require("./Node"));
15
-
16
- var _Range = _interopRequireDefault(require("./Range"));
17
-
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
-
20
- class CollectionItem extends _Node.default {
21
- constructor(type, props) {
22
- super(type, props);
23
- this.node = null;
24
- }
25
-
26
- get includesTrailingLines() {
27
- return !!this.node && this.node.includesTrailingLines;
28
- }
29
- /**
30
- * @param {ParseContext} context
31
- * @param {number} start - Index of first character
32
- * @returns {number} - Index of the character after this
33
- */
34
-
35
-
36
- parse(context, start) {
37
- this.context = context;
38
- const {
39
- parseNode,
40
- src
41
- } = context;
42
- let {
43
- atLineStart,
44
- lineStart
45
- } = context;
46
- if (!atLineStart && this.type === _constants.Type.SEQ_ITEM) this.error = new _errors.YAMLSemanticError(this, 'Sequence items must not have preceding content on the same line');
47
- const indent = atLineStart ? start - lineStart : context.indent;
48
-
49
- let offset = _Node.default.endOfWhiteSpace(src, start + 1);
50
-
51
- let ch = src[offset];
52
- const inlineComment = ch === '#';
53
- const comments = [];
54
- let blankLine = null;
55
-
56
- while (ch === '\n' || ch === '#') {
57
- if (ch === '#') {
58
- const end = _Node.default.endOfLine(src, offset + 1);
59
-
60
- comments.push(new _Range.default(offset, end));
61
- offset = end;
62
- } else {
63
- atLineStart = true;
64
- lineStart = offset + 1;
65
-
66
- const wsEnd = _Node.default.endOfWhiteSpace(src, lineStart);
67
-
68
- if (src[wsEnd] === '\n' && comments.length === 0) {
69
- blankLine = new _BlankLine.default();
70
- lineStart = blankLine.parse({
71
- src
72
- }, lineStart);
73
- }
74
-
75
- offset = _Node.default.endOfIndent(src, lineStart);
76
- }
77
-
78
- ch = src[offset];
79
- }
80
-
81
- if (_Node.default.nextNodeIsIndented(ch, offset - (lineStart + indent), this.type !== _constants.Type.SEQ_ITEM)) {
82
- this.node = parseNode({
83
- atLineStart,
84
- inCollection: false,
85
- indent,
86
- lineStart,
87
- parent: this
88
- }, offset);
89
- } else if (ch && lineStart > start + 1) {
90
- offset = lineStart - 1;
91
- }
92
-
93
- if (this.node) {
94
- if (blankLine) {
95
- // Only blank lines preceding non-empty nodes are captured. Note that
96
- // this means that collection item range start indices do not always
97
- // increase monotonically. -- eemeli/yaml#126
98
- const items = context.parent.items || context.parent.contents;
99
- if (items) items.push(blankLine);
100
- }
101
-
102
- if (comments.length) Array.prototype.push.apply(this.props, comments);
103
- offset = this.node.range.end;
104
- } else {
105
- if (inlineComment) {
106
- const c = comments[0];
107
- this.props.push(c);
108
- offset = c.end;
109
- } else {
110
- offset = _Node.default.endOfLine(src, start + 1);
111
- }
112
- }
113
-
114
- const end = this.node ? this.node.valueRange.end : offset;
115
- this.valueRange = new _Range.default(start, end);
116
- return offset;
117
- }
118
-
119
- setOrigRanges(cr, offset) {
120
- offset = super.setOrigRanges(cr, offset);
121
- return this.node ? this.node.setOrigRanges(cr, offset) : offset;
122
- }
123
-
124
- toString() {
125
- const {
126
- context: {
127
- src
128
- },
129
- node,
130
- range,
131
- value
132
- } = this;
133
- if (value != null) return value;
134
- const str = node ? src.slice(range.start, node.range.start) + String(node) : src.slice(range.start, range.end);
135
- return _Node.default.addStringTerminator(src, range.end, str);
136
- }
137
-
138
- }
139
-
140
- exports.default = CollectionItem;
@@ -1,38 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _constants = require("../constants");
9
-
10
- var _Node = _interopRequireDefault(require("./Node"));
11
-
12
- var _Range = _interopRequireDefault(require("./Range"));
13
-
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
- class Comment extends _Node.default {
17
- constructor() {
18
- super(_constants.Type.COMMENT);
19
- }
20
- /**
21
- * Parses a comment line from the source
22
- *
23
- * @param {ParseContext} context
24
- * @param {number} start - Index of first character
25
- * @returns {number} - Index of the character after this scalar
26
- */
27
-
28
-
29
- parse(context, start) {
30
- this.context = context;
31
- const offset = this.parseComment(start);
32
- this.range = new _Range.default(start, offset);
33
- return offset;
34
- }
35
-
36
- }
37
-
38
- exports.default = Comment;
@@ -1,64 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _constants = require("../constants");
9
-
10
- var _Node = _interopRequireDefault(require("./Node"));
11
-
12
- var _Range = _interopRequireDefault(require("./Range"));
13
-
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
-
16
- class Directive extends _Node.default {
17
- constructor() {
18
- super(_constants.Type.DIRECTIVE);
19
- this.name = null;
20
- }
21
-
22
- get parameters() {
23
- const raw = this.rawValue;
24
- return raw ? raw.trim().split(/[ \t]+/) : [];
25
- }
26
-
27
- parseName(start) {
28
- const {
29
- src
30
- } = this.context;
31
- let offset = start;
32
- let ch = src[offset];
33
-
34
- while (ch && ch !== '\n' && ch !== '\t' && ch !== ' ') ch = src[offset += 1];
35
-
36
- this.name = src.slice(start, offset);
37
- return offset;
38
- }
39
-
40
- parseParameters(start) {
41
- const {
42
- src
43
- } = this.context;
44
- let offset = start;
45
- let ch = src[offset];
46
-
47
- while (ch && ch !== '\n' && ch !== '#') ch = src[offset += 1];
48
-
49
- this.valueRange = new _Range.default(start, offset);
50
- return offset;
51
- }
52
-
53
- parse(context, start) {
54
- this.context = context;
55
- let offset = this.parseName(start + 1);
56
- offset = this.parseParameters(offset);
57
- offset = this.parseComment(offset);
58
- this.range = new _Range.default(start, offset);
59
- return offset;
60
- }
61
-
62
- }
63
-
64
- exports.default = Directive;
@@ -1,281 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _constants = require("../constants");
9
-
10
- var _errors = require("../errors");
11
-
12
- var _BlankLine = _interopRequireDefault(require("./BlankLine"));
13
-
14
- var _Collection = require("./Collection");
15
-
16
- var _Comment = _interopRequireDefault(require("./Comment"));
17
-
18
- var _Directive = _interopRequireDefault(require("./Directive"));
19
-
20
- var _Node = _interopRequireDefault(require("./Node"));
21
-
22
- var _Range = _interopRequireDefault(require("./Range"));
23
-
24
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
-
26
- class Document extends _Node.default {
27
- static startCommentOrEndBlankLine(src, start) {
28
- const offset = _Node.default.endOfWhiteSpace(src, start);
29
-
30
- const ch = src[offset];
31
- return ch === '#' || ch === '\n' ? offset : start;
32
- }
33
-
34
- constructor() {
35
- super(_constants.Type.DOCUMENT);
36
- this.directives = null;
37
- this.contents = null;
38
- this.directivesEndMarker = null;
39
- this.documentEndMarker = null;
40
- }
41
-
42
- parseDirectives(start) {
43
- const {
44
- src
45
- } = this.context;
46
- this.directives = [];
47
- let atLineStart = true;
48
- let hasDirectives = false;
49
- let offset = start;
50
-
51
- while (!_Node.default.atDocumentBoundary(src, offset, _constants.Char.DIRECTIVES_END)) {
52
- offset = Document.startCommentOrEndBlankLine(src, offset);
53
-
54
- switch (src[offset]) {
55
- case '\n':
56
- if (atLineStart) {
57
- const blankLine = new _BlankLine.default();
58
- offset = blankLine.parse({
59
- src
60
- }, offset);
61
-
62
- if (offset < src.length) {
63
- this.directives.push(blankLine);
64
- }
65
- } else {
66
- offset += 1;
67
- atLineStart = true;
68
- }
69
-
70
- break;
71
-
72
- case '#':
73
- {
74
- const comment = new _Comment.default();
75
- offset = comment.parse({
76
- src
77
- }, offset);
78
- this.directives.push(comment);
79
- atLineStart = false;
80
- }
81
- break;
82
-
83
- case '%':
84
- {
85
- const directive = new _Directive.default();
86
- offset = directive.parse({
87
- parent: this,
88
- src
89
- }, offset);
90
- this.directives.push(directive);
91
- hasDirectives = true;
92
- atLineStart = false;
93
- }
94
- break;
95
-
96
- default:
97
- if (hasDirectives) {
98
- this.error = new _errors.YAMLSemanticError(this, 'Missing directives-end indicator line');
99
- } else if (this.directives.length > 0) {
100
- this.contents = this.directives;
101
- this.directives = [];
102
- }
103
-
104
- return offset;
105
- }
106
- }
107
-
108
- if (src[offset]) {
109
- this.directivesEndMarker = new _Range.default(offset, offset + 3);
110
- return offset + 3;
111
- }
112
-
113
- if (hasDirectives) {
114
- this.error = new _errors.YAMLSemanticError(this, 'Missing directives-end indicator line');
115
- } else if (this.directives.length > 0) {
116
- this.contents = this.directives;
117
- this.directives = [];
118
- }
119
-
120
- return offset;
121
- }
122
-
123
- parseContents(start) {
124
- const {
125
- parseNode,
126
- src
127
- } = this.context;
128
- if (!this.contents) this.contents = [];
129
- let lineStart = start;
130
-
131
- while (src[lineStart - 1] === '-') lineStart -= 1;
132
-
133
- let offset = _Node.default.endOfWhiteSpace(src, start);
134
-
135
- let atLineStart = lineStart === start;
136
- this.valueRange = new _Range.default(offset);
137
-
138
- while (!_Node.default.atDocumentBoundary(src, offset, _constants.Char.DOCUMENT_END)) {
139
- switch (src[offset]) {
140
- case '\n':
141
- if (atLineStart) {
142
- const blankLine = new _BlankLine.default();
143
- offset = blankLine.parse({
144
- src
145
- }, offset);
146
-
147
- if (offset < src.length) {
148
- this.contents.push(blankLine);
149
- }
150
- } else {
151
- offset += 1;
152
- atLineStart = true;
153
- }
154
-
155
- lineStart = offset;
156
- break;
157
-
158
- case '#':
159
- {
160
- const comment = new _Comment.default();
161
- offset = comment.parse({
162
- src
163
- }, offset);
164
- this.contents.push(comment);
165
- atLineStart = false;
166
- }
167
- break;
168
-
169
- default:
170
- {
171
- const iEnd = _Node.default.endOfIndent(src, offset);
172
-
173
- const context = {
174
- atLineStart,
175
- indent: -1,
176
- inFlow: false,
177
- inCollection: false,
178
- lineStart,
179
- parent: this
180
- };
181
- const node = parseNode(context, iEnd);
182
- if (!node) return this.valueRange.end = iEnd; // at next document start
183
-
184
- this.contents.push(node);
185
- offset = node.range.end;
186
- atLineStart = false;
187
- const ec = (0, _Collection.grabCollectionEndComments)(node);
188
- if (ec) Array.prototype.push.apply(this.contents, ec);
189
- }
190
- }
191
-
192
- offset = Document.startCommentOrEndBlankLine(src, offset);
193
- }
194
-
195
- this.valueRange.end = offset;
196
-
197
- if (src[offset]) {
198
- this.documentEndMarker = new _Range.default(offset, offset + 3);
199
- offset += 3;
200
-
201
- if (src[offset]) {
202
- offset = _Node.default.endOfWhiteSpace(src, offset);
203
-
204
- if (src[offset] === '#') {
205
- const comment = new _Comment.default();
206
- offset = comment.parse({
207
- src
208
- }, offset);
209
- this.contents.push(comment);
210
- }
211
-
212
- switch (src[offset]) {
213
- case '\n':
214
- offset += 1;
215
- break;
216
-
217
- case undefined:
218
- break;
219
-
220
- default:
221
- this.error = new _errors.YAMLSyntaxError(this, 'Document end marker line cannot have a non-comment suffix');
222
- }
223
- }
224
- }
225
-
226
- return offset;
227
- }
228
- /**
229
- * @param {ParseContext} context
230
- * @param {number} start - Index of first character
231
- * @returns {number} - Index of the character after this
232
- */
233
-
234
-
235
- parse(context, start) {
236
- context.root = this;
237
- this.context = context;
238
- const {
239
- src
240
- } = context;
241
- let offset = src.charCodeAt(start) === 0xfeff ? start + 1 : start; // skip BOM
242
-
243
- offset = this.parseDirectives(offset);
244
- offset = this.parseContents(offset);
245
- return offset;
246
- }
247
-
248
- setOrigRanges(cr, offset) {
249
- offset = super.setOrigRanges(cr, offset);
250
- this.directives.forEach(node => {
251
- offset = node.setOrigRanges(cr, offset);
252
- });
253
- if (this.directivesEndMarker) offset = this.directivesEndMarker.setOrigRange(cr, offset);
254
- this.contents.forEach(node => {
255
- offset = node.setOrigRanges(cr, offset);
256
- });
257
- if (this.documentEndMarker) offset = this.documentEndMarker.setOrigRange(cr, offset);
258
- return offset;
259
- }
260
-
261
- toString() {
262
- const {
263
- contents,
264
- directives,
265
- value
266
- } = this;
267
- if (value != null) return value;
268
- let str = directives.join('');
269
-
270
- if (contents.length > 0) {
271
- if (directives.length > 0 || contents[0].type === _constants.Type.COMMENT) str += '---\n';
272
- str += contents.join('');
273
- }
274
-
275
- if (str[str.length - 1] !== '\n') str += '\n';
276
- return str;
277
- }
278
-
279
- }
280
-
281
- exports.default = Document;