From 7764c93700d844cbd5dab12072cfa1521c560133 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Zasso?= Date: Sun, 26 Sep 2021 12:22:11 +0200 Subject: [PATCH 1/5] typings: fix declaration of primordials Closes: https://github.com/nodejs/node/issues/40144 --- typings/primordials.d.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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; +} From 6cfc89921ba3fa05dda0a159a53cc93a4f1e401b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Zasso?= Date: Sun, 26 Sep 2021 15:47:14 +0200 Subject: [PATCH 2/5] typings: define types for timers binding --- tsconfig.json | 1 + typings/internalBinding/timers.d.ts | 8 ++++++++ 2 files changed, 9 insertions(+) create mode 100644 typings/internalBinding/timers.d.ts diff --git a/tsconfig.json b/tsconfig.json index d1d6469f494f97..25000c2655994e 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -7,6 +7,7 @@ "./typings/internalBinding/messaging.d.ts", "./typings/internalBinding/options.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/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; +}; From a7173b4e2917ab3cfcf1680c9d2d8cded79d732b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Zasso?= Date: Sun, 26 Sep 2021 16:07:13 +0200 Subject: [PATCH 3/5] typings: add missing types to options and util bindings --- typings/internalBinding/options.d.ts | 1 + typings/internalBinding/util.d.ts | 1 + 2 files changed, 2 insertions(+) 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/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; }; From c2460eb5b8a944dcad30b199f61fe5fb55ab697c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Zasso?= Date: Sun, 26 Sep 2021 16:28:40 +0200 Subject: [PATCH 4/5] typings: define types for os binding --- tsconfig.json | 1 + typings/internalBinding/os.d.ts | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 typings/internalBinding/os.d.ts diff --git a/tsconfig.json b/tsconfig.json index 25000c2655994e..048ecd6f48e3ee 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -6,6 +6,7 @@ "./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", diff --git a/typings/internalBinding/os.d.ts b/typings/internalBinding/os.d.ts new file mode 100644 index 00000000000000..1f2fabd6c3f22e --- /dev/null +++ b/typings/internalBinding/os.d.ts @@ -0,0 +1,21 @@ +declare function InternalBinding(binding: 'os'): { + getHostname(ctx: object): string | undefined; + getLoadAvg(array: Float64Array): void; + getUptime(): number; + getTotalMem(): number; + getFreeMem(): number; + getCPUs(): Array; + getInterfaceAddresses(ctx: object): Array | undefined; + getHomeDirectory(ctx: object): string | undefined; + getUserInfo(options: {encoding?: string} | undefined, ctx: object): { + uid: number; + gid: number; + username: string; + homedir: string; + shell: string | null; + } | undefined; + setPriority(pid: number, priority: number, ctx: object): number; + getPriority(pid: number, ctx: object): number | undefined; + getOSInformation(ctx: object): [sysname: string, version: string, release: string]; + isBigEndian: boolean; +}; From 795db39025ef6e60b4bef34d4259a23ac234c056 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Zasso?= Date: Mon, 27 Sep 2021 16:50:49 +0200 Subject: [PATCH 5/5] fixup! typings: define types for os binding --- typings/internalBinding/os.d.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/typings/internalBinding/os.d.ts b/typings/internalBinding/os.d.ts index 1f2fabd6c3f22e..cdddc330151a3e 100644 --- a/typings/internalBinding/os.d.ts +++ b/typings/internalBinding/os.d.ts @@ -1,21 +1,21 @@ declare function InternalBinding(binding: 'os'): { - getHostname(ctx: object): string | undefined; + getHostname(ctx: {}): string | undefined; getLoadAvg(array: Float64Array): void; getUptime(): number; getTotalMem(): number; getFreeMem(): number; getCPUs(): Array; - getInterfaceAddresses(ctx: object): Array | undefined; - getHomeDirectory(ctx: object): string | undefined; - getUserInfo(options: {encoding?: string} | undefined, ctx: object): { + 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: object): number; - getPriority(pid: number, ctx: object): number | undefined; - getOSInformation(ctx: object): [sysname: string, version: string, release: string]; + setPriority(pid: number, priority: number, ctx: {}): number; + getPriority(pid: number, ctx: {}): number | undefined; + getOSInformation(ctx: {}): [sysname: string, version: string, release: string]; isBigEndian: boolean; };