Skip to content

Commit 3b4d99e

Browse files
committed
Add class level OutputChannel. Fixes #4.
1 parent 0ab847c commit 3b4d99e

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

src/netsuite-sdf.ts

+8-7
Original file line numberDiff line numberDiff line change
@@ -31,19 +31,21 @@ export class NetSuiteSDF {
3131
doSendPassword = true;
3232
doShowOutput = true;
3333
intervalId;
34+
outputChannel: vscode.OutputChannel;
3435
password: string;
3536
rootPath: string;
3637
savedStatus: string;
3738
sdfcli: Observable<string>;
3839
sdfConfig: SDFConfig;
39-
sdfCliIsInstalled: boolean;
40+
sdfCliIsInstalled = true; // Prevents error messages while Code is testing SDFCLI is installed.
4041
statusBar: vscode.StatusBarItem;
4142

4243
constructor(private context: vscode.ExtensionContext) {
4344
this.checkSdfCliIsInstalled()
4445
.then(() => {
4546
if (this.sdfCliIsInstalled) {
4647
this.initializeStatusBar();
48+
this.outputChannel = vscode.window.createOutputChannel('SDF');
4749
}
4850
});
4951
}
@@ -334,7 +336,7 @@ export class NetSuiteSDF {
334336
return line;
335337
}
336338

337-
async handleStdIn(line: string, command: CLICommand, stdinSubject: Subject<string>, outputChannel: vscode.OutputChannel) {
339+
async handleStdIn(line: string, command: CLICommand, stdinSubject: Subject<string>) {
338340
switch (true) {
339341
case (line.includes('SuiteCloud Development Framework CLI') && this.doSendPassword):
340342
stdinSubject.next(`${this.password}\n`);
@@ -345,7 +347,7 @@ export class NetSuiteSDF {
345347
if (answer === 'Deploy') {
346348
stdinSubject.next('YES\n');
347349
} else {
348-
outputChannel.append('Cancelling deployment.\n');
350+
this.outputChannel.append('Cancelling deployment.\n');
349351
stdinSubject.next('NO\n');
350352
}
351353
break;
@@ -396,10 +398,9 @@ export class NetSuiteSDF {
396398
async runCommand(command: CLICommand, ...args): Promise<any> {
397399
await this.getConfig();
398400
if (this.sdfConfig && this.activeEnvironment && this.password) {
399-
const outputChannel = vscode.window.createOutputChannel('SDF');
400401
const workspaceFolders = vscode.workspace.workspaceFolders;
401402
if (this.doShowOutput) {
402-
outputChannel.show();
403+
this.outputChannel.show();
403404
}
404405

405406
const commandArray: [CLICommand, string, string, string, string] = [
@@ -426,8 +427,8 @@ export class NetSuiteSDF {
426427
const collectedData = await this.sdfcli
427428
.concatMap(data => data.trim().split('\n'))
428429
.map(line => this.handlePassword(line, command, stdinSubject))
429-
.do(line => this.doShowOutput ? outputChannel.append(`${line}\n`) : null)
430-
.do(line => this.handleStdIn(line, command, stdinSubject, outputChannel))
430+
.do(line => this.doShowOutput ? this.outputChannel.append(`${line}\n`) : null)
431+
.do(line => this.handleStdIn(line, command, stdinSubject))
431432
.filter(line => !(line.startsWith('[INFO]') || line.startsWith('SuiteCloud Development Framework CLI') || line.startsWith('SuiteCloud Development Framework CLI') || line.startsWith('Done.')))
432433
.map(line => this.mapCommandOutput(command, line))
433434
.reduce((acc: string[], curr: string) => acc.concat([curr]), [])

0 commit comments

Comments
 (0)