| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 | /** * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. *//// <reference types="node" />import type { FarmOptions, PoolExitResult } from './types';/** * The Jest farm (publicly called "Worker") is a class that allows you to queue * methods across multiple child processes, in order to parallelize work. This * is done by providing an absolute path to a module that will be loaded on each * of the child processes, and bridged to the main process. * * Bridged methods are specified by using the "exposedMethods" property of the * "options" object. This is an array of strings, where each of them corresponds * to the exported name in the loaded module. * * You can also control the amount of workers by using the "numWorkers" property * of the "options" object, and the settings passed to fork the process through * the "forkOptions" property. The amount of workers defaults to the amount of * CPUS minus one. * * Queueing calls can be done in two ways: *   - Standard method: calls will be redirected to the first available worker, *     so they will get executed as soon as they can. * *   - Sticky method: if a "computeWorkerKey" method is provided within the *     config, the resulting string of this method will be used as a key. *     Every time this key is returned, it is guaranteed that your job will be *     processed by the same worker. This is specially useful if your workers *     are caching results. */export default class JestWorker {    private _ending;    private _farm;    private _options;    private _workerPool;    constructor(workerPath: string, options?: FarmOptions);    private _bindExposedWorkerMethods;    private _callFunctionWithArgs;    getStderr(): NodeJS.ReadableStream;    getStdout(): NodeJS.ReadableStream;    end(): Promise<PoolExitResult>;}
 |