28 lines
1,008 B
TypeScript
28 lines
1,008 B
TypeScript
import Client from './client'
|
|
import TPoolStats from './pool-stats'
|
|
import { URL } from 'url'
|
|
import Dispatcher from "./dispatcher";
|
|
|
|
export default Pool
|
|
|
|
declare class Pool extends Dispatcher {
|
|
constructor(url: string | URL, options?: Pool.Options)
|
|
/** `true` after `pool.close()` has been called. */
|
|
closed: boolean;
|
|
/** `true` after `pool.destroyed()` has been called or `pool.close()` has been called and the pool shutdown has completed. */
|
|
destroyed: boolean;
|
|
/** Aggregate stats for a Pool. */
|
|
readonly stats: TPoolStats;
|
|
}
|
|
|
|
declare namespace Pool {
|
|
export type PoolStats = TPoolStats;
|
|
export interface Options extends Client.Options {
|
|
/** Default: `(origin, opts) => new Client(origin, opts)`. */
|
|
factory?(origin: URL, opts: object): Dispatcher;
|
|
/** The max number of clients to create. `null` if no limit. Default `null`. */
|
|
connections?: number | null;
|
|
|
|
interceptors?: { Pool?: readonly Dispatcher.DispatchInterceptor[] } & Client.Options["interceptors"]
|
|
}
|
|
}
|