Skip to content

Commit f8432f8

Browse files
author
Benjamin Pasero
committed
debt - more usage of ES6 object assign
1 parent 6d0beca commit f8432f8

13 files changed

Lines changed: 35 additions & 44 deletions

File tree

src/vs/code/electron-main/main.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55

66
import 'vs/platform/update/common/update.config.contribution';
77
import { app, dialog } from 'electron';
8-
import { assign } from 'vs/base/common/objects';
98
import { isWindows, IProcessEnvironment, isMacintosh } from 'vs/base/common/platform';
109
import product from 'vs/platform/product/common/product';
1110
import { parseMainProcessArgv, addArg } from 'vs/platform/environment/node/argvHelper';
@@ -201,7 +200,7 @@ class CodeMain {
201200
}
202201
});
203202

204-
assign(process.env, instanceEnvironment);
203+
Object.assign(process.env, instanceEnvironment);
205204

206205
return instanceEnvironment;
207206
}

src/vs/code/electron-main/sharedProcess.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
* Licensed under the MIT License. See License.txt in the project root for license information.
44
*--------------------------------------------------------------------------------------------*/
55

6-
import { assign } from 'vs/base/common/objects';
76
import { memoize } from 'vs/base/common/decorators';
87
import { IEnvironmentService } from 'vs/platform/environment/common/environment';
98
import { BrowserWindow, ipcMain, WebContents, Event as ElectronEvent } from 'electron';
@@ -47,13 +46,13 @@ export class SharedProcess implements ISharedProcess {
4746
disableBlinkFeatures: 'Auxclick' // do NOT change, allows us to identify this window as shared-process in the process explorer
4847
}
4948
});
50-
const config = assign({
49+
const config = {
5150
appRoot: this.environmentService.appRoot,
5251
machineId: this.machineId,
5352
nodeCachedDataDir: this.environmentService.nodeCachedDataDir,
5453
userEnv: this.userEnv,
5554
windowId: this.window.id
56-
});
55+
};
5756

5857
const url = `${require.toUrl('vs/code/electron-browser/sharedProcess/sharedProcess.html')}?config=${encodeURIComponent(JSON.stringify(config))}`;
5958
this.window.loadURL(url);

src/vs/code/electron-main/window.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -471,7 +471,7 @@ export class CodeWindow extends Disposable implements ICodeWindow {
471471
// Inject headers when requests are incoming
472472
const urls = ['https://marketplace.visualstudio.com/*', 'https://*.vsassets.io/*'];
473473
this._win.webContents.session.webRequest.onBeforeSendHeaders({ urls }, (details, cb) =>
474-
this.marketplaceHeadersPromise.then(headers => cb({ cancel: false, requestHeaders: objects.assign(details.requestHeaders, headers) as Record<string, string> })));
474+
this.marketplaceHeadersPromise.then(headers => cb({ cancel: false, requestHeaders: Object.assign(details.requestHeaders, headers) })));
475475
}
476476

