From 22a427f9347ef95045139b8a916ff48beaa51c4a Mon Sep 17 00:00:00 2001 From: Anthony Dresser Date: Tue, 5 Nov 2019 13:03:20 -0800 Subject: [PATCH] Remove typings and replace missing methods with vscodes (#8217) * remove typings and replace missing methods with vscodes * fix strict-null-checks * fix tests --- .../base/browser/ui/panel/panel.component.ts | 5 +- src/sql/base/browser/ui/panel/panel.ts | 10 +- .../ui/table/plugins/headerFilter.plugin.ts | 18 +- src/sql/base/common/collections.ts | 8 + src/sql/base/common/decorators.ts | 50 - src/sql/base/common/objects.ts | 8 - src/sql/base/common/strings.ts | 17 + .../editableDropdown/browser/dropdown.ts | 2 +- .../editableDropdown/browser/dropdownTree.ts | 2 +- .../browser/ui/table/tableDataView.test.ts | 6 +- src/sql/base/test/common/event.ts | 5 +- .../platform/accounts/common/accountStore.ts | 9 +- .../platform/accounts/common/interfaces.ts | 2 +- .../connection/common/connectionConfig.ts | 15 +- .../connection/common/connectionProfile.ts | 3 +- .../common/connectionProfileGroup.ts | 6 +- .../common/connectionStatusManager.ts | 17 +- .../connection/common/connectionStore.ts | 9 +- .../common/providerConnectionInfo.ts | 14 +- .../test/common/connectionConfig.test.ts | 23 +- .../test/common/connectionProfile.test.ts | 3 +- .../test/common/connectionStore.test.ts | 27 +- .../common/providerConnectionInfo.test.ts | 7 +- .../test/node/connectionStatusManager.test.ts | 5 +- .../dashboard/browser/insightRegistry.ts | 3 +- .../browser/modelComponentRegistry.ts | 3 +- .../browser/jobManagementUtilities.ts | 7 +- .../platform/query/common/queryManagement.ts | 3 +- src/sql/platform/query/common/queryRunner.ts | 5 +- .../common/queryHistoryServiceImpl.ts | 3 +- .../restore/browser/restoreServiceImpl.ts | 3 +- .../common/serializationService.ts | 5 +- src/sql/platform/tasks/common/tasksService.ts | 3 +- .../telemetry/common/adsTelemetryService.ts | 7 +- .../browser/mainThreadAccountManagement.ts | 4 +- .../api/browser/mainThreadDashboardWebview.ts | 3 +- .../api/browser/mainThreadDataProtocol.ts | 3 +- .../api/browser/mainThreadModelView.ts | 3 +- .../mainThreadNotebookDocumentsAndEditors.ts | 9 +- .../api/common/extHostAccountManagement.ts | 6 +- .../api/common/extHostDataProtocol.ts | 3 +- .../workbench/api/common/extHostModelView.ts | 17 +- .../api/common/extHostModelViewTree.ts | 3 +- .../api/common/extHostNotebookEditor.ts | 3 +- .../api/common/extHostResourceProvider.ts | 4 +- .../workbench/browser/customInputConverter.ts | 5 +- src/sql/workbench/browser/modal/modal.ts | 5 +- .../browser/modal/optionsDialogHelper.ts | 3 +- .../browser/modelComponents/componentBase.ts | 10 +- .../declarativeTable.component.ts | 5 +- .../modelComponents/dropdown.component.ts | 5 +- .../formContainer.component.ts | 3 +- .../groupContainer.component.ts | 3 +- .../modelComponents/inputbox.component.ts | 3 +- .../browser/modelComponents/modelStore.ts | 5 +- .../browser/modelComponents/tree.component.ts | 3 +- .../browser/modelComponents/viewBase.ts | 3 +- .../browser/parts/views/customView.ts | 3 +- .../preferences/browser/sqlSettingsLayout.ts | 3 +- .../accounts/browser/accountPickerImpl.ts | 3 +- .../workbench/parts/charts/browser/actions.ts | 3 +- .../parts/charts/browser/chartOptions.ts | 3 +- .../parts/charts/browser/chartView.ts | 9 +- .../parts/charts/browser/graphInsight.ts | 26 +- .../parts/charts/browser/imageInsight.ts | 3 +- .../workbench/parts/charts/browser/insight.ts | 13 +- .../parts/charts/browser/interfaces.ts | 2 +- .../electron-browser/commandLine.ts | 3 +- .../connection/browser/connectionActions.ts | 3 +- .../dashboardContainer.contribution.ts | 9 +- .../dashboardGridContainer.component.ts | 6 +- .../dashboardGridContainer.contribution.ts | 3 +- .../dashboardNavSection.component.ts | 8 +- .../dashboardNavSection.contribution.ts | 3 +- .../dashboardWidgetContainer.component.ts | 3 +- .../dashboardWidgetContainer.contribution.ts | 3 +- .../dashboardWidgetWrapper.component.ts | 3 +- .../contents/widgetContent.component.ts | 9 +- .../parts/dashboard/browser/core/actions.ts | 5 +- .../dashboard/browser/core/dashboardHelper.ts | 7 +- .../browser/core/dashboardPage.component.ts | 20 +- .../browser/core/dashboardTab.contribution.ts | 5 +- .../dashboard/browser/core/dashboardWidget.ts | 4 +- .../dashboard/browser/dashboardRegistry.ts | 5 +- .../browser/widgets/explorer/explorerTree.ts | 8 +- .../insights/insightsWidget.component.ts | 2 +- .../views/charts/chartInsight.component.ts | 30 +- .../views/charts/types/lineChart.component.ts | 8 +- .../charts/types/timeSeriesChart.component.ts | 9 +- .../insights/views/imageInsight.component.ts | 3 +- .../widgets/tasks/tasksWidget.component.ts | 4 +- .../editData/browser/editData.component.ts | 4 +- .../parts/editData/browser/editDataActions.ts | 5 +- .../browser/jobHistory.component.ts | 5 +- .../jobManagement/browser/jobStepsViewTree.ts | 2 +- .../browser/jobsView.component.ts | 11 +- .../browser/notebookHistory.component.ts | 3 +- .../browser/notebooksView.component.ts | 11 +- .../notebook/browser/cellToggleMoreActions.ts | 3 +- .../parts/notebook/browser/models/cell.ts | 7 +- .../browser/models/cellMagicMapper.ts | 3 +- .../browser/models/notebookContexts.ts | 11 +- .../notebook/browser/models/notebookModel.ts | 38 +- .../browser/models/notebookTextFileModel.ts | 8 +- .../notebook/browser/models/notebookUtils.ts | 8 +- .../notebook/browser/notebook.component.ts | 17 +- .../parts/notebook/browser/notebookActions.ts | 15 +- .../browser/outputs/gridOutput.component.ts | 8 +- .../notebook/browser/outputs/mimeRegistry.ts | 5 +- .../browser/outputs/notebookMarkdown.ts | 2 +- .../notebook/browser/outputs/sanitizer.ts | 9 +- .../browser/outputs/tableRenderers.ts | 3 +- .../test/browser/notebookEditorModel.test.ts | 6 +- .../test/electron-browser/cell.test.ts | 27 +- .../electron-browser/notebookModel.test.ts | 5 +- .../browser/objectExplorerViewTreeShim.ts | 3 +- .../browser/serverTreeActionProvider.ts | 5 +- .../browser/serverTreeRenderer.ts | 2 +- .../objectExplorer/browser/serverTreeView.ts | 5 +- .../parts/profiler/browser/profilerEditor.ts | 5 +- .../profiler/browser/profilerFilterDialog.ts | 5 +- .../parts/profiler/browser/profilerInput.ts | 7 +- .../parts/query/browser/gridPanel.ts | 12 +- .../query/browser/keyboardQueryActions.ts | 3 +- .../parts/query/browser/queryEditor.ts | 2 +- .../parts/query/browser/queryResultsView.ts | 6 +- .../parts/query/common/queryInput.ts | 10 +- .../parts/restore/browser/restoreDialog.ts | 2 +- .../common/telemetry.contribution.ts | 2 +- .../browser/accountManagementService.ts | 10 +- .../backup/browser/backupUiService.ts | 3 +- .../common/capabilitiesServiceImpl.ts | 7 +- .../browser/connectionController.ts | 6 +- .../browser/connectionDialogService.ts | 9 +- .../browser/connectionDialogWidget.ts | 4 +- .../browser/connectionManagementService.ts | 21 +- .../connection/browser/connectionWidget.ts | 23 +- .../connectionManagementService.test.ts | 15 +- .../browser/newDashboardTabViewModel.ts | 3 +- .../services/dialog/browser/dialog.module.ts | 3 +- .../insights/browser/insightsDialogView.ts | 4 +- .../notebook/browser/notebookServiceImpl.ts | 15 +- .../notebook/browser/sql/sqlSessionManager.ts | 8 +- .../browser/objectExplorerService.ts | 8 +- .../browser/objectExplorerService.test.ts | 9 +- .../profiler/browser/profilerFilter.ts | 9 +- .../profiler/browser/profilerService.ts | 2 +- .../queryEditor/browser/queryEditorService.ts | 3 +- .../browser/modal/optionsDialogHelper.test.ts | 4 +- .../test/browser/taskUtilities.test.ts | 3 +- .../api/extHostModelView.test.ts | 3 +- .../api/extHostObjectExplorer.test.ts | 3 +- src/tsconfig.base.json | 3 - src/tsconfig.json | 3 +- src/typings/globals/core-js/index.d.ts | 2975 ------- src/typings/globals/jqueryui/index.d.ts | 1909 ---- src/typings/globals/typemoq/index.d.ts | 635 -- src/typings/globals/underscore/index.d.ts | 6087 ------------- src/typings/globals/zone.js/index.d.ts | 343 - src/typings/index.d.ts | 21 - .../modules/@angular/common/index.d.ts | 1779 ---- .../modules/@angular/compiler/index.d.ts | 3831 -------- src/typings/modules/@angular/core/index.d.ts | 7912 ----------------- src/typings/modules/@angular/forms/index.d.ts | 2721 ------ .../platform-browser-dynamic/index.d.ts | 113 - .../@angular/platform-browser/index.d.ts | 1129 --- .../modules/@angular/router/index.d.ts | 2643 ------ .../modules/@types/htmlparser2/index.d.ts | 106 - .../modules/@types/plotly.js-dist/index.d.ts | 1423 --- .../modules/@types/sanitize-html/index.d.ts | 70 - src/typings/modules/angular2-grid/index.d.ts | 369 - .../modules/angular2-slickgrid/index.d.ts | 196 - src/typings/modules/ansi_up/index.d.ts | 50 - src/typings/modules/chartjs/index.d.ts | 668 -- .../modules/html-query-plan/index.d.ts | 54 - src/typings/modules/ng2-charts/index.d.ts | 82 - src/typings/modules/rxjs/index.d.ts | 7745 ---------------- .../slickgrid/index.d.ts => slickgrid.d.ts} | 0 .../common/extensionGalleryService.ts | 19 +- .../workbench/api/common/extHost.api.impl.ts | 3 +- src/vs/workbench/common/editor/editorGroup.ts | 4 +- .../browser/extensionTipsService.ts | 4 +- .../extensions/browser/extensionsViews.ts | 8 +- .../common/extensionHostProcessManager.ts | 2 +- 184 files changed, 634 insertions(+), 43388 deletions(-) create mode 100644 src/sql/base/common/collections.ts delete mode 100644 src/sql/base/common/decorators.ts delete mode 100644 src/typings/globals/core-js/index.d.ts delete mode 100644 src/typings/globals/jqueryui/index.d.ts delete mode 100644 src/typings/globals/typemoq/index.d.ts delete mode 100644 src/typings/globals/underscore/index.d.ts delete mode 100644 src/typings/globals/zone.js/index.d.ts delete mode 100644 src/typings/index.d.ts delete mode 100644 src/typings/modules/@angular/common/index.d.ts delete mode 100644 src/typings/modules/@angular/compiler/index.d.ts delete mode 100644 src/typings/modules/@angular/core/index.d.ts delete mode 100644 src/typings/modules/@angular/forms/index.d.ts delete mode 100644 src/typings/modules/@angular/platform-browser-dynamic/index.d.ts delete mode 100644 src/typings/modules/@angular/platform-browser/index.d.ts delete mode 100644 src/typings/modules/@angular/router/index.d.ts delete mode 100644 src/typings/modules/@types/htmlparser2/index.d.ts delete mode 100644 src/typings/modules/@types/plotly.js-dist/index.d.ts delete mode 100644 src/typings/modules/@types/sanitize-html/index.d.ts delete mode 100644 src/typings/modules/angular2-grid/index.d.ts delete mode 100644 src/typings/modules/angular2-slickgrid/index.d.ts delete mode 100644 src/typings/modules/ansi_up/index.d.ts delete mode 100644 src/typings/modules/chartjs/index.d.ts delete mode 100644 src/typings/modules/html-query-plan/index.d.ts delete mode 100644 src/typings/modules/ng2-charts/index.d.ts delete mode 100644 src/typings/modules/rxjs/index.d.ts rename src/typings/{globals/slickgrid/index.d.ts => slickgrid.d.ts} (100%) diff --git a/src/sql/base/browser/ui/panel/panel.component.ts b/src/sql/base/browser/ui/panel/panel.component.ts index d5d802fea2..58e02334a6 100644 --- a/src/sql/base/browser/ui/panel/panel.component.ts +++ b/src/sql/base/browser/ui/panel/panel.component.ts @@ -18,6 +18,7 @@ import * as types from 'vs/base/common/types'; import { mixin } from 'vs/base/common/objects'; import { Disposable } from 'vs/base/common/lifecycle'; import { ScrollbarVisibility } from 'vs/base/common/scrollable'; +import { firstIndex } from 'vs/base/common/arrays'; export interface IPanelOptions { /** @@ -202,7 +203,7 @@ export class PanelComponent extends Disposable { * Select on the next tab */ public selectOnNextTab(): void { - let activeIndex = this._tabs.toArray().findIndex(i => i === this._activeTab); + let activeIndex = firstIndex(this._tabs.toArray(), i => i === this._activeTab); let nextTabIndex = activeIndex + 1; if (nextTabIndex === this._tabs.length) { nextTabIndex = 0; @@ -211,7 +212,7 @@ export class PanelComponent extends Disposable { } private findAndRemoveTabFromMRU(tab: TabComponent): void { - let mruIndex = this._mru.findIndex(i => i === tab); + let mruIndex = firstIndex(this._mru, i => i === tab); if (mruIndex !== -1) { // Remove old index diff --git a/src/sql/base/browser/ui/panel/panel.ts b/src/sql/base/browser/ui/panel/panel.ts index 93469564a7..afec828fd0 100644 --- a/src/sql/base/browser/ui/panel/panel.ts +++ b/src/sql/base/browser/ui/panel/panel.ts @@ -15,6 +15,7 @@ import { Disposable, DisposableStore } from 'vs/base/common/lifecycle'; import { Color } from 'vs/base/common/color'; import { isUndefinedOrNull } from 'vs/base/common/types'; import * as map from 'vs/base/common/map'; +import { firstIndex } from 'vs/base/common/arrays'; export interface ITabbedPanelStyles { titleActiveForeground?: Color; @@ -171,11 +172,11 @@ export class TabbedPanel extends Disposable { e.stopImmediatePropagation(); } if (event.equals(KeyCode.RightArrow)) { - let currentIndex = this._tabOrder.findIndex(x => x === tab.tab.identifier); + let currentIndex = firstIndex(this._tabOrder, x => x === tab.tab.identifier); this.focusNextTab(currentIndex + 1); } if (event.equals(KeyCode.LeftArrow)) { - let currentIndex = this._tabOrder.findIndex(x => x === tab.tab.identifier); + let currentIndex = firstIndex(this._tabOrder, x => x === tab.tab.identifier); this.focusNextTab(currentIndex - 1); } if (event.equals(KeyCode.Tab)) { @@ -191,8 +192,7 @@ export class TabbedPanel extends Disposable { const insertBefore = !isUndefinedOrNull(index) ? this.tabList.children.item(index) : undefined; if (insertBefore) { - this._tabOrder.copyWithin(index! + 1, index!); - this._tabOrder[index!] = tab.tab.identifier; + this._tabOrder.splice(index!, 0, tab.tab.identifier); this.tabList.insertBefore(tabHeaderElement, insertBefore); } else { this.tabList.append(tabHeaderElement); @@ -267,7 +267,7 @@ export class TabbedPanel extends Disposable { } actualTab.disposables.dispose(); this._tabMap.delete(tab); - let index = this._tabOrder.findIndex(t => t === tab); + let index = firstIndex(this._tabOrder, t => t === tab); this._tabOrder.splice(index, 1); if (this._shownTabId === tab) { this._shownTabId = undefined; diff --git a/src/sql/base/browser/ui/table/plugins/headerFilter.plugin.ts b/src/sql/base/browser/ui/table/plugins/headerFilter.plugin.ts index c57880f632..d25c5c6201 100644 --- a/src/sql/base/browser/ui/table/plugins/headerFilter.plugin.ts +++ b/src/sql/base/browser/ui/table/plugins/headerFilter.plugin.ts @@ -136,7 +136,7 @@ export class HeaderFilter { this.workingFilters = columnDef.filterValues.slice(0); for (let i = 0; i < filterItems.length; i++) { - const filtered = _.contains(this.workingFilters, filterItems[i]); + const filtered = this.workingFilters.some(x => x === filterItems[i]); filterOptions += '