Skip to content

Commit f2b78ab

Browse files
committed
Remove css string from tokens array, replaced fully with integers.
1 parent 85fee43 commit f2b78ab

File tree

2 files changed

+46
-47
lines changed

2 files changed

+46
-47
lines changed

src/parser.js

Lines changed: 40 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -76,12 +76,12 @@ export default class Parser {
7676
operator: parts[1],
7777
value: parts[2],
7878
source: getSource(
79+
startingToken[1],
7980
startingToken[2],
80-
startingToken[3],
81-
this.currToken[4],
82-
this.currToken[5]
81+
this.currToken[3],
82+
this.currToken[4]
8383
),
84-
sourceIndex: startingToken[6],
84+
sourceIndex: startingToken[5],
8585
};
8686
if (namespace.length > 1) {
8787
if (namespace[0] === '') {
@@ -119,12 +119,12 @@ export default class Parser {
119119
const node = new Combinator({
120120
value: '',
121121
source: getSource(
122+
current[1],
122123
current[2],
123124
current[3],
124-
current[4],
125-
current[5]
125+
current[4]
126126
),
127-
sourceIndex: current[6],
127+
sourceIndex: current[5],
128128
});
129129
while ( this.position < this.tokens.length && this.currToken &&
130130
(this.currToken[0] === tokens.space ||
@@ -133,12 +133,12 @@ export default class Parser {
133133
if (this.nextToken && this.nextToken[0] === tokens.combinator) {
134134
node.spaces.before = this.parseSpace(content);
135135
node.source = getSource(
136+
this.nextToken[1],
136137
this.nextToken[2],
137138
this.nextToken[3],
138-
this.nextToken[4],
139-
this.nextToken[5]
139+
this.nextToken[4]
140140
);
141-
node.sourceIndex = this.nextToken[6];
141+
node.sourceIndex = this.nextToken[5];
142142
} else if (this.prevToken && this.prevToken[0] === tokens.combinator) {
143143
node.spaces.after = this.parseSpace(content);
144144
} else if (this.currToken[0] === tokens.combinator) {
@@ -168,12 +168,12 @@ export default class Parser {
168168
this.newNode(new Comment({
169169
value: this.content(),
170170
source: getSource(
171+
current[1],
171172
current[2],
172173
current[3],
173-
current[4],
174-
current[5]
174+
current[4]
175175
),
176-
sourceIndex: current[6],
176+
sourceIndex: current[5],
177177
}));
178178
this.position ++;
179179
}
@@ -184,19 +184,19 @@ export default class Parser {
184184

185185
missingBackslash () {
186186
return this.error('Expected a backslash preceding the semicolon.', {
187-
index: this.currToken[6],
187+
index: this.currToken[5],
188188
});
189189
}
190190

191191
missingParenthesis () {
192192
return this.error('Expected an opening parenthesis.', {
193-
index: this.currToken[6],
193+
index: this.currToken[5],
194194
});
195195
}
196196

197197
missingSquareBracket () {
198198
return this.error('Expected an opening square bracket.', {
199-
index: this.currToken[6],
199+
index: this.currToken[5],
200200
});
201201
}
202202

@@ -216,12 +216,12 @@ export default class Parser {
216216
this.newNode(new Nesting({
217217
value: this.content(),
218218
source: getSource(
219+
current[1],
219220
current[2],
220221
current[3],
221-
current[4],
222-
current[5]
222+
current[4]
223223
),
224-
sourceIndex: current[6],
224+
sourceIndex: current[5],
225225
}));
226226
this.position ++;
227227
}
@@ -245,8 +245,8 @@ export default class Parser {
245245
if (balanced) {
246246
this.parse();
247247
} else {
248-
selector.parent.source.end.line = this.currToken[4];
249-
selector.parent.source.end.column = this.currToken[5];
248+
selector.parent.source.end.line = this.currToken[3];
249+
selector.parent.source.end.column = this.currToken[4];
250250
this.position ++;
251251
}
252252
}
@@ -266,7 +266,7 @@ export default class Parser {
266266
}
267267
if (balanced) {
268268
this.error('Expected a closing parenthesis.', {
269-
index: this.currToken[6],
269+
index: this.currToken[5],
270270
});
271271
}
272272
}
@@ -289,26 +289,26 @@ export default class Parser {
289289
this.newNode(new Pseudo({
290290
value: pseudoStr,
291291
source: getSource(
292+
startingToken[1],
292293
startingToken[2],
293-
startingToken[3],
294-
this.currToken[4],
295-
this.currToken[5]
294+
this.currToken[3],
295+
this.currToken[4]
296296
),
297-
sourceIndex: startingToken[6],
297+
sourceIndex: startingToken[5],
298298
}));
299299
if (
300300
length > 1 &&
301301
this.nextToken &&
302302
this.nextToken[0] === tokens.openParenthesis
303303
) {
304304
this.error('Misplaced parenthesis.', {
305-
index: this.nextToken[6],
305+
index: this.nextToken[5],
306306
});
307307
}
308308
});
309309
} else {
310310
this.error('Expected a pseudo-class or pseudo-element.', {
311-
index: this.currToken[6],
311+
index: this.currToken[5],
312312
});
313313
}
314314
}
@@ -340,12 +340,12 @@ export default class Parser {
340340
this.newNode(new Str({
341341
value: this.content(),
342342
source: getSource(
343+
current[1],
343344
current[2],
344345
current[3],
345-
current[4],
346-
current[5]
346+
current[4]
347347
),
348-
sourceIndex: current[6],
348+
sourceIndex: current[5],
349349
}));
350350
this.position ++;
351351
}
@@ -360,12 +360,12 @@ export default class Parser {
360360
this.newNode(new Universal({
361361
value: this.content(),
362362
source: getSource(
363+
current[1],
363364
current[2],
364365
current[3],
365-
current[4],
366-
current[5]
366+
current[4]
367367
),
368-
sourceIndex: current[6],
368+
sourceIndex: current[5],
369369
}), namespace);
370370
this.position ++;
371371
}
@@ -402,12 +402,12 @@ export default class Parser {
402402
}
403403
let node;
404404
const current = this.currToken;
405-
const sourceIndex = current[6] + indices[i];
405+
const sourceIndex = current[5] + indices[i];
406406
const source = getSource(
407-
current[2],
408-
current[3] + ind,
409-
current[4],
410-
current[3] + (index - 1)
407+
current[1],
408+
current[2] + ind,
409+
current[3],
410+
current[2] + (index - 1)
411411
);
412412
if (~hasClass.indexOf(ind)) {
413413
node = new ClassName({
@@ -552,7 +552,7 @@ export default class Parser {
552552
}
553553

554554
content (token = this.currToken) {
555-
return this.css.slice(token[6], token[7]);
555+
return this.css.slice(token[5], token[6]);
556556
}
557557

558558
get currToken () {

src/tokenize.js

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -200,13 +200,12 @@ export default function tokenize (input) {
200200
// Ensure that the token structure remains consistent
201201
tokens.push([
202202
tokenType, // [0] Token type
203-
css.slice(start, end), // [1] Token contents
204-
line, // [2] Starting line
205-
start - offset, // [3] Starting column
206-
endLine, // [4] Ending line
207-
endColumn, // [5] Ending column
208-
start, // [6] Start position / Source index
209-
end, // [7] End position
203+
line, // [1] Starting line
204+
start - offset, // [2] Starting column
205+
endLine, // [3] Ending line
206+
endColumn, // [4] Ending column
207+
start, // [5] Start position / Source index
208+
end, // [6] End position
210209
]);
211210

212211
// Reset offset for the next token

0 commit comments

Comments
 (0)