Passed
Push — master ( 117406...d21d52 )
by Rafael S.
01:41
created

src/wavefile-header.js   A

Size

Lines of Code 74

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

Changes 3
Bugs 1 Features 0
Metric Value
c 3
b 1
f 0
nc 1
dl 0
loc 74
rs 10
noi 0

1 Function

Rating   Name   Duplication   Size   Complexity  
A wavefile-header.js ➔ ??? 0 69 1
1
/*
2
 * WaveFileHeader class
3
 * A structure representing a WAVE file header.
4
 * Copyright (c) 2017-2018 Rafael da Silva Rocha.
5
 * https://github.com/rochars/wavefile
6
 *
7
 */
8
9
/**
10
 * Wave file headers.
11
 */
12
class WaveFileHeader {
13
14
    constructor() {
15
        /**
16
         * "RIFF"
17
         * @type {string}
18
         */
19
        this.chunkId = "";
20
        /** @type {number} */
21
        this.chunkSize = 0;
22
        /**
23
         * "WAVE"
24
         * @type {string}
25
         */
26
        this.format = "";
27
        /**
28
         * "fmt "
29
         * @type {string}
30
         */
31
        this.fmtChunkId = "";
32
        /** @type {number} */
33
        this.fmtChunkSize = 0;
34
        /** @type {number} */
35
        this.audioFormat = 0;
36
        /** @type {number} */
37
        this.numChannels = 0;
38
        /** @type {number} */
39
        this.sampleRate = 0;
40
        /** @type {number} */
41
        this.byteRate = 0;
42
        /** @type {number} */
43
        this.blockAlign = 0;
44
        /** @type {number} */
45
        this.bitsPerSample = 0;
46
47
        /** @type {number} */
48
        this.cbSize = 0;
49
50
        /** @type {number} */
51
        this.validBitsPerSample = 0;
52
53
        /**
54
         * "fact" 
55
         * @type {string} 
56
         */
57
        this.factChunkId = "";
58
        /** @type {number} */
59
        this.factChunkSize = 0;
60
        /** @type {!Array<number>} */
61
        this.factChunkData = [];
62
        /** @type {number} */
63
        this.dwSampleLength = 0;
64
65
        /**
66
         * "cue "
67
         * @type {string}
68
         */
69
        this.cueChunkId = "";
70
        /** @type {number} */
71
        this.cueChunkSize = -1;
72
        /** @type {!Array<number>} */
73
        this.cueChunkData = [];
74
75
        /**
76
         * "data"
77
         * @type {string}
78
         */
79
        this.dataChunkId = "";
80
        /** @type {number} */
81
        this.dataChunkSize = 0;
82
    }
83
}
84
85
module.exports = WaveFileHeader;
86