|
1 | 1 | import type { RpcArgsSchema, RpcFunctionDefinition, RpcFunctionsCollector, RpcReturnSchema } from './types' |
| 2 | +import { ensureAgentJsonSerializable } from './agent-json-serialization' |
2 | 3 | import { diagnostics } from './diagnostics' |
3 | 4 | import { getRpcHandler } from './handler' |
4 | 5 |
|
@@ -39,20 +40,20 @@ export class RpcFunctionsCollectorBase< |
39 | 40 | }) as LocalFunctions |
40 | 41 | } |
41 | 42 |
|
42 | | - register(fn: RpcFunctionDefinition<string, any, any, any, any, any, SetupContext>, force = false): void { |
43 | | - if (this.definitions.has(fn.name) && !force) { |
44 | | - throw diagnostics.DF0021({ name: fn.name }) |
| 43 | + register(fnDef: RpcFunctionDefinition<string, any, any, any, any, any, SetupContext>, force = false): void { |
| 44 | + if (this.definitions.has(fnDef.name) && !force) { |
| 45 | + throw diagnostics.DF0021({ name: fnDef.name }) |
45 | 46 | } |
46 | | - assertAgentJsonSerializable(fn) |
47 | | - this.definitions.set(fn.name, fn) |
48 | | - this._onChanged.forEach(cb => cb(fn.name)) |
| 47 | + ensureAgentJsonSerializable(fnDef) |
| 48 | + this.definitions.set(fnDef.name, fnDef) |
| 49 | + this._onChanged.forEach(cb => cb(fnDef.name)) |
49 | 50 | } |
50 | 51 |
|
51 | 52 | update(fn: RpcFunctionDefinition<string, any, any, any, any, any, SetupContext>, force = false): void { |
52 | 53 | if (!this.definitions.has(fn.name) && !force) { |
53 | 54 | throw diagnostics.DF0022({ name: fn.name }) |
54 | 55 | } |
55 | | - assertAgentJsonSerializable(fn) |
| 56 | + ensureAgentJsonSerializable(fn) |
56 | 57 | this.definitions.set(fn.name, fn) |
57 | 58 | this._onChanged.forEach(cb => cb(fn.name)) |
58 | 59 | } |
@@ -93,10 +94,3 @@ export class RpcFunctionsCollectorBase< |
93 | 94 | return Array.from(this.definitions.keys()) |
94 | 95 | } |
95 | 96 | } |
96 | | - |
97 | | -function assertAgentJsonSerializable( |
98 | | - fn: RpcFunctionDefinition<string, any, any, any, any, any, any>, |
99 | | -): void { |
100 | | - if (fn.agent && fn.jsonSerializable !== true) |
101 | | - throw diagnostics.DF0019({ name: fn.name }) |
102 | | -} |
0 commit comments