File size: 508 Bytes
3459571
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import { CoreRoutes } from '../../../types/api'
import { RequestAdapter } from './adapter'

export type Handler = (route: string, args: any) => any

export class RequestHandler {
  handler: Handler
  adapter: RequestAdapter

  constructor(handler: Handler, observer?: Function) {
    this.handler = handler
    this.adapter = new RequestAdapter(observer)
  }

  handle() {
    CoreRoutes.map((route) => {
      this.handler(route, async (...args: any[]) => this.adapter.process(route, ...args))
    })
  }
}