@eclipse-glsp/server 1.1.0-RC05 → 1.1.0-next.44aae0c.44

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.
Files changed (40) hide show
  1. package/lib/common/command/command-stack.d.ts +7 -6
  2. package/lib/common/command/command-stack.d.ts.map +1 -1
  3. package/lib/common/command/command-stack.js +6 -6
  4. package/lib/common/command/command-stack.js.map +1 -1
  5. package/lib/common/command/command-stack.spec.js +31 -31
  6. package/lib/common/command/command-stack.spec.js.map +1 -1
  7. package/lib/common/command/command.d.ts +7 -6
  8. package/lib/common/command/command.d.ts.map +1 -1
  9. package/lib/common/command/command.js +19 -15
  10. package/lib/common/command/command.js.map +1 -1
  11. package/lib/common/command/command.spec.js +8 -8
  12. package/lib/common/command/command.spec.js.map +1 -1
  13. package/lib/common/command/recording-command.d.ts +8 -8
  14. package/lib/common/command/recording-command.d.ts.map +1 -1
  15. package/lib/common/command/recording-command.js +4 -4
  16. package/lib/common/command/recording-command.js.map +1 -1
  17. package/lib/common/command/recording-command.spec.js +8 -8
  18. package/lib/common/command/recording-command.spec.js.map +1 -1
  19. package/lib/common/command/undo-redo-action-handler.d.ts +2 -2
  20. package/lib/common/command/undo-redo-action-handler.d.ts.map +1 -1
  21. package/lib/common/command/undo-redo-action-handler.js +4 -4
  22. package/lib/common/command/undo-redo-action-handler.js.map +1 -1
  23. package/lib/common/operations/operation-action-handler.d.ts +1 -1
  24. package/lib/common/operations/operation-action-handler.d.ts.map +1 -1
  25. package/lib/common/operations/operation-action-handler.js +3 -3
  26. package/lib/common/operations/operation-action-handler.js.map +1 -1
  27. package/lib/common/test/mock-util.d.ts +7 -1
  28. package/lib/common/test/mock-util.d.ts.map +1 -1
  29. package/lib/common/test/mock-util.js +23 -1
  30. package/lib/common/test/mock-util.js.map +1 -1
  31. package/package.json +4 -4
  32. package/src/common/command/command-stack.spec.ts +32 -32
  33. package/src/common/command/command-stack.ts +10 -9
  34. package/src/common/command/command.spec.ts +9 -10
  35. package/src/common/command/command.ts +23 -19
  36. package/src/common/command/recording-command.spec.ts +8 -8
  37. package/src/common/command/recording-command.ts +8 -8
  38. package/src/common/command/undo-redo-action-handler.ts +4 -4
  39. package/src/common/operations/operation-action-handler.ts +3 -3
  40. package/src/common/test/mock-util.ts +21 -0
