@adminide-stack/extension-api 10.2.2-alpha.7 → 10.2.3-alpha.1

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 (89) hide show
  1. package/lib/connections/jsonrpc2/connection.js +507 -525
  2. package/lib/connections/jsonrpc2/connection.js.map +1 -0
  3. package/lib/connections/jsonrpc2/events.js +100 -100
  4. package/lib/connections/jsonrpc2/events.js.map +1 -0
  5. package/lib/connections/jsonrpc2/linkedMap.js +248 -246
  6. package/lib/connections/jsonrpc2/linkedMap.js.map +1 -0
  7. package/lib/connections/jsonrpc2/messages.js +36 -40
  8. package/lib/connections/jsonrpc2/messages.js.map +1 -0
  9. package/lib/connections/jsonrpc2/test-helper.js +35 -21
  10. package/lib/connections/jsonrpc2/test-helper.js.map +1 -0
  11. package/lib/connections/jsonrpc2/trace.js +70 -82
  12. package/lib/connections/jsonrpc2/trace.js.map +1 -0
  13. package/lib/connections/jsonrpc2/transport.js +56 -56
  14. package/lib/connections/jsonrpc2/transport.js.map +1 -0
  15. package/lib/connections/jsonrpc2/transports/webWorker.js +80 -88
  16. package/lib/connections/jsonrpc2/transports/webWorker.js.map +1 -0
  17. package/lib/connections/proxy/proxy.js +46 -47
  18. package/lib/connections/proxy/proxy.js.map +1 -0
  19. package/lib/connections/remote-rpc/browser-remote-rpc.js +55 -54
  20. package/lib/connections/remote-rpc/browser-remote-rpc.js.map +1 -0
  21. package/lib/connections/remote-rpc/rxjs-websockets.js +68 -68
  22. package/lib/connections/remote-rpc/rxjs-websockets.js.map +1 -0
  23. package/lib/constants/action-types.js +27 -27
  24. package/lib/constants/action-types.js.map +1 -0
  25. package/lib/constants/types.js +7 -7
  26. package/lib/constants/types.js.map +1 -0
  27. package/lib/core/expr/evaluator.js +103 -104
  28. package/lib/core/expr/evaluator.js.map +1 -0
  29. package/lib/core/expr/lexer.js +366 -361
  30. package/lib/core/expr/lexer.js.map +1 -0
  31. package/lib/core/expr/parser.js +228 -217
  32. package/lib/core/expr/parser.js.map +1 -0
  33. package/lib/core/types/ext-host-types.js +53 -54
  34. package/lib/core/types/ext-host-types.js.map +1 -0
  35. package/lib/index.js +1 -1
  36. package/lib/index.js.map +1 -0
  37. package/lib/interfaces/contributions/contribution.js +40 -40
  38. package/lib/interfaces/contributions/contribution.js.map +1 -0
  39. package/lib/interfaces/graphql.js +1 -1
  40. package/lib/interfaces/graphql.js.map +1 -0
  41. package/lib/interfaces/model.js +3 -3
  42. package/lib/interfaces/model.js.map +1 -0
  43. package/lib/interfaces/text-document.js +76 -77
  44. package/lib/interfaces/text-document.js.map +1 -0
  45. package/lib/interfaces/webview/webview.js +3 -3
  46. package/lib/interfaces/webview/webview.js.map +1 -0
  47. package/lib/middlewares/extensionController.js +9 -5
  48. package/lib/middlewares/extensionController.js.map +1 -0
  49. package/lib/protocol/client.protocol.js +2 -2
  50. package/lib/protocol/client.protocol.js.map +1 -0
  51. package/lib/protocol/common.protocol.js +50 -48
  52. package/lib/protocol/common.protocol.js.map +1 -0
  53. package/lib/protocol/editor-missing-types.js +4 -4
  54. package/lib/protocol/editor-missing-types.js.map +1 -0
  55. package/lib/protocol/proxy-identifier.js +39 -39
  56. package/lib/protocol/proxy-identifier.js.map +1 -0
  57. package/lib/protocol/rpc-logger.js +39 -43
  58. package/lib/protocol/rpc-logger.js.map +1 -0
  59. package/lib/protocol/rpc-protocol.js +736 -724
  60. package/lib/protocol/rpc-protocol.js.map +1 -0
  61. package/lib/protocol/server.protocol.js +22 -22
  62. package/lib/protocol/server.protocol.js.map +1 -0
  63. package/lib/protocol/shared/editor.js +17 -17
  64. package/lib/protocol/shared/editor.js.map +1 -0
  65. package/lib/protocol/temporary-types.js +16 -16
  66. package/lib/protocol/temporary-types.js.map +1 -0
  67. package/lib/protocol/utils/lazy-promise.js +60 -61
  68. package/lib/protocol/utils/lazy-promise.js.map +1 -0
  69. package/lib/react/components/view-component/ViewComponent.js +31 -26
  70. package/lib/react/components/view-component/ViewComponent.js.map +1 -0
  71. package/lib/react/index.js +1 -1
  72. package/lib/react/index.js.map +1 -0
  73. package/lib/react/useExtensionController.js +12 -10
  74. package/lib/react/useExtensionController.js.map +1 -0
  75. package/lib/utils/abortable-rx.js +73 -70
  76. package/lib/utils/abortable-rx.js.map +1 -0
  77. package/lib/utils/errors.js +10 -10
  78. package/lib/utils/errors.js.map +1 -0
  79. package/lib/utils/extensions.js +11 -11
  80. package/lib/utils/extensions.js.map +1 -0
  81. package/lib/utils/helper.test.js +7 -4
  82. package/lib/utils/helper.test.js.map +1 -0
  83. package/lib/utils/paths-util.js +79 -82
  84. package/lib/utils/paths-util.js.map +1 -0
  85. package/lib/utils/rxjs/combineLatestOrDefault.js +72 -70
  86. package/lib/utils/rxjs/combineLatestOrDefault.js.map +1 -0
  87. package/lib/utils/util.js +24 -25
  88. package/lib/utils/util.js.map +1 -0
  89. package/package.json +5 -5
