From 2d50d2c5d1ed5f426c46e06cee436dce8debc6c9 Mon Sep 17 00:00:00 2001 From: Barbara Valdez <34872381+barbaravaldez@users.noreply.github.com> Date: Wed, 2 Dec 2020 18:12:48 -0800 Subject: [PATCH] add await to thenable method (#13635) (#13638) --- extensions/notebook/src/book/bookPinManager.ts | 17 ++++++++--------- extensions/notebook/src/book/bookTreeView.ts | 4 ++-- extensions/notebook/src/common/utils.ts | 5 +++-- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/extensions/notebook/src/book/bookPinManager.ts b/extensions/notebook/src/book/bookPinManager.ts index 175039538a..6df3a9688c 100644 --- a/extensions/notebook/src/book/bookPinManager.ts +++ b/extensions/notebook/src/book/bookPinManager.ts @@ -9,8 +9,8 @@ import { BookTreeItem } from './bookTreeItem'; import { getPinnedNotebooks, setPinnedBookPathsInConfig, IBookNotebook } from '../common/utils'; export interface IBookPinManager { - pinNotebook(notebook: BookTreeItem): boolean; - unpinNotebook(notebook: BookTreeItem): boolean; + pinNotebook(notebook: BookTreeItem): Promise; + unpinNotebook(notebook: BookTreeItem): Promise; } enum PinBookOperation { @@ -39,15 +39,15 @@ export class BookPinManager implements IBookPinManager { return false; } - pinNotebook(notebook: BookTreeItem): boolean { - return this.isNotebookPinned(notebook.book.contentPath) ? false : this.updatePinnedBooks(notebook, PinBookOperation.Pin); + async pinNotebook(notebook: BookTreeItem): Promise { + return this.isNotebookPinned(notebook.book.contentPath) ? false : await this.updatePinnedBooks(notebook, PinBookOperation.Pin); } - unpinNotebook(notebook: BookTreeItem): boolean { - return this.updatePinnedBooks(notebook, PinBookOperation.Unpin); + async unpinNotebook(notebook: BookTreeItem): Promise { + return await this.updatePinnedBooks(notebook, PinBookOperation.Unpin); } - updatePinnedBooks(notebook: BookTreeItem, operation: PinBookOperation) { + async updatePinnedBooks(notebook: BookTreeItem, operation: PinBookOperation): Promise { let modifiedPinnedBooks = false; let bookPathToChange: string = notebook.book.contentPath; @@ -63,9 +63,8 @@ export class BookPinManager implements IBookPinManager { modifiedPinnedBooks = true; } - setPinnedBookPathsInConfig(pinnedBooks); + await setPinnedBookPathsInConfig(pinnedBooks); this.setPinnedSectionContext(); - return modifiedPinnedBooks; } } diff --git a/extensions/notebook/src/book/bookTreeView.ts b/extensions/notebook/src/book/bookTreeView.ts index 0416a63109..c901cde7ed 100644 --- a/extensions/notebook/src/book/bookTreeView.ts +++ b/extensions/notebook/src/book/bookTreeView.ts @@ -117,7 +117,7 @@ export class BookTreeViewProvider implements vscode.TreeDataProvider { let bookPathToUpdate = bookTreeItem.book?.contentPath; if (bookPathToUpdate) { - let pinStatusChanged = this.bookPinManager.pinNotebook(bookTreeItem); + let pinStatusChanged = await this.bookPinManager.pinNotebook(bookTreeItem); if (pinStatusChanged) { bookTreeItem.contextValue = 'pinnedNotebook'; } @@ -127,7 +127,7 @@ export class BookTreeViewProvider implements vscode.TreeDataProvider { let bookPathToUpdate = bookTreeItem.book?.contentPath; if (bookPathToUpdate) { - let pinStatusChanged = this.bookPinManager.unpinNotebook(bookTreeItem); + let pinStatusChanged = await this.bookPinManager.unpinNotebook(bookTreeItem); if (pinStatusChanged) { bookTreeItem.contextValue = 'savedNotebook'; } diff --git a/extensions/notebook/src/common/utils.ts b/extensions/notebook/src/common/utils.ts index a189ce9709..20e50d5d45 100644 --- a/extensions/notebook/src/common/utils.ts +++ b/extensions/notebook/src/common/utils.ts @@ -378,13 +378,14 @@ function hasWorkspaceFolders(): boolean { return workspaceFolders && workspaceFolders.length > 0; } -export function setPinnedBookPathsInConfig(pinnedNotebookPaths: IBookNotebook[]) { +export async function setPinnedBookPathsInConfig(pinnedNotebookPaths: IBookNotebook[]): Promise { let config: vscode.WorkspaceConfiguration = vscode.workspace.getConfiguration(notebookConfigKey); let storeInWorspace: boolean = hasWorkspaceFolders(); - config.update(pinnedBooksConfigKey, pinnedNotebookPaths, storeInWorspace ? false : vscode.ConfigurationTarget.Global); + await config.update(pinnedBooksConfigKey, pinnedNotebookPaths, storeInWorspace ? false : vscode.ConfigurationTarget.Global); } + export interface IBookNotebook { bookPath?: string; notebookPath: string;