From 45eb2f9b37c2c7498c58eb45f76667aaa4a7d731 Mon Sep 17 00:00:00 2001 From: Ben Noordhuis Date: Sun, 23 Feb 2020 20:40:44 +0100 Subject: feat(std/node): add os Symbol.toPrimitive methods (#4073) Node's os module exports a number of methods that evaluate to themselves when coerced to a primitive. I.e., `"" + os.arch` and `os.arch()` evaluate to the same string, and now Deno's shims do too. --- std/node/os.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'std/node/os.ts') diff --git a/std/node/os.ts b/std/node/os.ts index 51e5bbd93..39209b4b7 100644 --- a/std/node/os.ts +++ b/std/node/os.ts @@ -89,6 +89,17 @@ interface UserInfo { homedir: string; } +arch[Symbol.toPrimitive] = (): string => arch(); +endianness[Symbol.toPrimitive] = (): string => endianness(); +freemem[Symbol.toPrimitive] = (): number => freemem(); +homedir[Symbol.toPrimitive] = (): string | null => homedir(); +hostname[Symbol.toPrimitive] = (): string | null => hostname(); +platform[Symbol.toPrimitive] = (): string => platform(); +release[Symbol.toPrimitive] = (): string => release(); +totalmem[Symbol.toPrimitive] = (): number => totalmem(); +type[Symbol.toPrimitive] = (): string => type(); +uptime[Symbol.toPrimitive] = (): number => uptime(); + /** Returns the operating system CPU architecture for which the Deno binary was compiled */ export function arch(): string { return Deno.build.arch; -- cgit v1.2.3