From 27407d5387b832b8e74044c2b771eba0d71250bb Mon Sep 17 00:00:00 2001 From: Tau Date: Sun, 28 Apr 2019 19:52:44 -0400 Subject: [PATCH] aimedb: Enhance typing --- src/aimedb/index.ts | 4 +++- src/aimedb/pipeline.ts | 12 +++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/aimedb/index.ts b/src/aimedb/index.ts index a83cef9..83af27c 100644 --- a/src/aimedb/index.ts +++ b/src/aimedb/index.ts @@ -1,8 +1,10 @@ +import { Socket } from "net"; + import { dispatch } from "./handler"; import { AimeRequest } from "./request"; import { setup } from "./pipeline"; -export default async function aimedb(socket) { +export default async function aimedb(socket: Socket) { console.log("Aimedb: Connection opened"); const { input, output } = setup(socket); diff --git a/src/aimedb/pipeline.ts b/src/aimedb/pipeline.ts index b460924..7810450 100644 --- a/src/aimedb/pipeline.ts +++ b/src/aimedb/pipeline.ts @@ -1,13 +1,23 @@ import * as crypto from "crypto"; +import { Socket } from "net"; import { pipeline } from "stream"; import { Decoder } from "./decoder"; import { Deframer } from "./frame"; import { Encoder } from "./encoder"; +import { AimeRequest } from "./request"; +import { AimeResponse } from "./response"; const K = Buffer.from("Copyright(C)SEGA", "utf8"); -export function setup(socket) { +export interface Session { + input: AsyncIterable; + output: { + write(res: AimeResponse): void; + }; +} + +export function setup(socket: Socket): Session { const input = pipeline( socket, crypto.createDecipheriv("aes-128-ecb", K, null).setAutoPadding(false),