From 84e5417a8c1cfb87e60af5d30acb79bdf9bd9408 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=89=8B=E7=93=9C=E4=B8=80=E5=8D=81=E9=9B=AA?= Date: Sat, 10 Aug 2024 17:11:04 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E7=AE=A1=E7=90=86=E7=BD=91=E7=BB=9C?= =?UTF-8?q?=E9=80=82=E9=85=8D=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/onebot/network/index.ts | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/onebot/network/index.ts b/src/onebot/network/index.ts index 7be3116f..b50a9e5d 100644 --- a/src/onebot/network/index.ts +++ b/src/onebot/network/index.ts @@ -8,12 +8,20 @@ export interface IOB11NetworkAdapter { close(): void | Promise; } export class OB11NetworkManager { - private adapters: IOB11NetworkAdapter[] = []; + adapters: IOB11NetworkAdapter[] = []; - registerAdapter(adapter: IOB11NetworkAdapter) { - this.adapters.push(adapter); + async getAllAdapters() { + return this.adapters; } - async closeAll() { + async registerAdapter(adapter: IOB11NetworkAdapter) { + return this.adapters.push(adapter); + } + async closeSomeAdapters(adapters: IOB11NetworkAdapter[]) { + this.adapters = this.adapters.filter(adapter => !adapters.includes(adapter)); + await Promise.all(adapters.map(adapter => adapter.close())); + } + async closeAllAdapters() { + this.adapters = []; await Promise.all(this.adapters.map(adapter => adapter.close())); } }