summaryrefslogtreecommitdiff
path: root/cli/js/net.ts
diff options
context:
space:
mode:
Diffstat (limited to 'cli/js/net.ts')
-rw-r--r--cli/js/net.ts39
1 files changed, 23 insertions, 16 deletions
diff --git a/cli/js/net.ts b/cli/js/net.ts
index 05503b232..962c78a5b 100644
--- a/cli/js/net.ts
+++ b/cli/js/net.ts
@@ -146,36 +146,43 @@ export function listen(
export function listen(
options: UnixListenOptions & { transport: "unix" }
): Listener;
-export function listen(
+export function listen(options: ListenOptions | UnixListenOptions): Listener {
+ let res;
+
+ if (options.transport === "unix") {
+ res = netOps.listen(options);
+ } else {
+ res = netOps.listen({
+ transport: "tcp",
+ hostname: "127.0.0.1",
+ ...(options as ListenOptions),
+ });
+ }
+
+ return new ListenerImpl(res.rid, res.localAddr);
+}
+
+export function listenDatagram(
options: ListenOptions & { transport: "udp" }
): DatagramConn;
-export function listen(
+export function listenDatagram(
options: UnixListenOptions & { transport: "unixpacket" }
): DatagramConn;
-export function listen(
+export function listenDatagram(
options: ListenOptions | UnixListenOptions
-): Listener | DatagramConn {
+): DatagramConn {
let res;
-
- if (options.transport === "unix" || options.transport === "unixpacket") {
+ if (options.transport === "unixpacket") {
res = netOps.listen(options);
} else {
res = netOps.listen({
- transport: "tcp",
+ transport: "udp",
hostname: "127.0.0.1",
...(options as ListenOptions),
});
}
- if (
- !options.transport ||
- options.transport === "tcp" ||
- options.transport === "unix"
- ) {
- return new ListenerImpl(res.rid, res.localAddr);
- } else {
- return new DatagramImpl(res.rid, res.localAddr);
- }
+ return new DatagramImpl(res.rid, res.localAddr);
}
export interface ConnectOptions {