You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
841 B
TypeScript
27 lines
841 B
TypeScript
/**
|
|
* 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.
|
|
*/
|
|
import { FarmOptions, PromiseWithCustomMessage } from './types';
|
|
export default class Farm {
|
|
private _computeWorkerKey;
|
|
private _cacheKeys;
|
|
private _callback;
|
|
private _last;
|
|
private _locks;
|
|
private _numOfWorkers;
|
|
private _offset;
|
|
private _queue;
|
|
constructor(numOfWorkers: number, callback: Function, computeWorkerKey?: FarmOptions['computeWorkerKey']);
|
|
doWork(method: string, ...args: Array<unknown>): PromiseWithCustomMessage<unknown>;
|
|
private _getNextTask;
|
|
private _process;
|
|
private _enqueue;
|
|
private _push;
|
|
private _lock;
|
|
private _unlock;
|
|
private _isLocked;
|
|
}
|