1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
x1 x1 x1 x1 x1 x1 x1 |
/**
* Network utilities.
*
* ```ts no-assert no-eval
* import { getAvailablePort } from "@std/net";
*
* const command = new Deno.Command(Deno.execPath(), {
* args: ["test.ts", "--port", getAvailablePort().toString()],
* });
*
* // ...
* ```
*
* @module
*/
import type { GetAvailablePortOptions as _interface_GetAvailablePortOptions } from "jsr:@std/[email protected]"
/**
* Options for {@linkcode getAvailablePort}.
*/
interface GetAvailablePortOptions extends _interface_GetAvailablePortOptions {}
export type { GetAvailablePortOptions }
import { getAvailablePort as _function_getAvailablePort } from "jsr:@std/[email protected]"
/**
* Returns an available network port.
*
* > [!IMPORTANT]
* > In most cases, this function is not needed. Do not use it for trivial uses
* > such as when using {@linkcode Deno.serve} or {@linkcode Deno.listen}
* > directly. Instead, set the `port` option to `0` to automatically use an
* > available port, then get the assigned port from the function's return
* > object (see "Recommended Usage" example).
*
* @param options Options for getting an available port.
* @return An available network port.
*
* @example Recommended Usage
*
* Bad:
* ```ts no-eval no-assert
* import { getAvailablePort } from "@std/net/get-available-port";
*
* const port = getAvailablePort();
* Deno.serve({ port }, () => new Response("Hello, world!"));
* ```
*
* Good:
* ```ts no-eval no-assert
* const { port } = Deno.serve({ port: 0 }, () => new Response("Hello, world!")).addr;
* ```
*
* Good:
* ```ts no-eval no-assert
* import { getAvailablePort } from "@std/net/get-available-port";
*
* const command = new Deno.Command(Deno.execPath(), {
* args: ["test.ts", "--port", getAvailablePort().toString()],
* });
* // ...
* ```
*/
const getAvailablePort = _function_getAvailablePort as typeof _function_getAvailablePort
export { getAvailablePort }
|