UNPKG

mihawk

Version:

A tiny & simple mock server tool, support json,js,cjs,ts(typescript).

47 lines (46 loc) 1.48 kB
/// <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;