diff options
-rw-r--r-- | cli/tests/node_compat/test/parallel/test-os.js | 3 | ||||
-rw-r--r-- | ext/node/polyfills/os.ts | 9 |
2 files changed, 12 insertions, 0 deletions
diff --git a/cli/tests/node_compat/test/parallel/test-os.js b/cli/tests/node_compat/test/parallel/test-os.js index d8425d0d5..9de4f516f 100644 --- a/cli/tests/node_compat/test/parallel/test-os.js +++ b/cli/tests/node_compat/test/parallel/test-os.js @@ -125,6 +125,9 @@ const platform = os.platform(); is.string(platform); assert.ok(platform.length > 0); +const availableParallelism = os.availableParallelism(); +assert.ok(availableParallelism === navigator.hardwareConcurrency); + const arch = os.arch(); is.string(arch); assert.ok(arch.length > 0); diff --git a/ext/node/polyfills/os.ts b/ext/node/polyfills/os.ts index 3245ad7ab..06de4ad44 100644 --- a/ext/node/polyfills/os.ts +++ b/ext/node/polyfills/os.ts @@ -103,6 +103,9 @@ export function arch(): string { } // deno-lint-ignore no-explicit-any +(availableParallelism as any)[Symbol.toPrimitive] = (): number => + availableParallelism(); +// deno-lint-ignore no-explicit-any (arch as any)[Symbol.toPrimitive] = (): string => process.arch; // deno-lint-ignore no-explicit-any (endianness as any)[Symbol.toPrimitive] = (): string => endianness(); @@ -354,10 +357,16 @@ export function userInfo( }; } +/* Returns an estimate of the default amount of parallelism a program should use. */ +export function availableParallelism(): number { + return navigator.hardwareConcurrency; +} + export const EOL = isWindows ? "\r\n" : "\n"; export const devNull = isWindows ? "\\\\.\\nul" : "/dev/null"; export default { + availableParallelism, arch, cpus, endianness, |