diff --git a/types/recluster/index.d.ts b/types/recluster/index.d.ts index 71d198b8f5..5333b02581 100644 --- a/types/recluster/index.d.ts +++ b/types/recluster/index.d.ts @@ -7,40 +7,43 @@ import { ChildProcess } from "child_process"; -export interface LogOptions { - respawns?: boolean; +declare namespace recluster { + interface LogOptions { + respawns?: boolean; + } + + interface Logger { + log(message?: any, ...optionalParams: any[]): void; + } + + interface BalancerOptions { + /** number of active workers */ + workers?: number; + /** kill timeout for old workers after reload (sec) */ + timeout?: number; + /** min time between respawns when workers die */ + respawn?: number; + /** max time between respawns when workers die */ + backoff?: number; + /** when does the worker become ready? 'listening' or 'started' */ + readyWhen?: string; + /** arguments to pass to the worker (default: []) */ + args?: string[]; + /** what to log to stdout (default: {respawns: true}) */ + log?: LogOptions; + /** logger to use, needs `log` method (default: console) */ + logger?: Logger; + } + + class Balancer { + constructor(file: string, options: BalancerOptions); + run(): void; + reload(cb?: () => void): void; + stop(): void; + workers(): ChildProcess[]; + activeWorkers(): ChildProcess[]; + } } -export interface Logger { - log(message?: any, ...optionalParams: any[]): void; -} - -export interface BalancerOptions { - /** number of active workers */ - workers?: number; - /** kill timeout for old workers after reload (sec) */ - timeout?: number; - /** min time between respawns when workers die */ - respawn?: number; - /** max time between respawns when workers die */ - backoff?: number; - /** when does the worker become ready? 'listening' or 'started' */ - readyWhen?: string; - /** arguments to pass to the worker (default: []) */ - args?: string[]; - /** what to log to stdout (default: {respawns: true}) */ - log?: LogOptions; - /** logger to use, needs `log` method (default: console) */ - logger?: Logger; -} - -export class Balancer { - constructor(file: string, options: BalancerOptions); - run(): void; - reload(cb?: () => void): void; - stop(): void; - workers(): ChildProcess[]; - activeWorkers(): ChildProcess[]; -} - -export default function recluster(file: string, options?: BalancerOptions): Balancer; +declare function recluster(file: string, options?: recluster.BalancerOptions): recluster.Balancer; +export = recluster; diff --git a/types/recluster/recluster-tests.ts b/types/recluster/recluster-tests.ts index b2641f03ff..62c5f153cd 100644 --- a/types/recluster/recluster-tests.ts +++ b/types/recluster/recluster-tests.ts @@ -1,5 +1,5 @@ -import recluster from "recluster"; -import path = require("path"); +import recluster = require('recluster'); +import path = require('path'); const cluster = recluster(path.join(__dirname, 'server.js')); cluster.run();