-import os from 'node:os'
+import * as os from 'node:os'
import type {
MeasurementStatisticsRequirements,
WorkerChoiceStrategyOptions
} from './pools/selection-strategies/selection-strategies-types'
import type { KillBehavior } from './worker/worker-options'
+/**
+ * Default task name.
+ */
+export const DEFAULT_TASK_NAME = 'default'
+
/**
* An intentional empty function.
*/
try {
availableParallelism = os.availableParallelism()
} catch {
- const cpus = os.cpus()
- if (Array.isArray(cpus) && cpus.length > 0) {
- availableParallelism = cpus.length
+ const numberOfCpus = os.cpus()
+ if (Array.isArray(numberOfCpus) && numberOfCpus.length > 0) {
+ availableParallelism = numberOfCpus.length
}
}
return availableParallelism
): value is KB => {
return value === killBehavior
}
+
+/**
+ * Detects whether the given value is an asynchronous function or not.
+ *
+ * @param fn - Any value.
+ * @returns `true` if `fn` was an asynchronous function, otherwise `false`.
+ */
+export const isAsyncFunction = (
+ fn: unknown
+): fn is (...args: unknown[]) => Promise<unknown> => {
+ return typeof fn === 'function' && fn.constructor.name === 'AsyncFunction'
+}