@tkrotoff/fetch
Version:
Fetch wrapper
40 lines (39 loc) • 1.12 kB
TypeScript
import { ResponsePromiseWithBodyMethods } from './Http';
/**
* Creates a HTTP promise response ({@link ResponsePromiseWithBodyMethods}), helpful for mocking.
*
* Example:
* ```JS
* await get(...).text();
*
* import * as Http from '@tkrotoff/fetch';
*
* jest.spyOn(Http, 'get').mockImplementation(() => createResponsePromise(...));
* ```
*
* How to generate a HTTP error:
* ```JS
* jest.spyOn(Http, 'get').mockImplementation(() =>
* createResponsePromise('<!DOCTYPE html><title>404</title>', {
* status: 404,
* statusText: 'Not Found'
* })
* );
* ```
*
* @see {@link createJSONResponsePromise()}
* @see {@link ResponsePromiseWithBodyMethods}
*/
export declare function createResponsePromise(body?: BodyInit, init?: ResponseInit): ResponsePromiseWithBodyMethods;
/**
* {@link createResponsePromise()} with a JSON body.
*
* ```JS
* jest.spyOn(Http, 'get').mockImplementation(() =>
* Http.createJSONResponsePromise({
* foo: 'bar
* })
* );
* ```
*/
export declare function createJSONResponsePromise(body: object, init?: ResponseInit): ResponsePromiseWithBodyMethods;