Passed
Push — depfu/update/npm/lodash-4.17.1... ( 152c97 )
by
unknown
04:58
created

src/app/data/savefile-expanded/util/bitArray.ts   A

Complexity

Total Complexity 4
Complexity/F 2

Size

Lines of Code 52
Function Count 2

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 41
dl 0
loc 52
rs 10
c 0
b 0
f 0
wmc 4
mnd 2
bc 2
fnc 2
bpm 1
cpm 2
noi 0

2 Functions

Rating   Name   Duplication   Size   Complexity  
A bitArray.ts ➔ fromBitArray 0 23 2
A bitArray.ts ➔ toBitArray 0 24 2
1
import { SaveFileService } from './../../savefile.service';
2
import { SaveFileIterator } from '../SaveFileIterator';
3
4
export function toBitArray(
5
    saveFile: SaveFileService,
6
    offset: number,
7
    byteSize: number,
8
    toArr: Array<boolean>
9
): SaveFileIterator {
10
    const it = saveFile.iterator.offsetTo(offset);
11
    for (let i = 0; i < byteSize; i++) {
12
        // Push bits in order of this byte
13
        toArr.push(it.getBit(1, 0));
14
        toArr.push(it.getBit(1, 1));
15
        toArr.push(it.getBit(1, 2));
16
        toArr.push(it.getBit(1, 3));
17
        toArr.push(it.getBit(1, 4));
18
        toArr.push(it.getBit(1, 5));
19
        toArr.push(it.getBit(1, 6));
20
        toArr.push(it.getBit(1, 7));
21
22
        // Increment iterator
23
        it.inc();
24
    }
25
26
    return it;
27
}
28
29
export function fromBitArray(
30
    saveFile: SaveFileService,
31
    offset: number,
32
    byteSize: number,
33
    fromArr: Array<boolean>
34
): SaveFileIterator {
35
    const it = saveFile.iterator.offsetTo(offset);
36
    for (let i = 0; i < byteSize * 8; i += 8) {
37
        it.setBit(1, 0, fromArr[i + 0]);
38
        it.setBit(1, 1, fromArr[i + 1]);
39
        it.setBit(1, 2, fromArr[i + 2]);
40
        it.setBit(1, 3, fromArr[i + 3]);
41
        it.setBit(1, 4, fromArr[i + 4]);
42
        it.setBit(1, 5, fromArr[i + 5]);
43
        it.setBit(1, 6, fromArr[i + 6]);
44
        it.setBit(1, 7, fromArr[i + 7]);
45
46
        // Increment iterator
47
        it.inc();
48
    }
49
50
    return it;
51
}
52