-
Notifications
You must be signed in to change notification settings - Fork 116
/
index.ts
56 lines (43 loc) · 937 Bytes
/
index.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
/*
* Created on Sun Jan 17 2021
*
* Copyright (c) storycraft. Licensed under the MIT Licence.
*/
export * as booking from './booking';
export * from './bson-data-codec';
export * as chat from './chat';
export * as checkin from './checkin';
export * as struct from './struct';
export interface LocoPacket {
/**
* Packet header
*/
header: LocoPacketHeader;
/**
* [dataType, data buffer]
*/
data: [number, Uint8Array];
}
export interface LocoPacketHeader {
id: number;
status: number;
method: string;
}
export interface LocoPacketDataCodec<T, R = T> {
/**
* @param dataType
*
* @returns true if codec can decode data with supplied type.
*/
canDecode(dataType: number): boolean;
/**
* Decode packet data buffer to data
* @param data
*/
decode(data: Uint8Array): R;
/**
* Encode data to packet data
* @param data
*/
encode(data: T): [number, Uint8Array];
}