mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-10-03 14:27:04 +00:00
Merge pull request #32043 from BendingBender/is-reachable
[is-reachable] Add types
This commit is contained in:
Vendored
+39
@@ -0,0 +1,39 @@
|
||||
// Type definitions for is-reachable 3.0
|
||||
// Project: https://github.com/sindresorhus/is-reachable#readme
|
||||
// Definitions by: BendingBender <https://github.com/BendingBender>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
export = isReachable;
|
||||
|
||||
/**
|
||||
* Check if servers are reachable.
|
||||
*
|
||||
* The Node.js version will do a TCP handshake with the target's port. It attempts to detect cases where a router
|
||||
* redirects the request to itself.
|
||||
*
|
||||
* The browser version is limited by the fact that browsers cannot connect to arbitrary ports. It only supports
|
||||
* HTTP and HTTPS and the check relies on the `/favicon.ico` path being present.
|
||||
*
|
||||
* @param targets One or more targets to check. Can either be a full [URL](https://nodejs.org/api/url.html)
|
||||
* like `https://hostname`, `hostname:port` or just `hostname`. When the protocol is missing from a target
|
||||
* `http` is assumed.
|
||||
*
|
||||
* [Well-known protocols](http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml)
|
||||
* are supported (e.g. `ftp://`, `mysql://`, `redis://` and more).
|
||||
*
|
||||
* @returns A `Promise` for a `boolean` which is `true` if any of the `targets` are reachable.
|
||||
*/
|
||||
declare function isReachable(
|
||||
targets: string | string[],
|
||||
options?: isReachable.Options
|
||||
): Promise<boolean>;
|
||||
|
||||
declare namespace isReachable {
|
||||
interface Options {
|
||||
/**
|
||||
* Timeout in milliseconds after which a request is considered failed.
|
||||
* @default 5000
|
||||
*/
|
||||
timeout?: number;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
import isReachable = require('is-reachable');
|
||||
|
||||
isReachable('sindresorhus.com'); // $ExpectType Promise<boolean>
|
||||
isReachable('google.com:80', { timeout: 10 }); // $ExpectType Promise<boolean>
|
||||
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"lib": [
|
||||
"es6"
|
||||
],
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictNullChecks": true,
|
||||
"strictFunctionTypes": true,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"is-reachable-tests.ts"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{ "extends": "dtslint/dt.json" }
|
||||
Reference in New Issue
Block a user