undici
Version:
An HTTP/1.1 client, written from scratch for Node.js
112 lines (101 loc) • 5.56 kB
TypeScript
import Dispatcher from './dispatcher'
declare namespace MockCallHistoryLog {
/** request's configuration properties */
export type MockCallHistoryLogProperties = 'protocol' | 'host' | 'port' | 'origin' | 'path' | 'hash' | 'fullUrl' | 'method' | 'searchParams' | 'body' | 'headers'
}
/** a log reflecting request configuration */
declare class MockCallHistoryLog {
constructor (requestInit: Dispatcher.DispatchOptions)
/** protocol used. ie. 'https:' or 'http:' etc... */
protocol: string
/** request's host. */
host: string
/** request's port. */
port: string
/** request's origin. ie. https://localhost:3000. */
origin: string
/** path. never contains searchParams. */
path: string
/** request's hash. */
hash: string
/** the full url requested. */
fullUrl: string
/** request's method. */
method: string
/** search params. */
searchParams: Record<string, string>
/** request's body */
body: string | null | undefined
/** request's headers */
headers: Record<string, string | string[]> | null | undefined
/** returns an Map of property / value pair */
toMap (): Map<MockCallHistoryLog.MockCallHistoryLogProperties, string | Record<string, string | string[]> | null | undefined>
/** returns a string computed with all key value pair */
toString (): string
}
declare namespace MockCallHistory {
export type FilterCallsOperator = 'AND' | 'OR'
/** modify the filtering behavior */
export interface FilterCallsOptions {
/** the operator to apply when filtering. 'OR' will adds any MockCallHistoryLog matching any criteria given. 'AND' will adds only MockCallHistoryLog matching every criteria given. (default 'OR') */
operator?: FilterCallsOperator | Lowercase<FilterCallsOperator>
}
/** a function to be executed for filtering MockCallHistoryLog */
export type FilterCallsFunctionCriteria = (log: MockCallHistoryLog) => boolean
/** parameter to filter MockCallHistoryLog */
export type FilterCallsParameter = string | RegExp | undefined | null
/** an object to execute multiple filtering at once */
export interface FilterCallsObjectCriteria extends Record<string, FilterCallsParameter> {
/** filter by request protocol. ie https: */
protocol?: FilterCallsParameter;
/** filter by request host. */
host?: FilterCallsParameter;
/** filter by request port. */
port?: FilterCallsParameter;
/** filter by request origin. */
origin?: FilterCallsParameter;
/** filter by request path. */
path?: FilterCallsParameter;
/** filter by request hash. */
hash?: FilterCallsParameter;
/** filter by request fullUrl. */
fullUrl?: FilterCallsParameter;
/** filter by request method. */
method?: FilterCallsParameter;
}
}
/** a call history to track requests configuration */
declare class MockCallHistory {
constructor (name: string)
/** returns an array of MockCallHistoryLog. */
calls (): Array<MockCallHistoryLog>
/** returns the first MockCallHistoryLog */
firstCall (): MockCallHistoryLog | undefined
/** returns the last MockCallHistoryLog. */
lastCall (): MockCallHistoryLog | undefined
/** returns the nth MockCallHistoryLog. */
nthCall (position: number): MockCallHistoryLog | undefined
/** return all MockCallHistoryLog matching any of criteria given. if an object is used with multiple properties, you can change the operator to apply during filtering on options */
filterCalls (criteria: MockCallHistory.FilterCallsFunctionCriteria | MockCallHistory.FilterCallsObjectCriteria | RegExp, options?: MockCallHistory.FilterCallsOptions): Array<MockCallHistoryLog>
/** return all MockCallHistoryLog matching the given protocol. if a string is given, it is matched with includes */
filterCallsByProtocol (protocol: MockCallHistory.FilterCallsParameter): Array<MockCallHistoryLog>
/** return all MockCallHistoryLog matching the given host. if a string is given, it is matched with includes */
filterCallsByHost (host: MockCallHistory.FilterCallsParameter): Array<MockCallHistoryLog>
/** return all MockCallHistoryLog matching the given port. if a string is given, it is matched with includes */
filterCallsByPort (port: MockCallHistory.FilterCallsParameter): Array<MockCallHistoryLog>
/** return all MockCallHistoryLog matching the given origin. if a string is given, it is matched with includes */
filterCallsByOrigin (origin: MockCallHistory.FilterCallsParameter): Array<MockCallHistoryLog>
/** return all MockCallHistoryLog matching the given path. if a string is given, it is matched with includes */
filterCallsByPath (path: MockCallHistory.FilterCallsParameter): Array<MockCallHistoryLog>
/** return all MockCallHistoryLog matching the given hash. if a string is given, it is matched with includes */
filterCallsByHash (hash: MockCallHistory.FilterCallsParameter): Array<MockCallHistoryLog>
/** return all MockCallHistoryLog matching the given fullUrl. if a string is given, it is matched with includes */
filterCallsByFullUrl (fullUrl: MockCallHistory.FilterCallsParameter): Array<MockCallHistoryLog>
/** return all MockCallHistoryLog matching the given method. if a string is given, it is matched with includes */
filterCallsByMethod (method: MockCallHistory.FilterCallsParameter): Array<MockCallHistoryLog>
/** clear all MockCallHistoryLog on this MockCallHistory. */
clear (): void
/** use it with for..of loop or spread operator */
[ ]: () => Generator<MockCallHistoryLog>
}
export { MockCallHistoryLog, MockCallHistory }