doubleagent
Version:
A superagent based async/await friendly testing util
32 lines (31 loc) • 963 B
TypeScript
/// <reference types="node" />
import * as http from 'http';
import { Express } from 'express';
import { Request, Response } from 'superagent';
declare type MultiPartValueSingle = Parameters<Request['attach']>[1];
declare type Path = string;
declare type Params = string | object;
declare type Headers = {
[key: string]: string;
};
declare type Files = {
[filename: string]: MultiPartValueSingle;
};
declare type Config = {
serializer?: (query: object) => string;
};
declare type SendRequest = (path: Path, params?: Params, headers?: Headers, files?: Files) => Promise<Response>;
declare type DoubleAgent = {
get: SendRequest;
head: SendRequest;
put: SendRequest;
post: SendRequest;
patch: SendRequest;
delete: SendRequest;
defaultHeaders: object;
app: Express;
server: http.Server;
urlFor: (path: string) => string;
};
declare const agent: (app: Express, config?: Config) => DoubleAgent;
export default agent;