@projectwallace/css-parser 0.18.6 → 0.18.7
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/dist/{css-node-BmD2JJLr.js → css-node-C6TLE3qd.js} +7 -3
- package/dist/index.js +3 -3
- package/dist/parse-anplusb.js +2 -2
- package/dist/parse-atrule-prelude.js +4 -4
- package/dist/parse-declaration.js +3 -3
- package/dist/{parse-dimension-ouWXNHdx.js → parse-dimension-CQELWb5z.js} +28 -3
- package/dist/parse-dimension.d.ts +9 -1
- package/dist/parse-dimension.js +2 -2
- package/dist/{parse-selector-DMduLN4o.js → parse-selector-Ce5HUZJ5.js} +16 -19
- package/dist/parse-selector.js +1 -1
- package/dist/parse-value.js +2 -2
- package/dist/parse.js +2 -2
- package/dist/{value-node-parser-3ET5Z4Rf.js → value-node-parser-DfkneBdM.js} +19 -22
- package/dist/walk.js +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "./arena-e9O_g2AN.js";
|
|
2
|
-
import { a as
|
|
2
|
+
import { a as is_vendor_prefixed, o as is_whitespace, s as str_equals, t as dimension_number_end, u as str_starts_with } from "./parse-dimension-CQELWb5z.js";
|
|
3
3
|
//#region src/css-node.ts
|
|
4
4
|
const TYPE_NAMES = {
|
|
5
5
|
[1]: "StyleSheet",
|
|
@@ -185,7 +185,10 @@ var CSSNode = class CSSNode {
|
|
|
185
185
|
if (type === 33) return first_child ?? null;
|
|
186
186
|
if (type === 57) return first_child?.first_child ?? null;
|
|
187
187
|
if (type === 59) return first_child?.next_sibling ?? null;
|
|
188
|
-
if (type === 12)
|
|
188
|
+
if (type === 12) {
|
|
189
|
+
let num_str = text.substring(0, dimension_number_end(text));
|
|
190
|
+
return num_str ? Number.parseFloat(num_str) : 0;
|
|
191
|
+
}
|
|
189
192
|
if (type === 11) return Number(text);
|
|
190
193
|
if (type === 18) {
|
|
191
194
|
if (first_child?.type === 13) return first_child.text;
|
|
@@ -246,7 +249,8 @@ var CSSNode = class CSSNode {
|
|
|
246
249
|
/** Get the unit for dimension nodes (e.g., "px" from "100px", "%" from "50%") */
|
|
247
250
|
get unit() {
|
|
248
251
|
if (this.type !== 12) return void 0;
|
|
249
|
-
|
|
252
|
+
let text = this.text;
|
|
253
|
+
return text.substring(dimension_number_end(text));
|
|
250
254
|
}
|
|
251
255
|
/** Numerator for ratio values, e.g. the Number "16" in `aspect-ratio: 16/9` */
|
|
252
256
|
get left() {
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { C as TOKEN_RIGHT_BRACKET, D as TOKEN_UNICODE_RANGE, E as TOKEN_STRING, O as TOKEN_URL, S as TOKEN_RIGHT_BRACE, T as TOKEN_SEMICOLON, _ as TOKEN_LEFT_BRACE, a as TOKEN_BAD_URL, b as TOKEN_NUMBER, c as TOKEN_COLON, d as TOKEN_DELIM, f as TOKEN_DIMENSION, g as TOKEN_IDENT, h as TOKEN_HASH, i as TOKEN_BAD_STRING, k as TOKEN_WHITESPACE, l as TOKEN_COMMA, m as TOKEN_FUNCTION, n as tokenize, o as TOKEN_CDC, p as TOKEN_EOF, r as TOKEN_AT_KEYWORD, s as TOKEN_CDO, u as TOKEN_COMMENT, v as TOKEN_LEFT_BRACKET, w as TOKEN_RIGHT_PAREN, x as TOKEN_PERCENTAGE, y as TOKEN_LEFT_PAREN } from "./tokenize-DK24ACbY.js";
|
|
2
2
|
import { A as PARENTHESIS, B as STYLE_RULE, C as MEDIA_QUERY, D as NTH_SELECTOR, E as NTH_OF_SELECTOR, F as RAW, G as UNIVERSAL_SELECTOR, H as SUPPORTS_QUERY, I as SELECTOR, K as URL, L as SELECTOR_LIST, M as PSEUDO_CLASS_SELECTOR, N as PSEUDO_ELEMENT_SELECTOR, O as NUMBER, P as RATIO, R as STRING, S as MEDIA_FEATURE, T as NESTING_SELECTOR, U as TYPE_SELECTOR, V as SUPPORTS_DECLARATION, W as UNICODE_RANGE, _ as ID_SELECTOR, a as CLASS_SELECTOR, b as LANG_SELECTOR, c as CONTAINER_QUERY, d as DIMENSION, f as FEATURE_RANGE, g as IDENTIFIER, h as HASH, i as BLOCK, j as PRELUDE_OPERATOR, k as OPERATOR, m as FUNCTION, n as AT_RULE, o as COMBINATOR, p as FLAG_IMPORTANT, q as VALUE, r as AT_RULE_PRELUDE, s as COMMENT, t as ATTRIBUTE_SELECTOR, u as DECLARATION, v as IF_BRANCH, w as MEDIA_TYPE, x as LAYER_NAME, y as IF_CONDITION, z as STYLESHEET } from "./arena-e9O_g2AN.js";
|
|
3
|
-
import {
|
|
4
|
-
import { n as TYPE_NAMES } from "./css-node-
|
|
5
|
-
import { n as parse_selector, r as parse_selector_list } from "./parse-selector-
|
|
3
|
+
import { a as is_vendor_prefixed, i as is_custom, l as str_index_of, n as parse_dimension, s as str_equals, u as str_starts_with } from "./parse-dimension-CQELWb5z.js";
|
|
4
|
+
import { n as TYPE_NAMES } from "./css-node-C6TLE3qd.js";
|
|
5
|
+
import { n as parse_selector, r as parse_selector_list } from "./parse-selector-Ce5HUZJ5.js";
|
|
6
6
|
import { parse_atrule_prelude } from "./parse-atrule-prelude.js";
|
|
7
7
|
import { parse_value } from "./parse-value.js";
|
|
8
8
|
import { parse_declaration } from "./parse-declaration.js";
|
package/dist/parse-anplusb.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as Lexer } from "./tokenize-DK24ACbY.js";
|
|
2
2
|
import { l as CSSDataArena } from "./arena-e9O_g2AN.js";
|
|
3
|
-
import {
|
|
4
|
-
import { t as CSSNode } from "./css-node-
|
|
3
|
+
import { l as str_index_of, s as str_equals } from "./parse-dimension-CQELWb5z.js";
|
|
4
|
+
import { t as CSSNode } from "./css-node-C6TLE3qd.js";
|
|
5
5
|
//#region src/parse-anplusb.ts
|
|
6
6
|
/** @internal */
|
|
7
7
|
var ANplusBParser = class {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { t as Lexer } from "./tokenize-DK24ACbY.js";
|
|
2
2
|
import { l as CSSDataArena } from "./arena-e9O_g2AN.js";
|
|
3
|
-
import {
|
|
4
|
-
import { t as CSSNode } from "./css-node-
|
|
5
|
-
import { s as trim_boundaries } from "./parse-selector-
|
|
6
|
-
import { n as ConditionParser, t as ValueNodeParser } from "./value-node-parser-
|
|
3
|
+
import { d as strip_vendor_prefix, s as str_equals } from "./parse-dimension-CQELWb5z.js";
|
|
4
|
+
import { t as CSSNode } from "./css-node-C6TLE3qd.js";
|
|
5
|
+
import { s as trim_boundaries } from "./parse-selector-Ce5HUZJ5.js";
|
|
6
|
+
import { n as ConditionParser, t as ValueNodeParser } from "./value-node-parser-DfkneBdM.js";
|
|
7
7
|
//#region src/parse-atrule-prelude.ts
|
|
8
8
|
/** @internal */
|
|
9
9
|
var AtRulePreludeParser = class {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { t as Lexer } from "./tokenize-DK24ACbY.js";
|
|
2
2
|
import { l as CSSDataArena } from "./arena-e9O_g2AN.js";
|
|
3
|
-
import {
|
|
4
|
-
import { t as CSSNode } from "./css-node-
|
|
5
|
-
import { a as skip_whitespace_and_comments_backward, s as trim_boundaries } from "./parse-selector-
|
|
3
|
+
import { a as is_vendor_prefixed } from "./parse-dimension-CQELWb5z.js";
|
|
4
|
+
import { t as CSSNode } from "./css-node-C6TLE3qd.js";
|
|
5
|
+
import { a as skip_whitespace_and_comments_backward, s as trim_boundaries } from "./parse-selector-Ce5HUZJ5.js";
|
|
6
6
|
import { ValueParser } from "./parse-value.js";
|
|
7
7
|
//#region src/parse-declaration.ts
|
|
8
8
|
/** @internal */
|
|
@@ -27,6 +27,20 @@ function str_equals(a, b) {
|
|
|
27
27
|
}
|
|
28
28
|
return true;
|
|
29
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* Case-insensitive equality between `source[start, end)` and `literal`, without allocating
|
|
32
|
+
* a substring first. Same semantics as `str_equals(literal, source.substring(start, end))`.
|
|
33
|
+
* `literal` MUST be lowercase.
|
|
34
|
+
*/
|
|
35
|
+
function str_equals_range(source, start, end, literal) {
|
|
36
|
+
if (end - start !== literal.length) return false;
|
|
37
|
+
for (let i = 0; i < literal.length; i++) {
|
|
38
|
+
let ch = source.charCodeAt(start + i);
|
|
39
|
+
ch |= 32;
|
|
40
|
+
if (ch !== literal.charCodeAt(i)) return false;
|
|
41
|
+
}
|
|
42
|
+
return true;
|
|
43
|
+
}
|
|
30
44
|
/** Case-insensitive ASCII prefix check without allocations. `prefix` MUST be lowercase. */
|
|
31
45
|
function str_starts_with(str, prefix) {
|
|
32
46
|
if (str.length < prefix.length) return false;
|
|
@@ -89,8 +103,14 @@ function strip_vendor_prefix(str) {
|
|
|
89
103
|
}
|
|
90
104
|
//#endregion
|
|
91
105
|
//#region src/parse-dimension.ts
|
|
92
|
-
/**
|
|
93
|
-
|
|
106
|
+
/**
|
|
107
|
+
* Find where a dimension's numeric part ends, e.g. 3 for "100px" or 2 for "2%".
|
|
108
|
+
* No allocation — callers that only need `value` or only `unit` can slice just
|
|
109
|
+
* the part they want instead of going through `parse_dimension`'s object + two
|
|
110
|
+
* substrings for both.
|
|
111
|
+
* @internal
|
|
112
|
+
*/
|
|
113
|
+
function dimension_number_end(text) {
|
|
94
114
|
let num_end = 0;
|
|
95
115
|
for (let i = 0; i < text.length; i++) {
|
|
96
116
|
let ch = text.charCodeAt(i);
|
|
@@ -113,6 +133,11 @@ function parse_dimension(text) {
|
|
|
113
133
|
if (is_digit(ch) || ch === 46 || ch === 45 || ch === 43) num_end = i + 1;
|
|
114
134
|
else break;
|
|
115
135
|
}
|
|
136
|
+
return num_end;
|
|
137
|
+
}
|
|
138
|
+
/** Parse a dimension string into value and unit, e.g. "100px" → { value: 100, unit: "px" } or "2%" → { value: 2, unit: "%" } */
|
|
139
|
+
function parse_dimension(text) {
|
|
140
|
+
let num_end = dimension_number_end(text);
|
|
116
141
|
let num_str = text.substring(0, num_end);
|
|
117
142
|
let unit = text.substring(num_end);
|
|
118
143
|
return {
|
|
@@ -121,4 +146,4 @@ function parse_dimension(text) {
|
|
|
121
146
|
};
|
|
122
147
|
}
|
|
123
148
|
//#endregion
|
|
124
|
-
export {
|
|
149
|
+
export { is_vendor_prefixed as a, str_equals_range as c, strip_vendor_prefix as d, is_custom as i, str_index_of as l, parse_dimension as n, is_whitespace as o, is_combinator as r, str_equals as s, dimension_number_end as t, str_starts_with as u };
|
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
//#region src/parse-dimension.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Find where a dimension's numeric part ends, e.g. 3 for "100px" or 2 for "2%".
|
|
4
|
+
* No allocation — callers that only need `value` or only `unit` can slice just
|
|
5
|
+
* the part they want instead of going through `parse_dimension`'s object + two
|
|
6
|
+
* substrings for both.
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
declare function dimension_number_end(text: string): number;
|
|
2
10
|
/** Parse a dimension string into value and unit, e.g. "100px" → { value: 100, unit: "px" } or "2%" → { value: 2, unit: "%" } */
|
|
3
11
|
declare function parse_dimension(text: string): {
|
|
4
12
|
value: number;
|
|
5
13
|
unit: string;
|
|
6
14
|
};
|
|
7
15
|
//#endregion
|
|
8
|
-
export { parse_dimension };
|
|
16
|
+
export { dimension_number_end, parse_dimension };
|
package/dist/parse-dimension.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export { parse_dimension };
|
|
1
|
+
import { n as parse_dimension, t as dimension_number_end } from "./parse-dimension-CQELWb5z.js";
|
|
2
|
+
export { dimension_number_end, parse_dimension };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as Lexer } from "./tokenize-DK24ACbY.js";
|
|
2
2
|
import { l as CSSDataArena } from "./arena-e9O_g2AN.js";
|
|
3
|
-
import {
|
|
4
|
-
import { t as CSSNode } from "./css-node-
|
|
3
|
+
import { c as str_equals_range, o as is_whitespace, r as is_combinator } from "./parse-dimension-CQELWb5z.js";
|
|
4
|
+
import { t as CSSNode } from "./css-node-C6TLE3qd.js";
|
|
5
5
|
import { ANplusBParser } from "./parse-anplusb.js";
|
|
6
6
|
//#region src/parse-utils.ts
|
|
7
7
|
/** @internal */
|
|
@@ -424,26 +424,23 @@ var SelectorParser = class {
|
|
|
424
424
|
this.arena.set_content_start_delta(node, func_name_start - start);
|
|
425
425
|
this.arena.set_content_length(node, func_name_end - func_name_start);
|
|
426
426
|
this.arena.set_flag(node, 64);
|
|
427
|
-
if (content_end > content_start) {
|
|
428
|
-
let
|
|
429
|
-
if (this.
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
this.lexer.restore_position(saved);
|
|
440
|
-
if (child_selector !== null) this.arena.set_first_child(node, child_selector);
|
|
441
|
-
}
|
|
427
|
+
if (content_end > content_start) if (this.is_nth_pseudo(func_name_start, func_name_end)) {
|
|
428
|
+
let child = this.parse_nth_expression(content_start, content_end);
|
|
429
|
+
if (child !== null) this.arena.set_first_child(node, child);
|
|
430
|
+
} else if (str_equals_range(this.source, func_name_start, func_name_end, "lang")) this.parse_lang_identifiers(content_start, content_end, node);
|
|
431
|
+
else {
|
|
432
|
+
let saved_selector_end = this.selector_end;
|
|
433
|
+
const saved = this.lexer.save_position();
|
|
434
|
+
let allow_relative = str_equals_range(this.source, func_name_start, func_name_end, "has");
|
|
435
|
+
let child_selector = this.parse_selector(content_start, content_end, this.lexer.line, this.lexer.column, allow_relative);
|
|
436
|
+
this.selector_end = saved_selector_end;
|
|
437
|
+
this.lexer.restore_position(saved);
|
|
438
|
+
if (child_selector !== null) this.arena.set_first_child(node, child_selector);
|
|
442
439
|
}
|
|
443
440
|
return node;
|
|
444
441
|
}
|
|
445
|
-
is_nth_pseudo(
|
|
446
|
-
return
|
|
442
|
+
is_nth_pseudo(start, end) {
|
|
443
|
+
return str_equals_range(this.source, start, end, "nth-child") || str_equals_range(this.source, start, end, "nth-last-child") || str_equals_range(this.source, start, end, "nth-of-type") || str_equals_range(this.source, start, end, "nth-last-of-type") || str_equals_range(this.source, start, end, "nth-col") || str_equals_range(this.source, start, end, "nth-last-col");
|
|
447
444
|
}
|
|
448
445
|
parse_lang_identifiers(start, end, parent_node) {
|
|
449
446
|
const saved_position = this.lexer.save_position();
|
package/dist/parse-selector.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as parse_selector, r as parse_selector_list, t as SelectorParser } from "./parse-selector-
|
|
1
|
+
import { n as parse_selector, r as parse_selector_list, t as SelectorParser } from "./parse-selector-Ce5HUZJ5.js";
|
|
2
2
|
export { SelectorParser, parse_selector, parse_selector_list };
|
package/dist/parse-value.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { l as CSSDataArena } from "./arena-e9O_g2AN.js";
|
|
2
|
-
import { t as CSSNode } from "./css-node-
|
|
3
|
-
import { t as ValueNodeParser } from "./value-node-parser-
|
|
2
|
+
import { t as CSSNode } from "./css-node-C6TLE3qd.js";
|
|
3
|
+
import { t as ValueNodeParser } from "./value-node-parser-DfkneBdM.js";
|
|
4
4
|
//#region src/parse-value.ts
|
|
5
5
|
/** @internal */
|
|
6
6
|
var ValueParser = class {
|
package/dist/parse.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as Lexer } from "./tokenize-DK24ACbY.js";
|
|
2
2
|
import { l as CSSDataArena } from "./arena-e9O_g2AN.js";
|
|
3
|
-
import { t as CSSNode } from "./css-node-
|
|
4
|
-
import { a as skip_whitespace_and_comments_backward, s as trim_boundaries, t as SelectorParser } from "./parse-selector-
|
|
3
|
+
import { t as CSSNode } from "./css-node-C6TLE3qd.js";
|
|
4
|
+
import { a as skip_whitespace_and_comments_backward, s as trim_boundaries, t as SelectorParser } from "./parse-selector-Ce5HUZJ5.js";
|
|
5
5
|
import { AtRulePreludeParser } from "./parse-atrule-prelude.js";
|
|
6
6
|
import { DeclarationParser } from "./parse-declaration.js";
|
|
7
7
|
//#region src/parse.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as Lexer } from "./tokenize-DK24ACbY.js";
|
|
2
2
|
import "./arena-e9O_g2AN.js";
|
|
3
|
-
import {
|
|
4
|
-
import { i as find_colon_at_depth_zero, o as skip_whitespace_and_comments_forward, s as trim_boundaries, t as SelectorParser } from "./parse-selector-
|
|
3
|
+
import { c as str_equals_range, s as str_equals } from "./parse-dimension-CQELWb5z.js";
|
|
4
|
+
import { i as find_colon_at_depth_zero, o as skip_whitespace_and_comments_forward, s as trim_boundaries, t as SelectorParser } from "./parse-selector-Ce5HUZJ5.js";
|
|
5
5
|
//#region src/parse-condition.ts
|
|
6
6
|
/** @internal */
|
|
7
7
|
var ConditionParser = class {
|
|
@@ -316,8 +316,9 @@ var ValueNodeParser = class ValueNodeParser {
|
|
|
316
316
|
while (this.lexer.pos < this.end) {
|
|
317
317
|
this.lexer.next_token_fast(false);
|
|
318
318
|
if (this.lexer.token_start >= this.end) break;
|
|
319
|
-
|
|
320
|
-
if (
|
|
319
|
+
let token_type = this.lexer.token_type;
|
|
320
|
+
if (token_type === 26) break;
|
|
321
|
+
if (token_type === 13) continue;
|
|
321
322
|
let node = this.parse_value_node();
|
|
322
323
|
if (node !== null) {
|
|
323
324
|
if (first_node === 0) first_node = node;
|
|
@@ -328,11 +329,6 @@ var ValueNodeParser = class ValueNodeParser {
|
|
|
328
329
|
this.last_chain_node = last_node;
|
|
329
330
|
return first_node;
|
|
330
331
|
}
|
|
331
|
-
is_whitespace_inline() {
|
|
332
|
-
if (this.lexer.token_start >= this.lexer.token_end) return false;
|
|
333
|
-
for (let i = this.lexer.token_start; i < this.lexer.token_end; i++) if (!is_whitespace(this.source.charCodeAt(i))) return false;
|
|
334
|
-
return true;
|
|
335
|
-
}
|
|
336
332
|
parse_value_node() {
|
|
337
333
|
let token_type = this.lexer.token_type;
|
|
338
334
|
let start = this.lexer.token_start;
|
|
@@ -390,15 +386,15 @@ var ValueNodeParser = class ValueNodeParser {
|
|
|
390
386
|
}
|
|
391
387
|
parse_function_node(start, end) {
|
|
392
388
|
let name_end = end - 1;
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
let node = this.arena.create_node(
|
|
389
|
+
if (str_equals_range(this.source, start, name_end, "if")) return this.parse_if_function_node(start, end);
|
|
390
|
+
let is_url = str_equals_range(this.source, start, name_end, "url");
|
|
391
|
+
let node = this.arena.create_node(is_url ? 18 : 15, start, 0, this.lexer.token_line, this.lexer.token_column);
|
|
396
392
|
this.arena.set_content_start_delta(node, 0);
|
|
397
393
|
this.arena.set_content_length(node, name_end - start);
|
|
398
|
-
if (
|
|
394
|
+
if (is_url || str_equals_range(this.source, start, name_end, "src")) {
|
|
399
395
|
let save_pos = this.lexer.save_position();
|
|
400
396
|
this.lexer.next_token_fast(false);
|
|
401
|
-
while (this.
|
|
397
|
+
while (this.lexer.token_type === 13 && this.lexer.pos < this.end) this.lexer.next_token_fast(false);
|
|
402
398
|
let first_token_type = this.lexer.token_type;
|
|
403
399
|
this.lexer.restore_position(save_pos);
|
|
404
400
|
if (first_token_type === 5) {} else {
|
|
@@ -435,7 +431,7 @@ var ValueNodeParser = class ValueNodeParser {
|
|
|
435
431
|
break;
|
|
436
432
|
}
|
|
437
433
|
}
|
|
438
|
-
if (
|
|
434
|
+
if (token_type === 13) continue;
|
|
439
435
|
let arg_node = this.parse_value_node();
|
|
440
436
|
if (arg_node !== null) {
|
|
441
437
|
if (first_arg === 0) first_arg = arg_node;
|
|
@@ -482,7 +478,7 @@ var ValueNodeParser = class ValueNodeParser {
|
|
|
482
478
|
func_end = this.lexer.token_end;
|
|
483
479
|
break;
|
|
484
480
|
}
|
|
485
|
-
if (
|
|
481
|
+
if (tt === 13 || tt === 17 || tt === 16) continue;
|
|
486
482
|
let branch_start = this.lexer.token_start;
|
|
487
483
|
let branch_line = this.lexer.token_line;
|
|
488
484
|
let branch_col = this.lexer.token_column;
|
|
@@ -495,7 +491,7 @@ var ValueNodeParser = class ValueNodeParser {
|
|
|
495
491
|
let t = this.lexer.token_type;
|
|
496
492
|
if (t === 26) break;
|
|
497
493
|
if (this.lexer.token_start >= this.end) break;
|
|
498
|
-
if (
|
|
494
|
+
if (t === 13) continue;
|
|
499
495
|
if (t === 16) {
|
|
500
496
|
colon_found = true;
|
|
501
497
|
break;
|
|
@@ -517,7 +513,7 @@ var ValueNodeParser = class ValueNodeParser {
|
|
|
517
513
|
let t = this.lexer.token_type;
|
|
518
514
|
if (t === 26) break;
|
|
519
515
|
if (this.lexer.token_start >= this.end) break;
|
|
520
|
-
if (
|
|
516
|
+
if (t === 13) continue;
|
|
521
517
|
if (t === 17) break;
|
|
522
518
|
if (t === 22) {
|
|
523
519
|
content_end = this.lexer.token_start;
|
|
@@ -568,7 +564,7 @@ var ValueNodeParser = class ValueNodeParser {
|
|
|
568
564
|
while (this.lexer.pos < this.end) {
|
|
569
565
|
this.lexer.next_token_fast(false);
|
|
570
566
|
if (this.lexer.token_start >= this.end) return 26;
|
|
571
|
-
if (this.
|
|
567
|
+
if (this.lexer.token_type === 13) continue;
|
|
572
568
|
return this.lexer.token_type;
|
|
573
569
|
}
|
|
574
570
|
return 26;
|
|
@@ -693,8 +689,9 @@ var ValueNodeParser = class ValueNodeParser {
|
|
|
693
689
|
while (this.lexer.pos < this.end) {
|
|
694
690
|
this.lexer.next_token_fast(false);
|
|
695
691
|
if (this.lexer.token_start >= this.end) break;
|
|
696
|
-
|
|
697
|
-
if (
|
|
692
|
+
let token_type = this.lexer.token_type;
|
|
693
|
+
if (token_type === 26) break;
|
|
694
|
+
if (token_type === 13) continue;
|
|
698
695
|
let node = this.parse_value_node();
|
|
699
696
|
if (node !== null) nodes.push(node);
|
|
700
697
|
}
|
|
@@ -720,7 +717,7 @@ var ValueNodeParser = class ValueNodeParser {
|
|
|
720
717
|
break;
|
|
721
718
|
}
|
|
722
719
|
}
|
|
723
|
-
if (
|
|
720
|
+
if (token_type === 13) continue;
|
|
724
721
|
let child_node = this.parse_value_node();
|
|
725
722
|
if (child_node !== null) {
|
|
726
723
|
if (first_child === 0) first_child = child_node;
|
package/dist/walk.js
CHANGED