UNPKG

mobile-cli-lib

Version:
31 lines (30 loc) 975 B
"use strict"; var net = require("net"); var Future = require("fibers/future"); var Net = (function () { function Net($logger) { this.$logger = $logger; } Net.prototype.getFreePort = function () { return (function () { var server = net.createServer(function (sock) { }); var createServerFuture = new Future(); server.listen(0, function () { var portUsed = server.address().port; server.close(); if (!createServerFuture.isResolved()) { createServerFuture.return(portUsed); } }); server.on("error", function (err) { if (!createServerFuture.isResolved()) { createServerFuture.throw(err); } }); return createServerFuture.wait(); }).future()(); }; return Net; }()); exports.Net = Net; $injector.register("net", Net);