From 798a4026efca2ca2bfaea8d70d19b95f312b51ff Mon Sep 17 00:00:00 2001 From: Johannes Rieken Date: Fri, 21 Feb 2020 10:08:55 +0100 Subject: [PATCH] debt - have Dto and UriDto --- src/vs/base/common/types.ts | 17 +++++++++++++---- src/vs/platform/actions/common/actions.ts | 4 ++-- src/vs/workbench/api/common/extHost.protocol.ts | 4 ++-- 3 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/vs/base/common/types.ts b/src/vs/base/common/types.ts index 965018778b2..980c686c9ad 100644 --- a/src/vs/base/common/types.ts +++ b/src/vs/base/common/types.ts @@ -266,10 +266,19 @@ export type AddFirstParameterToFunctions = { [K in keyof T]: T[K] extends URI + ? UriComponents + : UriDto }; + +/** + * Mapped-type that replaces all occurrences of URI with UriComponents and + * drops all functions. * todo@joh use toJSON-results */ -export type Serialized = { [K in keyof T]: T[K] extends URI +export type Dto = { [K in keyof T]: T[K] extends URI ? UriComponents - : Serialized }; + : T[K] extends Function + ? never + : UriDto }; diff --git a/src/vs/platform/actions/common/actions.ts b/src/vs/platform/actions/common/actions.ts index 63eccb8f7f5..ffef4c6d2d4 100644 --- a/src/vs/platform/actions/common/actions.ts +++ b/src/vs/platform/actions/common/actions.ts @@ -13,7 +13,7 @@ import { IDisposable, DisposableStore } from 'vs/base/common/lifecycle'; import { Event, Emitter } from 'vs/base/common/event'; import { URI } from 'vs/base/common/uri'; import { ThemeIcon } from 'vs/platform/theme/common/themeService'; -import { Serialized } from 'vs/base/common/types'; +import { UriDto } from 'vs/base/common/types'; export interface ILocalizedString { value: string; @@ -29,7 +29,7 @@ export interface ICommandAction { toggled?: ContextKeyExpr; } -export type ISerializableCommandAction = Serialized; +export type ISerializableCommandAction = UriDto; export interface IMenuItem { command: ICommandAction; diff --git a/src/vs/workbench/api/common/extHost.protocol.ts b/src/vs/workbench/api/common/extHost.protocol.ts index dc30bd4e1ce..e13afc5a623 100644 --- a/src/vs/workbench/api/common/extHost.protocol.ts +++ b/src/vs/workbench/api/common/extHost.protocol.ts @@ -52,7 +52,7 @@ import { TunnelOptions } from 'vs/platform/remote/common/tunnel'; import { Timeline, TimelineChangeEvent, TimelineCursor, TimelineProviderDescriptor } from 'vs/workbench/contrib/timeline/common/timeline'; import { revive } from 'vs/base/common/marshalling'; import { CallHierarchyItem } from 'vs/workbench/contrib/callHierarchy/common/callHierarchy'; -import { Serialized } from 'vs/base/common/types'; +import { Dto } from 'vs/base/common/types'; export interface IEnvironment { isExtensionDevelopmentDebug: boolean; @@ -1191,7 +1191,7 @@ export interface ICodeLensDto { command?: ICommandDto; } -export type ICallHierarchyItemDto = Serialized; +export type ICallHierarchyItemDto = Dto; export interface IIncomingCallDto { from: ICallHierarchyItemDto; -- GitLab