src/frames/frame-ufid.ts   A
last analyzed

Complexity

Total Complexity 1
Complexity/F 0

Size

Lines of Code 23
Function Count 0

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
wmc 1
eloc 15
mnd 1
bc 1
fnc 0
dl 0
loc 23
bpm 0
cpm 0
noi 0
c 0
b 0
f 0
rs 10
1
import { FrameBuilder } from "../FrameBuilder"
2
import { FrameReader } from "../FrameReader"
3
import { UniqueFileIdentifier } from "../types/TagFrames"
4
5
export const UFID = {
6
    create: (ufid: UniqueFileIdentifier): Buffer => {
7
        return new FrameBuilder("UFID")
8
            .appendTerminatedText(ufid.ownerIdentifier)
9
            .appendBuffer(
10
                ufid.identifier instanceof Buffer ?
11
                ufid.identifier : Buffer.from(ufid.identifier, "utf8")
12
            )
13
            .getBufferWithPartialHeader()
14
    },
15
    read: (buffer: Buffer): UniqueFileIdentifier => {
16
        const reader = new FrameReader(buffer)
17
        return {
18
            ownerIdentifier: reader.consumeTerminatedText(),
19
            identifier: reader.consumePossiblyEmptyBuffer()
20
        }
21
    }
22
}
23