LasTres/js-src/input-packet.ts

21 lines
484 B
TypeScript

interface InputPacketJSONDecoded {
command: string
data: any
}
type onReceiveCallback = (data: any) => void
export default abstract class InputPacket {
onreceive: onReceiveCallback | null = null
onReceive (callback: onReceiveCallback): void {
this.onreceive = callback
}
abstract identifier (): string
recv (packet: InputPacketJSONDecoded): void {
if (this.onreceive !== null) {
this.onreceive(packet.data)
}
}
}