UNPKG

galeforce-tmp-sea

Version:

A customizable, promise-based, and command-oriented TypeScript library for the Riot Games API.

26 lines 1.25 kB
import { Constructor, Executable } from './executable'; /** * An interface containing method type signatures for any Action containing a `.body()` method. * @template TBody The type of the request body. Defaults to `object`, but may be specified. */ export interface BodyChainable<TBody extends object = object> { body?: <K extends BodyChainable<TBody> & Executable>(this: K, body: TBody) => Omit<K, 'body'>; } /** * A mixin for the `.body()` method. * @template TBody The type of the request body. Specified by the type of the `type` parameter. * @template TBase The type of the object inside. * @param type A dummy parameter to allow for type inference. Use by passing in `<T>{}` or * an expression of that form. * @param Base The target class. */ export declare function TakesBody<TBody extends object, TBase extends Constructor>(type: TBody, Base: TBase): { new (...args: any[]): { /** * Modifies the **body** associated with the Action object it is called from. * @param body The request body to update the calling Action object with. */ body<K extends BodyChainable<TBody> & Executable>(this: K, body: TBody): Omit<K, "body">; }; } & TBase; //# sourceMappingURL=body.d.ts.map