+1
-1
@@ -119,3 +119,3 @@ 'use strict'; | ||
| let result, error; | ||
| const fn = resolver ? resolver(method, functions[method]) : functions[method]; | ||
| const fn = await (resolver ? resolver(method, functions[method]) : functions[method]); | ||
| if (!fn) { | ||
@@ -122,0 +122,0 @@ error = new Error(`[birpc] function "${method}" not found`); |
+3
-2
| type ArgumentsType<T> = T extends (...args: infer A) => any ? A : never; | ||
| type ReturnType<T> = T extends (...args: any) => infer R ? R : never; | ||
| type PromisifyFn<T> = ReturnType<T> extends Promise<any> ? T : (...args: ArgumentsType<T>) => Promise<Awaited<ReturnType<T>>>; | ||
| type BirpcResolver = (name: string, resolved: (...args: unknown[]) => unknown) => ((...args: unknown[]) => unknown) | undefined; | ||
| type Thenable<T> = T | PromiseLike<T>; | ||
| type BirpcResolver = (name: string, resolved: (...args: unknown[]) => unknown) => Thenable<((...args: unknown[]) => unknown) | undefined>; | ||
| interface ChannelOptions { | ||
@@ -124,2 +125,2 @@ /** | ||
| export { type ArgumentsType, type BirpcFn, type BirpcGroup, type BirpcGroupFn, type BirpcGroupReturn, type BirpcOptions, type BirpcResolver, type BirpcReturn, type ChannelOptions, DEFAULT_TIMEOUT, type EventOptions, type PromisifyFn, type ReturnType, cachedMap, createBirpc, createBirpcGroup }; | ||
| export { type ArgumentsType, type BirpcFn, type BirpcGroup, type BirpcGroupFn, type BirpcGroupReturn, type BirpcOptions, type BirpcResolver, type BirpcReturn, type ChannelOptions, DEFAULT_TIMEOUT, type EventOptions, type PromisifyFn, type ReturnType, type Thenable, cachedMap, createBirpc, createBirpcGroup }; |
+3
-2
| type ArgumentsType<T> = T extends (...args: infer A) => any ? A : never; | ||
| type ReturnType<T> = T extends (...args: any) => infer R ? R : never; | ||
| type PromisifyFn<T> = ReturnType<T> extends Promise<any> ? T : (...args: ArgumentsType<T>) => Promise<Awaited<ReturnType<T>>>; | ||
| type BirpcResolver = (name: string, resolved: (...args: unknown[]) => unknown) => ((...args: unknown[]) => unknown) | undefined; | ||
| type Thenable<T> = T | PromiseLike<T>; | ||
| type BirpcResolver = (name: string, resolved: (...args: unknown[]) => unknown) => Thenable<((...args: unknown[]) => unknown) | undefined>; | ||
| interface ChannelOptions { | ||
@@ -124,2 +125,2 @@ /** | ||
| export { type ArgumentsType, type BirpcFn, type BirpcGroup, type BirpcGroupFn, type BirpcGroupReturn, type BirpcOptions, type BirpcResolver, type BirpcReturn, type ChannelOptions, DEFAULT_TIMEOUT, type EventOptions, type PromisifyFn, type ReturnType, cachedMap, createBirpc, createBirpcGroup }; | ||
| export { type ArgumentsType, type BirpcFn, type BirpcGroup, type BirpcGroupFn, type BirpcGroupReturn, type BirpcOptions, type BirpcResolver, type BirpcReturn, type ChannelOptions, DEFAULT_TIMEOUT, type EventOptions, type PromisifyFn, type ReturnType, type Thenable, cachedMap, createBirpc, createBirpcGroup }; |
+3
-2
| type ArgumentsType<T> = T extends (...args: infer A) => any ? A : never; | ||
| type ReturnType<T> = T extends (...args: any) => infer R ? R : never; | ||
| type PromisifyFn<T> = ReturnType<T> extends Promise<any> ? T : (...args: ArgumentsType<T>) => Promise<Awaited<ReturnType<T>>>; | ||
| type BirpcResolver = (name: string, resolved: (...args: unknown[]) => unknown) => ((...args: unknown[]) => unknown) | undefined; | ||
| type Thenable<T> = T | PromiseLike<T>; | ||
| type BirpcResolver = (name: string, resolved: (...args: unknown[]) => unknown) => Thenable<((...args: unknown[]) => unknown) | undefined>; | ||
| interface ChannelOptions { | ||
@@ -124,2 +125,2 @@ /** | ||
| export { type ArgumentsType, type BirpcFn, type BirpcGroup, type BirpcGroupFn, type BirpcGroupReturn, type BirpcOptions, type BirpcResolver, type BirpcReturn, type ChannelOptions, DEFAULT_TIMEOUT, type EventOptions, type PromisifyFn, type ReturnType, cachedMap, createBirpc, createBirpcGroup }; | ||
| export { type ArgumentsType, type BirpcFn, type BirpcGroup, type BirpcGroupFn, type BirpcGroupReturn, type BirpcOptions, type BirpcResolver, type BirpcReturn, type ChannelOptions, DEFAULT_TIMEOUT, type EventOptions, type PromisifyFn, type ReturnType, type Thenable, cachedMap, createBirpc, createBirpcGroup }; |
+1
-1
@@ -117,3 +117,3 @@ const TYPE_REQUEST = "q"; | ||
| let result, error; | ||
| const fn = resolver ? resolver(method, functions[method]) : functions[method]; | ||
| const fn = await (resolver ? resolver(method, functions[method]) : functions[method]); | ||
| if (!fn) { | ||
@@ -120,0 +120,0 @@ error = new Error(`[birpc] function "${method}" not found`); |
+1
-1
| { | ||
| "name": "birpc", | ||
| "type": "module", | ||
| "version": "2.5.0", | ||
| "version": "2.6.0", | ||
| "description": "Message based Two-way remote procedure call", | ||
@@ -6,0 +6,0 @@ "author": "Anthony Fu <anthonyfu117@hotmail.com>", |
+1
-1
@@ -37,3 +37,3 @@ # birpc | ||
| post: data => ws.send(data), | ||
| on: data => ws.on('message', data), | ||
| on: fn => ws.on('message', fn), | ||
| // these are required when using WebSocket | ||
@@ -40,0 +40,0 @@ serialize: v => JSON.stringify(v), |
34890
0.59%574
0.17%