UNPKG

835 BJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.default = findExtendRule;
7var extendRuleKeyWords = ['&', ':', 'extend'];
8var extendRuleKeyWordsCount = extendRuleKeyWords.length;
9
10function findExtendRule(tokens) {
11 var start = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
12
13 var stack = [];
14 var len = tokens.length;
15 var end = start;
16
17 while (end < len) {
18 var token = tokens[end];
19
20 if (extendRuleKeyWords.indexOf(token[1]) >= 0) {
21 stack.push(token[1]);
22 } else if (token[0] !== 'space') {
23 break;
24 }
25
26 end++;
27 }
28
29 for (var index = 0; index < extendRuleKeyWordsCount; index++) {
30 if (stack[index] !== extendRuleKeyWords[index]) {
31 return null;
32 }
33 }
34
35 return tokens.slice(start, end);
36}
37module.exports = exports['default'];
\No newline at end of file