@eclipse-glsp/client 2.6.0-next.11 → 2.6.0-next.12

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.
@@ -13,7 +13,7 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { Action, ActionDispatcher, ActionHandler, ActionHandlerRegistry, Deferred, GModelRoot, IActionDispatcher, RequestAction, ResponseAction } from '@eclipse-glsp/sprotty';
16
+ import { Action, ActionDispatcher, ActionHandlerRegistry, Deferred, GModelRoot, IActionDispatcher, RequestAction, ResponseAction } from '@eclipse-glsp/sprotty';
17
17
  import { IGModelRootListener } from './editor-context-service';
18
18
  import { ModelInitializationConstraint } from './model/model-initialization-constraint';
19
19
  export declare class GLSPActionDispatcher extends ActionDispatcher implements IGModelRootListener, IActionDispatcher {
@@ -47,12 +47,6 @@ export declare class GLSPActionDispatcher extends ActionDispatcher implements IG
47
47
  modelRootChanged(_root: Readonly<GModelRoot>): void;
48
48
  dispatch(action: Action): Promise<void>;
49
49
  protected handleAction(action: Action): Promise<void>;
50
- protected handleResponseAction(action: ResponseAction): Promise<void>;
51
- protected handleUndoAction(action: Action): Promise<void>;
52
- protected handleRedoAction(action: Action): Promise<void>;
53
- protected doHandleAction(action: Action): Promise<void>;
54
- protected handleActionWithoutHandler(action: Action): Promise<void>;
55
- protected handlerActionWithHandler(action: Action, handlers: ActionHandler[]): Promise<any>;
56
50
  request<Res extends ResponseAction>(action: RequestAction<Res>): Promise<Res>;
57
51
  /**
58
52
  * Dispatch a request and waits for a response until the timeout given in `timeoutMs` has
@@ -1 +1 @@
1
- {"version":3,"file":"action-dispatcher.d.ts","sourceRoot":"","sources":["../../src/base/action-dispatcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EACH,MAAM,EACN,gBAAgB,EAChB,aAAa,EACb,qBAAqB,EACrB,QAAQ,EAER,UAAU,EACV,iBAAiB,EAEjB,aAAa,EACb,cAAc,EAGjB,MAAM,uBAAuB,CAAC;AAI/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AAExF,qBACa,oBAAqB,SAAQ,gBAAiB,YAAW,mBAAmB,EAAE,iBAAiB;IACxG,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAa;IACrE,SAAS,CAAC,qBAAqB,UAAS;IAGxC,SAAS,CAAC,wBAAwB,EAAE,6BAA6B,CAAC;IAElE,UACmB,qBAAqB,EAAE,qBAAqB,CAAC;IAEhE,gGAAgG;IAEhG,UAAgE,6BAA6B,EAAE,MAAM,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACpI,SAAS,CAAC,eAAe,EAAE,MAAM,EAAE,CAAM;IAEzC,SAAS,CAAC,kBAAkB,iBAAwB;IAE3C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;cAQpB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAe7C,SAAS,CAAC,wBAAwB,IAAI,IAAI;IAQ1C,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAInC;;;;OAIG;IACH,4BAA4B,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAIxD;;;;;;OAMG;IACH,uBAAuB,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAInD,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI;IAUpC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAM7B,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBpE,SAAS,CAAC,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BrE,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAIzC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS7D,SAAS,CAAC,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAanD,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;IAkBxF,OAAO,CAAC,GAAG,SAAS,cAAc,EAAE,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAQtF;;;;;;;;;OASG;IACH,YAAY,CAAC,GAAG,SAAS,cAAc,EACnC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,EAC1B,SAAS,SAAO,EAChB,eAAe,UAAQ,GACxB,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC;CA2B9B"}
1
+ {"version":3,"file":"action-dispatcher.d.ts","sourceRoot":"","sources":["../../src/base/action-dispatcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EACH,MAAM,EACN,gBAAgB,EAChB,qBAAqB,EACrB,QAAQ,EAER,UAAU,EACV,iBAAiB,EACjB,aAAa,EACb,cAAc,EAGjB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAC;AAExF,qBACa,oBAAqB,SAAQ,gBAAiB,YAAW,mBAAmB,EAAE,iBAAiB;IACxG,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAa;IACrE,SAAS,CAAC,qBAAqB,UAAS;IAGxC,SAAS,CAAC,wBAAwB,EAAE,6BAA6B,CAAC;IAElE,UACmB,qBAAqB,EAAE,qBAAqB,CAAC;IAEhE,gGAAgG;IAEhG,UAAgE,6BAA6B,EAAE,MAAM,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACpI,SAAS,CAAC,eAAe,EAAE,MAAM,EAAE,CAAM;IAEzC,SAAS,CAAC,kBAAkB,iBAAwB;IAE3C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;cAQpB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAe7C,SAAS,CAAC,wBAAwB,IAAI,IAAI;IAQ1C,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAInC;;;;OAIG;IACH,4BAA4B,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAIxD;;;;;;OAMG;IACH,uBAAuB,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAInD,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,IAAI;IAUpC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAMnC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBrD,OAAO,CAAC,GAAG,SAAS,cAAc,EAAE,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAQtF;;;;;;;;;OASG;IACH,YAAY,CAAC,GAAG,SAAS,cAAc,EACnC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,EAC1B,SAAS,SAAO,EAChB,eAAe,UAAQ,GACxB,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC;CA2B9B"}
@@ -27,7 +27,6 @@ exports.GLSPActionDispatcher = void 0;
27
27
  ********************************************************************************/
28
28
  const sprotty_1 = require("@eclipse-glsp/sprotty");
29
29
  const inversify_1 = require("inversify");
30
- const sprotty = require("sprotty-protocol/lib/actions");
31
30
  const action_handler_registry_1 = require("./action-handler-registry");
32
31
  const glsp_model_source_1 = require("./model/glsp-model-source");
33
32
  const model_initialization_constraint_1 = require("./model/model-initialization-constraint");
@@ -105,91 +104,25 @@ let GLSPActionDispatcher = class GLSPActionDispatcher extends sprotty_1.ActionDi
105
104
  this.initializationConstraint.notifyDispatched(action);
106
105
  return result;
107
106
  }