@@ -3,27 +3,41 @@ import {AbstractMessageWriter,AbstractMessageReader}from'./transport.js';/**
3
3
  * other as the client.
4
4
  */
5
5
  function createMessageTransports() {
6
- const { reader: reader1, writer: writer1 } = createMessagePipe();
7
- const { reader: reader2, writer: writer2 } = createMessagePipe();
8
- return [{ reader: reader1, writer: writer2 }, { reader: reader2, writer: writer1 }];
6
+ const {
7
+ reader: reader1,
8
+ writer: writer1
9
+ } = createMessagePipe();
10
+ const {
11
+ reader: reader2,
12
+ writer: writer2
13
+ } = createMessagePipe();
14
+ return [{
15
+ reader: reader1,
16
+ writer: writer2
17
+ }, {
18
+ reader: reader2,
19
+ writer: writer1
20
+ }];
9
21
  }
10
22
  /** Creates a single set of transports that are connected to each other. */
11
23
  function createMessagePipe() {
12
- let readerCallback;
13
- const reader = new class extends AbstractMessageReader {
14
- listen(callback) {
15
- readerCallback = callback;
16
- }
17
- }();
18
- const writer = new class extends AbstractMessageWriter {
19
- write(msg) {
20
- if (readerCallback) {
21
- readerCallback(msg);
22
- }
23
- else {
24
- throw new Error('reader has no listener');
25
- }
26
- }
27
- }();
28
- return { reader, writer };
29
- }export{createMessagePipe,createMessageTransports};
24
+ let readerCallback;
25
+ const reader = new class extends AbstractMessageReader {
26
+ listen(callback) {
27
+ readerCallback = callback;
28
+ }
29
+ }();
30
+ const writer = new class extends AbstractMessageWriter {
31
+ write(msg) {
32
+ if (readerCallback) {
33
+ readerCallback(msg);
34
+ } else {
35
+ throw new Error('reader has no listener');
36
+ }
37
+ }
38
+ }();
39
+ return {
40
+ reader,
41
+ writer
42
+ };
43
+ }export{createMessagePipe,createMessageTransports};//# sourceMappingURL=test-helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-helper.js","sources":["../../../src/connections/jsonrpc2/test-helper.ts"],"sourcesContent":[null],"names":[],"mappings":"yEAIA;;;AAGG;SACa,uBAAuB,GAAA;AACnC,EAAA,MAAA;AACA,IAAA,MAAM,EAAE,OAAQ;IAChB,MAAO,EAAC;AACZ,GAAC,GAAA,iBAAA,EAAA;AAED,EAA2E,MAAA;AAC3E,IAAA,eAAiC;AAC7B,IAAA;AACA,GAAA,GAAA,iBAAkC,EAAA;AACvB,EAAA,OAAA,CAAA;YACH,OAAc;UACjB,EAAA;AACJ,GAAA,EAAA;AACD,IAAA,MAAM,EAAM,OAAkB;AACnB,IAAA,MAAA,EAAA;;;;0BAGK,GAAA;AACJ,EAAA,IAAA,cAAA;cACH,GAAA,IAAA,cAAA,qBAAA,CAAA;UACJ,CAAA,QAAA,EAAA;AACJ,MAAA,cAAE,GAAA,QAAA;AACH;AACJ,GAAC,EAAA;;;;;;;;;;;;;;"}
@@ -1,90 +1,78 @@
1
1
  /** A tracer that implements the Tracer interface with noop methods. */
