From 0964952bcd2f65be8877dc91f38965efca6d564c Mon Sep 17 00:00:00 2001 From: Matt Bierner Date: Wed, 3 Jul 2019 18:34:04 -0700 Subject: [PATCH] Marking almost all product fields as readonly --- .../product/browser/productService.ts | 4 +- src/vs/platform/product/common/product.ts | 158 +++++++++--------- .../platform/product/node/productService.ts | 4 +- 3 files changed, 83 insertions(+), 83 deletions(-) diff --git a/src/vs/platform/product/browser/productService.ts b/src/vs/platform/product/browser/productService.ts index 084144d009f..972e6aad642 100644 --- a/src/vs/platform/product/browser/productService.ts +++ b/src/vs/platform/product/browser/productService.ts @@ -25,9 +25,9 @@ export class ProductService implements IProductService { get urlProtocol(): string { return ''; } - get extensionAllowedProposedApi(): string[] { return this.productConfiguration ? this.productConfiguration.extensionAllowedProposedApi : []; } + get extensionAllowedProposedApi(): readonly string[] { return this.productConfiguration ? this.productConfiguration.extensionAllowedProposedApi : []; } - get uiExtensions(): string[] | undefined { return this.productConfiguration ? this.productConfiguration.uiExtensions : undefined; } + get uiExtensions(): readonly string[] | undefined { return this.productConfiguration ? this.productConfiguration.uiExtensions : undefined; } get enableTelemetry(): boolean { return false; } diff --git a/src/vs/platform/product/common/product.ts b/src/vs/platform/product/common/product.ts index 97f3fe3e5a4..90952c63254 100644 --- a/src/vs/platform/product/common/product.ts +++ b/src/vs/platform/product/common/product.ts @@ -10,103 +10,103 @@ export const IProductService = createDecorator('productService' export interface IProductService { _serviceBrand: any; - version: string; - commit?: string; + readonly version: string; + readonly commit?: string; - nameLong: string; - urlProtocol: string; - extensionAllowedProposedApi: string[]; - uiExtensions?: string[]; + readonly nameLong: string; + readonly urlProtocol: string; + readonly extensionAllowedProposedApi: readonly string[]; + readonly uiExtensions?: readonly string[]; - enableTelemetry: boolean; - extensionsGallery?: { - serviceUrl: string; - itemUrl: string; - controlUrl: string; - recommendationsUrl: string; + readonly enableTelemetry: boolean; + readonly extensionsGallery?: { + readonly serviceUrl: string; + readonly itemUrl: string; + readonly controlUrl: string; + readonly recommendationsUrl: string; }; - sendASmile?: { - reportIssueUrl: string; - requestFeatureUrl: string; + readonly sendASmile?: { + readonly reportIssueUrl: string; + readonly requestFeatureUrl: string; }; } export interface IProductConfiguration { nameShort: string; nameLong: string; - applicationName: string; - win32AppId: string; - win32x64AppId: string; - win32UserAppId: string; - win32x64UserAppId: string; - win32AppUserModelId: string; - win32MutexName: string; - darwinBundleIdentifier: string; - urlProtocol: string; + readonly applicationName: string; + readonly win32AppId: string; + readonly win32x64AppId: string; + readonly win32UserAppId: string; + readonly win32x64UserAppId: string; + readonly win32AppUserModelId: string; + readonly win32MutexName: string; + readonly darwinBundleIdentifier: string; + readonly urlProtocol: string; dataFolderName: string; - downloadUrl: string; - updateUrl?: string; - quality?: string; - target?: string; - commit?: string; - settingsSearchBuildId?: number; - settingsSearchUrl?: string; - experimentsUrl?: string; - date: string; - extensionsGallery?: { - serviceUrl: string; - itemUrl: string; - controlUrl: string; - recommendationsUrl: string; + readonly downloadUrl: string; + readonly updateUrl?: string; + readonly quality?: string; + readonly target?: string; + readonly commit?: string; + readonly settingsSearchBuildId?: number; + readonly settingsSearchUrl?: string; + readonly experimentsUrl?: string; + readonly date: string; + readonly extensionsGallery?: { + readonly serviceUrl: string; + readonly itemUrl: string; + readonly controlUrl: string; + readonly recommendationsUrl: string; }; extensionTips: { [id: string]: string; }; extensionImportantTips: { [id: string]: { name: string; pattern: string; }; }; - exeBasedExtensionTips: { [id: string]: { friendlyName: string, windowsPath?: string, recommendations: string[] }; }; - extensionKeywords: { [extension: string]: string[]; }; - extensionAllowedBadgeProviders: string[]; - extensionAllowedProposedApi: string[]; - keymapExtensionTips: string[]; - crashReporter: { - companyName: string; - productName: string; + readonly exeBasedExtensionTips: { [id: string]: { friendlyName: string, windowsPath?: string, recommendations: readonly string[] }; }; + readonly extensionKeywords: { [extension: string]: readonly string[]; }; + readonly extensionAllowedBadgeProviders: readonly string[]; + readonly extensionAllowedProposedApi: readonly string[]; + readonly keymapExtensionTips: readonly string[]; + readonly crashReporter: { + readonly companyName: string; + readonly productName: string; }; - welcomePage: string; - enableTelemetry: boolean; - aiConfig: { - asimovKey: string; + readonly welcomePage: string; + readonly enableTelemetry: boolean; + readonly aiConfig: { + readonly asimovKey: string; }; - sendASmile: { - reportIssueUrl: string, - requestFeatureUrl: string + readonly sendASmile: { + readonly reportIssueUrl: string, + readonly requestFeatureUrl: string }; - documentationUrl: string; - releaseNotesUrl: string; - keyboardShortcutsUrlMac: string; - keyboardShortcutsUrlLinux: string; - keyboardShortcutsUrlWin: string; - introductoryVideosUrl: string; - tipsAndTricksUrl: string; - newsletterSignupUrl: string; - twitterUrl: string; - requestFeatureUrl: string; - reportIssueUrl: string; - licenseUrl: string; - privacyStatementUrl: string; - telemetryOptOutUrl: string; - npsSurveyUrl: string; - surveys: ISurveyData[]; - checksums: { [path: string]: string; }; - checksumFailMoreInfoUrl: string; - hockeyApp: { - 'win32-ia32': string; - 'win32-x64': string; - 'linux-x64': string; - 'darwin': string; + readonly documentationUrl: string; + readonly releaseNotesUrl: string; + readonly keyboardShortcutsUrlMac: string; + readonly keyboardShortcutsUrlLinux: string; + readonly keyboardShortcutsUrlWin: string; + readonly introductoryVideosUrl: string; + readonly tipsAndTricksUrl: string; + readonly newsletterSignupUrl: string; + readonly twitterUrl: string; + readonly requestFeatureUrl: string; + readonly reportIssueUrl: string; + readonly licenseUrl: string; + readonly privacyStatementUrl: string; + readonly telemetryOptOutUrl: string; + readonly npsSurveyUrl: string; + readonly surveys: readonly ISurveyData[]; + readonly checksums: { [path: string]: string; }; + readonly checksumFailMoreInfoUrl: string; + readonly hockeyApp: { + readonly 'win32-ia32': string; + readonly 'win32-x64': string; + readonly 'linux-x64': string; + readonly 'darwin': string; }; - logUploaderUrl: string; - portable?: string; - uiExtensions?: string[]; + readonly logUploaderUrl: string; + readonly portable?: string; + readonly uiExtensions?: readonly string[]; } export interface ISurveyData { diff --git a/src/vs/platform/product/node/productService.ts b/src/vs/platform/product/node/productService.ts index b30475440d2..925b15e1d9a 100644 --- a/src/vs/platform/product/node/productService.ts +++ b/src/vs/platform/product/node/productService.ts @@ -20,9 +20,9 @@ export class ProductService implements IProductService { get urlProtocol(): string { return product.urlProtocol; } - get extensionAllowedProposedApi(): string[] { return product.extensionAllowedProposedApi; } + get extensionAllowedProposedApi(): readonly string[] { return product.extensionAllowedProposedApi; } - get uiExtensions(): string[] | undefined { return product.uiExtensions; } + get uiExtensions(): readonly string[] | undefined { return product.uiExtensions; } get enableTelemetry(): boolean { return product.enableTelemetry; }