From ae871b6fbcf890b29e147c59e0bf9ecae5795c64 Mon Sep 17 00:00:00 2001 From: tikkhun Date: Thu, 1 Aug 2024 15:47:20 +0800 Subject: [PATCH] chore(requestable): rr --- packages/requestable/lib/RR.ts | 41 +++++++++++++++++++++++++++++++ packages/requestable/lib/index.ts | 1 + 2 files changed, 42 insertions(+) create mode 100644 packages/requestable/lib/RR.ts diff --git a/packages/requestable/lib/RR.ts b/packages/requestable/lib/RR.ts new file mode 100644 index 0000000..3dc46d3 --- /dev/null +++ b/packages/requestable/lib/RR.ts @@ -0,0 +1,41 @@ +/** + * @author + * @file RR.ts + * @fileBase RR + * @path packages\requestable\lib\RR.ts + * @from + * @desc 有时候想要进行双向的请求响应通信 + * @todo + * + * + * @done + * @example + */ + +import { Emitter, Message } from './common'; +import { Requestable, RequestableOptions, RequestOptions } from './Requestable'; +import { Handler, Responsive, ResponsiveOptions } from './Responsive'; + +export interface RROptions { + emitter: Emitter | null; + requestableOptions?: Partial; + responsiveOptions?: Partial; +} +export class RR { + requestable: Requestable; + responsive: Responsive; + constructor(options?: Partial) { + this.requestable = new Requestable({ emitter: options?.emitter, ...options?.requestableOptions }); + this.responsive = new Responsive({ emitter: options?.emitter, ...options?.responsiveOptions }); + } + init() { + this.responsive.init(); + this.requestable.init(); + } + async request(options: RequestOptions): Promise { + return this.requestable.request(options); + } + addRoute(url: string, handler: Handler) { + return this.responsive.addRoute(url, handler); + } +} diff --git a/packages/requestable/lib/index.ts b/packages/requestable/lib/index.ts index fa571dc..29497ba 100644 --- a/packages/requestable/lib/index.ts +++ b/packages/requestable/lib/index.ts @@ -1,3 +1,4 @@ export * from './Requestable'; export * from './Responsive'; export * from './common'; +export * from './RR';