2
2
  const noopTracer = {
3
- log: () => void 0,
4
- requestSent: () => void 0,
5
- requestReceived: () => void 0,
6
- notificationSent: () => void 0,
7
- notificationReceived: () => void 0,
8
- responseSent: () => void 0,
9
- responseAborted: () => void 0,
10
- responseReceived: () => void 0,
11
- unknownResponseReceived: () => void 0,
3
+ log: () => void 0,
4
+ requestSent: () => void 0,
5
+ requestReceived: () => void 0,
6
+ notificationSent: () => void 0,
7
+ notificationReceived: () => void 0,
8
+ responseSent: () => void 0,
9
+ responseAborted: () => void 0,
10
+ responseReceived: () => void 0,
11
+ unknownResponseReceived: () => void 0
12
12
  };
13
13
  /** A tracer that implements the Tracer interface with console API calls, intended for a web browser. */
14
14
  class BrowserConsoleTracer {
15
- name;
16
- constructor(name) {
17
- this.name = name;
15
+ name;
16
+ constructor(name) {
17
+ this.name = name;
18
+ }
19
+ prefix(level, label, title) {
20
+ let color;
21
+ let backgroundColor;
22
+ if (level === 'info') {
23
+ color = '#000';
24
+ backgroundColor = '#eee';
25
+ } else {
26
+ color = 'white';
27
+ backgroundColor = 'red';
18
28
  }
19
- prefix(level, label, title) {
20
- let color;
21
- let backgroundColor;
22
- if (level === 'info') {
23
- color = '#000';
24
- backgroundColor = '#eee';
25
- }
26
- else {
27
- color = 'white';
28
- backgroundColor = 'red';
29
- }
30
- return [
31
- '%c%s%c %s%c%s%c',
32
- `font-weight:bold;background-color:#d8f7ff;color:black`,
33
- this.name,
34
- '',
35
- label,
36
- `background-color:${backgroundColor};color:${color};font-weight:bold`,
37
- title,
38
- '',
39
- ];
29
+ return ['%c%s%c %s%c%s%c', `font-weight:bold;background-color:#d8f7ff;color:black`, this.name, '', label, `background-color:${backgroundColor};color:${color};font-weight:bold`, title, ''];
30
+ }
31
+ log(message, details) {
32
+ if (details) {
33
+ console.groupCollapsed(...this.prefix('info', 'log', ''), message);
34
+ console.log(details);
35
+ console.groupEnd();
36
+ } else {
37
+ console.log(...this.prefix('info', 'log', ''), message);
40
38
  }
41
- log(message, details) {
42
- if (details) {
43
- console.groupCollapsed(...this.prefix('info', 'log', ''), message);
44
- console.log(details);
45
- console.groupEnd();
46
- }
47
- else {
48
- console.log(...this.prefix('info', 'log', ''), message);
49
- }
39
+ }
40
+ requestSent(message) {
41
+ console.log(...this.prefix('info', `◀◀ sent request #${message.id}: `, message.method), message.params);
42
+ }
43
+ requestReceived(message) {
44
+ console.log(...this.prefix('info', `▶▶ recv request #${message.id}: `, message.method), message.params);
45
+ }
46
+ notificationSent(message) {
47
+ console.log(...this.prefix('info', `◀◀ sent notif: `, message.method), message.params);
48
+ }
49
+ notificationReceived(message) {
50
+ console.log(...this.prefix('info', `▶▶ recv notif: `, message.method), message.params);
51
+ }
52
+ responseSent(message, request, startTime) {
53
+ const prefix = this.prefix(message.error ? 'error' : 'info', `◀▶ sent response #${message.id}: `, typeof request === 'string' ? request : request.method);
54
+ console.groupCollapsed(...prefix);
55
+ console.log('Response:', message);
56
+ console.log('Request:', request);
57
+ console.log('Duration: %d msec', Date.now() - startTime);
58
+ console.groupEnd();
59
+ }
60
+ responseAborted(_message, request, _abortMessage) {
61
+ console.log(...this.prefix('info', '× abort: ', request.method));
62
+ }
63
+ responseReceived(message, request, startTime) {
64
+ const prefix = this.prefix(message.error ? 'error' : 'info', `◀▶ recv response #${message.id}: `, typeof request === 'string' ? request : request.method);
65
+ if (typeof request === 'string') {
66
+ console.log(...prefix, message.error || message.result);
67
+ } else {
68
+ console.groupCollapsed(...prefix);
69
+ console.log('Response:', message);
70
+ console.log('Request:', request);
71
+ console.log('Duration: %d msec', Date.now() - startTime);
72
+ console.groupEnd();
50
73
  }
51
- requestSent(message) {
52
- console.log(...this.prefix('info', `◀◀ sent request #${message.id}: `, message.method), message.params);
53
- }
54
- requestReceived(message) {
55
- console.log(...this.prefix('info', `▶▶ recv request #${message.id}: `, message.method), message.params);
56
- }
57
- notificationSent(message) {
58
- console.log(...this.prefix('info', `◀◀ sent notif: `, message.method), message.params);
59
- }
60
- notificationReceived(message) {
61
- console.log(...this.prefix('info', `▶▶ recv notif: `, message.method), message.params);
62
- }
63
- responseSent(message, request, startTime) {
64
- const prefix = this.prefix(message.error ? 'error' : 'info', `◀▶ sent response #${message.id}: `, typeof request === 'string' ? request : request.method);
65
- console.groupCollapsed(...prefix);
66
- console.log('Response:', message);
67
- console.log('Request:', request);
68
- console.log('Duration: %d msec', Date.now() - startTime);
69
- console.groupEnd();
70
- }
71
- responseAborted(_message, request, _abortMessage) {
72
- console.log(...this.prefix('info', '× abort: ', request.method));
73
- }
74
- responseReceived(message, request, startTime) {
75
- const prefix = this.prefix(message.error ? 'error' : 'info', `◀▶ recv response #${message.id}: `, typeof request === 'string' ? request : request.method);
76
- if (typeof request === 'string') {
77
- console.log(...prefix, message.error || message.result);
78
- }
79
- else {
80
- console.groupCollapsed(...prefix);
81
- console.log('Response:', message);
82
- console.log('Request:', request);
83
- console.log('Duration: %d msec', Date.now() - startTime);
84
- console.groupEnd();
85
- }
86
- }
87
- unknownResponseReceived(message) {
88
- console.log(...this.prefix('error', 'UNKNOWN', ''), message);
89
- }
90
- }export{BrowserConsoleTracer,noopTracer};
74
+ }
75
+ unknownResponseReceived(message) {
76
+ console.log(...this.prefix('error', 'UNKNOWN', ''), message);
77
+ }
78
+ }export{BrowserConsoleTracer,noopTracer};//# sourceMappingURL=trace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace.js","sources":["../../../src/connections/jsonrpc2/trace.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,59 +1,59 @@
1
1
  import {Emitter}from'./events.js';class AbstractMessageReader {
2
- errorEmitter;
3
- closeEmitter;
4
- constructor() {
5
- this.errorEmitter = new Emitter();
6
- this.closeEmitter = new Emitter();
7
- }
8
- unsubscribe() {
9
- this.errorEmitter.unsubscribe();
10
- this.closeEmitter.unsubscribe();
11
- }
12
- get onError() {
13
- return this.errorEmitter.event;
14
- }
15
- fireError(error) {
16
- this.errorEmitter.fire(this.asError(error));
17
- }
18
- get onClose() {
19
- return this.closeEmitter.event;
20
- }
21
- fireClose() {
22
- this.closeEmitter.fire(undefined);
23
- }
24
- asError(error) {
25
- if (error instanceof Error) {
26
- return error;
27
- }
28
- throw error;
29
- // return new Error(
30
- // `Reader received error. Reason: ${typeof error.message === 'string' ? error.message : 'unknown'}`
31
- // )
32
- }
2
+ errorEmitter;
3
+ closeEmitter;
4
+ constructor() {
5
+ this.errorEmitter = new Emitter();
6
+ this.closeEmitter = new Emitter();
7
+ }
8
+ unsubscribe() {
9
+ this.errorEmitter.unsubscribe();
10
+ this.closeEmitter.unsubscribe();
11
+ }
12
+ get onError() {
13
+ return this.errorEmitter.event;
14
+ }
15
+ fireError(error) {
16
+ this.errorEmitter.fire(this.asError(error));
17
+ }
18
+ get onClose() {
19
+ return this.closeEmitter.event;
20
+ }
21
+ fireClose() {
22
+ this.closeEmitter.fire(undefined);
23
+ }
24
+ asError(error) {
25
+ if (error instanceof Error) {
26
+ return error;
27
+ }
28
+ throw error;
29
+ // return new Error(
30
+ // `Reader received error. Reason: ${typeof error.message === 'string' ? error.message : 'unknown'}`
31
+ // )
32
+ }
33
33
  }
34
34
  class AbstractMessageWriter {
35
- errorEmitter = new Emitter();
36
- closeEmitter = new Emitter();
37
- unsubscribe() {
38
- this.errorEmitter.unsubscribe();
39
- this.closeEmitter.unsubscribe();
40
- }
41
- get onError() {
42
- return this.errorEmitter.event;
43
- }
44
- fireError(error, message, count) {
45
- this.errorEmitter.fire([this.asError(error), message, count]);
46
- }
47
- get onClose() {
48
- return this.closeEmitter.event;
49
- }
50
- fireClose() {
51
- this.closeEmitter.fire(undefined);
52
- }
53
- asError(error) {
54
- if (error instanceof Error) {
55
- return error;
56
- }
57
- return new Error(`Writer received error. Reason: ${typeof error.message === 'string' ? error.message : 'unknown'}`);
58
- }
59
- }export{AbstractMessageReader,AbstractMessageWriter};
35
+ errorEmitter = new Emitter();
36
+ closeEmitter = new Emitter();
37
+ unsubscribe() {
38
+ this.errorEmitter.unsubscribe();
39
+ this.closeEmitter.unsubscribe();
40
+ }
41
+ get onError() {
42
+ return this.errorEmitter.event;
43
+ }
44
+ fireError(error, message, count) {
45
+ this.errorEmitter.fire([this.asError(error), message, count]);
46
+ }
47
+ get onClose() {
48
+ return this.closeEmitter.event;
49
+ }
50
+ fireClose() {
51
+ this.closeEmitter.fire(undefined);
52
+ }
53
+ asError(error) {
54
+ if (error instanceof Error) {
55
+ return error;
56
+ }
57
+ return new Error(`Writer received error. Reason: ${typeof error.message === 'string' ? error.message : 'unknown'}`);
58
+ }
59
+ }export{AbstractMessageReader,AbstractMessageWriter};//# sourceMappingURL=transport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport.js","sources":["../../../src/connections/jsonrpc2/transport.ts"],"sourcesContent":[null],"names":[],"mappings":"wCAcsB,qBAAqB,CAAA;AAC/B,EAAA,YAAA;AACA,EAAA,YAAA;AAER,EAAA,WAAA,GAAA;AACI,IAAA,IAAA,CAAA,YAAiB,GAAA,IAAG,OAAI,EAAA;AACxB,IAAA,IAAA,CAAA,YAAiB,GAAA,IAAG,OAAI,EAAA;;aAGV,GAAA;AACd,IAAA,IAAA,CAAA,YAAK,CAAA,WAAa,EAAA;AAClB,IAAA,IAAA,CAAA,YAAK,CAAA,WAAa,EAAA;;AAGtB,EAAA,IAAA,OAAkB,GAAA;AACd,IAAA,OAAA,IAAO,CAAI,YAAa,CAAA;;AAGlB,EAAA,SAAA,CAAA,KAAoB,EAAA;AAC1B,IAAA,IAAA,CAAA,YAAK,CAAA,IAAa,CAAA,IAAK,CAAA,OAAK,CAAA,KAAQ,CAAA,CAAA;;AAGxC,EAAA,IAAA,OAAkB,GAAA;AACd,IAAA,OAAA,IAAO,CAAI,YAAa,CAAA;;WAGT,GAAA;AACf,IAAA,IAAA,CAAA,YAAiB,CAAA,IAAC,UAAK,CAAA;;AAGnB,EAAA,OAAA,CAAA,KAAkB,EAAA;AACtB,IAAA,IAAA,KAAS,YAAA,KAAiB,EAAA;AACtB,MAAA,OAAA,KAAA;;AAEJ,IAAA,MAAA;;;;;AAKP;MASqB,qBAAqB,CAAA;AAC/B,EAAA,YAAA,GAAe,IAAA,OAAW,EAAA;AAC1B,EAAA,YAAA,GAAe,IAAA,OAAW,EAAA;aAEhB,GAAA;AACd,IAAA,IAAA,CAAA,YAAK,CAAA,WAAa,EAAA;AAClB,IAAA,IAAA,CAAA,YAAK,CAAA,WAAa,EAAA;;AAGtB,EAAA,IAAA,OAAkB,GAAA;AACd,IAAA,OAAA,IAAO,CAAI,YAAa,CAAA;;AAGlB,EAAA,SAAA,CAAA,KAAU,EAAU,OAAE,EAAiB,KAAgB,EAAA;AAC7D,IAAA,IAAA,CAAA,YAAiB,CAAA,IAAC,MAAM,QAAK,CAAA,KAAQ,CAAA,EAAA,OAAQ,EAAA,KAAc,CAAA,CAAA;;AAG/D,EAAA,IAAA,OAAkB,GAAA;AACd,IAAA,OAAA,IAAO,CAAI,YAAa,CAAA;;WAGT,GAAA;AACf,IAAA,IAAA,CAAA,YAAiB,CAAA,IAAC,UAAK,CAAA;;AAGnB,EAAA,OAAA,CAAA,KAAkB,EAAA;AACtB,IAAA,IAAA,KAAS,YAAA,KAAiB,EAAA;AACtB,MAAA,OAAA,KAAA;;WAEG,IAAA,sCACH,EAAA,YAA8C,CAAA,OAAQ,KAAA,QAAa,GAAA,KAAG,CAAA,OAAa,GAAA,SAAG,CAAA,CAAA,CAAA;;AAGjG"}
@@ -1,80 +1,75 @@
1
1
  import {AbstractMessageReader,AbstractMessageWriter}from'../transport.js';class WebWorkerMessageReader extends AbstractMessageReader {
2
- worker;
3
- pending = [];
4
- callback = null;
5
- constructor(worker) {
6
- super();
7
- this.worker = worker;
8
- worker.addEventListener('message', (e) => {
9
- try {
10
- this.processMessage(e);
11
- }
12
- catch (err) {
13
- this.fireError(err);
14
- }
15
- });
16
- worker.addEventListener('error', (err) => {
17
- this.fireError(err);
18
- if (err.cancelable) {
19
- err.preventDefault();
20
- }
21
- else {
22
- terminateWorker(worker);
23
- this.fireClose();
24
- }
25
- });
2
+ worker;
3
+ pending = [];
4
+ callback = null;
5
+ constructor(worker) {
6
+ super();
7
+ this.worker = worker;
8
+ worker.addEventListener('message', e => {
9
+ try {
10
+ this.processMessage(e);
11
+ } catch (err) {
12
+ this.fireError(err);
13
+ }
14
+ });
15
+ worker.addEventListener('error', err => {
16
+ this.fireError(err);
17
+ if (err.cancelable) {
18
+ err.preventDefault();
19
+ } else {
20
+ terminateWorker(worker);
21
+ this.fireClose();
22
+ }
23
+ });
24
+ }
25
+ processMessage(e) {
26
+ const message = e.data;
27
+ if (this.callback) {
28
+ this.callback(message);
29
+ } else {
30
+ this.pending.push(message);
26
31
  }
27
- processMessage(e) {
28
- const message = e.data;
29
- if (this.callback) {
30
- this.callback(message);
31
- }
32
- else {
33
- this.pending.push(message);
34
- }
32
+ }
33
+ listen(callback) {
34
+ if (this.callback) {
35
+ throw new Error('callback is already set');
35
36
  }
36
- listen(callback) {
37
- if (this.callback) {
38
- throw new Error('callback is already set');
39
- }
40
- this.callback = callback;
41
- while (this.pending.length !== 0) {
42
- callback(this.pending.pop());
43
- }
44
- }
45
- unsubscribe() {
46
- super.unsubscribe();
47
- this.callback = null;
48
- terminateWorker(this.worker);
37
+ this.callback = callback;
38
+ while (this.pending.length !== 0) {
39
+ callback(this.pending.pop());
49
40
  }
41
+ }
42
+ unsubscribe() {
43
+ super.unsubscribe();
44
+ this.callback = null;
45
+ terminateWorker(this.worker);
46
+ }
50
47
  }
51
48
  class WebWorkerMessageWriter extends AbstractMessageWriter {
52
- worker;
53
- errorCount = 0;
54
- constructor(worker) {
55
- super();
56
- this.worker = worker;
57
- }
58
- write(message) {
59
- try {
60
- this.worker.postMessage(message);
61
- }
62
- catch (error) {
63
- this.fireError(error, message, ++this.errorCount);
64
- }
65
- }
66
- unsubscribe() {
67
- super.unsubscribe();
68
- terminateWorker(this.worker);
49
+ worker;
50
+ errorCount = 0;
51
+ constructor(worker) {
52
+ super();
53
+ this.worker = worker;
54
+ }
55
+ write(message) {
56
+ try {
57
+ this.worker.postMessage(message);
58
+ } catch (error) {
59
+ this.fireError(error, message, ++this.errorCount);
69
60
  }
61
+ }
62
+ unsubscribe() {
63
+ super.unsubscribe();
64
+ terminateWorker(this.worker);
65
+ }
70
66
  }
71
67
  function terminateWorker(worker) {
72
- if (worker.terminate) {
73
- worker.terminate(); // in window (worker parent) scope
74
- }
75
- else if (worker.close) {
76
- worker.close(); // in worker scope
77
- }
68
+ if (worker.terminate) {
69
+ worker.terminate(); // in window (worker parent) scope
70
+ } else if (worker.close) {
71
+ worker.close(); // in worker scope
72
+ }
78
73
  }
79
74
  /**
80
75
  * Creates JSON-RPC2 message transports for the Web Worker message communication interface.
@@ -83,25 +78,22 @@ function terminateWorker(worker) {
83
78
  * `self`) if the current execution context is in a Worker. Defaults to the global scope.
84
79
  */
85
80
  function createWebWorkerMessageTransports(worker = globalWorkerScope()) {
86
- const reader = new WebWorkerMessageReader(worker);
87
- const writer = new WebWorkerMessageWriter(worker);
88
- reader.onError(err => console.error(err));
89
- writer.onError(err => console.error(err));
90
- return {
91
- reader,
92
- writer,
93
- };
81
+ const reader = new WebWorkerMessageReader(worker);
82
+ const writer = new WebWorkerMessageWriter(worker);
83
+ reader.onError(err => console.error(err));
84
+ writer.onError(err => console.error(err));
85
+ return {
86
+ reader,
87
+ writer
88
+ };
94
89
  }
95
90
  function globalWorkerScope() {
96
- var globalObject = typeof window !== 'undefined' ? window :
97
- typeof self !== 'undefined' ? self :
98
- typeof global !== 'undefined' ? global :
99
- {};
100
- const worker = globalObject;
101
- // tslint:disable-next-line no-unbound-method
102
- if (!worker.postMessage || 'document' in worker) {
103
- // throw new Error('global scope is not a Worker')
104
- console.warn('global scope is not a Worker');
105
- }
106
- return worker;
107
- }export{createWebWorkerMessageTransports};
91
+ var globalObject = typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : typeof global !== 'undefined' ? global : {};
92
+ const worker = globalObject;
93
+ // tslint:disable-next-line no-unbound-method
94
+ if (!worker.postMessage || 'document' in worker) {
95
+ // throw new Error('global scope is not a Worker')
96
+ console.warn('global scope is not a Worker');
97
+ }
98
+ return worker;
99
+ }export{createWebWorkerMessageTransports};//# sourceMappingURL=webWorker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webWorker.js","sources":["../../../../src/connections/jsonrpc2/transports/webWorker.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}