idz: Dispatch on declared protocol version

This commit is contained in:
Tau
2021-02-03 23:43:39 +00:00
committed by Tau
parent 93db3831be
commit 44cd74ea86
32 changed files with 274 additions and 328 deletions
+3 -22
View File
@@ -1,25 +1,6 @@
import {
SaveExpeditionResponse,
SaveExpeditionResponse1,
SaveExpeditionResponse2,
} from "../response/saveExpedition";
import { SaveExpeditionResponse } from "../response/saveExpedition";
export function saveExpedition(res: SaveExpeditionResponse): Buffer {
switch (res.format) {
case 1:
return saveExpedition1(res);
case 2:
return saveExpedition2(res);
default:
const exhaust: never = res;
throw new Error(`Unsupported data format ${res["format"]}`);
}
}
function saveExpedition1(res: SaveExpeditionResponse1): Buffer {
export function saveExpedition1(res: SaveExpeditionResponse): Buffer {
// in awe of the size of this lad
const buf = Buffer.alloc(0x17c0);
@@ -28,7 +9,7 @@ function saveExpedition1(res: SaveExpeditionResponse1): Buffer {
return buf;
}
function saveExpedition2(res: SaveExpeditionResponse2): Buffer {
export function saveExpedition2(res: SaveExpeditionResponse): Buffer {
// absolute unit
const buf = Buffer.alloc(0x18ac);