microsoft/vscode-react-native
Publicmirrored fromhttps://github.com/microsoft/vscode-react-nativeAvailable
src/test/resources/simulators/childProcess.ts
40lines · modecode
| 1 | // Copyright (c) Microsoft Corporation. All rights reserved. |
| 2 | // Licensed under the MIT license. See LICENSE file in the project root for details. |
| 3 | |
| 4 | import * as stream from "stream"; |
| 5 | import * as events from "events"; |
| 6 | import * as child_process from "child_process"; |
| 7 | |
| 8 | class Stream extends events.EventEmitter { |
| 9 | // The methods we get from events.EventEmitter seems to be enough for what we need |
| 10 | } |
| 11 | |
| 12 | /* ChildProcess can emit events to simulate the behavior of a real child process from the |
| 13 | spawneer/caller point of view */ |
| 14 | export class ChildProcess extends events.EventEmitter implements child_process.ChildProcess { |
| 15 | public stdin: stream.Writable = <stream.Writable>new Stream(); |
| 16 | public stdout: stream.Readable = <stream.Readable>new Stream(); |
| 17 | public stderr: stream.Readable = <stream.Readable>new Stream(); |
| 18 | public pid: number; // Not yet implemented |
| 19 | public stdio: [stream.Writable, stream.Readable, stream.Readable]; // Not yet implemented |
| 20 | |
| 21 | public kill(signal?: string): void { |
| 22 | this.notYetImplemented(); |
| 23 | } |
| 24 | |
| 25 | public send(message: any, sendHandle?: any): void { |
| 26 | this.notYetImplemented(); |
| 27 | } |
| 28 | |
| 29 | public disconnect(): void { |
| 30 | this.notYetImplemented(); |
| 31 | } |
| 32 | |
| 33 | public unref(): void { |
| 34 | this.notYetImplemented(); |
| 35 | } |
| 36 | |
| 37 | private notYetImplemented(): void { // We'll implement these methods if we ever need them |
| 38 | throw new Error("This method of class ChildProcess has not yet been implemented."); |
| 39 | } |
| 40 | } |