.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / postcss-value-parser / lib / unit.js
1 var minus = "-".charCodeAt(0);
2 var plus = "+".charCodeAt(0);
3 var dot = ".".charCodeAt(0);
4 var exp = "e".charCodeAt(0);
5 var EXP = "E".charCodeAt(0);
6
7 module.exports = function(value) {
8   var pos = 0;
9   var length = value.length;
10   var dotted = false;
11   var sciPos = -1;
12   var containsNumber = false;
13   var code;
14
15   while (pos < length) {
16     code = value.charCodeAt(pos);
17
18     if (code >= 48 && code <= 57) {
19       containsNumber = true;
20     } else if (code === exp || code === EXP) {
21       if (sciPos > -1) {
22         break;
23       }
24       sciPos = pos;
25     } else if (code === dot) {
26       if (dotted) {
27         break;
28       }
29       dotted = true;
30     } else if (code === plus || code === minus) {
31       if (pos !== 0) {
32         break;
33       }
34     } else {
35       break;
36     }
37
38     pos += 1;
39   }
40
41   if (sciPos + 1 === pos) pos--;
42
43   return containsNumber
44     ? {
45         number: value.slice(0, pos),
46         unit: value.slice(pos)
47       }
48     : false;
49 };