From 480fdf23e85ad954bc2218138c57e963a10d17dd Mon Sep 17 00:00:00 2001 From: Derrick Hammer Date: Wed, 28 Jun 2023 00:32:39 -0400 Subject: [PATCH] fix: add factory back in --- src/module/client.ts | 11 +++++++++++ src/module/index.ts | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/module/client.ts b/src/module/client.ts index f58ca40..4d68239 100644 --- a/src/module/client.ts +++ b/src/module/client.ts @@ -61,3 +61,14 @@ export abstract class Client extends EventEmitter { return ret[0]; } } + +type ClientConstructor = new (module: string, ...args: any[]) => U; + +export const factory = function ( + type: ClientConstructor, + module: string, +) { + return function (...args: any): T { + return new type(module, ...args); + }; +}; diff --git a/src/module/index.ts b/src/module/index.ts index 61d9256..445b755 100644 --- a/src/module/index.ts +++ b/src/module/index.ts @@ -3,4 +3,4 @@ export { ActiveQuery, addHandler, handleMessage } from "./messages.js"; export { callModule, connectModule, newKernelQuery } from "./queries.js"; export { getDataFromKernel, getKey } from "./key.js"; export { moduleQuery, presentKeyData } from "./types.js"; -export { Client } from "./client.js"; +export { Client, factory } from "./client.js";