From 4633aa5ed59fed97f2bce6f4e4d4aa91f0ddb354 Mon Sep 17 00:00:00 2001 From: Johannes Date: Wed, 30 Mar 2022 16:14:59 +0200 Subject: [PATCH] reduce usage of `arrays#flatten` util, use native `flat` instead --- .../editor/contrib/suggest/browser/suggestWidgetRenderer.ts | 5 ++--- src/vs/workbench/api/browser/mainThreadNotebookKernels.ts | 4 ++-- .../cellStatusBar/contributedStatusBarItemController.ts | 3 +-- .../contrib/notebook/browser/contrib/format/formatting.ts | 3 +-- .../contrib/notebook/common/model/notebookTextModel.ts | 3 +-- 5 files changed, 7 insertions(+), 11 deletions(-) diff --git a/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.ts b/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.ts index 9823da21955..12000fceb97 100644 --- a/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.ts +++ b/src/vs/editor/contrib/suggest/browser/suggestWidgetRenderer.ts @@ -7,7 +7,6 @@ import { isSafari } from 'vs/base/browser/browser'; import { $, append, hide, show } from 'vs/base/browser/dom'; import { IconLabel, IIconLabelValueOptions } from 'vs/base/browser/ui/iconLabel/iconLabel'; import { IListRenderer } from 'vs/base/browser/ui/list/list'; -import { flatten } from 'vs/base/common/arrays'; import { Codicon, CSSIcon } from 'vs/base/common/codicons'; import { Emitter, Event } from 'vs/base/common/event'; import { createMatches } from 'vs/base/common/filters'; @@ -190,10 +189,10 @@ export class ItemRenderer implements IListRenderer p.provides)); + return this.preloads.map(p => p.provides).flat(); } constructor(data: INotebookKernelDto2, private _languageService: ILanguageService) { diff --git a/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/contributedStatusBarItemController.ts b/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/contributedStatusBarItemController.ts index 66037ed429c..7e3796f5342 100644 --- a/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/contributedStatusBarItemController.ts +++ b/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/contributedStatusBarItemController.ts @@ -3,7 +3,6 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { flatten } from 'vs/base/common/arrays'; import { disposableTimeout, Throttler } from 'vs/base/common/async'; import { CancellationTokenSource } from 'vs/base/common/cancellation'; import { Disposable, toDisposable } from 'vs/base/common/lifecycle'; @@ -119,7 +118,7 @@ class CellStatusBarHelper extends Disposable { return; } - const items = flatten(itemLists.map(itemList => itemList.items)); + const items = itemLists.map(itemList => itemList.items).flat(); const newIds = this._notebookViewModel.deltaCellStatusBarItems(this._currentItemIds, [{ handle: this._cell.handle, items }]); this._currentItemLists.forEach(itemList => itemList.dispose && itemList.dispose()); diff --git a/src/vs/workbench/contrib/notebook/browser/contrib/format/formatting.ts b/src/vs/workbench/contrib/notebook/browser/contrib/format/formatting.ts index 239aa8064cf..6d2e6f4785e 100644 --- a/src/vs/workbench/contrib/notebook/browser/contrib/format/formatting.ts +++ b/src/vs/workbench/contrib/notebook/browser/contrib/format/formatting.ts @@ -23,7 +23,6 @@ import { EditorContextKeys } from 'vs/editor/common/editorContextKeys'; import { registerEditorAction, EditorAction } from 'vs/editor/browser/editorExtensions'; import { ICodeEditor } from 'vs/editor/browser/editorBrowser'; import { Progress } from 'vs/platform/progress/common/progress'; -import { flatten } from 'vs/base/common/arrays'; import { ILanguageFeaturesService } from 'vs/editor/common/services/languageFeatures'; // format notebook @@ -91,7 +90,7 @@ registerAction2(class extends Action2 { return []; })); - await bulkEditService.apply(/* edit */flatten(allCellEdits), { label: localize('label', "Format Notebook"), code: 'undoredo.formatNotebook', }); + await bulkEditService.apply(/* edit */allCellEdits.flat(), { label: localize('label', "Format Notebook"), code: 'undoredo.formatNotebook', }); } finally { disposable.dispose(); diff --git a/src/vs/workbench/contrib/notebook/common/model/notebookTextModel.ts b/src/vs/workbench/contrib/notebook/common/model/notebookTextModel.ts index 391f79e2b0c..ee251e88c29 100644 --- a/src/vs/workbench/contrib/notebook/common/model/notebookTextModel.ts +++ b/src/vs/workbench/contrib/notebook/common/model/notebookTextModel.ts @@ -3,7 +3,6 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { flatten } from 'vs/base/common/arrays'; import { Emitter, Event, PauseableEmitter } from 'vs/base/common/event'; import { Disposable, dispose, IDisposable } from 'vs/base/common/lifecycle'; import { URI } from 'vs/base/common/uri'; @@ -502,7 +501,7 @@ export class NotebookTextModel extends Disposable implements INotebookTextModel return [...otherEdits.reverse(), ...replaceEdits]; }); - const flattenEdits = flatten(edits); + const flattenEdits = edits.flat(); for (const { edit, cellIndex } of flattenEdits) { switch (edit.editType) {