X-Git-Url: https://git.josue.xyz/?p=VSoRC%2F.git;a=blobdiff_plain;f=node_modules%2Fnode-pty%2Fsrc%2Findex.ts;fp=node_modules%2Fnode-pty%2Fsrc%2Findex.ts;h=53d0322e5e5b75353eb7028a0279f10c6664b476;hp=0000000000000000000000000000000000000000;hb=e79e4a5a87f3e84f7c1777f10a954453a69bf540;hpb=4339da12467b75fb8b6ca831f4bf0081c485ed2c diff --git a/node_modules/node-pty/src/index.ts b/node_modules/node-pty/src/index.ts new file mode 100644 index 0000000..53d0322 --- /dev/null +++ b/node_modules/node-pty/src/index.ts @@ -0,0 +1,51 @@ +/** + * Copyright (c) 2012-2015, Christopher Jeffrey, Peter Sunde (MIT License) + * Copyright (c) 2016, Daniel Imms (MIT License). + * Copyright (c) 2018, Microsoft Corporation (MIT License). + */ + +import { ITerminal, IPtyOpenOptions, IPtyForkOptions, IWindowsPtyForkOptions } from './interfaces'; +import { ArgvOrCommandLine } from './types'; + +let terminalCtor: any; +if (process.platform === 'win32') { + terminalCtor = require('./windowsTerminal').WindowsTerminal; +} else { + terminalCtor = require('./unixTerminal').UnixTerminal; +} + +/** + * Forks a process as a pseudoterminal. + * @param file The file to launch. + * @param args The file's arguments as argv (string[]) or in a pre-escaped + * CommandLine format (string). Note that the CommandLine option is only + * available on Windows and is expected to be escaped properly. + * @param options The options of the terminal. + * @throws When the file passed to spawn with does not exists. + * @see CommandLineToArgvW https://msdn.microsoft.com/en-us/library/windows/desktop/bb776391(v=vs.85).aspx + * @see Parsing C++ Comamnd-Line Arguments https://msdn.microsoft.com/en-us/library/17w5ykft.aspx + * @see GetCommandLine https://msdn.microsoft.com/en-us/library/windows/desktop/ms683156.aspx + */ +export function spawn(file?: string, args?: ArgvOrCommandLine, opt?: IPtyForkOptions | IWindowsPtyForkOptions): ITerminal { + return new terminalCtor(file, args, opt); +} + +/** @deprecated */ +export function fork(file?: string, args?: ArgvOrCommandLine, opt?: IPtyForkOptions | IWindowsPtyForkOptions): ITerminal { + return new terminalCtor(file, args, opt); +} + +/** @deprecated */ +export function createTerminal(file?: string, args?: ArgvOrCommandLine, opt?: IPtyForkOptions | IWindowsPtyForkOptions): ITerminal { + return new terminalCtor(file, args, opt); +} + +export function open(options: IPtyOpenOptions): ITerminal { + return terminalCtor.open(options); +} + +/** + * Expose the native API when not Windows, note that this is not public API and + * could be removed at any time. + */ +export const native = (process.platform !== 'win32' ? require('../build/Release/pty.node') : null);