mihawk
Version:
A tiny & simple mock server tool, support json,js,cjs,ts(typescript).
47 lines (46 loc) • 1.48 kB
TypeScript
/// <reference types="node" />
/// <reference types="node" />
/// <reference types="node" />
import type { Server as HttpServer } from 'http';
import type { Server as HttpsServer } from 'https';
import type { AddressInfo } from 'net';
/**
* http/https 服务实例
*/
export type HttpOrHttpsServer = HttpServer | HttpsServer;
/**
* 增强版服务实例
*/
export type EnhancedServer<S extends HttpOrHttpsServer = HttpOrHttpsServer> = S & {
destory: (callback?: (...args: any[]) => any) => Promise<void>;
};
/**
* 增强版服务实例
* @param {HttpOrHttpsServer} server
* @returns {EnhancedServer} sever self
*/
export declare function enhanceServer<T extends HttpOrHttpsServer>(server: T): EnhancedServer<T>;
/**
* 判断地址信息是否为 AddressInfo 对象
* @param {any} obj
* @returns {boolean}
*/
export declare function isServerAddressInfo(obj: unknown): obj is AddressInfo;
/**
* 获取 server 的地址相关信息
* @param {HttpOrHttpsServer} server
* @return {AddressInfo|null} obj|null
*/
export declare function getAddrInfoByServer(server: HttpOrHttpsServer): AddressInfo;
/**
* 获取服务的端口信息
* @param {HttpOrHttpsServer} server
* @returns {number|null} 端口
*/
export declare function getPortByServer(server: HttpOrHttpsServer): number;
/**
* 获取 server 的地址字符串
* @param {HttpOrHttpsServer} server
* @returns {string|null}
*/
export declare function getAddressByServer(server: HttpOrHttpsServer): string;