aboutsummaryrefslogtreecommitdiff
path: root/node_modules/jest-worker/build/workers/ChildProcessWorker.d.ts
diff options
context:
space:
mode:
authorJoel Kronqvist <work.joelkronqvist@pm.me>2022-03-11 20:46:06 +0200
committerJoel Kronqvist <work.joelkronqvist@pm.me>2022-03-11 20:46:06 +0200
commit080c5819d87b933816d724a83f3bf4f1686770a7 (patch)
tree4a2ccc68b27edf7d4cbc586c932cc7542b655e19 /node_modules/jest-worker/build/workers/ChildProcessWorker.d.ts
parent5ac7049a9d30733165cc212dee308163c2a14644 (diff)
parentd003b82235a9329f912522a2f70aa950dfce4998 (diff)
downloadLYLLRuoka-080c5819d87b933816d724a83f3bf4f1686770a7.tar.gz
LYLLRuoka-080c5819d87b933816d724a83f3bf4f1686770a7.zip
Merge branch 'master' of https://github.com/JoelHMikael/FoodJS
Updating remote changes
Diffstat (limited to 'node_modules/jest-worker/build/workers/ChildProcessWorker.d.ts')
-rw-r--r--node_modules/jest-worker/build/workers/ChildProcessWorker.d.ts51
1 files changed, 51 insertions, 0 deletions
diff --git a/node_modules/jest-worker/build/workers/ChildProcessWorker.d.ts b/node_modules/jest-worker/build/workers/ChildProcessWorker.d.ts
new file mode 100644
index 0000000..4a8dcf1
--- /dev/null
+++ b/node_modules/jest-worker/build/workers/ChildProcessWorker.d.ts
@@ -0,0 +1,51 @@
+/**
+ * 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 { ChildMessage, OnCustomMessage, OnEnd, OnStart, WorkerInterface, WorkerOptions } from '../types';
+/**
+ * This class wraps the child process and provides a nice interface to
+ * communicate with. It takes care of:
+ *
+ * - Re-spawning the process if it dies.
+ * - Queues calls while the worker is busy.
+ * - Re-sends the requests if the worker blew up.
+ *
+ * The reason for queueing them here (since childProcess.send also has an
+ * internal queue) is because the worker could be doing asynchronous work, and
+ * this would lead to the child process to read its receiving buffer and start a
+ * second call. By queueing calls here, we don't send the next call to the
+ * children until we receive the result of the previous one.
+ *
+ * As soon as a request starts to be processed by a worker, its "processed"
+ * field is changed to "true", so that other workers which might encounter the
+ * same call skip it.
+ */
+export default class ChildProcessWorker implements WorkerInterface {
+ private _child;
+ private _options;
+ private _request;
+ private _retries;
+ private _onProcessEnd;
+ private _onCustomMessage;
+ private _fakeStream;
+ private _stdout;
+ private _stderr;
+ private _exitPromise;
+ private _resolveExitPromise;
+ constructor(options: WorkerOptions);
+ initialize(): void;
+ private _shutdown;
+ private _onMessage;
+ private _onExit;
+ send(request: ChildMessage, onProcessStart: OnStart, onProcessEnd: OnEnd, onCustomMessage: OnCustomMessage): void;
+ waitForExit(): Promise<void>;
+ forceExit(): void;
+ getWorkerId(): number;
+ getStdout(): NodeJS.ReadableStream | null;
+ getStderr(): NodeJS.ReadableStream | null;
+ private _getFakeStream;
+}