upd core
- typed client inner rpc - better type organization
Цей коміт міститься в:
1 джерело
9fe9bad840
коміт
3bbf1e2209
8 files changed
+76
-44
No files matched your search
@@ -1,29 +1,29 @@
|
||||
import { Rpc } from '@entityseven/rage-fw-rpc'
|
||||
|
||||
import { rpc } from './rpc'
|
||||
import type * as T from '../types'
|
||||
|
||||
export class Client {
|
||||
private _rpc: Rpc = new Rpc()
|
||||
|
||||
get rpc(): Rpc {
|
||||
return this._rpc
|
||||
}
|
||||
|
||||
public register<EventName extends T.RageFW_ClientEvent>(
|
||||
eventName: EventName,
|
||||
callback: T.RageFW_ClientCallback<EventName>,
|
||||
): void {
|
||||
this._rpc.register(
|
||||
eventName,
|
||||
async (data: T.RageFW_ClientArgs<EventName>) => {
|
||||
return await callback(data)
|
||||
},
|
||||
)
|
||||
): Client {
|
||||
rpc.register<
|
||||
Parameters<typeof callback>,
|
||||
ReturnType<typeof callback>,
|
||||
EventName
|
||||
>(eventName, async (...data) => await callback(...data))
|
||||
|
||||
return this
|
||||
}
|
||||
|
||||
public unregister<EventName extends T.RageFW_ClientEvent>(
|
||||
eventName: EventName,
|
||||
): void {
|
||||
this._rpc.unregister(eventName)
|
||||
): Client {
|
||||
rpc.unregister(eventName)
|
||||
|
||||
return this
|
||||
}
|
||||
}
|
||||
|
||||
// new Client()
|
||||
// .register('customClientEvent', async (a, b) => true)
|
||||
// .unregister('customClientEvent')
|
||||
Reference in new issue
Заблокувати користувача