Completed
Push — master ( 61d444...b3f358 )
by Jan
16s queued 14s
created

src/frames/frame-wxxx.ts   A

Complexity

Total Complexity 1
Complexity/F 0

Size

Lines of Code 28
Function Count 0

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
wmc 1
eloc 19
mnd 1
bc 1
fnc 0
dl 0
loc 28
rs 10
bpm 0
cpm 0
noi 0
c 0
b 0
f 0
1
import { FrameBuilder } from "../FrameBuilder"
2
import { FrameReader } from "../FrameReader"
3
import type { Data } from "./type"
4
5
export const WXXX = {
6
    create: (data: Data) => {
7
        if(!(data instanceof Array)) {
8
            data = [data]
9
        }
10
11
        return Buffer.concat(data.map((udu: Data) => {
12
            return new FrameBuilder("WXXX")
13
                .appendNumber(0x01, 1)
14
                .appendNullTerminatedValue(udu.description, 0x01)
15
                .appendValue(udu.url, null)
16
                .getBuffer()
17
        }))
18
    },
19
    read: (buffer: Buffer) => {
20
        const reader = new FrameReader(buffer, 0)
21
22
        return {
23
            description: reader.consumeNullTerminatedValue('string'),
24
            url: reader.consumeStaticValue('string', null, 0x00)
25
        }
26
    }
27
}
28