diff --git a/tsconfig.json b/tsconfig.json index d1d6469f494f97..048ecd6f48e3ee 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -6,7 +6,9 @@ "./typings/internalBinding/http_parser.d.ts", "./typings/internalBinding/messaging.d.ts", "./typings/internalBinding/options.d.ts", + "./typings/internalBinding/os.d.ts", "./typings/internalBinding/serdes.d.ts", + "./typings/internalBinding/timers.d.ts", "./typings/internalBinding/util.d.ts", "./typings/internalBinding/worker.d.ts", "./typings/internalBinding.d.ts", diff --git a/typings/internalBinding/options.d.ts b/typings/internalBinding/options.d.ts index 2257463174d101..ded726f9d71127 100644 --- a/typings/internalBinding/options.d.ts +++ b/typings/internalBinding/options.d.ts @@ -20,6 +20,7 @@ declare function InternalBinding(binding: 'options'): { kAllowedInEnvironment: 0; kDisallowedInEnvironment: 1; }; + noGlobalSearchPaths: boolean; shouldNotRegisterESMLoader: boolean; types: { kNoOp: 0; diff --git a/typings/internalBinding/os.d.ts b/typings/internalBinding/os.d.ts new file mode 100644 index 00000000000000..cdddc330151a3e --- /dev/null +++ b/typings/internalBinding/os.d.ts @@ -0,0 +1,21 @@ +declare function InternalBinding(binding: 'os'): { + getHostname(ctx: {}): string | undefined; + getLoadAvg(array: Float64Array): void; + getUptime(): number; + getTotalMem(): number; + getFreeMem(): number; + getCPUs(): Array; + getInterfaceAddresses(ctx: {}): Array | undefined; + getHomeDirectory(ctx: {}): string | undefined; + getUserInfo(options: { encoding?: string } | undefined, ctx: {}): { + uid: number; + gid: number; + username: string; + homedir: string; + shell: string | null; + } | undefined; + setPriority(pid: number, priority: number, ctx: {}): number; + getPriority(pid: number, ctx: {}): number | undefined; + getOSInformation(ctx: {}): [sysname: string, version: string, release: string]; + isBigEndian: boolean; +}; diff --git a/typings/internalBinding/timers.d.ts b/typings/internalBinding/timers.d.ts new file mode 100644 index 00000000000000..fd6d40ecfee5cc --- /dev/null +++ b/typings/internalBinding/timers.d.ts @@ -0,0 +1,8 @@ +declare function InternalBinding(binding: 'timers'): { + getLibuvNow(): number; + setupTimers(immediateCallback: () => void, timersCallback: (now: number) => void): void; + scheduleTimer(msecs: number): void; + toggleTimerRef(value: boolean): void; + toggleImmediateRef(value: boolean): void; + immediateInfo: Uint32Array; +}; diff --git a/typings/internalBinding/util.d.ts b/typings/internalBinding/util.d.ts index 2158c7ed688bcd..3d89796662f74a 100644 --- a/typings/internalBinding/util.d.ts +++ b/typings/internalBinding/util.d.ts @@ -44,4 +44,5 @@ declare function InternalBinding(binding: 'util'): { shouldAbortOnUncaughtToggle: [shouldAbort: 0 | 1]; WeakReference: typeof InternalUtilBinding.WeakReference; guessHandleType(fd: number): 'TCP' | 'TTY' | 'UDP' | 'FILE' | 'PIPE' | 'UNKNOWN'; + toUSVString(str: string, start: number): string; }; diff --git a/typings/primordials.d.ts b/typings/primordials.d.ts index beed1d7b83c4c9..5c291769de66b1 100644 --- a/typings/primordials.d.ts +++ b/typings/primordials.d.ts @@ -24,7 +24,7 @@ type StaticApply unknown> = * primordials.StringPrototypeStartsWith('thing', 'hello') * ``` */ -declare namespace primordials { +declare namespace Primordials { export function uncurryThis< T extends (...args: unknown[]) => unknown > (fn: T): @@ -527,3 +527,7 @@ declare namespace primordials { export const PromisePrototypeCatch: UncurryThis export const PromisePrototypeFinally: UncurryThis } + +declare global { + const primordials: typeof Primordials; +}