108
- async handleAction(action) {
107
+ handleAction(action) {
109
108
  if (sprotty_1.ResponseAction.hasValidResponseId(action)) {
110
- return this.handleResponseAction(action);
111
- }
112
- if (glsp_model_source_1.OptionalAction.is(action) && !this.hasHandler(action)) {
113
- return Promise.resolve();
114
- }
115
- if (sprotty.UndoAction.KIND === action.kind) {
116
- return this.handleUndoAction(action);
117
- }
118
- if (sprotty.RedoAction.KIND === action.kind) {
119
- return this.handleRedoAction(action);
120
- }
121
- return this.doHandleAction(action);
122
- }
123
- handleResponseAction(action) {
124
- // clear any pending timeout
125
- const timeout = this.timeouts.get(action.responseId);
126
- if (timeout !== undefined) {
127
- clearTimeout(timeout);
128
- this.timeouts.delete(action.responseId);
129
- }
130
- // check for matching request
131
- const request = this.requests.get(action.responseId);
132
- if (!request) {
133
- // treat no matching request by dispatching action normally
134
- this.logger.log(this, 'No matching request for response, dispatch normally', action);
135
- action.responseId = '';
136
- return this.handleAction(action);
137
- }
138
- this.requests.delete(action.responseId);
139
- if (sprotty_1.RejectAction.is(action)) {
140
- // translation reject action to request rejection
141
- request.reject(new Error(action.message));
142
- this.logger.warn(this, `Request with id ${action.responseId} failed.`, action.message, action.detail);
143
- }
144
- else {
145
- request.resolve(action);
146
- }
147
- return Promise.resolve();
148
- }
149
- handleUndoAction(action) {
150
- return this.commandStack.undo().then(() => { });
151
- }
152
- handleRedoAction(action) {
153
- return this.commandStack.redo().then(() => { });
154
- }
155
- async doHandleAction(action) {
156
- const handlers = this.actionHandlerRegistry.get(action.kind);
157
- if (handlers.length === 0) {
158
- return this.handleActionWithoutHandler(action);
159
- }
160
- else {
161
- return this.handlerActionWithHandler(action, handlers);
162
- }
163
- }
164
- handleActionWithoutHandler(action) {
165
- this.logger.warn(this, 'Missing handler for action', action);
166
- const error = new Error(`Missing handler for action '${action.kind}'`);
167
- if (sprotty_1.RequestAction.is(action)) {
168
- const request = this.requests.get(action.requestId);
169
- if (request !== undefined) {
170
- this.requests.delete(action.requestId);
171
- request.reject(error);
109
+ // clear timeout
110
+ const timeout = this.timeouts.get(action.responseId);
111
+ if (timeout !== undefined) {
112
+ clearTimeout(timeout);
113
+ this.timeouts.delete(action.responseId);
114
+ }
115
+ // Check if we have a pending request for the response.
116
+ // If not the we clear the responseId => action will be dispatched normally
117
+ const deferred = this.requests.get(action.responseId);
118
+ if (deferred === undefined) {
119
+ action.responseId = '';
172
120
  }
173
121
  }
174
- return Promise.reject(error);
175
- }
176
- async handlerActionWithHandler(action, handlers) {
177
- this.logger.log(this, 'Handle', action);
178
- const handlerResults = [];
179
- for (const handler of handlers) {
180
- const handlerResult = Promise.resolve(handler.handle(action)).then(result => {
181
- if (sprotty_1.Action.is(result)) {
182
- return this.dispatch(result);
183
- }
184
- else if (result !== undefined) {
185
- this.blockUntil = result.blockUntil;
186
- return this.commandStack.execute(result);
187
- }
188
- return undefined;
189
- });
190
- handlerResults.push(handlerResult);
122
+ if (!this.hasHandler(action) && glsp_model_source_1.OptionalAction.is(action)) {
123
+ return Promise.resolve();
191
124
  }
192
- return Promise.all(handlerResults);
125
+ return super.handleAction(action);
193
126
  }
194
127
  request(action) {
195
128
  if (!action.requestId && action.requestId === '') {
@@ -1 +1 @@
1
- {"version":3,"file":"action-dispatcher.js","sourceRoot":"","sources":["../../src/base/action-dispatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"action-dispatcher.js","sourceRoot":"","sources":["../../src/base/action-dispatcher.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eclipse-glsp/client",
3
- "version": "2.6.0-next.11+609c2ba",
3
+ "version": "2.6.0-next.12+acbf000",
4
4
  "description": "A sprotty-based client for GLSP",
5
5
  "keywords": [
6
6
  "eclipse",
@@ -46,7 +46,7 @@
46
46
  "watch": "tsc -w"
47
47
  },
48
48
  "dependencies": {
49
- "@eclipse-glsp/sprotty": "2.6.0-next.11+609c2ba",
49
+ "@eclipse-glsp/sprotty": "2.6.0-next.12+acbf000",
50
50
  "autocompleter": "^9.1.2",
51
51
  "file-saver": "^2.0.5",
52
52
  "lodash": "4.17.21",
@@ -63,5 +63,5 @@
63
63
  "publishConfig": {
64
64
  "access": "public"
65
65
  },
66
- "gitHead": "609c2ba9aeaac6d673c35de54aa23df50078e51b"
66
+ "gitHead": "acbf000fc0503af38a3f9f8a221537643aaa614b"
67
67
  }
@@ -16,20 +16,17 @@
16
16
  import {
17
17
  Action,
18
18
  ActionDispatcher,
19
- ActionHandler,
20
19
  ActionHandlerRegistry,
21
20
  Deferred,
22
21
  EMPTY_ROOT,
23
22
  GModelRoot,
24
23
  IActionDispatcher,
25
- RejectAction,
26
24
  RequestAction,
27
25
  ResponseAction,
28
26
  SetModelAction,
29
27
  TYPES
30
28
  } from '@eclipse-glsp/sprotty';
31
29
  import { inject, injectable } from 'inversify';
32
- import * as sprotty from 'sprotty-protocol/lib/actions';
33
30
  import { GLSPActionHandlerRegistry } from './action-handler-registry';
34
31
  import { IGModelRootListener } from './editor-context-service';
35
32
  import { OptionalAction } from './model/glsp-model-source';
@@ -128,96 +125,26 @@ export class GLSPActionDispatcher extends ActionDispatcher implements IGModelRoo
128
125
  return result;
129
126
  }
130
127
 
131
- protected override async handleAction(action: Action): Promise<void> {
128
+ protected override handleAction(action: Action): Promise<void> {
132
129
  if (ResponseAction.hasValidResponseId(action)) {
133
- return this.handleResponseAction(action);
134
- }
135
- if (OptionalAction.is(action) && !this.hasHandler(action)) {
136
- return Promise.resolve();
137
- }
138
- if (sprotty.UndoAction.KIND === action.kind) {
139
- return this.handleUndoAction(action);
140
- }
141
- if (sprotty.RedoAction.KIND === action.kind) {
142
- return this.handleRedoAction(action);
143
- }
144
- return this.doHandleAction(action);
145
- }
146
-
147
- protected handleResponseAction(action: ResponseAction): Promise<void> {
148
- // clear any pending timeout
149
- const timeout = this.timeouts.get(action.responseId);
150
- if (timeout !== undefined) {
151
- clearTimeout(timeout);
152
- this.timeouts.delete(action.responseId);
153
- }
154
-
155
- // check for matching request
156
- const request = this.requests.get(action.responseId);
157
- if (!request) {
158
- // treat no matching request by dispatching action normally
159
- this.logger.log(this, 'No matching request for response, dispatch normally', action);
160
- action.responseId = '';
161
- return this.handleAction(action);
162
- }
163
-
164
- this.requests.delete(action.responseId);
165
- if (RejectAction.is(action)) {
166
- // translation reject action to request rejection
167
- request.reject(new Error(action.message));
168
- this.logger.warn(this, `Request with id ${action.responseId} failed.`, action.message, action.detail);
169
- } else {
170
- request.resolve(action);
171
- }
172
- return Promise.resolve();
173
- }
174
-
175
- protected handleUndoAction(action: Action): Promise<void> {
176
- return this.commandStack.undo().then(() => {});
177
- }
178
-
179
- protected handleRedoAction(action: Action): Promise<void> {
180
- return this.commandStack.redo().then(() => {});
181
- }
182
-
183
- protected async doHandleAction(action: Action): Promise<void> {
184
- const handlers = this.actionHandlerRegistry.get(action.kind);
185
- if (handlers.length === 0) {
186
- return this.handleActionWithoutHandler(action);
187
- } else {
188
- return this.handlerActionWithHandler(action, handlers);
189
- }
190
- }
130
+ // clear timeout
131
+ const timeout = this.timeouts.get(action.responseId);
132
+ if (timeout !== undefined) {
133
+ clearTimeout(timeout);
134
+ this.timeouts.delete(action.responseId);
135
+ }
191
136
 
192
- protected handleActionWithoutHandler(action: Action): Promise<void> {
193
- this.logger.warn(this, 'Missing handler for action', action);
194
- const error = new Error(`Missing handler for action '${action.kind}'`);
195
- if (RequestAction.is(action)) {
196
- const request = this.requests.get(action.requestId);
197
- if (request !== undefined) {
198
- this.requests.delete(action.requestId);
199
- request.reject(error);
137
+ // Check if we have a pending request for the response.
138
+ // If not the we clear the responseId => action will be dispatched normally
139
+ const deferred = this.requests.get(action.responseId);
140
+ if (deferred === undefined) {
141
+ action.responseId = '';
200
142
  }
201
143
  }
202
- return Promise.reject(error);
203
- }
204
-
205
- protected async handlerActionWithHandler(action: Action, handlers: ActionHandler[]): Promise<any> {
206
- this.logger.log(this, 'Handle', action);
207
- const handlerResults: Promise<any>[] = [];
208
- for (const handler of handlers) {
209
- const handlerResult = Promise.resolve(handler.handle(action)).then<any>(result => {
210
- if (Action.is(result)) {
211
- return this.dispatch(result);
212
- } else if (result !== undefined) {
213
- this.blockUntil = result.blockUntil;
214
- return this.commandStack.execute(result);
215
- }
216
- return undefined;
217
- });
218
- handlerResults.push(handlerResult);
144
+ if (!this.hasHandler(action) && OptionalAction.is(action)) {
145
+ return Promise.resolve();
219
146
  }
220
- return Promise.all(handlerResults) as Promise<any>;
147
+ return super.handleAction(action);
221
148
  }
222
149
 
223
150
  override request<Res extends ResponseAction>(action: RequestAction<Res>): Promise<Res> {