477477
private onWindowError(error: WindowError): void {
@@ -597,7 +597,7 @@ export class CodeWindow extends Disposable implements ICodeWindow {
597597

598598
// Add disable-extensions to the config, but do not preserve it on currentConfig or
599599
// pendingLoadConfig so that it is applied only on this load
600-
const configuration = objects.assign({}, config);
600+
const configuration = { ...config };
601601
if (disableExtensions !== undefined) {
602602
configuration['disable-extensions'] = disableExtensions;
603603
}
@@ -701,7 +701,7 @@ export class CodeWindow extends Disposable implements ICodeWindow {
701701

702702
// Config (combination of process.argv and window configuration)
703703
const environment = parseArgs(process.argv, OPTIONS);
704-
const config = objects.assign(environment, windowConfiguration);
704+
const config = Object.assign(environment, windowConfiguration);
705705
for (const key in config) {
706706
const configValue = (config as any)[key];
707707
if (configValue === undefined || configValue === null || configValue === '' || configValue === false) {

src/vs/code/node/shellEnv.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
*--------------------------------------------------------------------------------------------*/
55

66
import * as cp from 'child_process';
7-
import { assign } from 'vs/base/common/objects';
87
import { generateUuid } from 'vs/base/common/uuid';
98
import { isWindows } from 'vs/base/common/platform';
109
import { ILogService } from 'vs/platform/log/common/log';
@@ -21,10 +20,11 @@ function getUnixShellEnvironment(logService: ILogService): Promise<typeof proces
2120
const mark = generateUuid().replace(/-/g, '').substr(0, 12);
2221
const regex = new RegExp(mark + '(.*)' + mark);
2322

24-
const env = assign({}, process.env, {
23+
const env = {
24+
...process.env,
2525
ELECTRON_RUN_AS_NODE: '1',
2626
ELECTRON_NO_ATTACH_CONSOLE: '1'
27-
});
27+
};
2828

2929
const command = `'${process.execPath}' -p '"${mark}" + JSON.stringify(process.env) + "${mark}"'`;
3030
logService.trace('getUnixShellEnvironment#env', env);

src/vs/platform/files/common/fileService.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ import { isReadableStream, transform, ReadableStreamEvents, consumeReadableWithL
1818
import { Queue } from 'vs/base/common/async';
1919
import { CancellationTokenSource, CancellationToken } from 'vs/base/common/cancellation';
2020
import { Schemas } from 'vs/base/common/network';
21-
import { assign } from 'vs/base/common/objects';
2221
import { createReadStream } from 'vs/platform/files/common/io';
2322

2423
export class FileService extends Disposable implements IFileService {
@@ -384,14 +383,15 @@ export class FileService extends Disposable implements IFileService {
384383
async readFile(resource: URI, options?: IReadFileOptions): Promise<IFileContent> {
385384
const provider = await this.withReadProvider(resource);
386385

387-
const stream = await this.doReadAsFileStream(provider, resource, assign({
386+
const stream = await this.doReadAsFileStream(provider, resource, {
387+
...options,
388388
// optimization: since we know that the caller does not
389389
// care about buffering, we indicate this to the reader.
390390
// this reduces all the overhead the buffered reading
391391
// has (open, read, close) if the provider supports
392392
// unbuffered reading.
393393
preferUnbuffered: true
394-
}, options || Object.create(null)));
394+
});
395395

396396
return {
397397
...stream,

src/vs/platform/product/common/product.ts

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
*--------------------------------------------------------------------------------------------*/
55

66
import { IProductConfiguration } from 'vs/platform/product/common/productService';
7-
import { assign } from 'vs/base/common/objects';
87
import { isWeb } from 'vs/base/common/platform';
98
import * as path from 'vs/base/common/path';
109
import { getPathFromAmdModule } from 'vs/base/common/amd';
@@ -20,8 +19,8 @@ if (isWeb) {
2019

2120
// Running out of sources
2221
if (Object.keys(product).length === 0) {
23-
assign(product, {
24-
version: '1.44.0-dev',
22+
Object.assign(product, {
23+
version: '1.45.0-dev',
2524
nameLong: 'Visual Studio Code Web Dev',
2625
nameShort: 'VSCode Web Dev',
2726
urlProtocol: 'code-oss'
@@ -35,19 +34,19 @@ else if (typeof require !== 'undefined' && typeof require.__$__nodeRequire === '
3534
// Obtain values from product.json and package.json
3635
const rootPath = path.dirname(getPathFromAmdModule(require, ''));
3736

38-
product = assign({}, require.__$__nodeRequire(path.join(rootPath, 'product.json')) as IProductConfiguration);
37+
product = require.__$__nodeRequire(path.join(rootPath, 'product.json'));
3938
const pkg = require.__$__nodeRequire(path.join(rootPath, 'package.json')) as { version: string; };
4039

4140
// Running out of sources
4241
if (env['VSCODE_DEV']) {
43-
assign(product, {
42+
Object.assign(product, {
4443
nameShort: `${product.nameShort} Dev`,
4544
nameLong: `${product.nameLong} Dev`,
4645
dataFolderName: `${product.dataFolderName}-dev`
4746
});
4847
}
4948

50-
assign(product, {
49+
Object.assign(product, {
5150
version: pkg.version
5251
});
5352
}

src/vs/platform/windows/electron-main/windowsMainService.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import * as fs from 'fs';
77
import { basename, normalize, join, posix } from 'vs/base/common/path';
88
import { localize } from 'vs/nls';
99
import * as arrays from 'vs/base/common/arrays';
10-
import { assign, mixin } from 'vs/base/common/objects';
10+
import { mixin } from 'vs/base/common/objects';
1111
import { IBackupMainService } from 'vs/platform/backup/electron-main/backup';
1212
import { IEmptyWindowBackupInfo } from 'vs/platform/backup/node/backup';
1313
import { IEnvironmentService, ParsedArgs } from 'vs/platform/environment/common/environment';
@@ -1358,7 +1358,7 @@ export class WindowsMainService extends Disposable implements IWindowsMainServic
13581358
configuration.nodeCachedDataDir = this.environmentService.nodeCachedDataDir;
13591359
configuration.mainPid = process.pid;
13601360
configuration.execPath = process.execPath;
1361-
configuration.userEnv = assign({}, this.initialUserEnv, options.userEnv || {});
1361+
configuration.userEnv = { ...this.initialUserEnv, ...options.userEnv };
13621362
configuration.isInitialStartup = options.initialStartup;
13631363
configuration.workspace = options.workspace;
13641364
configuration.folderUri = options.folderUri;

src/vs/workbench/browser/parts/editor/editor.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import { IEditorGroup, GroupDirection, IAddGroupOptions, IMergeGroupOptions, Gro
99
import { IDisposable } from 'vs/base/common/lifecycle';
1010
import { Dimension } from 'vs/base/browser/dom';
1111
import { Event } from 'vs/base/common/event';
12-
import { assign } from 'vs/base/common/objects';
1312
import { IConfigurationChangeEvent } from 'vs/platform/configuration/common/configuration';
1413
import { ISerializableView } from 'vs/base/browser/ui/grid/grid';
1514
import { getCodeEditor } from 'vs/editor/browser/editorBrowser';
@@ -47,7 +46,7 @@ export function impactsEditorPartOptions(event: IConfigurationChangeEvent): bool
4746
}
4847

4948
export function getEditorPartOptions(config: IWorkbenchEditorConfiguration): IEditorPartOptions {
50-
const options: IEditorPartOptions = assign(Object.create(null), DEFAULT_EDITOR_PART_OPTIONS);
49+
const options = { ...DEFAULT_EDITOR_PART_OPTIONS };
5150

5251
if (!config || !config.workbench) {
5352
return options;
@@ -58,7 +57,7 @@ export function getEditorPartOptions(config: IWorkbenchEditorConfiguration): IEd
5857
}
5958

6059
if (config.workbench.editor) {
61-
assign(options, config.workbench.editor);
60+
Object.assign(options, config.workbench.editor);
6261
}
6362

6463
return options;

src/vs/workbench/browser/parts/editor/editorPart.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ import { IEditorGroupsAccessor, IEditorGroupView, getEditorPartOptions, impactsE
1919
import { EditorGroupView } from 'vs/workbench/browser/parts/editor/editorGroupView';
2020
import { IConfigurationService, IConfigurationChangeEvent } from 'vs/platform/configuration/common/configuration';
2121
import { IDisposable, dispose, toDisposable, DisposableStore } from 'vs/base/common/lifecycle';
22-
import { assign } from 'vs/base/common/objects';
2322
import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage';
2423
import { ISerializedEditorGroup, isSerializedEditorGroup } from 'vs/workbench/common/editor/editorGroup';
2524
import { EditorDropTarget, EditorDropTargetDelegate } from 'vs/workbench/browser/parts/editor/editorDropTarget';
@@ -175,7 +174,7 @@ export class EditorPart extends Part implements IEditorGroupsService, IEditorGro
175174
const newPartOptions = getEditorPartOptions(this.configurationService.getValue<IWorkbenchEditorConfiguration>());
176175

177176
this.enforcedPartOptions.forEach(enforcedPartOptions => {
178-
assign(newPartOptions, enforcedPartOptions); // check for overrides
177+
Object.assign(newPartOptions, enforcedPartOptions); // check for overrides
179178
});
180179

181180
this._partOptions = newPartOptions;

src/vs/workbench/browser/parts/editor/textEditor.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
import { localize } from 'vs/nls';
77
import { URI } from 'vs/base/common/uri';
8-
import { distinct, deepClone, assign } from 'vs/base/common/objects';
8+
import { distinct, deepClone } from 'vs/base/common/objects';
99
import { Event } from 'vs/base/common/event';
1010
import { isObject, assertIsDefined, withNullAsUndefined, isFunction } from 'vs/base/common/types';
1111
import { Dimension } from 'vs/base/browser/dom';
@@ -93,7 +93,7 @@ export abstract class BaseTextEditor extends BaseEditor implements ITextEditorPa
9393

9494
// Specific editor options always overwrite user configuration
9595
const editorConfiguration: IEditorOptions = isObject(configuration.editor) ? deepClone(configuration.editor) : Object.create(null);
96-
assign(editorConfiguration, this.getConfigurationOverrides());
96+
Object.assign(editorConfiguration, this.getConfigurationOverrides());
9797

9898
// ARIA label
9999
editorConfiguration.ariaLabel = this.computeAriaLabel();

0 commit comments

Comments
 (0)