@@ -1 +1 @@
1
- {"version":3,"file":"recording-command.js","sourceRoot":"","sources":["../../../src/common/command/recording-command.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;AAIlF,6CAA6C;AAI7C;;;GAGG;AACH,MAAsB,wBAAwB;IAI1C,OAAO;QACH,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAC5D,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAChE,CAAC;IAcS,UAAU,CAAC,MAAkB,EAAE,KAA4B;QACjE,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;IAED;;;;;OAKG;IACO,SAAS,CAAC,MAAkB;QAClC,OAAO,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,IAAI;QACA,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;SACzD;IACL,CAAC;IAED,IAAI;QACA,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;SACzD;IACL,CAAC;IAED,OAAO;QACH,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;IAChD,CAAC;CACJ;AArDD,4DAqDC;AAED;;;GAGG;AACH,MAAa,gBAA2D,SAAQ,wBAAoC;IAChH,YAAsB,UAAsB,EAAY,SAAqB;QACzE,KAAK,EAAE,CAAC;QADU,eAAU,GAAV,UAAU,CAAY;QAAY,cAAS,GAAT,SAAS,CAAY;IAE7E,CAAC;IAES,aAAa;QACnB,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;CACJ;AARD,4CAQC;AAED;;;GAGG;AACH,MAAa,sBAAuB,SAAQ,wBAA0C;IAClF,YAAsB,UAAsB,EAAY,UAA4B,EAAY,SAAqB;QACjH,KAAK,EAAE,CAAC;QADU,eAAU,GAAV,UAAU,CAAY;QAAY,eAAU,GAAV,UAAU,CAAkB;QAAY,cAAS,GAAT,SAAS,CAAY;IAErH,CAAC;IAEQ,OAAO;QACZ,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC;IAES,aAAa;QACnB,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC;IAEkB,UAAU,CAAC,UAA4B,EAAE,KAA4B;QACpF,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACvD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;CACJ;AAnBD,wDAmBC"}
1
+ {"version":3,"file":"recording-command.js","sourceRoot":"","sources":["../../../src/common/command/recording-command.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;AAIlF,6CAA6C;AAI7C;;;GAGG;AACH,MAAsB,wBAAwB;IAI1C,KAAK,CAAC,OAAO;QACT,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QACzD,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAC5D,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAChE,CAAC;IAcS,UAAU,CAAC,MAAkB,EAAE,KAA4B;QACjE,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;IAED;;;;;OAKG;IACO,SAAS,CAAC,MAAkB;QAClC,OAAO,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,IAAI;QACA,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;SACzD;IACL,CAAC;IAED,IAAI;QACA,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;SACzD;IACL,CAAC;IAED,OAAO;QACH,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;IAChD,CAAC;CACJ;AArDD,4DAqDC;AAED;;;GAGG;AACH,MAAa,gBAA2D,SAAQ,wBAAoC;IAChH,YAAsB,UAAsB,EAAY,SAAmC;QACvF,KAAK,EAAE,CAAC;QADU,eAAU,GAAV,UAAU,CAAY;QAAY,cAAS,GAAT,SAAS,CAA0B;IAE3F,CAAC;IAES,aAAa;QACnB,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;CACJ;AARD,4CAQC;AAED;;;GAGG;AACH,MAAa,sBAAuB,SAAQ,wBAA0C;IAClF,YAAsB,UAAsB,EAAY,UAA4B,EAAY,SAAmC;QAC/H,KAAK,EAAE,CAAC;QADU,eAAU,GAAV,UAAU,CAAY;QAAY,eAAU,GAAV,UAAU,CAAkB;QAAY,cAAS,GAAT,SAAS,CAA0B;IAEnI,CAAC;IAEQ,KAAK,CAAC,OAAO;QAClB,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC;QACtB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC;IAES,aAAa;QACnB,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC;IAEkB,UAAU,CAAC,UAA4B,EAAE,KAA4B;QACpF,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QACvD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;CACJ;AAnBD,wDAmBC"}
@@ -28,34 +28,34 @@ describe('RecordingCommand', () => {
28
28
  };
29
29
  beforeState = JSON.parse(JSON.stringify(jsonObject));
30
30
  });
31
- it('should be undoable after execution', () => {
31
+ it('should be undoable after execution', async () => {
32
32
  // eslint-disable-next-line @typescript-eslint/no-empty-function
33
33
  const command = new recording_command_1.RecordingCommand(jsonObject, () => { });
34
34
  (0, chai_1.expect)(command.canUndo()).to.be.false;
35
- command.execute();
35
+ await command.execute();
36
36
  (0, chai_1.expect)(command.canUndo()).to.be.true;
37
37
  });
38
- it('should restore the pre execution state when undo is called', () => {
38
+ it('should restore the pre execution state when undo is called', async () => {
39
39
  const command = new recording_command_1.RecordingCommand(jsonObject, () => {
40
40
  jsonObject.string = 'bar';
41
41
  jsonObject.flag = false;
42
42
  jsonObject.maybe = { hello: 'world' };
43
43
  });
44
- command.execute();
44
+ await command.execute();
45
45
  (0, chai_1.expect)(jsonObject).to.not.be.deep.equals(beforeState);
46
- command.undo();
46
+ await command.undo();
47
47
  (0, chai_1.expect)(jsonObject).to.be.deep.equals(beforeState);
48
48
  });
49
- it('should restore the post execution state when redo is called', () => {
49
+ it('should restore the post execution state when redo is called', async () => {
50
50
  const command = new recording_command_1.RecordingCommand(jsonObject, () => {
51
51
  jsonObject.string = 'bar';
52
52
  jsonObject.flag = false;
53
53
  jsonObject.maybe = { hello: 'world' };
54
54
  });
55
- command.execute();
55
+ await command.execute();
56
56
  const afterState = JSON.parse(JSON.stringify(jsonObject));
57
57
  jsonObject = JSON.parse(JSON.stringify(afterState));
58
- command.redo();
58
+ await command.redo();
59
59
  (0, chai_1.expect)(jsonObject).to.be.deep.equals(afterState);
60
60
  });
61
61
  });
@@ -1 +1 @@
1
- {"version":3,"file":"recording-command.spec.js","sourceRoot":"","sources":["../../../src/common/command/recording-command.spec.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;AAGlF,+BAA8B;AAC9B,2DAAuD;AASvD,IAAI,UAAqB,CAAC;AAE1B,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAC9B,IAAI,WAAsB,CAAC;IAE3B,UAAU,CAAC,GAAG,EAAE;QACZ,UAAU,GAAG;YACT,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,CAAC;YACT,IAAI,EAAE,IAAI;SACb,CAAC;QACF,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC1C,gEAAgE;QAChE,MAAM,OAAO,GAAG,IAAI,oCAAgB,CAAC,UAAU,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC3D,IAAA,aAAM,EAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QACtC,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,IAAA,aAAM,EAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QAClE,MAAM,OAAO,GAAG,IAAI,oCAAgB,CAAC,UAAU,EAAE,GAAG,EAAE;YAClD,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC;YAC1B,UAAU,CAAC,IAAI,GAAG,KAAK,CAAC;YACxB,UAAU,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,IAAA,aAAM,EAAC,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACtD,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,IAAA,aAAM,EAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACnE,MAAM,OAAO,GAAG,IAAI,oCAAgB,CAAC,UAAU,EAAE,GAAG,EAAE;YAClD,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC;YAC1B,UAAU,CAAC,IAAI,GAAG,KAAK,CAAC;YACxB,UAAU,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAC1D,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,IAAA,aAAM,EAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"recording-command.spec.js","sourceRoot":"","sources":["../../../src/common/command/recording-command.spec.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;AAGlF,+BAA8B;AAC9B,2DAAuD;AASvD,IAAI,UAAqB,CAAC;AAE1B,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAC9B,IAAI,WAAsB,CAAC;IAE3B,UAAU,CAAC,GAAG,EAAE;QACZ,UAAU,GAAG;YACT,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,CAAC;YACT,IAAI,EAAE,IAAI;SACb,CAAC;QACF,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAChD,gEAAgE;QAChE,MAAM,OAAO,GAAG,IAAI,oCAAgB,CAAC,UAAU,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC3D,IAAA,aAAM,EAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QACtC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,IAAA,aAAM,EAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QACxE,MAAM,OAAO,GAAG,IAAI,oCAAgB,CAAC,UAAU,EAAE,GAAG,EAAE;YAClD,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC;YAC1B,UAAU,CAAC,IAAI,GAAG,KAAK,CAAC;YACxB,UAAU,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,IAAA,aAAM,EAAC,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,IAAA,aAAM,EAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QACzE,MAAM,OAAO,GAAG,IAAI,oCAAgB,CAAC,UAAU,EAAE,GAAG,EAAE;YAClD,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC;YAC1B,UAAU,CAAC,IAAI,GAAG,KAAK,CAAC;YACxB,UAAU,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAC1D,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QACpD,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,IAAA,aAAM,EAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -22,7 +22,7 @@ export declare class UndoRedoActionHandler implements ActionHandler {
22
22
  protected modelSubmissionHandler: ModelSubmissionHandler;
23
23
  readonly actionKinds: string[];
24
24
  execute(action: Action): MaybePromise<Action[]>;
25
- protected undo(): MaybePromise<Action[]>;
26
- protected redo(): MaybePromise<Action[]>;
25
+ protected undo(): Promise<Action[]>;
26
+ protected redo(): Promise<Action[]>;
27
27
  }
28
28
  //# sourceMappingURL=undo-redo-action-handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"undo-redo-action-handler.d.ts","sourceRoot":"","sources":["../../../src/common/command/undo-redo-action-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,MAAM,EAAE,YAAY,EAA0B,MAAM,wBAAwB,CAAC;AAEtF,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,qBACa,qBAAsB,YAAW,aAAa;IAEvD,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC;IAGrC,SAAS,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAEzD,QAAQ,CAAC,WAAW,WAAsC;IAE1D,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;IAS/C,SAAS,CAAC,IAAI,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;IAQxC,SAAS,CAAC,IAAI,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;CAO3C"}
1
+ {"version":3,"file":"undo-redo-action-handler.d.ts","sourceRoot":"","sources":["../../../src/common/command/undo-redo-action-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,MAAM,EAAE,YAAY,EAA0B,MAAM,wBAAwB,CAAC;AAEtF,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,qBACa,qBAAsB,YAAW,aAAa;IAEvD,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC;IAGrC,SAAS,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAEzD,QAAQ,CAAC,WAAW,WAAsC;IAE1D,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;cAS/B,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;cAQzB,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;CAO5C"}
@@ -42,16 +42,16 @@ let UndoRedoActionHandler = class UndoRedoActionHandler {
42
42
  }
43
43
  return [];
44
44
  }
45
- undo() {
45
+ async undo() {
46
46
  if (this.commandStack.canUndo()) {
47
- this.commandStack.undo();
47
+ await this.commandStack.undo();
48
48
  return this.modelSubmissionHandler.submitModel('undo');
49
49
  }
50
50
  return [];
51
51
  }
52
- redo() {
52
+ async redo() {
53
53
  if (this.commandStack.canRedo()) {
54
- this.commandStack.redo();
54
+ await this.commandStack.redo();
55
55
  return this.modelSubmissionHandler.submitModel('redo');
56
56
  }
57
57
  return [];
@@ -1 +1 @@
1
- {"version":3,"file":"undo-redo-action-handler.js","sourceRoot":"","sources":["../../../src/common/command/undo-redo-action-handler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;AAElF,qDAAsF;AACtF,yCAA+C;AAE/C,yFAAoF;AACpF,mDAA+C;AAGxC,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAA3B;QAOM,gBAAW,GAAG,CAAC,qBAAU,CAAC,IAAI,EAAE,qBAAU,CAAC,IAAI,CAAC,CAAC;IA0B9D,CAAC;IAxBG,OAAO,CAAC,MAAc;QAClB,IAAI,qBAAU,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE;YACvB,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;SACtB;aAAM,IAAI,qBAAU,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE;YAC9B,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;SACtB;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAES,IAAI;QACV,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;SAC1D;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAES,IAAI;QACV,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;SAC1D;QACD,OAAO,EAAE,CAAC;IACd,CAAC;CACJ,CAAA;AAhCG;IAAC,IAAA,kBAAM,EAAC,4BAAY,CAAC;;2DACgB;AAErC;IAAC,IAAA,kBAAM,EAAC,iDAAsB,CAAC;8BACG,iDAAsB;qEAAC;AALhD,qBAAqB;IADjC,IAAA,sBAAU,GAAE;GACA,qBAAqB,CAiCjC;AAjCY,sDAAqB"}
1
+ {"version":3,"file":"undo-redo-action-handler.js","sourceRoot":"","sources":["../../../src/common/command/undo-redo-action-handler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;;;;;;;;;;AAElF,qDAAsF;AACtF,yCAA+C;AAE/C,yFAAoF;AACpF,mDAA+C;AAGxC,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAA3B;QAOM,gBAAW,GAAG,CAAC,qBAAU,CAAC,IAAI,EAAE,qBAAU,CAAC,IAAI,CAAC,CAAC;IA0B9D,CAAC;IAxBG,OAAO,CAAC,MAAc;QAClB,IAAI,qBAAU,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE;YACvB,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;SACtB;aAAM,IAAI,qBAAU,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE;YAC9B,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;SACtB;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAES,KAAK,CAAC,IAAI;QAChB,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;SAC1D;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAES,KAAK,CAAC,IAAI;QAChB,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;SAC1D;QACD,OAAO,EAAE,CAAC;IACd,CAAC;CACJ,CAAA;AAhCG;IAAC,IAAA,kBAAM,EAAC,4BAAY,CAAC;;2DACgB;AAErC;IAAC,IAAA,kBAAM,EAAC,iDAAsB,CAAC;8BACG,iDAAsB;qEAAC;AALhD,qBAAqB;IADjC,IAAA,sBAAU,GAAE;GACA,qBAAqB,CAiCjC;AAjCY,sDAAqB"}
@@ -31,7 +31,7 @@ export declare class OperationActionHandler implements ActionHandler {
31
31
  execute(action: Operation): MaybePromise<Action[]>;
32
32
  protected executeOperation(operation: Operation): MaybePromise<Action[]>;
33
33
  protected executeHandler(operation: Operation, handler: OperationHandler): Promise<Action[]>;
34
- protected executeCommand(command: Command): void;
34
+ protected executeCommand(command: Command): Promise<void>;
35
35
  protected submitModel(): MaybePromise<Action[]>;
36
36
  handles(action: Action): boolean;
37
37
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"operation-action-handler.d.ts","sourceRoot":"","sources":["../../../src/common/operations/operation-action-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAuB,MAAM,wBAAwB,CAAC;AAE9F,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AAEpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAExE,qBACa,sBAAuB,YAAW,aAAa;IAaxB,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE;IAX9D,SAAS,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;IAG7D,SAAS,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAGzD,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC;IAGjC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC;gBAEI,WAAW,EAAE,MAAM,EAAE;IAE9D,OAAO,CAAC,MAAM,EAAE,SAAS,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;IAclD,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;cAQxD,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAQlG,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIhD,SAAS,CAAC,WAAW,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;IAI/C,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAIhC;;OAEG;IAEH,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,wBAAwB,GAAG,gBAAgB,GAAG,SAAS;CAGrH"}
1
+ {"version":3,"file":"operation-action-handler.d.ts","sourceRoot":"","sources":["../../../src/common/operations/operation-action-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAuB,MAAM,wBAAwB,CAAC;AAE9F,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AAEpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAExE,qBACa,sBAAuB,YAAW,aAAa;IAaxB,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE;IAX9D,SAAS,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;IAG7D,SAAS,CAAC,sBAAsB,EAAE,sBAAsB,CAAC;IAGzD,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC;IAGjC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC;gBAEI,WAAW,EAAE,MAAM,EAAE;IAE9D,OAAO,CAAC,MAAM,EAAE,SAAS,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;IAclD,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC;cAQxD,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;cAQlF,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/D,SAAS,CAAC,WAAW,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;IAI/C,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAIhC;;OAEG;IAEH,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,wBAAwB,GAAG,gBAAgB,GAAG,SAAS;CAGrH"}
@@ -64,12 +64,12 @@ let OperationActionHandler = OperationActionHandler_1 = class OperationActionHan
64
64
  async executeHandler(operation, handler) {
65
65
  const command = await handler.execute(operation);
66
66
  if (command) {
67
- this.executeCommand(command);
67
+ await this.executeCommand(command);
68
68
  }
69
69
  return this.modelSubmissionHandler.submitModel('operation');
70
70
  }
71
- executeCommand(command) {
72
- this.commandStack.execute(command);
71
+ async executeCommand(command) {
72
+ return this.commandStack.execute(command);
73
73
  }
74
74
  submitModel() {
75
75
  return this.modelSubmissionHandler.submitModel('operation');
@@ -1 +1 @@
1
- {"version":3,"file":"operation-action-handler.js","sourceRoot":"","sources":["../../../src/common/operations/operation-action-handler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,qDAA8F;AAC9F,yCAA+C;AAG/C,4DAAwD;AACxD,mEAAuD;AACvD,+DAA2D;AAC3D,yFAAoF;AACpF,kEAA6D;AAE7D,6EAAwE;AAGjE,IAAM,sBAAsB,8BAA5B,MAAM,sBAAsB;IAa/B,YAAyC,WAAqB;QAArB,gBAAW,GAAX,WAAW,CAAU;IAAG,CAAC;IAElE,OAAO,CAAC,MAAiB;QACrB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACvB,MAAM,IAAI,mCAAe,CAAC,6BAA6B,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;SACzE;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE;YAC5B,OAAO;gBACH,8BAAmB,CAAC,MAAM,CAAC,4DAA4D,MAAM,CAAC,IAAI,EAAE,EAAE;oBAClG,QAAQ,EAAE,SAAS;iBACtB,CAAC;aACL,CAAC;SACL;QACD,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAES,gBAAgB,CAAC,SAAoB;QAC3C,MAAM,gBAAgB,GAAG,wBAAsB,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC9G,IAAI,gBAAgB,EAAE;YAClB,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;SAC3D;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAES,KAAK,CAAC,cAAc,CAAC,SAAoB,EAAE,OAAyB;QAC1E,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,OAAO,EAAE;YACT,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;SAChC;QACD,OAAO,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAChE,CAAC;IAES,cAAc,CAAC,OAAgB;QACrC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAES,WAAW;QACjB,OAAO,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,CAAC,MAAc;QAClB,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IAEH,MAAM,CAAC,mBAAmB,CAAC,SAAoB,EAAE,QAAkC;QAC/E,OAAO,QAAQ,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;CACJ,CAAA;AA/DG;IAAC,IAAA,kBAAM,EAAC,qDAAwB,CAAC;8BACG,qDAAwB;wEAAC;AAE7D;IAAC,IAAA,kBAAM,EAAC,iDAAsB,CAAC;8BACG,iDAAsB;sEAAC;AAEzD;IAAC,IAAA,kBAAM,EAAC,wBAAU,CAAC;;0DACc;AAEjC;IAAC,IAAA,kBAAM,EAAC,4BAAY,CAAC;;4DACgB;AAX5B,sBAAsB;IADlC,IAAA,sBAAU,GAAE;IAcI,WAAA,IAAA,kBAAM,EAAC,gCAAU,CAAC,CAAA;;GAbtB,sBAAsB,CAgElC;AAhEY,wDAAsB"}
1
+ {"version":3,"file":"operation-action-handler.js","sourceRoot":"","sources":["../../../src/common/operations/operation-action-handler.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,qDAA8F;AAC9F,yCAA+C;AAG/C,4DAAwD;AACxD,mEAAuD;AACvD,+DAA2D;AAC3D,yFAAoF;AACpF,kEAA6D;AAE7D,6EAAwE;AAGjE,IAAM,sBAAsB,8BAA5B,MAAM,sBAAsB;IAa/B,YAAyC,WAAqB;QAArB,gBAAW,GAAX,WAAW,CAAU;IAAG,CAAC;IAElE,OAAO,CAAC,MAAiB;QACrB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACvB,MAAM,IAAI,mCAAe,CAAC,6BAA6B,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;SACzE;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE;YAC5B,OAAO;gBACH,8BAAmB,CAAC,MAAM,CAAC,4DAA4D,MAAM,CAAC,IAAI,EAAE,EAAE;oBAClG,QAAQ,EAAE,SAAS;iBACtB,CAAC;aACL,CAAC;SACL;QACD,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAES,gBAAgB,CAAC,SAAoB;QAC3C,MAAM,gBAAgB,GAAG,wBAAsB,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC9G,IAAI,gBAAgB,EAAE;YAClB,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;SAC3D;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAES,KAAK,CAAC,cAAc,CAAC,SAAoB,EAAE,OAAyB;QAC1E,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,OAAO,EAAE;YACT,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;SACtC;QACD,OAAO,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAChE,CAAC;IAES,KAAK,CAAC,cAAc,CAAC,OAAgB;QAC3C,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC;IAES,WAAW;QACjB,OAAO,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,CAAC,MAAc;QAClB,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IAEH,MAAM,CAAC,mBAAmB,CAAC,SAAoB,EAAE,QAAkC;QAC/E,OAAO,QAAQ,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;CACJ,CAAA;AA/DG;IAAC,IAAA,kBAAM,EAAC,qDAAwB,CAAC;8BACG,qDAAwB;wEAAC;AAE7D;IAAC,IAAA,kBAAM,EAAC,iDAAsB,CAAC;8BACG,iDAAsB;sEAAC;AAEzD;IAAC,IAAA,kBAAM,EAAC,wBAAU,CAAC;;0DACc;AAEjC;IAAC,IAAA,kBAAM,EAAC,4BAAY,CAAC;;4DACgB;AAX5B,sBAAsB;IADlC,IAAA,sBAAU,GAAE;IAcI,WAAA,IAAA,kBAAM,EAAC,gCAAU,CAAC,CAAA;;GAbtB,sBAAsB,CAgElC;AAhEY,wDAAsB"}
@@ -14,7 +14,7 @@
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
16
  import { GEdge, GModelElement, GModelElementConstructor, GNode } from '@eclipse-glsp/graph';
17
- import { Action, ActionMessage, Args, CreateNodeOperation, EdgeTypeHint, InitializeClientSessionParameters, MaybeArray, Point, RequestEditValidationAction, ShapeTypeHint, ValidationStatus } from '@eclipse-glsp/protocol';
17
+ import { Action, ActionMessage, Args, CreateNodeOperation, EdgeTypeHint, InitializeClientSessionParameters, MaybeArray, MaybePromise, Point, RequestEditValidationAction, ShapeTypeHint, ValidationStatus } from '@eclipse-glsp/protocol';
18
18
  import { Container } from 'inversify';
19
19
  import { MessageConnection } from 'vscode-jsonrpc';
20
20
  import { ActionDispatcher } from '../actions/action-dispatcher';
@@ -34,6 +34,12 @@ import { ClientSessionListener } from '../session/client-session-listener';
34
34
  import { ClientSessionManager } from '../session/client-session-manager';
35
35
  import { Logger, LogLevel } from '../utils/logger';
36
36
  export declare function delay(ms: number): Promise<void>;
37
+ /**
38
+ * Consumes a maybe async function and checks for error
39
+ * @param method - The function to check
40
+ * @param message - Optional message to match with error message
41
+ */
42
+ export declare function expectToThrowAsync(toEvaluate: () => MaybePromise<void>, message?: string): Promise<void>;
37
43
  export declare function createClientSession(id: string, diagramType: string, container?: Container, actionDispatcher?: StubActionDispatcher): ClientSession;
38
44
  export declare class StubActionHandler implements ActionHandler {
39
45
  actionKinds: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"mock-util.d.ts","sourceRoot":"","sources":["../../../src/common/test/mock-util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mock-util.d.ts","sourceRoot":"","sources":["../../../src/common/test/mock-util.ts"],"names":[],"mappings":"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"}
@@ -17,9 +17,10 @@
17
17
  /* eslint-disable @typescript-eslint/no-empty-function */
18
18
  // Stub-implementation classes used for unit testing
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.StubCommand = exports.StubClientSessionInitializer = exports.stubActionHandlerFactory = exports.TestContextEditValidator = exports.TestLabelEditValidator = exports.StubDiagramConfiguration = exports.StubGLSPServerListener = exports.StubGLSPClientProxy = exports.StubClientSessionListener = exports.StubLogger = exports.StubClientSessionManager = exports.StubClientSessionFactory = exports.StubActionDispatcher = exports.StubCreateEdgeOperationHandler = exports.StubCreateNodeOperationHandler = exports.StubActionHandler = exports.createClientSession = exports.delay = void 0;
20
+ exports.StubCommand = exports.StubClientSessionInitializer = exports.stubActionHandlerFactory = exports.TestContextEditValidator = exports.TestLabelEditValidator = exports.StubDiagramConfiguration = exports.StubGLSPServerListener = exports.StubGLSPClientProxy = exports.StubClientSessionListener = exports.StubLogger = exports.StubClientSessionManager = exports.StubClientSessionFactory = exports.StubActionDispatcher = exports.StubCreateEdgeOperationHandler = exports.StubCreateNodeOperationHandler = exports.StubActionHandler = exports.createClientSession = exports.expectToThrowAsync = exports.delay = void 0;
21
21
  const graph_1 = require("@eclipse-glsp/graph");
22
22
  const protocol_1 = require("@eclipse-glsp/protocol");
23
+ const chai_1 = require("chai");
23
24
  const inversify_1 = require("inversify");
24
25
  const diagram_configuration_1 = require("../diagram/diagram-configuration");
25
26
  const label_edit_validator_1 = require("../features/directediting/label-edit-validator");
@@ -29,6 +30,27 @@ async function delay(ms) {
29
30
  return new Promise(resolve => setTimeout(resolve, ms));
30
31
  }
31
32
  exports.delay = delay;
33
+ /**
34
+ * Consumes a maybe async function and checks for error
35
+ * @param method - The function to check
36
+ * @param message - Optional message to match with error message
37
+ */
38
+ async function expectToThrowAsync(toEvaluate, message) {
39
+ let err = undefined;
40
+ try {
41
+ await toEvaluate();
42
+ }
43
+ catch (error) {
44
+ err = error;
45
+ }
46
+ if (message) {
47
+ (0, chai_1.expect)(err === null || err === void 0 ? void 0 : err.message).to.be.equal(message);
48
+ }
49
+ else {
50
+ (0, chai_1.expect)(err).to.be.an('Error');
51
+ }
52
+ }
53
+ exports.expectToThrowAsync = expectToThrowAsync;
32
54
  function createClientSession(id, diagramType, container = new inversify_1.Container(), actionDispatcher = new StubActionDispatcher()) {
33
55
  return {
34
56
  id,
@@ -1 +1 @@
1
- {"version":3,"file":"mock-util.js","sourceRoot":"","sources":["../../../src/common/test/mock-util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mock-util.js","sourceRoot":"","sources":["../../../src/common/test/mock-util.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eclipse-glsp/server",
3
- "version": "1.1.0-RC05",
3
+ "version": "1.1.0-next.44aae0c.44+44aae0c",
4
4
  "description": "A js server framework for Eclipse GLSP",
5
5
  "keywords": [
6
6
  "eclipse",
@@ -59,8 +59,8 @@
59
59
  "watch": "tsc -w"
60
60
  },
61
61
  "dependencies": {
62
- "@eclipse-glsp/graph": "1.1.0-RC05",
63
- "@eclipse-glsp/protocol": "1.1.0-RC05",
62
+ "@eclipse-glsp/graph": "1.1.0-next.44aae0c.44+44aae0c",
63
+ "@eclipse-glsp/protocol": "next",
64
64
  "@types/uuid": "8.3.1",
65
65
  "commander": "^8.3.0",
66
66
  "fast-json-patch": "^3.1.0",
@@ -73,5 +73,5 @@
73
73
  "publishConfig": {
74
74
  "access": "public"
75
75
  },
76
- "gitHead": "63e8db957429fd2ae66f0fac5d013c47ac3c76a8"
76
+ "gitHead": "44aae0ca2380fe42eb95aac54d2d4e45e187d14f"
77
77
  }
@@ -16,7 +16,7 @@
16
16
  import { expect } from 'chai';
17
17
  import { Container, ContainerModule } from 'inversify';
18
18
  import * as sinon from 'sinon';
19
- import { StubCommand, StubLogger } from '../test/mock-util';
19
+ import { expectToThrowAsync, StubCommand, StubLogger } from '../test/mock-util';
20
20
  import { Logger } from '../utils/logger';
21
21
  import { DefaultCommandStack } from './command-stack';
22
22
 
@@ -41,17 +41,17 @@ describe('test DefaultCommandStack', () => {
41
41
  });
42
42
 
43
43
  describe('execute', () => {
44
- it('should execute the given command and become dirty', () => {
44
+ it('should execute the given command and become dirty', async () => {
45
45
  expect(commandStack.isDirty).to.be.false;
46
- commandStack.execute(command1);
46
+ await commandStack.execute(command1);
47
47
  expect(command1.execute.calledOnce).to.be.true;
48
48
  expect(commandStack.isDirty).to.be.true;
49
49
  });
50
50
 
51
- it('should execute the given commands in order and become dirty', () => {
51
+ it('should execute the given commands in order and become dirty', async () => {
52
52
  expect(commandStack.isDirty).to.be.false;
53
- commandStack.execute(command1);
54
- commandStack.execute(command2);
53
+ await commandStack.execute(command1);
54
+ await commandStack.execute(command2);
55
55
 
56
56
  expect(command1.execute.calledOnce).to.be.true;
57
57
  expect(command2.execute.calledOnce).to.be.true;
@@ -59,112 +59,112 @@ describe('test DefaultCommandStack', () => {
59
59
  expect(commandStack.isDirty).to.be.true;
60
60
  });
61
61
 
62
- it('should be able to undo after execute', () => {
62
+ it('should be able to undo after execute', async () => {
63
63
  expect(commandStack.canUndo()).to.be.false;
64
- commandStack.execute(command1);
64
+ await commandStack.execute(command1);
65
65
  expect(commandStack.canUndo()).to.be.true;
66
66
  });
67
67
 
68
- it('should clear the redo stack after execution', () => {
68
+ it('should clear the redo stack after execution', async () => {
69
69
  commandStack['commands'].push(command2);
70
70
  commandStack['top'] = -1;
71
71
  expect(commandStack.canRedo()).to.be.true;
72
72
 
73
- commandStack.execute(command1);
73
+ await commandStack.execute(command1);
74
74
  expect(commandStack.canRedo()).to.be.false;
75
75
  });
76
76
 
77
- it('should flush the stack in case of an execution error', () => {
77
+ it('should flush the stack in case of an execution error', async () => {
78
78
  command2.execute.throwsException();
79
79
  const flushSpy = sandbox.spy(commandStack, 'flush');
80
80
 
81
- expect(() => commandStack.execute(command2)).to.throw();
81
+ await expectToThrowAsync(() => commandStack.execute(command2));
82
82
  expect(command2.execute.calledOnce).to.be.true;
83
83
  expect(flushSpy.calledOnce).to.be.true;
84
84
  });
85
85
  });
86
86
 
87
87
  describe('undo', () => {
88
- it('should do nothing if the command stack is empty', () => {
88
+ it('should do nothing if the command stack is empty', async () => {
89
89
  expect(commandStack.isDirty).to.be.false;
90
90
 
91
- commandStack.undo();
91
+ await commandStack.undo();
92
92
  expect(commandStack.canUndo()).to.be.false;
93
93
  expect(commandStack.canRedo()).to.be.false;
94
94
  expect(commandStack.isDirty).to.be.false;
95
95
  });
96
96
 
97
- it('should undo the command and become non-dirty again', () => {
97
+ it('should undo the command and become non-dirty again', async () => {
98
98
  commandStack['commands'].push(command1);
99
99
  commandStack['top'] = 0;
100
100
  expect(commandStack.isDirty).to.be.true;
101
101
  expect(commandStack.canUndo()).to.be.true;
102
102
  expect(commandStack.canRedo()).to.be.false;
103
103
 
104
- commandStack.undo();
104
+ await commandStack.undo();
105
105
  expect(command1.undo.calledOnce).to.be.true;
106
106
  expect(commandStack.isDirty).to.be.false;
107
107
  expect(commandStack.canRedo()).to.be.true;
108
108
  expect(commandStack.canUndo()).to.be.false;
109
109
  });
110
110
 
111
- it('should undo multiple command and become non-dirty again', () => {
111
+ it('should undo multiple command and become non-dirty again', async () => {
112
112
  commandStack['commands'].push(command1, command2);
113
113
  commandStack['top'] = 1;
114
114
  expect(commandStack.isDirty).to.be.true;
115
115
  expect(commandStack.canUndo()).to.be.true;
116
116
  expect(commandStack.canRedo()).to.be.false;
117
117
 
118
- commandStack.undo();
118
+ await commandStack.undo();
119
119
  expect(command2.undo.calledOnce).to.be.true;
120
120
  expect(commandStack.canRedo()).to.be.true;
121
121
  expect(commandStack.canUndo()).to.be.true;
122
122
  expect(commandStack.isDirty).to.be.true;
123
123
 
124
- commandStack.undo();
124
+ await commandStack.undo();
125
125
  expect(command1.undo.calledOnce).to.be.true;
126
126
  expect(command1.undo.calledAfter(command2.undo)).to.be.true;
127
127
  expect(commandStack.isDirty).to.be.false;
128
128
  expect(commandStack.canRedo()).to.be.true;
129
129
  expect(commandStack.canUndo()).to.be.false;
130
130
  });
131
- it('should flush the stack in case of an execution error', () => {
131
+ it('should flush the stack in case of an execution error', async () => {
132
132
  command2.undo.throwsException();
133
133
  const flushSpy = sandbox.spy(commandStack, 'flush');
134
134
  commandStack['commands'].push(command2);
135
135
  commandStack['top'] = 0;
136
136
 
137
- expect(() => commandStack.undo()).to.throw();
137
+ await expectToThrowAsync(() => commandStack.undo());
138
138
  expect(command2.undo.calledOnce).to.be.true;
139
139
  expect(flushSpy.calledOnce).to.be.true;
140
140
  });
141
141
  });
142
142
 
143
143
  describe('redo', () => {
144
- it('should do nothing if the command stack is empty', () => {
144
+ it('should do nothing if the command stack is empty', async () => {
145
145
  expect(commandStack.isDirty).to.be.false;
146
146
 
147
- commandStack.redo();
147
+ await commandStack.redo();
148
148
  expect(commandStack.canUndo()).to.be.false;
149
149
  expect(commandStack.canRedo()).to.be.false;
150
150
  expect(commandStack.isDirty).to.be.false;
151
151
  });
152
152
 
153
- it('should redo the command and become dirty again', () => {
153
+ it('should redo the command and become dirty again', async () => {
154
154
  commandStack['commands'].push(command1);
155
155
  commandStack['top'] = -1;
156
156
  expect(commandStack.isDirty).to.be.false;
157
157
  expect(commandStack.canUndo()).to.be.false;
158
158
  expect(commandStack.canRedo()).to.be.true;
159
159
 
160
- commandStack.redo();
160
+ await commandStack.redo();
161
161
  expect(command1.redo.calledOnce).to.be.true;
162
162
  expect(commandStack.isDirty).to.be.true;
163
163
  expect(commandStack.canRedo()).to.be.false;
164
164
  expect(commandStack.canUndo()).to.be.true;
165
165
  });
166
166
 
167
- it('should undo multiple command and become non-dirty again', () => {
167
+ it('should undo multiple command and become non-dirty again', async () => {
168
168
  commandStack['commands'].push(command2, command1);
169
169
  commandStack['top'] = -1;
170
170
  commandStack['saveIndex'] = -1;
@@ -172,34 +172,34 @@ describe('test DefaultCommandStack', () => {
172
172
  expect(commandStack.canUndo()).to.be.false;
173
173
  expect(commandStack.canRedo()).to.be.true;
174
174
 
175
- commandStack.redo();
175
+ await commandStack.redo();
176
176
  expect(command2.redo.calledOnce).to.be.true;
177
177
  expect(commandStack.canRedo()).to.be.true;
178
178
  expect(commandStack.canUndo()).to.be.true;
179
179
  expect(commandStack.isDirty).to.be.true;
180
180
 
181
- commandStack.redo();
181
+ await commandStack.redo();
182
182
  expect(command1.redo.calledOnce).to.be.true;
183
183
  expect(command1.redo.calledAfter(command2.redo)).to.be.true;
184
184
  expect(commandStack.isDirty).to.be.true;
185
185
  expect(commandStack.canRedo()).to.be.false;
186
186
  expect(commandStack.canUndo()).to.be.true;
187
187
  });
188
- it('should flush the stack in case of an execution error', () => {
188
+ it('should flush the stack in case of an execution error', async () => {
189
189
  command2.redo.throwsException();
190
190
  const flushSpy = sandbox.spy(commandStack, 'flush');
191
191
  commandStack['commands'].push(command2);
192
192
  commandStack['top'] = -1;
193
193
 
194
- expect(() => commandStack.redo()).to.throw();
194
+ await expectToThrowAsync(() => commandStack.redo());
195
195
  expect(command2.redo.calledOnce).to.be.true;
196
196
  expect(flushSpy.calledOnce).to.be.true;
197
197
  });
198
- it('should be able to undo after redo', () => {
198
+ it('should be able to undo after redo', async () => {
199
199
  commandStack['commands'].push(command1);
200
200
  commandStack['top'] = -1;
201
201
  expect(commandStack.canUndo()).to.be.false;
202
- commandStack.redo();
202
+ await commandStack.redo();
203
203
  expect(commandStack.canUndo()).to.be.true;
204
204
  });
205
205
  });
@@ -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
  import { inject, injectable } from 'inversify';
17
+ import { MaybePromise } from '..';
17
18
  import { Logger } from '../utils/logger';
18
19
  import { Command } from './command';
19
20
 
@@ -31,12 +32,12 @@ export interface CommandStack {
31
32
  * Clears any redoable commands not yet redone, adds the command to the stack and then invokes {@link Command.execute}.
32
33
  * @param command the command to execute.
33
34
  */
34
- execute(command: Command): void;
35
+ execute(command: Command): MaybePromise<void>;
35
36
 
36
37
  /**
37
38
  * Removes the topmost (i.e. last executed) command from the stack and invokes {@link Command.undo}.
38
39
  */
39
- undo(): void;
40
+ undo(): MaybePromise<void>;
40
41
 
41
42
  /**
42
43
  * Returns `true` if the top command on the stack can be undone.
@@ -46,7 +47,7 @@ export interface CommandStack {
46
47
  /**
47
48
  * Re-adds the last undo command on top of the stack and invokes {@link Command.redo}
48
49
  */
49
- redo(): void;
50
+ redo(): MaybePromise<void>;
50
51
 
51
52
  /**
52
53
  * Returns `true` if there are redoable commands in the stack.
@@ -86,9 +87,9 @@ export class DefaultCommandStack implements CommandStack {
86
87
  */
87
88
  protected saveIndex = -1;
88
89
 
89
- execute(command: Command): void {
90
+ async execute(command: Command): Promise<void> {
90
91
  try {
91
- command.execute();
92
+ await command.execute();
92
93
  } catch (error) {
93
94
  this.handleError(error);
94
95
  }
@@ -104,11 +105,11 @@ export class DefaultCommandStack implements CommandStack {
104
105
  }
105
106
  }
106
107
 
107
- undo(): void {
108
+ async undo(): Promise<void> {
108
109
  if (this.canUndo()) {
109
110
  const command = this.commands[this.top--];
110
111
  try {
111
- command.undo();
112
+ await command.undo();
112
113
  } catch (error) {
113
114
  this.handleError(error);
114
115
  }
@@ -121,11 +122,11 @@ export class DefaultCommandStack implements CommandStack {
121
122
  : false;
122
123
  }
123
124
 
124
- redo(): void {
125
+ async redo(): Promise<void> {
125
126
  if (this.canRedo()) {
126
127
  const command = this.commands[++this.top];
127
128
  try {
128
- command.redo();
129
+ await command.redo();
129
130
  } catch (error) {
130
131
  this.handleError(error);
131
132
  }