Add type definitions for request-debug@0.2 (#37889)

* added type definitions for request-debug

* Add type definitions for request-debug 0.2

* fix indentation
This commit is contained in:
Marcello Urbani 2019-08-26 18:15:22 +03:00 committed by Sheetal Nandi
parent 330439435b
commit 96ba169089
4 changed files with 90 additions and 0 deletions

56
types/request-debug/index.d.ts vendored Normal file
View File

@ -0,0 +1,56 @@
// Type definitions for request-debug 0.2
// Project: https://github.com/request/request-debug
// Definitions by: Marcello Urbani <https://github.com/marcellourbani>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.3
export = request_debug;
import { CoreOptions, Headers, Request, RequestAPI, RequiredUriUrl, UriOptions, UrlOptions } from "request";
declare namespace request_debug {
type LogPhase = "request" | "response" | "redirect" | "auth";
interface RequestData {
debugId: number;
method: string;
uri: string;
headers: Headers;
body?: any;
}
interface ResponseData {
debugId: number;
headers: Headers;
statusCode: number;
body?: any;
}
interface RedirectData {
debugId: number;
headers: Headers;
statusCode: number;
uri: string;
}
type LogData = RequestData | ResponseData | RedirectData;
interface LogCallback<TRequest extends Request, TOptions extends CoreOptions, TUriUrlOptions extends RequiredUriUrl> {
(type: "request", data: RequestData, r: RequestAPI<TRequest, TOptions, TUriUrlOptions>): void;
}
interface LogCallback<TRequest extends Request, TOptions extends CoreOptions, TUriUrlOptions extends RequiredUriUrl> {
(type: "response", data: ResponseData, r: RequestAPI<TRequest, TOptions, TUriUrlOptions>): void;
}
interface LogCallback<TRequest extends Request, TOptions extends CoreOptions, TUriUrlOptions extends RequiredUriUrl> {
(type: "redirect" | "auth", data: RedirectData, r: RequestAPI<TRequest, TOptions, TUriUrlOptions>): void;
}
interface LogCallback<TRequest extends Request, TOptions extends CoreOptions, TUriUrlOptions extends RequiredUriUrl> {
(type: LogPhase, data: LogData, r: RequestAPI<TRequest, TOptions, TUriUrlOptions>): void;
}
const log: LogCallback<Request, CoreOptions, RequiredUriUrl>;
}
declare function request_debug<TRequest extends Request, TOptions extends CoreOptions, TUriUrlOptions extends RequiredUriUrl>(
request: RequestAPI<TRequest, TOptions, TUriUrlOptions>,
cb?: request_debug.LogCallback<TRequest, TOptions, TUriUrlOptions >
): void;

View File

@ -0,0 +1,10 @@
import request = require("request");
import request_debug = require("request-debug");
// no callback
request_debug(request);
const callback = (phase: request_debug.LogPhase, data: request_debug.LogData,
request: request.RequestAPI<request.Request, request.CoreOptions, request.RequiredUriUrl>) => {};
// with callback
request_debug(request, callback);

View File

@ -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",
"request-debug-tests.ts"
]
}

View File

@ -0,0 +1 @@
{ "extends": "dtslint/dt.json" }