@eclipse-glsp/server 2.7.0-next.6 → 2.7.0-next.7
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/package.json +3 -3
- package/lib/browser/di/browser-dispatch-context.d.ts +0 -39
- package/lib/browser/di/browser-dispatch-context.d.ts.map +0 -1
- package/lib/browser/di/browser-dispatch-context.js +0 -57
- package/lib/browser/di/browser-dispatch-context.js.map +0 -1
- package/lib/browser/di/sync-dispatch-context.d.ts +0 -39
- package/lib/browser/di/sync-dispatch-context.d.ts.map +0 -1
- package/lib/browser/di/sync-dispatch-context.js +0 -57
- package/lib/browser/di/sync-dispatch-context.js.map +0 -1
- package/lib/common/utils/action-channel.d.ts +0 -58
- package/lib/common/utils/action-channel.d.ts.map +0 -1
- package/lib/common/utils/action-channel.js +0 -99
- package/lib/common/utils/action-channel.js.map +0 -1
- package/lib/node/di/async-dispatch-context.d.ts +0 -26
- package/lib/node/di/async-dispatch-context.d.ts.map +0 -1
- package/lib/node/di/async-dispatch-context.js +0 -35
- package/lib/node/di/async-dispatch-context.js.map +0 -1
- package/lib/node/di/node-dispatch-context.d.ts +0 -26
- package/lib/node/di/node-dispatch-context.d.ts.map +0 -1
- package/lib/node/di/node-dispatch-context.js +0 -35
- package/lib/node/di/node-dispatch-context.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eclipse-glsp/server",
|
|
3
|
-
"version": "2.7.0-next.
|
|
3
|
+
"version": "2.7.0-next.7+4b14d3a",
|
|
4
4
|
"description": "A js server framework for Eclipse GLSP",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"eclipse",
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"watch": "tsc -w"
|
|
59
59
|
},
|
|
60
60
|
"dependencies": {
|
|
61
|
-
"@eclipse-glsp/graph": "2.7.0-next.
|
|
61
|
+
"@eclipse-glsp/graph": "2.7.0-next.7+4b14d3a",
|
|
62
62
|
"@eclipse-glsp/protocol": "next",
|
|
63
63
|
"@types/uuid": "8.3.1",
|
|
64
64
|
"commander": "^8.3.0",
|
|
@@ -78,5 +78,5 @@
|
|
|
78
78
|
"publishConfig": {
|
|
79
79
|
"access": "public"
|
|
80
80
|
},
|
|
81
|
-
"gitHead": "
|
|
81
|
+
"gitHead": "4b14d3a5950b71bce2f2284a8d5450da69bceea6"
|
|
82
82
|
}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2026 EclipseSource and others.
|
|
3
|
-
*
|
|
4
|
-
* This program and the accompanying materials are made available under the
|
|
5
|
-
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
-
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
-
*
|
|
8
|
-
* This Source Code may also be made available under the following Secondary
|
|
9
|
-
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
-
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
-
* with the GNU Classpath Exception which is available at
|
|
12
|
-
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
-
*
|
|
14
|
-
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
-
********************************************************************************/
|
|
16
|
-
import { Action } from '@eclipse-glsp/protocol';
|
|
17
|
-
import { ActionDispatchContext } from '../../common/actions/action-dispatcher';
|
|
18
|
-
/**
|
|
19
|
-
* Browser-compatible {@link ActionDispatchContext} that uses a simple flag instead of
|
|
20
|
-
* `AsyncLocalStorage`. V8's `await` uses the spec's `PerformPromiseThen` which bypasses
|
|
21
|
-
* patched `Promise.prototype.then`, breaking polyfill-based `AsyncLocalStorage` context
|
|
22
|
-
* propagation across `await` boundaries. This causes deadlocks in the action dispatcher's
|
|
23
|
-
* consumer loop.
|
|
24
|
-
*
|
|
25
|
-
* Since web workers are single-threaded with a single consumer loop, a flag-based approach
|
|
26
|
-
* is sufficient. The flag is set before processing and cleared via `promise.finally()` so
|
|
27
|
-
* it persists across the entire async chain.
|
|
28
|
-
*
|
|
29
|
-
* Unlike native `AsyncLocalStorage`, the flag cannot distinguish "within the handler's async
|
|
30
|
-
* continuation" from "new event that arrived during an await gap." To preserve sequential
|
|
31
|
-
* processing guarantees, {@link isInContext} always returns `false` for client-originated
|
|
32
|
-
* actions, ensuring they are queued rather than dispatched inline.
|
|
33
|
-
*/
|
|
34
|
-
export declare class BrowserDispatchContext implements ActionDispatchContext {
|
|
35
|
-
protected active: boolean;
|
|
36
|
-
run<R>(callback: () => R): R;
|
|
37
|
-
isInContext(action: Action): boolean;
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=browser-dispatch-context.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"browser-dispatch-context.d.ts","sourceRoot":"","sources":["../../../src/browser/di/browser-dispatch-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAG/E;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,sBAAuB,YAAW,qBAAqB;IAChE,SAAS,CAAC,MAAM,UAAS;IAEzB,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC;IAa5B,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;CAGvC"}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/********************************************************************************
|
|
3
|
-
* Copyright (c) 2026 EclipseSource and others.
|
|
4
|
-
*
|
|
5
|
-
* This program and the accompanying materials are made available under the
|
|
6
|
-
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
-
* http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
-
*
|
|
9
|
-
* This Source Code may also be made available under the following Secondary
|
|
10
|
-
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
-
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
-
* with the GNU Classpath Exception which is available at
|
|
13
|
-
* https://www.gnu.org/software/classpath/license.html.
|
|
14
|
-
*
|
|
15
|
-
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
16
|
-
********************************************************************************/
|
|
17
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.BrowserDispatchContext = void 0;
|
|
19
|
-
const client_action_1 = require("../../common/protocol/client-action");
|
|
20
|
-
/**
|
|
21
|
-
* Browser-compatible {@link ActionDispatchContext} that uses a simple flag instead of
|
|
22
|
-
* `AsyncLocalStorage`. V8's `await` uses the spec's `PerformPromiseThen` which bypasses
|
|
23
|
-
* patched `Promise.prototype.then`, breaking polyfill-based `AsyncLocalStorage` context
|
|
24
|
-
* propagation across `await` boundaries. This causes deadlocks in the action dispatcher's
|
|
25
|
-
* consumer loop.
|
|
26
|
-
*
|
|
27
|
-
* Since web workers are single-threaded with a single consumer loop, a flag-based approach
|
|
28
|
-
* is sufficient. The flag is set before processing and cleared via `promise.finally()` so
|
|
29
|
-
* it persists across the entire async chain.
|
|
30
|
-
*
|
|
31
|
-
* Unlike native `AsyncLocalStorage`, the flag cannot distinguish "within the handler's async
|
|
32
|
-
* continuation" from "new event that arrived during an await gap." To preserve sequential
|
|
33
|
-
* processing guarantees, {@link isInContext} always returns `false` for client-originated
|
|
34
|
-
* actions, ensuring they are queued rather than dispatched inline.
|
|
35
|
-
*/
|
|
36
|
-
class BrowserDispatchContext {
|
|
37
|
-
constructor() {
|
|
38
|
-
this.active = false;
|
|
39
|
-
}
|
|
40
|
-
run(callback) {
|
|
41
|
-
const prior = this.active;
|
|
42
|
-
this.active = true;
|
|
43
|
-
const result = callback();
|
|
44
|
-
if (result instanceof Promise) {
|
|
45
|
-
return result.finally(() => {
|
|
46
|
-
this.active = prior;
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
this.active = prior;
|
|
50
|
-
return result;
|
|
51
|
-
}
|
|
52
|
-
isInContext(action) {
|
|
53
|
-
return this.active && !client_action_1.ClientAction.is(action);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
exports.BrowserDispatchContext = BrowserDispatchContext;
|
|
57
|
-
//# sourceMappingURL=browser-dispatch-context.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"browser-dispatch-context.js","sourceRoot":"","sources":["../../../src/browser/di/browser-dispatch-context.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;AAIlF,uEAAmE;AAEnE;;;;;;;;;;;;;;;GAeG;AACH,MAAa,sBAAsB;IAAnC;QACc,WAAM,GAAG,KAAK,CAAC;IAkB7B,CAAC;IAhBG,GAAG,CAAI,QAAiB;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,MAAM,MAAM,GAAG,QAAQ,EAAE,CAAC;QAC1B,IAAI,MAAM,YAAY,OAAO,EAAE,CAAC;YAC5B,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;gBACvB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACxB,CAAC,CAAiB,CAAC;QACvB,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,WAAW,CAAC,MAAc;QACtB,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,4BAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;CACJ;AAnBD,wDAmBC"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2026 EclipseSource and others.
|
|
3
|
-
*
|
|
4
|
-
* This program and the accompanying materials are made available under the
|
|
5
|
-
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
-
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
-
*
|
|
8
|
-
* This Source Code may also be made available under the following Secondary
|
|
9
|
-
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
-
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
-
* with the GNU Classpath Exception which is available at
|
|
12
|
-
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
-
*
|
|
14
|
-
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
-
********************************************************************************/
|
|
16
|
-
import { Action } from '@eclipse-glsp/protocol';
|
|
17
|
-
import { ActionDispatchContext } from '../../common/actions/action-dispatcher';
|
|
18
|
-
/**
|
|
19
|
-
* Browser-compatible {@link ActionDispatchContext} that uses a simple flag instead of
|
|
20
|
-
* `AsyncLocalStorage`. V8's `await` uses the spec's `PerformPromiseThen` which bypasses
|
|
21
|
-
* patched `Promise.prototype.then`, breaking polyfill-based `AsyncLocalStorage` context
|
|
22
|
-
* propagation across `await` boundaries. This causes deadlocks in the action dispatcher's
|
|
23
|
-
* consumer loop.
|
|
24
|
-
*
|
|
25
|
-
* Since web workers are single-threaded with a single consumer loop, a flag-based approach
|
|
26
|
-
* is sufficient. The flag is set before processing and cleared via `promise.finally()` so
|
|
27
|
-
* it persists across the entire async chain.
|
|
28
|
-
*
|
|
29
|
-
* Unlike native `AsyncLocalStorage`, the flag cannot distinguish "within the handler's async
|
|
30
|
-
* continuation" from "new event that arrived during an await gap." To preserve sequential
|
|
31
|
-
* processing guarantees, {@link isInContext} always returns `false` for client-originated
|
|
32
|
-
* actions, ensuring they are queued rather than dispatched inline.
|
|
33
|
-
*/
|
|
34
|
-
export declare class SyncDispatchContext implements ActionDispatchContext {
|
|
35
|
-
protected active: boolean;
|
|
36
|
-
run<R>(callback: () => R): R;
|
|
37
|
-
isInContext(action: Action): boolean;
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=sync-dispatch-context.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sync-dispatch-context.d.ts","sourceRoot":"","sources":["../../../src/browser/di/sync-dispatch-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAG/E;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,mBAAoB,YAAW,qBAAqB;IAC7D,SAAS,CAAC,MAAM,UAAS;IAEzB,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC;IAa5B,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;CAGvC"}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/********************************************************************************
|
|
3
|
-
* Copyright (c) 2026 EclipseSource and others.
|
|
4
|
-
*
|
|
5
|
-
* This program and the accompanying materials are made available under the
|
|
6
|
-
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
-
* http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
-
*
|
|
9
|
-
* This Source Code may also be made available under the following Secondary
|
|
10
|
-
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
-
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
-
* with the GNU Classpath Exception which is available at
|
|
13
|
-
* https://www.gnu.org/software/classpath/license.html.
|
|
14
|
-
*
|
|
15
|
-
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
16
|
-
********************************************************************************/
|
|
17
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.SyncDispatchContext = void 0;
|
|
19
|
-
const client_action_1 = require("../../common/protocol/client-action");
|
|
20
|
-
/**
|
|
21
|
-
* Browser-compatible {@link ActionDispatchContext} that uses a simple flag instead of
|
|
22
|
-
* `AsyncLocalStorage`. V8's `await` uses the spec's `PerformPromiseThen` which bypasses
|
|
23
|
-
* patched `Promise.prototype.then`, breaking polyfill-based `AsyncLocalStorage` context
|
|
24
|
-
* propagation across `await` boundaries. This causes deadlocks in the action dispatcher's
|
|
25
|
-
* consumer loop.
|
|
26
|
-
*
|
|
27
|
-
* Since web workers are single-threaded with a single consumer loop, a flag-based approach
|
|
28
|
-
* is sufficient. The flag is set before processing and cleared via `promise.finally()` so
|
|
29
|
-
* it persists across the entire async chain.
|
|
30
|
-
*
|
|
31
|
-
* Unlike native `AsyncLocalStorage`, the flag cannot distinguish "within the handler's async
|
|
32
|
-
* continuation" from "new event that arrived during an await gap." To preserve sequential
|
|
33
|
-
* processing guarantees, {@link isInContext} always returns `false` for client-originated
|
|
34
|
-
* actions, ensuring they are queued rather than dispatched inline.
|
|
35
|
-
*/
|
|
36
|
-
class SyncDispatchContext {
|
|
37
|
-
constructor() {
|
|
38
|
-
this.active = false;
|
|
39
|
-
}
|
|
40
|
-
run(callback) {
|
|
41
|
-
const prior = this.active;
|
|
42
|
-
this.active = true;
|
|
43
|
-
const result = callback();
|
|
44
|
-
if (result instanceof Promise) {
|
|
45
|
-
return result.finally(() => {
|
|
46
|
-
this.active = prior;
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
this.active = prior;
|
|
50
|
-
return result;
|
|
51
|
-
}
|
|
52
|
-
isInContext(action) {
|
|
53
|
-
return this.active && !client_action_1.ClientAction.is(action);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
exports.SyncDispatchContext = SyncDispatchContext;
|
|
57
|
-
//# sourceMappingURL=sync-dispatch-context.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sync-dispatch-context.js","sourceRoot":"","sources":["../../../src/browser/di/sync-dispatch-context.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;AAIlF,uEAAmE;AAEnE;;;;;;;;;;;;;;;GAeG;AACH,MAAa,mBAAmB;IAAhC;QACc,WAAM,GAAG,KAAK,CAAC;IAkB7B,CAAC;IAhBG,GAAG,CAAI,QAAiB;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,MAAM,MAAM,GAAG,QAAQ,EAAE,CAAC;QAC1B,IAAI,MAAM,YAAY,OAAO,EAAE,CAAC;YAC5B,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;gBACvB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACxB,CAAC,CAAiB,CAAC;QACvB,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,WAAW,CAAC,MAAc;QACtB,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,4BAAY,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;CACJ;AAnBD,kDAmBC"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2026 EclipseSource and others.
|
|
3
|
-
*
|
|
4
|
-
* This program and the accompanying materials are made available under the
|
|
5
|
-
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
-
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
-
*
|
|
8
|
-
* This Source Code may also be made available under the following Secondary
|
|
9
|
-
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
-
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
-
* with the GNU Classpath Exception which is available at
|
|
12
|
-
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
-
*
|
|
14
|
-
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
-
********************************************************************************/
|
|
16
|
-
/**
|
|
17
|
-
* An entry yielded by {@link ActionChannel.consume}. The consumer must call either
|
|
18
|
-
* `resolve()` or `reject(error)` exactly once after processing `item`.
|
|
19
|
-
*/
|
|
20
|
-
export interface ActionChannelEntry<T> {
|
|
21
|
-
item: T;
|
|
22
|
-
resolve: () => void;
|
|
23
|
-
reject: (error: unknown) => void;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Producer/consumer channel with a single async consumer loop. Items are processed in FIFO order.
|
|
27
|
-
*/
|
|
28
|
-
export declare class ActionChannel<T> {
|
|
29
|
-
protected queue: ActionChannelEntry<T>[];
|
|
30
|
-
protected notify: (() => void) | undefined;
|
|
31
|
-
protected stopped: boolean;
|
|
32
|
-
protected consuming: boolean;
|
|
33
|
-
/**
|
|
34
|
-
* Enqueues an item. The returned promise settles when the consumer finishes processing it,
|
|
35
|
-
* propagating results back to the producer. Rejects immediately if the channel has been stopped.
|
|
36
|
-
*/
|
|
37
|
-
push(item: T): Promise<void>;
|
|
38
|
-
/**
|
|
39
|
-
* Yields pending entries, suspending until the next {@link push} when the queue is empty. Exits
|
|
40
|
-
* once the channel is stopped and the queue has been drained.
|
|
41
|
-
*
|
|
42
|
-
* Single-consumer: calling `consume()` a second time throws an error.
|
|
43
|
-
*/
|
|
44
|
-
consume(): AsyncGenerator<ActionChannelEntry<T>>;
|
|
45
|
-
/**
|
|
46
|
-
* Stops the channel. Further {@link push} calls reject. The consumer loop exits after
|
|
47
|
-
* the remaining queued entries have been yielded (or immediately if the queue is empty).
|
|
48
|
-
*/
|
|
49
|
-
stop(): void;
|
|
50
|
-
/**
|
|
51
|
-
* Rejects all queued entries with the given reason so producers awaiting their
|
|
52
|
-
* `push()` promises do not hang. Does not stop the channel.
|
|
53
|
-
*/
|
|
54
|
-
rejectPending(reason?: Error): void;
|
|
55
|
-
get size(): number;
|
|
56
|
-
get isStopped(): boolean;
|
|
57
|
-
}
|
|
58
|
-
//# sourceMappingURL=action-channel.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"action-channel.d.ts","sourceRoot":"","sources":["../../../src/common/utils/action-channel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF;;;GAGG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACjC,IAAI,EAAE,CAAC,CAAC;IACR,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC;AAED;;GAEG;AACH,qBAAa,aAAa,CAAC,CAAC;IACxB,SAAS,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAM;IAC9C,SAAS,CAAC,MAAM,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAC3C,SAAS,CAAC,OAAO,UAAS;IAC1B,SAAS,CAAC,SAAS,UAAS;IAE5B;;;OAGG;IACH,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAU5B;;;;;OAKG;IACI,OAAO,IAAI,cAAc,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAuBvD;;;OAGG;IACH,IAAI,IAAI,IAAI;IAKZ;;;OAGG;IACH,aAAa,CAAC,MAAM,GAAE,KAA0C,GAAG,IAAI;IAQvE,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,SAAS,IAAI,OAAO,CAEvB;CACJ"}
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/********************************************************************************
|
|
3
|
-
* Copyright (c) 2026 EclipseSource and others.
|
|
4
|
-
*
|
|
5
|
-
* This program and the accompanying materials are made available under the
|
|
6
|
-
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
-
* http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
-
*
|
|
9
|
-
* This Source Code may also be made available under the following Secondary
|
|
10
|
-
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
-
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
-
* with the GNU Classpath Exception which is available at
|
|
13
|
-
* https://www.gnu.org/software/classpath/license.html.
|
|
14
|
-
*
|
|
15
|
-
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
16
|
-
********************************************************************************/
|
|
17
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.ActionChannel = void 0;
|
|
19
|
-
/**
|
|
20
|
-
* Producer/consumer channel with a single async consumer loop. Items are processed in FIFO order.
|
|
21
|
-
*/
|
|
22
|
-
class ActionChannel {
|
|
23
|
-
constructor() {
|
|
24
|
-
this.queue = [];
|
|
25
|
-
this.stopped = false;
|
|
26
|
-
this.consuming = false;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Enqueues an item. The returned promise settles when the consumer finishes processing it,
|
|
30
|
-
* propagating results back to the producer. Rejects immediately if the channel has been stopped.
|
|
31
|
-
*/
|
|
32
|
-
push(item) {
|
|
33
|
-
if (this.stopped) {
|
|
34
|
-
return Promise.reject(new Error('ActionChannel is stopped'));
|
|
35
|
-
}
|
|
36
|
-
return new Promise((resolve, reject) => {
|
|
37
|
-
var _a;
|
|
38
|
-
this.queue.push({ item, resolve, reject });
|
|
39
|
-
(_a = this.notify) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Yields pending entries, suspending until the next {@link push} when the queue is empty. Exits
|
|
44
|
-
* once the channel is stopped and the queue has been drained.
|
|
45
|
-
*
|
|
46
|
-
* Single-consumer: calling `consume()` a second time throws an error.
|
|
47
|
-
*/
|
|
48
|
-
async *consume() {
|
|
49
|
-
if (this.consuming) {
|
|
50
|
-
throw new Error('ActionChannel supports only a single consumer');
|
|
51
|
-
}
|
|
52
|
-
this.consuming = true;
|
|
53
|
-
try {
|
|
54
|
-
while (!this.stopped || this.queue.length > 0) {
|
|
55
|
-
while (this.queue.length > 0) {
|
|
56
|
-
yield this.queue.shift();
|
|
57
|
-
}
|
|
58
|
-
if (this.stopped) {
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
await new Promise(resolve => {
|
|
62
|
-
this.notify = resolve;
|
|
63
|
-
});
|
|
64
|
-
this.notify = undefined;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
finally {
|
|
68
|
-
this.consuming = false;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Stops the channel. Further {@link push} calls reject. The consumer loop exits after
|
|
73
|
-
* the remaining queued entries have been yielded (or immediately if the queue is empty).
|
|
74
|
-
*/
|
|
75
|
-
stop() {
|
|
76
|
-
var _a;
|
|
77
|
-
this.stopped = true;
|
|
78
|
-
(_a = this.notify) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Rejects all queued entries with the given reason so producers awaiting their
|
|
82
|
-
* `push()` promises do not hang. Does not stop the channel.
|
|
83
|
-
*/
|
|
84
|
-
rejectPending(reason = new Error('ActionChannel cleared')) {
|
|
85
|
-
const pending = this.queue;
|
|
86
|
-
this.queue = [];
|
|
87
|
-
for (const entry of pending) {
|
|
88
|
-
entry.reject(reason);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
get size() {
|
|
92
|
-
return this.queue.length;
|
|
93
|
-
}
|
|
94
|
-
get isStopped() {
|
|
95
|
-
return this.stopped;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
exports.ActionChannel = ActionChannel;
|
|
99
|
-
//# sourceMappingURL=action-channel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"action-channel.js","sourceRoot":"","sources":["../../../src/common/utils/action-channel.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;AAYlF;;GAEG;AACH,MAAa,aAAa;IAA1B;QACc,UAAK,GAA4B,EAAE,CAAC;QAEpC,YAAO,GAAG,KAAK,CAAC;QAChB,cAAS,GAAG,KAAK,CAAC;IAyEhC,CAAC;IAvEG;;;OAGG;IACH,IAAI,CAAC,IAAO;QACR,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;;YACnC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAC3C,MAAA,IAAI,CAAC,MAAM,oDAAI,CAAC;QACpB,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,CAAC,OAAO;QACV,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3B,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAG,CAAC;gBAC9B,CAAC;gBACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACf,OAAO;gBACX,CAAC;gBACD,MAAM,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;oBAC9B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;gBAC1B,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YAC5B,CAAC;QACL,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAC3B,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,IAAI;;QACA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,MAAA,IAAI,CAAC,MAAM,oDAAI,CAAC;IACpB,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,SAAgB,IAAI,KAAK,CAAC,uBAAuB,CAAC;QAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC1B,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC;IACL,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;CACJ;AA7ED,sCA6EC"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2026 EclipseSource and others.
|
|
3
|
-
*
|
|
4
|
-
* This program and the accompanying materials are made available under the
|
|
5
|
-
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
-
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
-
*
|
|
8
|
-
* This Source Code may also be made available under the following Secondary
|
|
9
|
-
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
-
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
-
* with the GNU Classpath Exception which is available at
|
|
12
|
-
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
-
*
|
|
14
|
-
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
-
********************************************************************************/
|
|
16
|
-
import { AsyncLocalStorage } from 'async_hooks';
|
|
17
|
-
import { ActionDispatchContext } from '../../common/actions/action-dispatcher';
|
|
18
|
-
/**
|
|
19
|
-
* Node.js {@link ActionDispatchContext} backed by native `AsyncLocalStorage`.
|
|
20
|
-
*/
|
|
21
|
-
export declare class AsyncDispatchContext implements ActionDispatchContext {
|
|
22
|
-
protected storage: AsyncLocalStorage<boolean>;
|
|
23
|
-
run<R>(callback: () => R): R;
|
|
24
|
-
isInContext(): boolean;
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=async-dispatch-context.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"async-dispatch-context.d.ts","sourceRoot":"","sources":["../../../src/node/di/async-dispatch-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAE/E;;GAEG;AACH,qBAAa,oBAAqB,YAAW,qBAAqB;IAC9D,SAAS,CAAC,OAAO,6BAAoC;IAErD,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC;IAI5B,WAAW,IAAI,OAAO;CAGzB"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/********************************************************************************
|
|
3
|
-
* Copyright (c) 2026 EclipseSource and others.
|
|
4
|
-
*
|
|
5
|
-
* This program and the accompanying materials are made available under the
|
|
6
|
-
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
-
* http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
-
*
|
|
9
|
-
* This Source Code may also be made available under the following Secondary
|
|
10
|
-
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
-
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
-
* with the GNU Classpath Exception which is available at
|
|
13
|
-
* https://www.gnu.org/software/classpath/license.html.
|
|
14
|
-
*
|
|
15
|
-
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
16
|
-
********************************************************************************/
|
|
17
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.AsyncDispatchContext = void 0;
|
|
19
|
-
const async_hooks_1 = require("async_hooks");
|
|
20
|
-
/**
|
|
21
|
-
* Node.js {@link ActionDispatchContext} backed by native `AsyncLocalStorage`.
|
|
22
|
-
*/
|
|
23
|
-
class AsyncDispatchContext {
|
|
24
|
-
constructor() {
|
|
25
|
-
this.storage = new async_hooks_1.AsyncLocalStorage();
|
|
26
|
-
}
|
|
27
|
-
run(callback) {
|
|
28
|
-
return this.storage.run(true, callback);
|
|
29
|
-
}
|
|
30
|
-
isInContext() {
|
|
31
|
-
return this.storage.getStore() === true;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
exports.AsyncDispatchContext = AsyncDispatchContext;
|
|
35
|
-
//# sourceMappingURL=async-dispatch-context.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"async-dispatch-context.js","sourceRoot":"","sources":["../../../src/node/di/async-dispatch-context.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;AAElF,6CAAgD;AAGhD;;GAEG;AACH,MAAa,oBAAoB;IAAjC;QACc,YAAO,GAAG,IAAI,+BAAiB,EAAW,CAAC;IASzD,CAAC;IAPG,GAAG,CAAI,QAAiB;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED,WAAW;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC;IAC5C,CAAC;CACJ;AAVD,oDAUC"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/********************************************************************************
|
|
2
|
-
* Copyright (c) 2026 EclipseSource and others.
|
|
3
|
-
*
|
|
4
|
-
* This program and the accompanying materials are made available under the
|
|
5
|
-
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
-
* http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
-
*
|
|
8
|
-
* This Source Code may also be made available under the following Secondary
|
|
9
|
-
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
-
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
-
* with the GNU Classpath Exception which is available at
|
|
12
|
-
* https://www.gnu.org/software/classpath/license.html.
|
|
13
|
-
*
|
|
14
|
-
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
15
|
-
********************************************************************************/
|
|
16
|
-
import { AsyncLocalStorage } from 'async_hooks';
|
|
17
|
-
import { ActionDispatchContext } from '../../common/actions/action-dispatcher';
|
|
18
|
-
/**
|
|
19
|
-
* Node.js {@link ActionDispatchContext} backed by native `AsyncLocalStorage`.
|
|
20
|
-
*/
|
|
21
|
-
export declare class NodeDispatchContext implements ActionDispatchContext {
|
|
22
|
-
protected storage: AsyncLocalStorage<boolean>;
|
|
23
|
-
run<R>(callback: () => R): R;
|
|
24
|
-
isInContext(): boolean;
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=node-dispatch-context.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"node-dispatch-context.d.ts","sourceRoot":"","sources":["../../../src/node/di/node-dispatch-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAElF,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAE/E;;GAEG;AACH,qBAAa,mBAAoB,YAAW,qBAAqB;IAC7D,SAAS,CAAC,OAAO,6BAAoC;IAErD,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC;IAI5B,WAAW,IAAI,OAAO;CAGzB"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/********************************************************************************
|
|
3
|
-
* Copyright (c) 2026 EclipseSource and others.
|
|
4
|
-
*
|
|
5
|
-
* This program and the accompanying materials are made available under the
|
|
6
|
-
* terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
-
* http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
-
*
|
|
9
|
-
* This Source Code may also be made available under the following Secondary
|
|
10
|
-
* Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
-
* Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
-
* with the GNU Classpath Exception which is available at
|
|
13
|
-
* https://www.gnu.org/software/classpath/license.html.
|
|
14
|
-
*
|
|
15
|
-
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
|
|
16
|
-
********************************************************************************/
|
|
17
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.NodeDispatchContext = void 0;
|
|
19
|
-
const async_hooks_1 = require("async_hooks");
|
|
20
|
-
/**
|
|
21
|
-
* Node.js {@link ActionDispatchContext} backed by native `AsyncLocalStorage`.
|
|
22
|
-
*/
|
|
23
|
-
class NodeDispatchContext {
|
|
24
|
-
constructor() {
|
|
25
|
-
this.storage = new async_hooks_1.AsyncLocalStorage();
|
|
26
|
-
}
|
|
27
|
-
run(callback) {
|
|
28
|
-
return this.storage.run(true, callback);
|
|
29
|
-
}
|
|
30
|
-
isInContext() {
|
|
31
|
-
return this.storage.getStore() === true;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
exports.NodeDispatchContext = NodeDispatchContext;
|
|
35
|
-
//# sourceMappingURL=node-dispatch-context.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"node-dispatch-context.js","sourceRoot":"","sources":["../../../src/node/di/node-dispatch-context.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;kFAckF;;;AAElF,6CAAgD;AAGhD;;GAEG;AACH,MAAa,mBAAmB;IAAhC;QACc,YAAO,GAAG,IAAI,+BAAiB,EAAW,CAAC;IASzD,CAAC;IAPG,GAAG,CAAI,QAAiB;QACpB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED,WAAW;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC;IAC5C,CAAC;CACJ;AAVD,kDAUC"}
|