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
|
@@ -1,23 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
3
|
+
exports.CollectionItem = void 0;
|
|
7
4
|
|
|
8
5
|
var _constants = require("../constants");
|
|
9
6
|
|
|
10
7
|
var _errors = require("../errors");
|
|
11
8
|
|
|
12
|
-
var _BlankLine =
|
|
9
|
+
var _BlankLine = require("./BlankLine");
|
|
13
10
|
|
|
14
|
-
var _Node =
|
|
11
|
+
var _Node = require("./Node");
|
|
15
12
|
|
|
16
|
-
var _Range =
|
|
13
|
+
var _Range = require("./Range");
|
|
17
14
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
class CollectionItem extends _Node.default {
|
|
15
|
+
class CollectionItem extends _Node.Node {
|
|
21
16
|
constructor(type, props) {
|
|
22
17
|
super(type, props);
|
|
23
18
|
this.node = null;
|
|
@@ -46,7 +41,7 @@ class CollectionItem extends _Node.default {
|
|
|
46
41
|
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
42
|
const indent = atLineStart ? start - lineStart : context.indent;
|
|
48
43
|
|
|
49
|
-
let offset = _Node.
|
|
44
|
+
let offset = _Node.Node.endOfWhiteSpace(src, start + 1);
|
|
50
45
|
|
|
51
46
|
let ch = src[offset];
|
|
52
47
|
const inlineComment = ch === '#';
|
|
@@ -55,30 +50,30 @@ class CollectionItem extends _Node.default {
|
|
|
55
50
|
|
|
56
51
|
while (ch === '\n' || ch === '#') {
|
|
57
52
|
if (ch === '#') {
|
|
58
|
-
const end = _Node.
|
|
53
|
+
const end = _Node.Node.endOfLine(src, offset + 1);
|
|
59
54
|
|
|
60
|
-
comments.push(new _Range.
|
|
55
|
+
comments.push(new _Range.Range(offset, end));
|
|
61
56
|
offset = end;
|
|
62
57
|
} else {
|
|
63
58
|
atLineStart = true;
|
|
64
59
|
lineStart = offset + 1;
|
|
65
60
|
|
|
66
|
-
const wsEnd = _Node.
|
|
61
|
+
const wsEnd = _Node.Node.endOfWhiteSpace(src, lineStart);
|
|
67
62
|
|
|
68
63
|
if (src[wsEnd] === '\n' && comments.length === 0) {
|
|
69
|
-
blankLine = new _BlankLine.
|
|
64
|
+
blankLine = new _BlankLine.BlankLine();
|
|
70
65
|
lineStart = blankLine.parse({
|
|
71
66
|
src
|
|
72
67
|
}, lineStart);
|
|
73
68
|
}
|
|
74
69
|
|
|
75
|
-
offset = _Node.
|
|
70
|
+
offset = _Node.Node.endOfIndent(src, lineStart);
|
|
76
71
|
}
|
|
77
72
|
|
|
78
73
|
ch = src[offset];
|
|
79
74
|
}
|
|
80
75
|
|
|
81
|
-
if (_Node.
|
|
76
|
+
if (_Node.Node.nextNodeIsIndented(ch, offset - (lineStart + indent), this.type !== _constants.Type.SEQ_ITEM)) {
|
|
82
77
|
this.node = parseNode({
|
|
83
78
|
atLineStart,
|
|
84
79
|
inCollection: false,
|
|
@@ -107,12 +102,12 @@ class CollectionItem extends _Node.default {
|
|
|
107
102
|
this.props.push(c);
|
|
108
103
|
offset = c.end;
|
|
109
104
|
} else {
|
|
110
|
-
offset = _Node.
|
|
105
|
+
offset = _Node.Node.endOfLine(src, start + 1);
|
|
111
106
|
}
|
|
112
107
|
}
|
|
113
108
|
|
|
114
109
|
const end = this.node ? this.node.valueRange.end : offset;
|
|
115
|
-
this.valueRange = new _Range.
|
|
110
|
+
this.valueRange = new _Range.Range(start, end);
|
|
116
111
|
return offset;
|
|
117
112
|
}
|
|
118
113
|
|
|
@@ -132,9 +127,9 @@ class CollectionItem extends _Node.default {
|
|
|
132
127
|
} = this;
|
|
133
128
|
if (value != null) return value;
|
|
134
129
|
const str = node ? src.slice(range.start, node.range.start) + String(node) : src.slice(range.start, range.end);
|
|
135
|
-
return _Node.
|
|
130
|
+
return _Node.Node.addStringTerminator(src, range.end, str);
|
|
136
131
|
}
|
|
137
132
|
|
|
138
133
|
}
|
|
139
134
|
|
|
140
|
-
exports.
|
|
135
|
+
exports.CollectionItem = CollectionItem;
|
package/dist/cst/Comment.js
CHANGED
|
@@ -1,19 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
3
|
+
exports.Comment = void 0;
|
|
7
4
|
|
|
8
5
|
var _constants = require("../constants");
|
|
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 Comment extends _Node.default {
|
|
11
|
+
class Comment extends _Node.Node {
|
|
17
12
|
constructor() {
|
|
18
13
|
super(_constants.Type.COMMENT);
|
|
19
14
|
}
|
|
@@ -29,10 +24,10 @@ class Comment extends _Node.default {
|
|
|
29
24
|
parse(context, start) {
|
|
30
25
|
this.context = context;
|
|
31
26
|
const offset = this.parseComment(start);
|
|
32
|
-
this.range = new _Range.
|
|
27
|
+
this.range = new _Range.Range(start, offset);
|
|
33
28
|
return offset;
|
|
34
29
|
}
|
|
35
30
|
|
|
36
31
|
}
|
|
37
32
|
|
|
38
|
-
exports.
|
|
33
|
+
exports.Comment = Comment;
|
package/dist/cst/Directive.js
CHANGED
|
@@ -1,19 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
3
|
+
exports.Directive = void 0;
|
|
7
4
|
|
|
8
5
|
var _constants = require("../constants");
|
|
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 Directive extends _Node.default {
|
|
11
|
+
class Directive extends _Node.Node {
|
|
17
12
|
constructor() {
|
|
18
13
|
super(_constants.Type.DIRECTIVE);
|
|
19
14
|
this.name = null;
|
|
@@ -46,7 +41,7 @@ class Directive extends _Node.default {
|
|
|
46
41
|
|
|
47
42
|
while (ch && ch !== '\n' && ch !== '#') ch = src[offset += 1];
|
|
48
43
|
|
|
49
|
-
this.valueRange = new _Range.
|
|
44
|
+
this.valueRange = new _Range.Range(start, offset);
|
|
50
45
|
return offset;
|
|
51
46
|
}
|
|
52
47
|
|
|
@@ -55,10 +50,10 @@ class Directive extends _Node.default {
|
|
|
55
50
|
let offset = this.parseName(start + 1);
|
|
56
51
|
offset = this.parseParameters(offset);
|
|
57
52
|
offset = this.parseComment(offset);
|
|
58
|
-
this.range = new _Range.
|
|
53
|
+
this.range = new _Range.Range(start, offset);
|
|
59
54
|
return offset;
|
|
60
55
|
}
|
|
61
56
|
|
|
62
57
|
}
|
|
63
58
|
|
|
64
|
-
exports.
|
|
59
|
+
exports.Directive = Directive;
|
package/dist/cst/Document.js
CHANGED
|
@@ -1,31 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
3
|
+
exports.Document = void 0;
|
|
7
4
|
|
|
8
5
|
var _constants = require("../constants");
|
|
9
6
|
|
|
10
7
|
var _errors = require("../errors");
|
|
11
8
|
|
|
12
|
-
var _BlankLine =
|
|
9
|
+
var _BlankLine = require("./BlankLine");
|
|
13
10
|
|
|
14
11
|
var _Collection = require("./Collection");
|
|
15
12
|
|
|
16
|
-
var _Comment =
|
|
13
|
+
var _Comment = require("./Comment");
|
|
17
14
|
|
|
18
|
-
var _Directive =
|
|
15
|
+
var _Directive = require("./Directive");
|
|
19
16
|
|
|
20
|
-
var _Node =
|
|
17
|
+
var _Node = require("./Node");
|
|
21
18
|
|
|
22
|
-
var _Range =
|
|
19
|
+
var _Range = require("./Range");
|
|
23
20
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
class Document extends _Node.default {
|
|
21
|
+
class Document extends _Node.Node {
|
|
27
22
|
static startCommentOrEndBlankLine(src, start) {
|
|
28
|
-
const offset = _Node.
|
|
23
|
+
const offset = _Node.Node.endOfWhiteSpace(src, start);
|
|
29
24
|
|
|
30
25
|
const ch = src[offset];
|
|
31
26
|
return ch === '#' || ch === '\n' ? offset : start;
|
|
@@ -48,13 +43,13 @@ class Document extends _Node.default {
|
|
|
48
43
|
let hasDirectives = false;
|
|
49
44
|
let offset = start;
|
|
50
45
|
|
|
51
|
-
while (!_Node.
|
|
46
|
+
while (!_Node.Node.atDocumentBoundary(src, offset, _constants.Char.DIRECTIVES_END)) {
|
|
52
47
|
offset = Document.startCommentOrEndBlankLine(src, offset);
|
|
53
48
|
|
|
54
49
|
switch (src[offset]) {
|
|
55
50
|
case '\n':
|
|
56
51
|
if (atLineStart) {
|
|
57
|
-
const blankLine = new _BlankLine.
|
|
52
|
+
const blankLine = new _BlankLine.BlankLine();
|
|
58
53
|
offset = blankLine.parse({
|
|
59
54
|
src
|
|
60
55
|
}, offset);
|
|
@@ -71,7 +66,7 @@ class Document extends _Node.default {
|
|
|
71
66
|
|
|
72
67
|
case '#':
|
|
73
68
|
{
|
|
74
|
-
const comment = new _Comment.
|
|
69
|
+
const comment = new _Comment.Comment();
|
|
75
70
|
offset = comment.parse({
|
|
76
71
|
src
|
|
77
72
|
}, offset);
|
|
@@ -82,7 +77,7 @@ class Document extends _Node.default {
|
|
|
82
77
|
|
|
83
78
|
case '%':
|
|
84
79
|
{
|
|
85
|
-
const directive = new _Directive.
|
|
80
|
+
const directive = new _Directive.Directive();
|
|
86
81
|
offset = directive.parse({
|
|
87
82
|
parent: this,
|
|
88
83
|
src
|
|
@@ -106,7 +101,7 @@ class Document extends _Node.default {
|
|
|
106
101
|
}
|
|
107
102
|
|
|
108
103
|
if (src[offset]) {
|
|
109
|
-
this.directivesEndMarker = new _Range.
|
|
104
|
+
this.directivesEndMarker = new _Range.Range(offset, offset + 3);
|
|
110
105
|
return offset + 3;
|
|
111
106
|
}
|
|
112
107
|
|
|
@@ -130,16 +125,16 @@ class Document extends _Node.default {
|
|
|
130
125
|
|
|
131
126
|
while (src[lineStart - 1] === '-') lineStart -= 1;
|
|
132
127
|
|
|
133
|
-
let offset = _Node.
|
|
128
|
+
let offset = _Node.Node.endOfWhiteSpace(src, start);
|
|
134
129
|
|
|
135
130
|
let atLineStart = lineStart === start;
|
|
136
|
-
this.valueRange = new _Range.
|
|
131
|
+
this.valueRange = new _Range.Range(offset);
|
|
137
132
|
|
|
138
|
-
while (!_Node.
|
|
133
|
+
while (!_Node.Node.atDocumentBoundary(src, offset, _constants.Char.DOCUMENT_END)) {
|
|
139
134
|
switch (src[offset]) {
|
|
140
135
|
case '\n':
|
|
141
136
|
if (atLineStart) {
|
|
142
|
-
const blankLine = new _BlankLine.
|
|
137
|
+
const blankLine = new _BlankLine.BlankLine();
|
|
143
138
|
offset = blankLine.parse({
|
|
144
139
|
src
|
|
145
140
|
}, offset);
|
|
@@ -157,7 +152,7 @@ class Document extends _Node.default {
|
|
|
157
152
|
|
|
158
153
|
case '#':
|
|
159
154
|
{
|
|
160
|
-
const comment = new _Comment.
|
|
155
|
+
const comment = new _Comment.Comment();
|
|
161
156
|
offset = comment.parse({
|
|
162
157
|
src
|
|
163
158
|
}, offset);
|
|
@@ -168,7 +163,7 @@ class Document extends _Node.default {
|
|
|
168
163
|
|
|
169
164
|
default:
|
|
170
165
|
{
|
|
171
|
-
const iEnd = _Node.
|
|
166
|
+
const iEnd = _Node.Node.endOfIndent(src, offset);
|
|
172
167
|
|
|
173
168
|
const context = {
|
|
174
169
|
atLineStart,
|
|
@@ -195,14 +190,14 @@ class Document extends _Node.default {
|
|
|
195
190
|
this.valueRange.end = offset;
|
|
196
191
|
|
|
197
192
|
if (src[offset]) {
|
|
198
|
-
this.documentEndMarker = new _Range.
|
|
193
|
+
this.documentEndMarker = new _Range.Range(offset, offset + 3);
|
|
199
194
|
offset += 3;
|
|
200
195
|
|
|
201
196
|
if (src[offset]) {
|
|
202
|
-
offset = _Node.
|
|
197
|
+
offset = _Node.Node.endOfWhiteSpace(src, offset);
|
|
203
198
|
|
|
204
199
|
if (src[offset] === '#') {
|
|
205
|
-
const comment = new _Comment.
|
|
200
|
+
const comment = new _Comment.Comment();
|
|
206
201
|
offset = comment.parse({
|
|
207
202
|
src
|
|
208
203
|
}, offset);
|
|
@@ -278,4 +273,4 @@ class Document extends _Node.default {
|
|
|
278
273
|
|
|
279
274
|
}
|
|
280
275
|
|
|
281
|
-
exports.
|
|
276
|
+
exports.Document = Document;
|
|
@@ -1,25 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
3
|
+
exports.FlowCollection = void 0;
|
|
7
4
|
|
|
8
5
|
var _constants = require("../constants");
|
|
9
6
|
|
|
10
7
|
var _errors = require("../errors");
|
|
11
8
|
|
|
12
|
-
var _BlankLine =
|
|
9
|
+
var _BlankLine = require("./BlankLine");
|
|
13
10
|
|
|
14
|
-
var _Comment =
|
|
11
|
+
var _Comment = require("./Comment");
|
|
15
12
|
|
|
16
|
-
var _Node =
|
|
13
|
+
var _Node = require("./Node");
|
|
17
14
|
|
|
18
|
-
var _Range =
|
|
15
|
+
var _Range = require("./Range");
|
|
19
16
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
class FlowCollection extends _Node.default {
|
|
17
|
+
class FlowCollection extends _Node.Node {
|
|
23
18
|
constructor(type, props) {
|
|
24
19
|
super(type, props);
|
|
25
20
|
this.items = null;
|
|
@@ -27,7 +22,7 @@ class FlowCollection extends _Node.default {
|
|
|
27
22
|
|
|
28
23
|
prevNodeIsJsonLike(idx = this.items.length) {
|
|
29
24
|
const node = this.items[idx - 1];
|
|
30
|
-
return !!node && (node.jsonLike || node.type === _constants.Type.COMMENT && this.
|
|
25
|
+
return !!node && (node.jsonLike || node.type === _constants.Type.COMMENT && this.prevNodeIsJsonLike(idx - 1));
|
|
31
26
|
}
|
|
32
27
|
/**
|
|
33
28
|
* @param {ParseContext} context
|
|
@@ -53,7 +48,7 @@ class FlowCollection extends _Node.default {
|
|
|
53
48
|
offset: start
|
|
54
49
|
}];
|
|
55
50
|
|
|
56
|
-
let offset = _Node.
|
|
51
|
+
let offset = _Node.Node.endOfWhiteSpace(src, start + 1);
|
|
57
52
|
|
|
58
53
|
char = src[offset];
|
|
59
54
|
|
|
@@ -63,17 +58,17 @@ class FlowCollection extends _Node.default {
|
|
|
63
58
|
{
|
|
64
59
|
lineStart = offset + 1;
|
|
65
60
|
|
|
66
|
-
const wsEnd = _Node.
|
|
61
|
+
const wsEnd = _Node.Node.endOfWhiteSpace(src, lineStart);
|
|
67
62
|
|
|
68
63
|
if (src[wsEnd] === '\n') {
|
|
69
|
-
const blankLine = new _BlankLine.
|
|
64
|
+
const blankLine = new _BlankLine.BlankLine();
|
|
70
65
|
lineStart = blankLine.parse({
|
|
71
66
|
src
|
|
72
67
|
}, lineStart);
|
|
73
68
|
this.items.push(blankLine);
|
|
74
69
|
}
|
|
75
70
|
|
|
76
|
-
offset = _Node.
|
|
71
|
+
offset = _Node.Node.endOfIndent(src, lineStart);
|
|
77
72
|
|
|
78
73
|
if (offset <= lineStart + indent) {
|
|
79
74
|
char = src[offset];
|
|
@@ -98,7 +93,7 @@ class FlowCollection extends _Node.default {
|
|
|
98
93
|
|
|
99
94
|
case '#':
|
|
100
95
|
{
|
|
101
|
-
const comment = new _Comment.
|
|
96
|
+
const comment = new _Comment.Comment();
|
|
102
97
|
offset = comment.parse({
|
|
103
98
|
src
|
|
104
99
|
}, offset);
|
|
@@ -136,27 +131,27 @@ class FlowCollection extends _Node.default {
|
|
|
136
131
|
|
|
137
132
|
if (!node) {
|
|
138
133
|
// at next document start
|
|
139
|
-
this.valueRange = new _Range.
|
|
134
|
+
this.valueRange = new _Range.Range(start, offset);
|
|
140
135
|
return offset;
|
|
141
136
|
}
|
|
142
137
|
|
|
143
138
|
this.items.push(node);
|
|
144
|
-
offset = _Node.
|
|
139
|
+
offset = _Node.Node.normalizeOffset(src, node.range.end);
|
|
145
140
|
}
|
|
146
141
|
}
|
|
147
142
|
|
|
148
|
-
offset = _Node.
|
|
143
|
+
offset = _Node.Node.endOfWhiteSpace(src, offset);
|
|
149
144
|
char = src[offset];
|
|
150
145
|
}
|
|
151
146
|
|
|
152
|
-
this.valueRange = new _Range.
|
|
147
|
+
this.valueRange = new _Range.Range(start, offset + 1);
|
|
153
148
|
|
|
154
149
|
if (char) {
|
|
155
150
|
this.items.push({
|
|
156
151
|
char,
|
|
157
152
|
offset
|
|
158
153
|
});
|
|
159
|
-
offset = _Node.
|
|
154
|
+
offset = _Node.Node.endOfWhiteSpace(src, offset + 1);
|
|
160
155
|
offset = this.parseComment(offset);
|
|
161
156
|
}
|
|
162
157
|
|
|
@@ -166,7 +161,7 @@ class FlowCollection extends _Node.default {
|
|
|
166
161
|
setOrigRanges(cr, offset) {
|
|
167
162
|
offset = super.setOrigRanges(cr, offset);
|
|
168
163
|
this.items.forEach(node => {
|
|
169
|
-
if (node instanceof _Node.
|
|
164
|
+
if (node instanceof _Node.Node) {
|
|
170
165
|
offset = node.setOrigRanges(cr, offset);
|
|
171
166
|
} else if (cr.length === 0) {
|
|
172
167
|
node.origOffset = node.offset;
|
|
@@ -194,7 +189,7 @@ class FlowCollection extends _Node.default {
|
|
|
194
189
|
value
|
|
195
190
|
} = this;
|
|
196
191
|
if (value != null) return value;
|
|
197
|
-
const nodes = items.filter(item => item instanceof _Node.
|
|
192
|
+
const nodes = items.filter(item => item instanceof _Node.Node);
|
|
198
193
|
let str = '';
|
|
199
194
|
let prevEnd = range.start;
|
|
200
195
|
nodes.forEach(node => {
|
|
@@ -210,9 +205,9 @@ class FlowCollection extends _Node.default {
|
|
|
210
205
|
}
|
|
211
206
|
});
|
|
212
207
|
str += src.slice(prevEnd, range.end);
|
|
213
|
-
return _Node.
|
|
208
|
+
return _Node.Node.addStringTerminator(src, range.end, str);
|
|
214
209
|
}
|
|
215
210
|
|
|
216
211
|
}
|
|
217
212
|
|
|
218
|
-
exports.
|
|
213
|
+
exports.FlowCollection = FlowCollection;
|
package/dist/cst/Node.js
CHANGED
|
@@ -1,17 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
3
|
+
exports.Node = void 0;
|
|
7
4
|
|
|
8
5
|
var _constants = require("../constants");
|
|
9
6
|
|
|
10
7
|
var _sourceUtils = require("./source-utils");
|
|
11
8
|
|
|
12
|
-
var _Range =
|
|
13
|
-
|
|
14
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
|
+
var _Range = require("./Range");
|
|
15
10
|
|
|
16
11
|
/** Root class of all nodes */
|
|
17
12
|
class Node {
|
|
@@ -323,7 +318,7 @@ class Node {
|
|
|
323
318
|
|
|
324
319
|
if (src[start] === _constants.Char.COMMENT) {
|
|
325
320
|
const end = Node.endOfLine(src, start + 1);
|
|
326
|
-
const commentRange = new _Range.
|
|
321
|
+
const commentRange = new _Range.Range(start, end);
|
|
327
322
|
this.props.push(commentRange);
|
|
328
323
|
return end;
|
|
329
324
|
}
|
|
@@ -362,4 +357,4 @@ class Node {
|
|
|
362
357
|
|
|
363
358
|
}
|
|
364
359
|
|
|
365
|
-
exports.
|
|
360
|
+
exports.Node = Node;
|