@theia/core 1.29.0-next.6 → 1.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -9
- package/i18n/nls.cs.json +80 -1
- package/i18n/nls.de.json +80 -1
- package/i18n/nls.es.json +80 -1
- package/i18n/nls.fr.json +80 -1
- package/i18n/nls.hu.json +80 -1
- package/i18n/nls.it.json +80 -1
- package/i18n/nls.ja.json +80 -1
- package/i18n/nls.json +80 -1
- package/i18n/nls.pl.json +80 -1
- package/i18n/nls.pt-br.json +80 -1
- package/i18n/nls.pt-pt.json +80 -1
- package/i18n/nls.ru.json +80 -1
- package/i18n/nls.zh-cn.json +80 -1
- package/lib/browser/authentication-service.d.ts +18 -6
- package/lib/browser/authentication-service.d.ts.map +1 -1
- package/lib/browser/authentication-service.js +4 -4
- package/lib/browser/authentication-service.js.map +1 -1
- package/lib/browser/breadcrumbs/breadcrumbs-renderer.d.ts +0 -2
- package/lib/browser/breadcrumbs/breadcrumbs-renderer.d.ts.map +1 -1
- package/lib/browser/breadcrumbs/breadcrumbs-renderer.js +0 -2
- package/lib/browser/breadcrumbs/breadcrumbs-renderer.js.map +1 -1
- package/lib/browser/common-frontend-contribution.d.ts +4 -0
- package/lib/browser/common-frontend-contribution.d.ts.map +1 -1
- package/lib/browser/common-frontend-contribution.js +37 -0
- package/lib/browser/common-frontend-contribution.js.map +1 -1
- package/lib/browser/core-preferences.d.ts.map +1 -1
- package/lib/browser/core-preferences.js +2 -1
- package/lib/browser/core-preferences.js.map +1 -1
- package/lib/browser/decorations-service.d.ts.map +1 -1
- package/lib/browser/decorations-service.js +2 -6
- package/lib/browser/decorations-service.js.map +1 -1
- package/lib/browser/dialogs/react-dialog.d.ts +2 -2
- package/lib/browser/dialogs/react-dialog.d.ts.map +1 -1
- package/lib/browser/dialogs/react-dialog.js +4 -6
- package/lib/browser/dialogs/react-dialog.js.map +1 -1
- package/lib/browser/keybinding.spec.js +0 -1
- package/lib/browser/keybinding.spec.js.map +1 -1
- package/lib/browser/keyboard/keys.spec.js +0 -1
- package/lib/browser/keyboard/keys.spec.js.map +1 -1
- package/lib/browser/label-parser.spec.js +0 -1
- package/lib/browser/label-parser.spec.js.map +1 -1
- package/lib/browser/label-provider.d.ts +1 -1
- package/lib/browser/label-provider.d.ts.map +1 -1
- package/lib/browser/label-provider.js +1 -2
- package/lib/browser/label-provider.js.map +1 -1
- package/lib/browser/menu/browser-context-menu-renderer.d.ts.map +1 -1
- package/lib/browser/menu/browser-context-menu-renderer.js +0 -1
- package/lib/browser/menu/browser-context-menu-renderer.js.map +1 -1
- package/lib/browser/menu/browser-menu-plugin.d.ts +0 -1
- package/lib/browser/menu/browser-menu-plugin.d.ts.map +1 -1
- package/lib/browser/menu/browser-menu-plugin.js +3 -2
- package/lib/browser/menu/browser-menu-plugin.js.map +1 -1
- package/lib/browser/navigatable-types.d.ts +3 -3
- package/lib/browser/navigatable-types.d.ts.map +1 -1
- package/lib/browser/navigatable-types.js +2 -3
- package/lib/browser/navigatable-types.js.map +1 -1
- package/lib/browser/preferences/injectable-preference-proxy.js +1 -1
- package/lib/browser/preferences/injectable-preference-proxy.js.map +1 -1
- package/lib/browser/preferences/preference-contribution.js +3 -3
- package/lib/browser/preferences/preference-contribution.js.map +1 -1
- package/lib/browser/preferences/preference-language-override-service.d.ts +2 -2
- package/lib/browser/preferences/preference-language-override-service.d.ts.map +1 -1
- package/lib/browser/preferences/preference-language-override-service.js +0 -2
- package/lib/browser/preferences/preference-language-override-service.js.map +1 -1
- package/lib/browser/preferences/preference-proxy.spec.js +0 -1
- package/lib/browser/preferences/preference-proxy.spec.js.map +1 -1
- package/lib/browser/preferences/preference-service.spec.js +0 -1
- package/lib/browser/preferences/preference-service.spec.js.map +1 -1
- package/lib/browser/preferences/preference-validation-service.spec.js +1 -1
- package/lib/browser/preferences/preference-validation-service.spec.js.map +1 -1
- package/lib/browser/saveable.d.ts +6 -6
- package/lib/browser/saveable.d.ts.map +1 -1
- package/lib/browser/saveable.js +2 -8
- package/lib/browser/saveable.js.map +1 -1
- package/lib/browser/shell/application-shell.d.ts +3 -3
- package/lib/browser/shell/application-shell.d.ts.map +1 -1
- package/lib/browser/shell/application-shell.js +2 -4
- package/lib/browser/shell/application-shell.js.map +1 -1
- package/lib/browser/shell/shell-layout-restorer.d.ts +1 -1
- package/lib/browser/shell/shell-layout-restorer.d.ts.map +1 -1
- package/lib/browser/shell/shell-layout-restorer.js +1 -2
- package/lib/browser/shell/shell-layout-restorer.js.map +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.d.ts +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.d.ts.map +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.js +1 -2
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.js.map +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.d.ts +1 -0
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.d.ts.map +1 -1
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.js +3 -6
- package/lib/browser/shell/tab-bar-toolbar/tab-bar-toolbar.js.map +1 -1
- package/lib/browser/shell/tab-bars.d.ts.map +1 -1
- package/lib/browser/shell/tab-bars.js +0 -1
- package/lib/browser/shell/tab-bars.js.map +1 -1
- package/lib/browser/shell/view-contribution.d.ts +1 -1
- package/lib/browser/shell/view-contribution.d.ts.map +1 -1
- package/lib/browser/shell/view-contribution.js +0 -1
- package/lib/browser/shell/view-contribution.js.map +1 -1
- package/lib/browser/source-tree/tree-source.d.ts +2 -2
- package/lib/browser/source-tree/tree-source.d.ts.map +1 -1
- package/lib/browser/source-tree/tree-source.js +1 -2
- package/lib/browser/source-tree/tree-source.js.map +1 -1
- package/lib/browser/tooltip-service.d.ts +0 -2
- package/lib/browser/tooltip-service.d.ts.map +1 -1
- package/lib/browser/tooltip-service.js +0 -2
- package/lib/browser/tooltip-service.js.map +1 -1
- package/lib/browser/tree/tree-decorator.spec.js +0 -1
- package/lib/browser/tree/tree-decorator.spec.js.map +1 -1
- package/lib/browser/tree/tree-expansion.d.ts +2 -2
- package/lib/browser/tree/tree-expansion.d.ts.map +1 -1
- package/lib/browser/tree/tree-expansion.js.map +1 -1
- package/lib/browser/tree/tree-expansion.spec.js +0 -1
- package/lib/browser/tree/tree-expansion.spec.js.map +1 -1
- package/lib/browser/tree/tree-iterator.spec.js +0 -2
- package/lib/browser/tree/tree-iterator.spec.js.map +1 -1
- package/lib/browser/tree/tree-selection-state.d.ts +1 -1
- package/lib/browser/tree/tree-selection-state.d.ts.map +1 -1
- package/lib/browser/tree/tree-selection-state.js.map +1 -1
- package/lib/browser/tree/tree-selection-state.spec.js.map +1 -1
- package/lib/browser/tree/tree-selection.d.ts +3 -3
- package/lib/browser/tree/tree-selection.d.ts.map +1 -1
- package/lib/browser/tree/tree-selection.js +2 -2
- package/lib/browser/tree/tree-selection.js.map +1 -1
- package/lib/browser/tree/tree-widget-selection.d.ts +3 -3
- package/lib/browser/tree/tree-widget-selection.d.ts.map +1 -1
- package/lib/browser/tree/tree-widget-selection.js +1 -2
- package/lib/browser/tree/tree-widget-selection.js.map +1 -1
- package/lib/browser/tree/tree-widget.d.ts +7 -25
- package/lib/browser/tree/tree-widget.d.ts.map +1 -1
- package/lib/browser/tree/tree-widget.js +29 -46
- package/lib/browser/tree/tree-widget.js.map +1 -1
- package/lib/browser/tree/tree.d.ts +1 -1
- package/lib/browser/tree/tree.d.ts.map +1 -1
- package/lib/browser/tree/tree.js.map +1 -1
- package/lib/browser/tree/tree.spec.js +0 -1
- package/lib/browser/tree/tree.spec.js.map +1 -1
- package/lib/browser/view-container.d.ts +5 -5
- package/lib/browser/view-container.d.ts.map +1 -1
- package/lib/browser/view-container.js +2 -4
- package/lib/browser/view-container.js.map +1 -1
- package/lib/browser/widget-manager.d.ts +3 -1
- package/lib/browser/widget-manager.d.ts.map +1 -1
- package/lib/browser/widget-manager.js +6 -8
- package/lib/browser/widget-manager.js.map +1 -1
- package/lib/browser/widget-manager.spec.js +37 -18
- package/lib/browser/widget-manager.spec.js.map +1 -1
- package/lib/browser/widgets/alert-message.d.ts +1 -0
- package/lib/browser/widgets/alert-message.d.ts.map +1 -1
- package/lib/browser/widgets/alert-message.js.map +1 -1
- package/lib/browser/widgets/react-renderer.d.ts +4 -1
- package/lib/browser/widgets/react-renderer.d.ts.map +1 -1
- package/lib/browser/widgets/react-renderer.js +7 -3
- package/lib/browser/widgets/react-renderer.js.map +1 -1
- package/lib/browser/widgets/react-widget.d.ts +2 -2
- package/lib/browser/widgets/react-widget.d.ts.map +1 -1
- package/lib/browser/widgets/react-widget.js +4 -6
- package/lib/browser/widgets/react-widget.js.map +1 -1
- package/lib/browser/widgets/select-component.d.ts +3 -7
- package/lib/browser/widgets/select-component.d.ts.map +1 -1
- package/lib/browser/widgets/select-component.js +10 -12
- package/lib/browser/widgets/select-component.js.map +1 -1
- package/lib/browser/widgets/widget.d.ts +1 -1
- package/lib/browser/widgets/widget.d.ts.map +1 -1
- package/lib/browser/widgets/widget.js +1 -2
- package/lib/browser/widgets/widget.js.map +1 -1
- package/lib/common/cancellation.d.ts +1 -1
- package/lib/common/cancellation.d.ts.map +1 -1
- package/lib/common/cancellation.js +0 -1
- package/lib/common/cancellation.js.map +1 -1
- package/lib/common/command.d.ts +1 -1
- package/lib/common/command.d.ts.map +1 -1
- package/lib/common/command.js +1 -2
- package/lib/common/command.js.map +1 -1
- package/lib/common/command.spec.js +0 -1
- package/lib/common/command.spec.js.map +1 -1
- package/lib/common/disposable.d.ts +1 -1
- package/lib/common/disposable.d.ts.map +1 -1
- package/lib/common/disposable.js +1 -2
- package/lib/common/disposable.js.map +1 -1
- package/lib/common/disposable.spec.js +0 -1
- package/lib/common/disposable.spec.js.map +1 -1
- package/lib/common/glob.d.ts +1 -1
- package/lib/common/glob.d.ts.map +1 -1
- package/lib/common/glob.js +1 -2
- package/lib/common/glob.js.map +1 -1
- package/lib/common/keybinding.d.ts +1 -1
- package/lib/common/keybinding.d.ts.map +1 -1
- package/lib/common/keybinding.js +1 -2
- package/lib/common/keybinding.js.map +1 -1
- package/lib/common/keys.d.ts +1 -1
- package/lib/common/keys.d.ts.map +1 -1
- package/lib/common/keys.js +1 -2
- package/lib/common/keys.js.map +1 -1
- package/lib/common/logger.spec.js +0 -1
- package/lib/common/logger.spec.js.map +1 -1
- package/lib/common/lsp-types.d.ts +1 -1
- package/lib/common/lsp-types.d.ts.map +1 -1
- package/lib/common/lsp-types.js +6 -2
- package/lib/common/lsp-types.js.map +1 -1
- package/lib/common/menu/menu-types.d.ts +1 -1
- package/lib/common/menu/menu-types.d.ts.map +1 -1
- package/lib/common/menu/menu-types.js +1 -2
- package/lib/common/menu/menu-types.js.map +1 -1
- package/lib/common/menu/menu.spec.js +0 -1
- package/lib/common/menu/menu.spec.js.map +1 -1
- package/lib/common/message-rpc/channel.d.ts +17 -8
- package/lib/common/message-rpc/channel.d.ts.map +1 -1
- package/lib/common/message-rpc/channel.js +37 -10
- package/lib/common/message-rpc/channel.js.map +1 -1
- package/lib/common/message-rpc/index.d.ts +1 -1
- package/lib/common/message-rpc/index.d.ts.map +1 -1
- package/lib/common/message-rpc/index.js +3 -1
- package/lib/common/message-rpc/index.js.map +1 -1
- package/lib/common/message-rpc/rpc-message-encoder.d.ts +23 -92
- package/lib/common/message-rpc/rpc-message-encoder.d.ts.map +1 -1
- package/lib/common/message-rpc/rpc-message-encoder.js +47 -359
- package/lib/common/message-rpc/rpc-message-encoder.js.map +1 -1
- package/lib/common/message-rpc/rpc-message-encoder.spec.js +24 -14
- package/lib/common/message-rpc/rpc-message-encoder.spec.js.map +1 -1
- package/lib/common/message-rpc/rpc-protocol.d.ts.map +1 -1
- package/lib/common/message-rpc/rpc-protocol.js +2 -2
- package/lib/common/message-rpc/rpc-protocol.js.map +1 -1
- package/lib/common/messaging/web-socket-channel.d.ts +2 -12
- package/lib/common/messaging/web-socket-channel.d.ts.map +1 -1
- package/lib/common/messaging/web-socket-channel.js +4 -22
- package/lib/common/messaging/web-socket-channel.js.map +1 -1
- package/lib/common/preferences/preference-schema.d.ts +3 -2
- package/lib/common/preferences/preference-schema.d.ts.map +1 -1
- package/lib/common/preferences/preference-schema.js +1 -1
- package/lib/common/preferences/preference-schema.js.map +1 -1
- package/lib/common/preferences/preference-scope.d.ts +1 -1
- package/lib/common/preferences/preference-scope.d.ts.map +1 -1
- package/lib/common/preferences/preference-scope.js +6 -10
- package/lib/common/preferences/preference-scope.js.map +1 -1
- package/lib/common/preferences/preference-scope.spec.d.ts +2 -0
- package/lib/common/preferences/preference-scope.spec.d.ts.map +1 -0
- package/lib/common/preferences/preference-scope.spec.js +45 -0
- package/lib/common/preferences/preference-scope.spec.js.map +1 -0
- package/lib/common/promise-util.d.ts +1 -0
- package/lib/common/promise-util.d.ts.map +1 -1
- package/lib/common/promise-util.js +5 -1
- package/lib/common/promise-util.js.map +1 -1
- package/lib/common/quick-pick-service.d.ts +4 -1
- package/lib/common/quick-pick-service.d.ts.map +1 -1
- package/lib/common/selection.d.ts +3 -3
- package/lib/common/selection.d.ts.map +1 -1
- package/lib/common/selection.js +1 -2
- package/lib/common/selection.js.map +1 -1
- package/lib/common/types.d.ts +4 -0
- package/lib/common/types.d.ts.map +1 -1
- package/lib/common/types.js +7 -0
- package/lib/common/types.js.map +1 -1
- package/lib/electron-browser/messaging/electron-ipc-connection-provider.d.ts +5 -1
- package/lib/electron-browser/messaging/electron-ipc-connection-provider.d.ts.map +1 -1
- package/lib/electron-browser/messaging/electron-ipc-connection-provider.js +16 -16
- package/lib/electron-browser/messaging/electron-ipc-connection-provider.js.map +1 -1
- package/lib/electron-main/electron-main-application.js +1 -1
- package/lib/electron-main/electron-main-application.js.map +1 -1
- package/lib/electron-main/messaging/electron-messaging-contribution.d.ts +3 -9
- package/lib/electron-main/messaging/electron-messaging-contribution.d.ts.map +1 -1
- package/lib/electron-main/messaging/electron-messaging-contribution.js +2 -17
- package/lib/electron-main/messaging/electron-messaging-contribution.js.map +1 -1
- package/lib/node/i18n/localization-backend-contribution.d.ts +3 -0
- package/lib/node/i18n/localization-backend-contribution.d.ts.map +1 -1
- package/lib/node/i18n/localization-backend-contribution.js +10 -1
- package/lib/node/i18n/localization-backend-contribution.js.map +1 -1
- package/lib/node/messaging/ipc-channel.d.ts +2 -10
- package/lib/node/messaging/ipc-channel.d.ts.map +1 -1
- package/lib/node/messaging/ipc-channel.js +2 -18
- package/lib/node/messaging/ipc-channel.js.map +1 -1
- package/lib/node/messaging/ipc-connection-provider.d.ts.map +1 -1
- package/lib/node/messaging/ipc-connection-provider.js +5 -1
- package/lib/node/messaging/ipc-connection-provider.js.map +1 -1
- package/package.json +14 -13
- package/shared/react-dom/client/index.d.ts +1 -0
- package/shared/react-dom/client/index.js +1 -0
- package/shared/react-virtuoso/index.d.ts +1 -0
- package/shared/react-virtuoso/index.js +1 -0
- package/src/browser/authentication-service.ts +23 -12
- package/src/browser/breadcrumbs/breadcrumbs-renderer.tsx +0 -2
- package/src/browser/common-frontend-contribution.ts +41 -1
- package/src/browser/core-preferences.ts +2 -1
- package/src/browser/decorations-service.ts +1 -6
- package/src/browser/dialogs/react-dialog.tsx +6 -7
- package/src/browser/keybinding.spec.ts +0 -2
- package/src/browser/keyboard/keys.spec.ts +0 -2
- package/src/browser/label-parser.spec.ts +0 -2
- package/src/browser/label-provider.ts +2 -3
- package/src/browser/menu/browser-context-menu-renderer.ts +0 -2
- package/src/browser/menu/browser-menu-plugin.ts +3 -3
- package/src/browser/navigatable-types.ts +5 -6
- package/src/browser/preferences/injectable-preference-proxy.ts +1 -1
- package/src/browser/preferences/preference-contribution.ts +3 -3
- package/src/browser/preferences/preference-language-override-service.ts +2 -4
- package/src/browser/preferences/preference-proxy.spec.ts +0 -1
- package/src/browser/preferences/preference-service.spec.ts +0 -1
- package/src/browser/preferences/preference-validation-service.spec.ts +1 -1
- package/src/browser/saveable.ts +9 -15
- package/src/browser/shell/application-shell.ts +6 -7
- package/src/browser/shell/shell-layout-restorer.ts +2 -3
- package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar-types.ts +2 -3
- package/src/browser/shell/tab-bar-toolbar/tab-bar-toolbar.tsx +4 -5
- package/src/browser/shell/tab-bars.ts +0 -1
- package/src/browser/shell/view-contribution.ts +1 -2
- package/src/browser/source-tree/tree-source.ts +3 -4
- package/src/browser/style/index.css +5 -1
- package/src/browser/tooltip-service.tsx +0 -2
- package/src/browser/tree/tree-decorator.spec.ts +0 -2
- package/src/browser/tree/tree-expansion.spec.ts +0 -1
- package/src/browser/tree/tree-expansion.ts +2 -2
- package/src/browser/tree/tree-iterator.spec.ts +0 -3
- package/src/browser/tree/tree-selection-state.spec.ts +0 -2
- package/src/browser/tree/tree-selection-state.ts +1 -1
- package/src/browser/tree/tree-selection.ts +5 -5
- package/src/browser/tree/tree-widget-selection.ts +4 -5
- package/src/browser/tree/tree-widget.tsx +33 -68
- package/src/browser/tree/tree.spec.ts +0 -1
- package/src/browser/tree/tree.ts +1 -1
- package/src/browser/view-container.ts +7 -9
- package/src/browser/widget-manager.spec.ts +40 -18
- package/src/browser/widget-manager.ts +6 -8
- package/src/browser/widgets/alert-message.tsx +1 -0
- package/src/browser/widgets/react-renderer.tsx +9 -4
- package/src/browser/widgets/react-widget.tsx +6 -7
- package/src/browser/widgets/select-component.tsx +13 -19
- package/src/browser/widgets/widget.ts +2 -3
- package/src/common/cancellation.ts +1 -2
- package/src/common/command.spec.ts +0 -2
- package/src/common/command.ts +2 -3
- package/src/common/disposable.spec.ts +0 -1
- package/src/common/disposable.ts +2 -3
- package/src/common/glob.ts +2 -3
- package/src/common/keybinding.ts +2 -3
- package/src/common/keys.ts +2 -3
- package/src/common/logger.spec.ts +0 -2
- package/src/common/lsp-types.ts +7 -3
- package/src/common/menu/menu-types.ts +2 -3
- package/src/common/menu/menu.spec.ts +0 -1
- package/src/common/message-rpc/channel.ts +31 -10
- package/src/common/message-rpc/index.ts +1 -1
- package/src/common/message-rpc/rpc-message-encoder.spec.ts +26 -16
- package/src/common/message-rpc/rpc-message-encoder.ts +54 -429
- package/src/common/message-rpc/rpc-protocol.ts +3 -3
- package/src/common/messaging/web-socket-channel.ts +5 -28
- package/src/common/preferences/preference-schema.ts +4 -3
- package/src/common/preferences/preference-scope.spec.ts +48 -0
- package/src/common/preferences/preference-scope.ts +7 -12
- package/src/common/promise-util.ts +4 -0
- package/src/common/quick-pick-service.ts +1 -1
- package/src/common/selection.ts +4 -5
- package/src/common/types.ts +7 -0
- package/src/electron-browser/messaging/electron-ipc-connection-provider.ts +21 -19
- package/src/electron-main/electron-main-application.ts +1 -1
- package/src/electron-main/messaging/electron-messaging-contribution.ts +6 -21
- package/src/node/i18n/localization-backend-contribution.ts +9 -2
- package/src/node/messaging/ipc-channel.ts +3 -23
- package/src/node/messaging/ipc-connection-provider.ts +5 -1
- package/shared/react-virtualized/index.d.ts +0 -1
- package/shared/react-virtualized/index.js +0 -1
package/src/common/command.ts
CHANGED
|
@@ -49,9 +49,8 @@ export interface Command {
|
|
|
49
49
|
|
|
50
50
|
export namespace Command {
|
|
51
51
|
/* Determine whether object is a Command */
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
return !!arg && arg === Object(arg) && 'id' in arg;
|
|
52
|
+
export function is(arg: unknown): arg is Command {
|
|
53
|
+
return !!arg && typeof arg === 'object' && 'id' in arg;
|
|
55
54
|
}
|
|
56
55
|
|
|
57
56
|
/** Utility function to easily translate commands */
|
|
@@ -18,7 +18,6 @@ import { expect } from 'chai';
|
|
|
18
18
|
import { DisposableCollection, Disposable } from './disposable';
|
|
19
19
|
|
|
20
20
|
describe('Disposables', () => {
|
|
21
|
-
/* eslint-disable no-unused-expressions */
|
|
22
21
|
it('Is safe to use Disposable.NULL', () => {
|
|
23
22
|
const collectionA = new DisposableCollection(Disposable.NULL);
|
|
24
23
|
const collectionB = new DisposableCollection(Disposable.NULL);
|
package/src/common/disposable.ts
CHANGED
|
@@ -23,9 +23,8 @@ export interface Disposable {
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
export namespace Disposable {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
return !!arg && typeof arg === 'object' && 'dispose' in arg && typeof arg['dispose'] === 'function';
|
|
26
|
+
export function is(arg: unknown): arg is Disposable {
|
|
27
|
+
return !!arg && typeof arg === 'object' && typeof (arg as Disposable).dispose === 'function';
|
|
29
28
|
}
|
|
30
29
|
export function create(func: () => void): Disposable {
|
|
31
30
|
return { dispose: func };
|
package/src/common/glob.ts
CHANGED
|
@@ -549,11 +549,10 @@ function listToMap(list: string[]): Record<string, true> {
|
|
|
549
549
|
return map;
|
|
550
550
|
}
|
|
551
551
|
|
|
552
|
-
|
|
553
|
-
export function isRelativePattern(obj: any): obj is IRelativePattern {
|
|
552
|
+
export function isRelativePattern(obj: unknown): obj is IRelativePattern {
|
|
554
553
|
const rp = obj as IRelativePattern;
|
|
555
554
|
|
|
556
|
-
return rp && typeof rp.base === 'string' && typeof rp.pattern === 'string' && typeof rp.pathToRelative === 'function';
|
|
555
|
+
return !!rp && typeof rp === 'object' && typeof rp.base === 'string' && typeof rp.pattern === 'string' && typeof rp.pathToRelative === 'function';
|
|
557
556
|
}
|
|
558
557
|
|
|
559
558
|
/**
|
package/src/common/keybinding.ts
CHANGED
|
@@ -101,9 +101,8 @@ export namespace Keybinding {
|
|
|
101
101
|
}
|
|
102
102
|
|
|
103
103
|
/* Determine whether object is a KeyBinding */
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
return !!arg && arg === Object(arg) && 'command' in arg && 'keybinding' in arg;
|
|
104
|
+
export function is(arg: unknown): arg is Keybinding {
|
|
105
|
+
return !!arg && typeof arg === 'object' && 'command' in arg && 'keybinding' in arg;
|
|
107
106
|
}
|
|
108
107
|
}
|
|
109
108
|
|
package/src/common/keys.ts
CHANGED
|
@@ -488,9 +488,8 @@ export namespace SpecialCases {
|
|
|
488
488
|
|
|
489
489
|
export namespace Key {
|
|
490
490
|
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
return typeof arg === 'object' && ('code' in arg) && ('keyCode' in arg);
|
|
491
|
+
export function isKey(arg: unknown): arg is Key {
|
|
492
|
+
return !!arg && typeof arg === 'object' && 'code' in arg && 'keyCode' in arg;
|
|
494
493
|
}
|
|
495
494
|
|
|
496
495
|
export function getKey(arg: string | number): Key | undefined {
|
|
@@ -18,8 +18,6 @@ import { expect } from 'chai';
|
|
|
18
18
|
import { MockLogger } from './test/mock-logger';
|
|
19
19
|
import { setRootLogger, unsetRootLogger } from './logger';
|
|
20
20
|
|
|
21
|
-
/* eslint-disable no-unused-expressions */
|
|
22
|
-
|
|
23
21
|
describe('logger', () => {
|
|
24
22
|
|
|
25
23
|
it('window is not defined', () => {
|
package/src/common/lsp-types.ts
CHANGED
|
@@ -23,9 +23,13 @@ export interface TextDocumentContentChangeDelta {
|
|
|
23
23
|
}
|
|
24
24
|
export namespace TextDocumentContentChangeDelta {
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
return !!
|
|
26
|
+
export function is(arg: unknown): arg is TextDocumentContentChangeDelta {
|
|
27
|
+
const changeDelta = arg as TextDocumentContentChangeDelta;
|
|
28
|
+
return !!changeDelta
|
|
29
|
+
&& typeof changeDelta === 'object'
|
|
30
|
+
&& typeof changeDelta.text === 'string'
|
|
31
|
+
&& (typeof changeDelta.rangeLength === 'number' || typeof changeDelta.rangeLength === 'undefined')
|
|
32
|
+
&& Range.is(changeDelta.range);
|
|
29
33
|
}
|
|
30
34
|
|
|
31
35
|
}
|
|
@@ -36,9 +36,8 @@ export interface MenuAction extends MenuNodeRenderingData, Pick<MenuNodeMetadata
|
|
|
36
36
|
|
|
37
37
|
export namespace MenuAction {
|
|
38
38
|
/* Determine whether object is a MenuAction */
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
return !!arg && arg === Object(arg) && 'commandId' in arg;
|
|
39
|
+
export function is(arg: unknown): arg is MenuAction {
|
|
40
|
+
return !!arg && typeof arg === 'object' && 'commandId' in arg;
|
|
42
41
|
}
|
|
43
42
|
}
|
|
44
43
|
|
|
@@ -59,7 +59,6 @@ describe('menu-model-registry', () => {
|
|
|
59
59
|
expect(file.label, 'File');
|
|
60
60
|
const openGroup = file.children[0] as CompositeMenuNode;
|
|
61
61
|
expect(openGroup.children.length).equals(2);
|
|
62
|
-
// eslint-disable-next-line no-unused-expressions
|
|
63
62
|
expect(openGroup.label).undefined;
|
|
64
63
|
});
|
|
65
64
|
});
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
|
+
import { injectable } from '../../../shared/inversify';
|
|
17
18
|
import { Disposable, DisposableCollection } from '../disposable';
|
|
18
19
|
import { Emitter, Event } from '../event';
|
|
19
20
|
import { ReadBuffer, WriteBuffer } from './message-buffer';
|
|
@@ -68,15 +69,11 @@ export interface ChannelCloseEvent {
|
|
|
68
69
|
export type MessageProvider = () => ReadBuffer;
|
|
69
70
|
|
|
70
71
|
/**
|
|
71
|
-
*
|
|
72
|
-
*
|
|
72
|
+
* Reusable abstract {@link Channel} implementation that sets up
|
|
73
|
+
* the basic channel event listeners and offers a generic close method.
|
|
73
74
|
*/
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
protected toDispose = new DisposableCollection();
|
|
77
|
-
constructor(readonly id: string, protected readonly closeHandler: () => void, protected readonly writeBufferSource: () => WriteBuffer) {
|
|
78
|
-
this.toDispose.pushAll([this.onCloseEmitter, this.onErrorEmitter, this.onMessageEmitter]);
|
|
79
|
-
}
|
|
75
|
+
@injectable()
|
|
76
|
+
export abstract class AbstractChannel implements Channel {
|
|
80
77
|
|
|
81
78
|
onCloseEmitter: Emitter<ChannelCloseEvent> = new Emitter();
|
|
82
79
|
get onClose(): Event<ChannelCloseEvent> {
|
|
@@ -93,13 +90,37 @@ export class ForwardingChannel implements Channel {
|
|
|
93
90
|
return this.onMessageEmitter.event;
|
|
94
91
|
};
|
|
95
92
|
|
|
93
|
+
protected toDispose: DisposableCollection = new DisposableCollection();
|
|
94
|
+
|
|
95
|
+
constructor() {
|
|
96
|
+
this.toDispose.pushAll([this.onCloseEmitter, this.onErrorEmitter, this.onMessageEmitter]);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
close(): void {
|
|
100
|
+
this.toDispose.dispose();
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
abstract getWriteBuffer(): WriteBuffer;
|
|
104
|
+
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Helper class to implement the single channels on a {@link ChannelMultiplexer}. Simply forwards write requests to
|
|
109
|
+
* the given write buffer source i.e. the main channel of the {@link ChannelMultiplexer}.
|
|
110
|
+
*/
|
|
111
|
+
export class ForwardingChannel extends AbstractChannel {
|
|
112
|
+
|
|
113
|
+
constructor(readonly id: string, protected readonly closeHandler: () => void, protected readonly writeBufferSource: () => WriteBuffer) {
|
|
114
|
+
super();
|
|
115
|
+
}
|
|
116
|
+
|
|
96
117
|
getWriteBuffer(): WriteBuffer {
|
|
97
118
|
return this.writeBufferSource();
|
|
98
119
|
}
|
|
99
120
|
|
|
100
|
-
close(): void {
|
|
121
|
+
override close(): void {
|
|
122
|
+
super.close();
|
|
101
123
|
this.closeHandler();
|
|
102
|
-
this.toDispose.dispose();
|
|
103
124
|
}
|
|
104
125
|
}
|
|
105
126
|
|
|
@@ -14,5 +14,5 @@
|
|
|
14
14
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
export { RequestHandler, RpcProtocol, RpcProtocolOptions } from './rpc-protocol';
|
|
17
|
-
export { Channel, ChannelCloseEvent, MessageProvider } from './channel';
|
|
17
|
+
export { Channel, AbstractChannel, ChannelCloseEvent, MessageProvider } from './channel';
|
|
18
18
|
export { ReadBuffer, WriteBuffer } from './message-buffer';
|
|
@@ -15,41 +15,51 @@
|
|
|
15
15
|
// *****************************************************************************
|
|
16
16
|
|
|
17
17
|
import { expect } from 'chai';
|
|
18
|
+
import {
|
|
19
|
+
EncodingError, MsgPackMessageDecoder, MsgPackMessageEncoder
|
|
20
|
+
} from './rpc-message-encoder';
|
|
18
21
|
import { Uint8ArrayReadBuffer, Uint8ArrayWriteBuffer } from './uint8-array-message-buffer';
|
|
19
|
-
import { EncodingError, RpcMessageDecoder, RpcMessageEncoder } from './rpc-message-encoder';
|
|
20
22
|
|
|
21
|
-
describe('PPC Message
|
|
22
|
-
describe('
|
|
23
|
+
describe('PPC Message Encoder & Decoder', () => {
|
|
24
|
+
describe('Msgpack Encoder & Decoder', () => {
|
|
23
25
|
it('should encode object into binary message and decode the message back into the original object', () => {
|
|
24
26
|
const buffer = new Uint8Array(1024);
|
|
25
27
|
const writer = new Uint8ArrayWriteBuffer(buffer);
|
|
28
|
+
const testObject = {
|
|
29
|
+
string: 'string',
|
|
30
|
+
boolean: true,
|
|
31
|
+
integer: 5,
|
|
32
|
+
float: 14.5,
|
|
33
|
+
array: ['1', 2, { three: 'three' }],
|
|
34
|
+
set: new Set([1, 2, 3]),
|
|
35
|
+
map: new Map([[1, 1], [2, 2], [3, 3]]),
|
|
36
|
+
buffer: new TextEncoder().encode('ThisIsAUint8Array'),
|
|
37
|
+
object: { foo: 'bar', baz: true },
|
|
38
|
+
undefined: undefined,
|
|
39
|
+
// eslint-disable-next-line no-null/no-null
|
|
40
|
+
null: null
|
|
41
|
+
};
|
|
26
42
|
|
|
27
|
-
const encoder = new
|
|
28
|
-
|
|
29
|
-
// The RpcMessageEncoder can decode/encode collections, whereas JSON.parse can't. => We have to manually restore the set
|
|
30
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
31
|
-
jsonMangled.registeredTags = (encoder as any).registeredTags;
|
|
32
|
-
|
|
33
|
-
encoder.writeTypedValue(writer, encoder, new WeakSet());
|
|
34
|
-
|
|
43
|
+
const encoder = new MsgPackMessageEncoder();
|
|
44
|
+
encoder.encode(writer, testObject);
|
|
35
45
|
const written = writer.getCurrentContents();
|
|
36
46
|
|
|
37
47
|
const reader = new Uint8ArrayReadBuffer(written);
|
|
38
48
|
|
|
39
|
-
const decoder = new
|
|
40
|
-
const decoded = decoder.
|
|
49
|
+
const decoder = new MsgPackMessageDecoder();
|
|
50
|
+
const decoded = decoder.decode(reader);
|
|
41
51
|
|
|
42
|
-
expect(decoded).deep.equal(
|
|
52
|
+
expect(decoded).deep.equal(testObject);
|
|
43
53
|
});
|
|
44
54
|
it('should fail with an EncodingError when trying to encode the object ', () => {
|
|
45
55
|
const x = new Set();
|
|
46
56
|
const y = new Set();
|
|
47
57
|
x.add(y);
|
|
48
58
|
y.add(x);
|
|
49
|
-
const encoder = new RpcMessageEncoder();
|
|
50
59
|
|
|
51
60
|
const writer = new Uint8ArrayWriteBuffer();
|
|
52
|
-
|
|
61
|
+
const encoder = new MsgPackMessageEncoder();
|
|
62
|
+
expect(() => encoder.encode(writer, x)).to.throw(EncodingError);
|
|
53
63
|
});
|
|
54
64
|
});
|
|
55
65
|
});
|