18 lines
361 B
TypeScript
18 lines
361 B
TypeScript
|
|
import net from 'net';
|
||
|
|
|
||
|
|
export function isPortAvailable(port: number | string): Promise<boolean> {
|
||
|
|
return new Promise((resolve) => {
|
||
|
|
const server = net.createServer();
|
||
|
|
|
||
|
|
server.once('error', () => {
|
||
|
|
resolve(false);
|
||
|
|
});
|
||
|
|
|
||
|
|
server.once('listening', () => {
|
||
|
|
server.close();
|
||
|
|
resolve(true);
|
||
|
|
});
|
||
|
|
|
||
|
|
server.listen(port);
|
||
|
|
});
|
||
|
|
}
|