node/typings/internalBinding/worker.d.ts
Woohyun Sung 8656088090 typings: add missing properties and method in Worker
PR-URL: https://github.com/nodejs/node/pull/60257
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2025-10-18 03:36:53 +00:00

52 lines
1.4 KiB
TypeScript

import { InternalMessagingBinding } from './messaging';
declare namespace InternalWorkerBinding {
class Worker {
constructor(
url: string | URL | null,
env: object | null | undefined,
execArgv: string[] | null | undefined,
resourceLimits: Float64Array,
trackUnmanagedFds: boolean,
);
startThread(): void;
stopThread(): void;
hasRef(): boolean;
ref(): void;
unref(): void;
getResourceLimits(): Float64Array;
takeHeapSnapshot(): object;
getHeapStatistics(): Promise<object>;
cpuUsage(): Promise<object>;
startCpuProfile(): Promise<CPUProfileHandle>;
startHeapProfile(): Promise<HeapProfileHandle>;
loopIdleTime(): number;
loopStartTime(): number;
}
}
export interface CPUProfileHandle {
stop(): Promise<string>;
[Symbol.asyncDispose](): Promise<void>;
}
export interface HeapProfileHandle {
stop(): Promise<string>;
[Symbol.asyncDispose](): Promise<void>;
}
export interface WorkerBinding {
Worker: typeof InternalWorkerBinding.Worker;
getEnvMessagePort(): InternalMessagingBinding.MessagePort;
threadId: number;
threadName: string;
isMainThread: boolean;
isInternalThread: boolean;
ownsProcessState: boolean;
resourceLimits?: Float64Array;
kMaxYoungGenerationSizeMb: number;
kMaxOldGenerationSizeMb: number;
kCodeRangeSizeMb: number;
kStackSizeMb: number;
kTotalResourceLimitCount: number;
}