diff --git a/node/_os.ts b/node/_os.ts index 773cca8bdcbe..14bf20abd2ad 100644 --- a/node/_os.ts +++ b/node/_os.ts @@ -123,9 +123,9 @@ export function endianness(): "BE" | "LE" { return new Int16Array(buffer)[0] === 256 ? "LE" : "BE"; } -/** Not yet implemented */ +/** Return free memory amount */ export function freemem(): number { - notImplemented(SEE_GITHUB_ISSUE); + return Deno.systemMemoryInfo().free; } /** Not yet implemented */ @@ -185,9 +185,9 @@ export function tmpdir(): string | null { notImplemented(SEE_GITHUB_ISSUE); } -/** Not yet implemented */ +/** Return total physical memory amount */ export function totalmem(): number { - notImplemented(SEE_GITHUB_ISSUE); + return Deno.systemMemoryInfo().total; } /** Not yet implemented */ diff --git a/node/os_test.ts b/node/os_test.ts index e4231aa3cda5..8879f8345a10 100644 --- a/node/os_test.ts +++ b/node/os_test.ts @@ -200,6 +200,20 @@ Deno.test({ }, }); +Deno.test({ + name: "Total memory amount should be greater than 0", + fn() { + assert(os.totalmem() > 0); + }, +}); + +Deno.test({ + name: "Free memory amount should be greater than 0", + fn() { + assert(os.freemem() > 0); + }, +}); + Deno.test({ name: "APIs not yet implemented", fn() { @@ -210,13 +224,6 @@ Deno.test({ Error, "Not implemented", ); - assertThrows( - () => { - os.freemem(); - }, - Error, - "Not implemented", - ); assertThrows( () => { os.getPriority(); @@ -238,13 +245,6 @@ Deno.test({ Error, "Not implemented", ); - assertThrows( - () => { - os.totalmem(); - }, - Error, - "Not implemented", - ); assertThrows( () => { os.type();