UNPKG

mockttp

Version:

Mock HTTP server for testing HTTP clients and stubbing webservices

64 lines 3.03 kB
import { Buffer } from 'buffer'; import { Duplex } from 'stream'; import { MaybePromise } from '@httptoolkit/util'; import { RuleParameters } from '../rules/rule-parameters'; import type { ProxySetting, ProxySettingSource, ProxyConfig } from '../rules/proxy-config'; export declare function serialize<T extends Serializable>(obj: T, stream: Duplex): SerializedValue<T>; export declare function deserialize<Options, T extends SerializedValue<Serializable>, C extends { new (...args: any): any; deserialize(data: SerializedValue<any>, channel: ClientServerChannel, options: Options): any; }>(data: T, stream: Duplex, options: Options, lookup: { [key: string]: C; }): InstanceType<C>; export type SerializedValue<T> = T & { topicId: string; }; export type Serialized<T> = { [K in keyof T]: T[K] extends string | undefined ? string | undefined : T[K] extends Array<unknown> ? Array<SerializedValue<T[K][0]>> : SerializedValue<T[K]>; }; export declare abstract class Serializable { abstract type: string; /** * @internal */ serialize(_channel: ClientServerChannel): unknown; /** * @internal */ static deserialize(data: SerializedValue<any>, _channel: ClientServerChannel, _options: unknown): any; dispose(): void; } interface Message { topicId?: string; } export declare class ClientServerChannel extends Duplex { private rawStream; readonly topicId: string; constructor(rawStream: Duplex, topicId?: string); private _onRawStreamError; private _onRawStreamFinish; /** * @internal @hidden */ _write(message: Message, encoding: BufferEncoding, callback: (error?: Error | null) => void): void; _readFromRawStream: (rawData: any) => void; private reading; _read(): void; request<T extends {}, R>(data: T): Promise<R>; request<T extends {}, R>(action: string, data: T): Promise<R>; onRequest<T, R>(cb: (request: T) => MaybePromise<R>): void; onRequest<T, R>(actionName: string, cb: (request: T) => MaybePromise<R>): void; dispose(disposeReceived?: boolean): void; } export declare function serializeBuffer(buffer: Buffer): string; export declare function deserializeBuffer(buffer: string): Buffer; declare const SERIALIZED_PARAM_REFERENCE = "__mockttp__param__reference__"; export type SerializedRuleParameterReference<R> = { [SERIALIZED_PARAM_REFERENCE]: string; }; export declare function ensureParamsDeferenced<T>(value: T | SerializedRuleParameterReference<T>, ruleParams: RuleParameters): T; export type SerializedProxyConfig = ProxySetting | string | undefined | SerializedRuleParameterReference<ProxySettingSource> | Array<SerializedProxyConfig>; export declare function serializeProxyConfig(proxyConfig: ProxyConfig, channel: ClientServerChannel): SerializedProxyConfig; export declare function deserializeProxyConfig(proxyConfig: SerializedProxyConfig, channel: ClientServerChannel, ruleParams: RuleParameters): ProxySettingSource; export {}; //# sourceMappingURL=serialization.d.ts.map