From ed7d361b4c57deca64748d53a3066b784ea7e1f0 Mon Sep 17 00:00:00 2001 From: Kai Tamkun Date: Fri, 13 Dec 2024 14:27:14 -0800 Subject: [PATCH] Special case for falsey hostnames in dns.lookup --- src/bun.js/api/bun/dns_resolver.zig | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/bun.js/api/bun/dns_resolver.zig b/src/bun.js/api/bun/dns_resolver.zig index eeb74b1742..4419a16b55 100644 --- a/src/bun.js/api/bun/dns_resolver.zig +++ b/src/bun.js/api/bun/dns_resolver.zig @@ -2397,6 +2397,16 @@ pub const DNSResolver = struct { const name_value = arguments.ptr[0]; + if (name_value.isFalsey()) { + // For Node.js compatibility. + const promise = JSC.JSPromise.create(globalThis); + const address_key = JSC.ZigString.init("address").withEncoding(); + const family_key = JSC.ZigString.init("family").withEncoding(); + const object = JSValue.createObject2(globalThis, &address_key, &family_key, .null, JSC.jsNumber(4)); + promise.resolve(globalThis, object); + return promise.asValue(globalThis); + } + if (name_value.isEmptyOrUndefinedOrNull() or !name_value.isString()) { return globalThis.throwInvalidArgumentType("lookup", "hostname", "string"); }