Skip to content

Commit 242dd78

Browse files
committed
fix: adjust codec exports to make TS defn's more correct
Fixes: #116
1 parent cfb9830 commit 242dd78

File tree

2 files changed

+27
-19
lines changed

2 files changed

+27
-19
lines changed

src/codecs/json.js

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,23 @@
11
// @ts-check
22

33
/**
4-
* @template {number} Code
54
* @template T
6-
* @typedef {import('./interface').BlockCodec<Code, T>} BlockCodec
5+
* @typedef {import('./interface').ByteView<T>} ByteView
76
*/
87

8+
export const name = 'json'
9+
export const code = 0x0200
10+
11+
/**
12+
* @template T
13+
* @param {T} node
14+
* @returns {ByteView<T>}
15+
*/
16+
export const encode = (node) => new TextEncoder().encode(JSON.stringify(node))
17+
918
/**
1019
* @template T
11-
* @type {BlockCodec<0x0200, T>}
20+
* @param {ByteView<T>} data
21+
* @returns {T}
1222
*/
13-
export const { name, code, encode, decode } = {
14-
name: 'json',
15-
code: 0x0200,
16-
encode: json => new TextEncoder().encode(JSON.stringify(json)),
17-
decode: bytes => JSON.parse(new TextDecoder().decode(bytes))
18-
}
23+
export const decode = (data) => JSON.parse(new TextDecoder().decode(data))

src/codecs/raw.js

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,8 @@
33
import { coerce } from '../bytes.js'
44

55
/**
6-
* @template {number} Code
76
* @template T
8-
* @typedef {import('./interface').BlockCodec<Code, T>} BlockCodec
7+
* @typedef {import('./interface').ByteView<T>} ByteView
98
*/
109

1110
/**
@@ -14,13 +13,17 @@ import { coerce } from '../bytes.js'
1413
*/
1514
const raw = (bytes) => coerce(bytes)
1615

16+
export const name = 'raw'
17+
export const code = 0x55
18+
1719
/**
18-
* @template T
19-
* @type {BlockCodec<0x55, Uint8Array>}
20+
* @param {Uint8Array} node
21+
* @returns {ByteView<Uint8Array>}
22+
*/
23+
export const encode = (node) => raw(node)
24+
25+
/**
26+
* @param {ByteView<Uint8Array>} data
27+
* @returns {Uint8Array}
2028
*/
21-
export const { name, code, encode, decode } = {
22-
name: 'raw',
23-
code: 0x55,
24-
decode: raw,
25-
encode: raw
26-
}
29+
export const decode = (data) => raw(data)

0 commit comments

Comments
 (0)