Skip to content

Commit 039cd00

Browse files
shisamaBridgeAR
authored andcommitted
dns: add dns/promises alias
PR-URL: nodejs#32953 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
1 parent 7a094dc commit 039cd00

File tree

6 files changed

+60
-1
lines changed

6 files changed

+60
-1
lines changed

doc/api/dns.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -611,7 +611,7 @@ earlier ones time out or result in some other error.
611611

612612
The `dns.promises` API provides an alternative set of asynchronous DNS methods
613613
that return `Promise` objects rather than using callbacks. The API is accessible
614-
via `require('dns').promises`.
614+
via `require('dns').promises` or `require('dns/promises')`.
615615

616616
### Class: `dnsPromises.Resolver`
617617
<!-- YAML

lib/dns/promises.js

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
'use strict';
2+
3+
const dnsPromises = require('internal/dns/promises');
4+
dnsPromises.setServers = require('dns').setServers;
5+
module.exports = dnsPromises;

node.gyp

+1
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848
'lib/cluster.js',
4949
'lib/dgram.js',
5050
'lib/dns.js',
51+
'lib/dns/promises.js',
5152
'lib/domain.js',
5253
'lib/events.js',
5354
'lib/fs.js',
+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
// Flags: --expose-internals
2+
import '../common/index.mjs';
3+
import assert from 'assert';
4+
import { lookupService } from 'dns/promises';
5+
6+
const invalidAddress = 'fasdfdsaf';
7+
8+
assert.throws(() => {
9+
lookupService(invalidAddress, 0);
10+
}, {
11+
code: 'ERR_INVALID_OPT_VALUE',
12+
name: 'TypeError',
13+
message: `The value "${invalidAddress}" is invalid for option "address"`
14+
});
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
'use strict';
2+
3+
require('../common');
4+
const assert = require('assert');
5+
6+
assert.strictEqual(require('dns/promises'), require('dns').promises);

test/parallel/test-dns-setservers-type-check.js

+33
Original file line numberDiff line numberDiff line change
@@ -85,3 +85,36 @@ const promiseResolver = new dns.promises.Resolver();
8585
);
8686
});
8787
}
88+
89+
// This test for 'dns/promises'
90+
{
91+
const {
92+
setServers
93+
} = require('dns/promises');
94+
95+
// This should not throw any error.
96+
(async () => {
97+
setServers([ '127.0.0.1' ]);
98+
})();
99+
100+
[
101+
[null],
102+
[undefined],
103+
[Number(addresses.DNS4_SERVER)],
104+
[
105+
{
106+
address: addresses.DNS4_SERVER
107+
}
108+
]
109+
].forEach((val) => {
110+
const errObj = {
111+
code: 'ERR_INVALID_ARG_TYPE',
112+
name: 'TypeError',
113+
message: 'The "servers[0]" argument must be of type string.' +
114+
common.invalidArgTypeHelper(val[0])
115+
};
116+
assert.throws(() => {
117+
setServers(val);
118+
}, errObj);
119+
});
120+
}

0 commit comments

Comments
 (0)