| 1 |
const fs = require('fs')
|
1✔ |
| 2 |
const path = require('path')
|
1✔ |
| 3 |
|
|
| 4 |
const getLocFromIndex = (text, index) => {
|
1✔ |
|
UNCOV
5
|
let line = 1
|
× |
|
UNCOV
6
|
let column = 0
|
× |
|
UNCOV
7
|
let i = 0
|
× |
|
UNCOV
8
|
while (i < index) {
|
× |
|
UNCOV
9
|
if (text[i] === '\n') { |
|
|
UNCOV
10
|
line++ |
× |
|
UNCOV
11
|
column = 0
|
× |
| 12 |
} else {
|
|
|
UNCOV
13
|
column++ |
× |
| 14 |
} |
|
|
UNCOV
15
|
i++ |
× |
| 16 |
} |
|
| 17 |
|
|
|
UNCOV
18
|
return { line, column }
|
× |
| 19 |
} |
|
| 20 |
|
|
| 21 |
const walkSync = (dir, filelist = []) => {
|
|
| 22 |
fs.readdirSync(dir).forEach(file => {
|
24✔ |
| 23 |
filelist = fs.statSync(path.join(dir, file)).isDirectory() |
|
| 24 |
? walkSync(path.join(dir, file), filelist) |
|
| 25 |
: filelist.concat(path.join(dir, file)) |
|
| 26 |
}) |
|
| 27 |
return filelist
|
24✔ |
| 28 |
} |
|
| 29 |
|
|
| 30 |
module.exports = {
|
1✔ |
| 31 |
getLocFromIndex, |
|
| 32 |
walkSync |
|
| 33 |
} |