@n1k1t/mock-server
Version:
The ultimate toolkit to intercept, transform, and simulate HTTP/WS traffic with type-safe expectations
40 lines • 1.71 kB
TypeScript
import { TRequestPayloadType } from '../types';
export type TRequestMessageDirection = 'incoming' | 'outgoing';
export type TRequestMessageType = Extract<TRequestPayloadType, 'json' | 'plain'>;
export declare class RequestMessage<TPayload = any> {
protected provided: Pick<RequestMessage<TPayload>, 'direction' | 'type' | 'data' | 'raw'> & {
timestamp?: number;
};
TPlain: Pick<RequestMessage<TPayload>, 'type' | 'direction' | 'timestamp' | 'data'>;
TCache: Pick<RequestMessage<TPayload>, 'type' | 'direction' | 'timestamp' | 'data'> & {
raw: {
data?: string;
};
};
direction: TRequestMessageDirection;
type: TRequestMessageType;
timestamp: number;
data: TPayload;
raw: {
data?: Buffer;
};
constructor(provided: Pick<RequestMessage<TPayload>, 'direction' | 'type' | 'data' | 'raw'> & {
timestamp?: number;
});
is(type: 'json'): this is RequestMessage<Extract<TPayload, object>>;
is(type: 'plain'): this is RequestMessage<Exclude<TPayload, object>>;
serialize(): Buffer;
/** Returns bytes length of data */
size(): number;
/** Clones this instance */
clone(options?: {
/** Deep clones nested `json` data */
deep?: boolean;
}): RequestMessage<TPayload>;
redirect(direction: TRequestMessageDirection): this;
toPlain(): RequestMessage<TPayload>['TPlain'];
toCache(): RequestMessage<TPayload>['TCache'];
static build<TPayload>(plain: RequestMessage<TPayload>['TPlain']): RequestMessage<TPayload>;
static build<TPayload>(direction: TRequestMessageDirection, predicate: unknown): RequestMessage<TPayload>;
}
//# sourceMappingURL=message.d.ts.map