diff options
Diffstat (limited to 'cli/js/net.ts')
-rw-r--r-- | cli/js/net.ts | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/cli/js/net.ts b/cli/js/net.ts index ccc5bf89e..3771a1323 100644 --- a/cli/js/net.ts +++ b/cli/js/net.ts @@ -206,8 +206,6 @@ export interface ListenOptions { transport?: Transport; } -const listenDefaults = { hostname: "0.0.0.0", transport: "tcp" }; - /** Listen announces on the local transport address. * * @param options @@ -229,11 +227,14 @@ export function listen( options: ListenOptions & { transport?: "tcp" } ): Listener; export function listen(options: ListenOptions & { transport: "udp" }): UDPConn; -export function listen(options: ListenOptions): Listener | UDPConn { - const args = { ...listenDefaults, ...options }; - const res = netOps.listen(args as netOps.ListenRequest); - - if (args.transport === "tcp") { +export function listen({ + port, + hostname = "0.0.0.0", + transport = "tcp" +}: ListenOptions): Listener | UDPConn { + const res = netOps.listen({ port, hostname, transport }); + + if (transport === "tcp") { return new ListenerImpl(res.rid, res.localAddr); } else { return new UDPConnImpl(res.rid, res.localAddr); @@ -246,8 +247,6 @@ export interface ConnectOptions { transport?: Transport; } -const connectDefaults = { hostname: "127.0.0.1", transport: "tcp" }; - /** Connects to the address on the named transport. * * @param options @@ -265,8 +264,11 @@ const connectDefaults = { hostname: "127.0.0.1", transport: "tcp" }; * connect({ hostname: "[2001:db8::1]", port: 80 }); * connect({ hostname: "golang.org", port: 80, transport: "tcp" }) */ -export async function connect(options: ConnectOptions): Promise<Conn> { - options = Object.assign(connectDefaults, options); - const res = await netOps.connect(options as netOps.ConnectRequest); +export async function connect({ + port, + hostname = "127.0.0.1", + transport = "tcp" +}: ConnectOptions): Promise<Conn> { + const res = await netOps.connect({ port, hostname, transport }); return new ConnImpl(res.rid, res.remoteAddr!, res.localAddr!); } |