Skip to content

Commit

Permalink
Merge pull request #1245 from 0x0a0d/cylution/11-runner-d-ts
Browse files Browse the repository at this point in the history
add d.ts for class Runner (MoleculerRunner)
  • Loading branch information
icebob authored Sep 24, 2023
2 parents 4b72d3f + 2fbdd24 commit 55365bd
Showing 1 changed file with 153 additions and 0 deletions.
153 changes: 153 additions & 0 deletions index.d.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import type { EventEmitter2 } from "eventemitter2";
import type { Worker } from "cluster";

declare namespace Moleculer {
/**
Expand Down Expand Up @@ -1834,6 +1835,158 @@ declare namespace Moleculer {
function makeDirs(path: string): void;
function parseByteString(value: string): number;
}

/**
* Parsed CLI flags
*/
interface RunnerFlags {

/**
* Path to load configuration from a file
*/
config?: string;

/**
* Start REPL mode
*/
repl?: boolean;

/**
* Enable hot reload mode
*/
hot?: boolean;

/**
* Silent mode. No logger
*/
silent?: boolean;

/**
* Load .env file from current directory
*/
env?: boolean;

/**
* Load .env files by glob pattern
*/
envfile?: string;

/**
* Number of node instances to start in cluster mode
*/
instances?: number;

/**
* File mask for loading services
*/
mask?: string;

}

/**
* Moleculer Runner
*/
class Runner {
worker: Worker | null;
broker: ServiceBroker | null;

/**
* Watch folders for hot reload
*/
watchFolders: string[];

/**
* Parsed CLI flags
*/
flags: RunnerFlags | null;

/**
* Loaded configuration file
*/
configFile: Partial<BrokerOptions>;

/**
* Merged configuration
*/
config: Partial<BrokerOptions>;

/**
* Process command line arguments
*/
processFlags(args: string[]): void;

/**
* Load environment variables from '.env' file
*/
loadEnvFile(): void;

/**
* Load configuration file
*
* Try to load a configuration file in order to:
*
* - load file defined in MOLECULER_CONFIG env var
* - try to load file which is defined in CLI option with --config
* - try to load the `moleculer.config.js` file if exist in the cwd
* - try to load the `moleculer.config.json` file if exist in the cwd
*/
loadConfigFile(): Promise<void>;

/**
* Normalize a value from env variable
*/
normalizeEnvValue(value: string): string | number | boolean;

/**
* Overwrite config values from environment variables
*/
overwriteFromEnv(obj: any, prefix?: string): any;

/**
* Merge broker options from config file & env variables
*/
mergeOptions(): void;

/**
* Check if a path is a directory
*/
isDirectory(path: string): boolean;

/**
* Check if a path is a service file
*/
isServiceFile(path: string): boolean;

/**
* Load services from files or directories
*/
loadServices(): void;

/**
* Start cluster workers
*/
startWorkers(instances: number): void;

/**
* Load service from NPM module
*/
loadNpmModule(name: string): Service;

/**
* Start Moleculer broker
*/
startBroker(): Promise<ServiceBroker>;

/**
* Restart broker
*/
restartBroker(): Promise<ServiceBroker>;

/**
* Start runner
*/
start(args: string[]): Promise<void>;
}
}

export = Moleculer;

0 comments on commit 55365bd

Please sign in to comment.