UNPKG

1.21 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.default = lessTokenize;
7
8var _globals = require('./tokenizer/globals');
9
10var _tokenizeSymbol = require('./tokenizer/tokenize-symbol');
11
12var _tokenizeSymbol2 = _interopRequireDefault(_tokenizeSymbol);
13
14function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
16function lessTokenize(input) {
17 var state = {
18 input: input,
19 tokens: [],
20 css: input.css.valueOf(),
21 offset: -1,
22 line: 1,
23 pos: 0
24 };
25
26 state.length = state.css.length;
27
28 while (state.pos < state.length) {
29 state.symbolCode = state.css.charCodeAt(state.pos);
30 state.symbol = state.css[state.pos];
31 state.nextPos = null;
32 state.escaped = null;
33 state.lines = null;
34 state.lastLine = null;
35 state.cssPart = null;
36 state.escape = null;
37 state.nextLine = null;
38 state.nextOffset = null;
39 state.escapePos = null;
40 state.token = null;
41
42 if (state.symbolCode === _globals.newline) {
43 state.offset = state.pos;
44 state.line += 1;
45 }
46
47 (0, _tokenizeSymbol2.default)(state);
48
49 state.pos++;
50 }
51
52 return state.tokens;
53}
54module.exports = exports['default'];
\No newline at end of file