forgescript
Version:
ForgeScript is a comprehensive package that empowers you to effortlessly interact with Discord's API. It ensures scripting remains easy to learn and consistently effective.
37 lines • 1.03 kB
TypeScript
import { ForgeClient, IRunnable } from "../core";
export interface IThreadContext {
code: string;
environment?: IRunnable["environment"];
keywords?: IRunnable["keywords"];
}
export interface IThreadResult {
taskId: number;
value: string | null;
}
export interface IThreadTask {
id: number;
resolve: (res: string | null) => void;
context: IThreadContext;
}
export declare class ThreadManager {
private readonly client;
private readonly available;
private readonly busy;
private maxWorkerCount;
private readonly queue;
private readonly executing;
private increment;
constructor(client: ForgeClient);
run(ctx: IThreadContext): Promise<string | null>;
private enqueue;
private execute;
private getNextTaskId;
private get workerCount();
private setAvailableWorker;
private setBusyWorker;
private getAvailableWorker;
private onWorkerExit;
private onWorkerError;
private onWorkerMessage;
}
//# sourceMappingURL=ThreadManager.d.ts.map