@typescript/native-preview 7.0.0-dev.20260421.2 → 7.0.0-dev.20260423.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.
- package/dist/api/async/api.d.ts +241 -0
- package/dist/api/async/api.d.ts.map +1 -0
- package/dist/api/async/api.js +810 -0
- package/dist/api/async/api.js.map +1 -0
- package/dist/api/async/client.d.ts +22 -0
- package/dist/api/async/client.d.ts.map +1 -0
- package/dist/api/async/client.js +140 -0
- package/dist/api/async/client.js.map +1 -0
- package/dist/api/async/types.d.ts +179 -0
- package/dist/api/async/types.d.ts.map +1 -0
- package/dist/api/async/types.js +2 -0
- package/dist/api/async/types.js.map +1 -0
- package/dist/api/fs.d.ts +23 -0
- package/dist/api/fs.d.ts.map +1 -0
- package/dist/api/fs.js +109 -0
- package/dist/api/fs.js.map +1 -0
- package/dist/api/node/encoder.d.ts +15 -0
- package/dist/api/node/encoder.d.ts.map +1 -0
- package/dist/api/node/encoder.generated.d.ts +5 -0
- package/dist/api/node/encoder.generated.d.ts.map +1 -0
- package/dist/api/node/encoder.generated.js +74 -0
- package/dist/api/node/encoder.generated.js.map +1 -0
- package/dist/api/node/encoder.js +304 -0
- package/dist/api/node/encoder.js.map +1 -0
- package/dist/api/node/msgpack.d.ts +32 -0
- package/dist/api/node/msgpack.d.ts.map +1 -0
- package/dist/api/node/msgpack.js +212 -0
- package/dist/api/node/msgpack.js.map +1 -0
- package/dist/api/node/node.d.ts +63 -0
- package/dist/api/node/node.d.ts.map +1 -0
- package/dist/api/node/node.generated.d.ts +172 -0
- package/dist/api/node/node.generated.d.ts.map +1 -0
- package/dist/api/node/node.generated.js +817 -0
- package/dist/api/node/node.generated.js.map +1 -0
- package/dist/api/node/node.infrastructure.d.ts +51 -0
- package/dist/api/node/node.infrastructure.d.ts.map +1 -0
- package/dist/api/node/node.infrastructure.js +122 -0
- package/dist/api/node/node.infrastructure.js.map +1 -0
- package/dist/api/node/node.js +201 -0
- package/dist/api/node/node.js.map +1 -0
- package/dist/api/node/protocol.d.ts +29 -0
- package/dist/api/node/protocol.d.ts.map +1 -0
- package/dist/api/node/protocol.generated.d.ts +4 -0
- package/dist/api/node/protocol.generated.d.ts.map +1 -0
- package/dist/api/node/protocol.generated.js +241 -0
- package/dist/api/node/protocol.generated.js.map +1 -0
- package/dist/api/node/protocol.js +30 -0
- package/dist/api/node/protocol.js.map +1 -0
- package/dist/api/objectRegistry.d.ts +38 -0
- package/dist/api/objectRegistry.d.ts.map +1 -0
- package/dist/api/objectRegistry.js +55 -0
- package/dist/api/objectRegistry.js.map +1 -0
- package/dist/api/options.d.ts +24 -0
- package/dist/api/options.d.ts.map +1 -0
- package/dist/api/options.js +11 -0
- package/dist/api/options.js.map +1 -0
- package/dist/api/path.d.ts +110 -0
- package/dist/api/path.d.ts.map +1 -0
- package/dist/api/path.js +508 -0
- package/dist/api/path.js.map +1 -0
- package/dist/api/proto.d.ts +152 -0
- package/dist/api/proto.d.ts.map +1 -0
- package/dist/api/proto.js +22 -0
- package/dist/api/proto.js.map +1 -0
- package/dist/api/sourceFileCache.d.ts +79 -0
- package/dist/api/sourceFileCache.d.ts.map +1 -0
- package/dist/api/sourceFileCache.js +169 -0
- package/dist/api/sourceFileCache.js.map +1 -0
- package/dist/api/sync/api.d.ts +241 -0
- package/dist/api/sync/api.d.ts.map +1 -0
- package/dist/api/sync/api.js +818 -0
- package/dist/api/sync/api.js.map +1 -0
- package/dist/api/sync/client.d.ts +13 -0
- package/dist/api/sync/client.d.ts.map +1 -0
- package/dist/api/sync/client.js +72 -0
- package/dist/api/sync/client.js.map +1 -0
- package/dist/api/sync/types.d.ts +179 -0
- package/dist/api/sync/types.d.ts.map +1 -0
- package/dist/api/sync/types.js +2 -0
- package/dist/api/sync/types.js.map +1 -0
- package/dist/api/syncChannel.d.ts +111 -0
- package/dist/api/syncChannel.d.ts.map +1 -0
- package/dist/api/syncChannel.js +488 -0
- package/dist/api/syncChannel.js.map +1 -0
- package/dist/ast/ast.d.ts +66 -0
- package/dist/ast/ast.d.ts.map +1 -0
- package/dist/ast/ast.generated.d.ts +1160 -0
- package/dist/ast/ast.generated.d.ts.map +1 -0
- package/dist/ast/ast.generated.js +4 -0
- package/dist/ast/ast.generated.js.map +1 -0
- package/dist/ast/ast.js +7 -0
- package/dist/ast/ast.js.map +1 -0
- package/dist/ast/astnav.d.ts +19 -0
- package/dist/ast/astnav.d.ts.map +1 -0
- package/dist/ast/astnav.js +596 -0
- package/dist/ast/astnav.js.map +1 -0
- package/dist/ast/clone.d.ts +16 -0
- package/dist/ast/clone.d.ts.map +1 -0
- package/dist/ast/clone.js +104 -0
- package/dist/ast/clone.js.map +1 -0
- package/dist/ast/factory.generated.d.ts +513 -0
- package/dist/ast/factory.generated.d.ts.map +1 -0
- package/dist/ast/factory.generated.js +3026 -0
- package/dist/ast/factory.generated.js.map +1 -0
- package/dist/ast/index.d.ts +18 -0
- package/dist/ast/index.d.ts.map +1 -0
- package/dist/ast/index.js +18 -0
- package/dist/ast/index.js.map +1 -0
- package/dist/ast/is.d.ts +34 -0
- package/dist/ast/is.d.ts.map +1 -0
- package/dist/ast/is.generated.d.ts +328 -0
- package/dist/ast/is.generated.d.ts.map +1 -0
- package/dist/ast/is.generated.js +1101 -0
- package/dist/ast/is.generated.js.map +1 -0
- package/dist/ast/is.js +226 -0
- package/dist/ast/is.js.map +1 -0
- package/dist/ast/scanner.d.ts +97 -0
- package/dist/ast/scanner.d.ts.map +1 -0
- package/dist/ast/scanner.js +2230 -0
- package/dist/ast/scanner.js.map +1 -0
- package/dist/ast/utils.d.ts +5 -0
- package/dist/ast/utils.d.ts.map +1 -0
- package/dist/ast/utils.js +27 -0
- package/dist/ast/utils.js.map +1 -0
- package/dist/ast/visitor.d.ts +14 -0
- package/dist/ast/visitor.d.ts.map +1 -0
- package/dist/ast/visitor.generated.d.ts +50 -0
- package/dist/ast/visitor.generated.d.ts.map +1 -0
- package/dist/ast/visitor.generated.js +978 -0
- package/dist/ast/visitor.generated.js.map +1 -0
- package/dist/ast/visitor.js +47 -0
- package/dist/ast/visitor.js.map +1 -0
- package/dist/enums/characterCodes.d.ts +2 -0
- package/dist/enums/characterCodes.d.ts.map +1 -0
- package/dist/enums/characterCodes.enum.d.ts +129 -0
- package/dist/enums/characterCodes.enum.d.ts.map +1 -0
- package/dist/enums/characterCodes.enum.js +132 -0
- package/dist/enums/characterCodes.enum.js.map +1 -0
- package/dist/enums/characterCodes.js +130 -0
- package/dist/enums/characterCodes.js.map +1 -0
- package/dist/enums/commentDirectiveType.d.ts +2 -0
- package/dist/enums/commentDirectiveType.d.ts.map +1 -0
- package/dist/enums/commentDirectiveType.enum.d.ts +5 -0
- package/dist/enums/commentDirectiveType.enum.d.ts.map +1 -0
- package/dist/enums/commentDirectiveType.enum.js +6 -0
- package/dist/enums/commentDirectiveType.enum.js.map +1 -0
- package/dist/enums/commentDirectiveType.js +6 -0
- package/dist/enums/commentDirectiveType.js.map +1 -0
- package/dist/enums/diagnosticCategory.d.ts +2 -0
- package/dist/enums/diagnosticCategory.d.ts.map +1 -0
- package/dist/enums/diagnosticCategory.enum.d.ts +7 -0
- package/dist/enums/diagnosticCategory.enum.d.ts.map +1 -0
- package/dist/enums/diagnosticCategory.enum.js +9 -0
- package/dist/enums/diagnosticCategory.enum.js.map +1 -0
- package/dist/enums/diagnosticCategory.js +9 -0
- package/dist/enums/diagnosticCategory.js.map +1 -0
- package/dist/enums/elementFlags.d.ts +2 -0
- package/dist/enums/elementFlags.d.ts.map +1 -0
- package/dist/enums/elementFlags.enum.d.ts +12 -0
- package/dist/enums/elementFlags.enum.d.ts.map +1 -0
- package/dist/enums/elementFlags.enum.js +14 -0
- package/dist/enums/elementFlags.enum.js.map +1 -0
- package/dist/enums/elementFlags.js +14 -0
- package/dist/enums/elementFlags.js.map +1 -0
- package/dist/enums/languageVariant.d.ts +2 -0
- package/dist/enums/languageVariant.d.ts.map +1 -0
- package/dist/enums/languageVariant.enum.d.ts +5 -0
- package/dist/enums/languageVariant.enum.d.ts.map +1 -0
- package/dist/enums/languageVariant.enum.js +6 -0
- package/dist/enums/languageVariant.enum.js.map +1 -0
- package/dist/enums/languageVariant.js +6 -0
- package/dist/enums/languageVariant.js.map +1 -0
- package/dist/enums/modifierFlags.d.ts +2 -0
- package/dist/enums/modifierFlags.d.ts.map +1 -0
- package/dist/enums/modifierFlags.enum.d.ts +42 -0
- package/dist/enums/modifierFlags.enum.d.ts.map +1 -0
- package/dist/enums/modifierFlags.enum.js +44 -0
- package/dist/enums/modifierFlags.enum.js.map +1 -0
- package/dist/enums/modifierFlags.js +44 -0
- package/dist/enums/modifierFlags.js.map +1 -0
- package/dist/enums/nodeFlags.d.ts +2 -0
- package/dist/enums/nodeFlags.d.ts.map +1 -0
- package/dist/enums/nodeFlags.enum.d.ts +41 -0
- package/dist/enums/nodeFlags.enum.d.ts.map +1 -0
- package/dist/enums/nodeFlags.enum.js +43 -0
- package/dist/enums/nodeFlags.enum.js.map +1 -0
- package/dist/enums/nodeFlags.js +43 -0
- package/dist/enums/nodeFlags.js.map +1 -0
- package/dist/enums/objectFlags.d.ts +2 -0
- package/dist/enums/objectFlags.d.ts.map +1 -0
- package/dist/enums/objectFlags.enum.d.ts +50 -0
- package/dist/enums/objectFlags.enum.d.ts.map +1 -0
- package/dist/enums/objectFlags.enum.js +52 -0
- package/dist/enums/objectFlags.enum.js.map +1 -0
- package/dist/enums/objectFlags.js +52 -0
- package/dist/enums/objectFlags.js.map +1 -0
- package/dist/enums/outerExpressionKinds.d.ts +2 -0
- package/dist/enums/outerExpressionKinds.d.ts.map +1 -0
- package/dist/enums/outerExpressionKinds.enum.d.ts +12 -0
- package/dist/enums/outerExpressionKinds.enum.d.ts.map +1 -0
- package/dist/enums/outerExpressionKinds.enum.js +14 -0
- package/dist/enums/outerExpressionKinds.enum.js.map +1 -0
- package/dist/enums/outerExpressionKinds.js +14 -0
- package/dist/enums/outerExpressionKinds.js.map +1 -0
- package/dist/enums/regularExpressionFlags.d.ts +2 -0
- package/dist/enums/regularExpressionFlags.d.ts.map +1 -0
- package/dist/enums/regularExpressionFlags.enum.d.ts +13 -0
- package/dist/enums/regularExpressionFlags.enum.d.ts.map +1 -0
- package/dist/enums/regularExpressionFlags.enum.js +14 -0
- package/dist/enums/regularExpressionFlags.enum.js.map +1 -0
- package/dist/enums/regularExpressionFlags.js +14 -0
- package/dist/enums/regularExpressionFlags.js.map +1 -0
- package/dist/enums/scriptKind.d.ts +2 -0
- package/dist/enums/scriptKind.d.ts.map +1 -0
- package/dist/enums/scriptKind.enum.d.ts +11 -0
- package/dist/enums/scriptKind.enum.d.ts.map +1 -0
- package/dist/enums/scriptKind.enum.js +12 -0
- package/dist/enums/scriptKind.enum.js.map +1 -0
- package/dist/enums/scriptKind.js +12 -0
- package/dist/enums/scriptKind.js.map +1 -0
- package/dist/enums/scriptTarget.d.ts +2 -0
- package/dist/enums/scriptTarget.d.ts.map +1 -0
- package/dist/enums/scriptTarget.enum.d.ts +17 -0
- package/dist/enums/scriptTarget.enum.d.ts.map +1 -0
- package/dist/enums/scriptTarget.enum.js +18 -0
- package/dist/enums/scriptTarget.enum.js.map +1 -0
- package/dist/enums/scriptTarget.js +18 -0
- package/dist/enums/scriptTarget.js.map +1 -0
- package/dist/enums/signatureFlags.d.ts +2 -0
- package/dist/enums/signatureFlags.d.ts.map +1 -0
- package/dist/enums/signatureFlags.enum.d.ts +15 -0
- package/dist/enums/signatureFlags.enum.d.ts.map +1 -0
- package/dist/enums/signatureFlags.enum.js +17 -0
- package/dist/enums/signatureFlags.enum.js.map +1 -0
- package/dist/enums/signatureFlags.js +17 -0
- package/dist/enums/signatureFlags.js.map +1 -0
- package/dist/enums/signatureKind.d.ts +2 -0
- package/dist/enums/signatureKind.d.ts.map +1 -0
- package/dist/enums/signatureKind.enum.d.ts +5 -0
- package/dist/enums/signatureKind.enum.d.ts.map +1 -0
- package/dist/enums/signatureKind.enum.js +7 -0
- package/dist/enums/signatureKind.enum.js.map +1 -0
- package/dist/enums/signatureKind.js +7 -0
- package/dist/enums/signatureKind.js.map +1 -0
- package/dist/enums/symbolFlags.d.ts +2 -0
- package/dist/enums/symbolFlags.d.ts.map +1 -0
- package/dist/enums/symbolFlags.enum.d.ts +71 -0
- package/dist/enums/symbolFlags.enum.d.ts.map +1 -0
- package/dist/enums/symbolFlags.enum.js +73 -0
- package/dist/enums/symbolFlags.enum.js.map +1 -0
- package/dist/enums/symbolFlags.js +73 -0
- package/dist/enums/symbolFlags.js.map +1 -0
- package/dist/enums/syntaxKind.d.ts +2 -0
- package/dist/enums/syntaxKind.d.ts.map +1 -0
- package/dist/enums/syntaxKind.enum.d.ts +389 -0
- package/dist/enums/syntaxKind.enum.d.ts.map +1 -0
- package/dist/enums/syntaxKind.enum.js +391 -0
- package/dist/enums/syntaxKind.enum.js.map +1 -0
- package/dist/enums/syntaxKind.js +391 -0
- package/dist/enums/syntaxKind.js.map +1 -0
- package/dist/enums/tokenFlags.d.ts +2 -0
- package/dist/enums/tokenFlags.d.ts.map +1 -0
- package/dist/enums/tokenFlags.enum.d.ts +30 -0
- package/dist/enums/tokenFlags.enum.d.ts.map +1 -0
- package/dist/enums/tokenFlags.enum.js +32 -0
- package/dist/enums/tokenFlags.enum.js.map +1 -0
- package/dist/enums/tokenFlags.js +32 -0
- package/dist/enums/tokenFlags.js.map +1 -0
- package/dist/enums/typeFlags.d.ts +2 -0
- package/dist/enums/typeFlags.d.ts.map +1 -0
- package/dist/enums/typeFlags.enum.d.ts +76 -0
- package/dist/enums/typeFlags.enum.d.ts.map +1 -0
- package/dist/enums/typeFlags.enum.js +78 -0
- package/dist/enums/typeFlags.enum.js.map +1 -0
- package/dist/enums/typeFlags.js +78 -0
- package/dist/enums/typeFlags.js.map +1 -0
- package/dist/enums/typePredicateKind.d.ts +2 -0
- package/dist/enums/typePredicateKind.d.ts.map +1 -0
- package/dist/enums/typePredicateKind.enum.d.ts +7 -0
- package/dist/enums/typePredicateKind.enum.d.ts.map +1 -0
- package/dist/enums/typePredicateKind.enum.js +9 -0
- package/dist/enums/typePredicateKind.enum.js.map +1 -0
- package/dist/enums/typePredicateKind.js +9 -0
- package/dist/enums/typePredicateKind.js.map +1 -0
- package/lib/getExePath.d.ts +2 -0
- package/package.json +57 -12
- package/vendor/vscode-jsonrpc/README.md +69 -0
- package/vendor/vscode-jsonrpc/lib/browser/main.d.ts +17 -0
- package/vendor/vscode-jsonrpc/lib/browser/main.js +83 -0
- package/vendor/vscode-jsonrpc/lib/browser/ril.d.ts +22 -0
- package/vendor/vscode-jsonrpc/lib/browser/ril.js +203 -0
- package/vendor/vscode-jsonrpc/lib/common/api.d.ts +14 -0
- package/vendor/vscode-jsonrpc/lib/common/api.js +87 -0
- package/vendor/vscode-jsonrpc/lib/common/cancellation.d.ts +32 -0
- package/vendor/vscode-jsonrpc/lib/common/cancellation.js +132 -0
- package/vendor/vscode-jsonrpc/lib/common/connection.d.ts +367 -0
- package/vendor/vscode-jsonrpc/lib/common/connection.js +1272 -0
- package/vendor/vscode-jsonrpc/lib/common/disposable.d.ts +9 -0
- package/vendor/vscode-jsonrpc/lib/common/disposable.js +16 -0
- package/vendor/vscode-jsonrpc/lib/common/encoding.d.ts +52 -0
- package/vendor/vscode-jsonrpc/lib/common/encoding.js +70 -0
- package/vendor/vscode-jsonrpc/lib/common/events.d.ts +39 -0
- package/vendor/vscode-jsonrpc/lib/common/events.js +136 -0
- package/vendor/vscode-jsonrpc/lib/common/is.d.ts +7 -0
- package/vendor/vscode-jsonrpc/lib/common/is.js +34 -0
- package/vendor/vscode-jsonrpc/lib/common/linkedMap.d.ts +55 -0
- package/vendor/vscode-jsonrpc/lib/common/linkedMap.js +412 -0
- package/vendor/vscode-jsonrpc/lib/common/messageBuffer.d.ts +18 -0
- package/vendor/vscode-jsonrpc/lib/common/messageBuffer.js +155 -0
- package/vendor/vscode-jsonrpc/lib/common/messageReader.d.ts +77 -0
- package/vendor/vscode-jsonrpc/lib/common/messageReader.js +246 -0
- package/vendor/vscode-jsonrpc/lib/common/messageWriter.d.ts +60 -0
- package/vendor/vscode-jsonrpc/lib/common/messageWriter.js +157 -0
- package/vendor/vscode-jsonrpc/lib/common/messages.d.ts +369 -0
- package/vendor/vscode-jsonrpc/lib/common/messages.js +436 -0
- package/vendor/vscode-jsonrpc/lib/common/ral.d.ts +74 -0
- package/vendor/vscode-jsonrpc/lib/common/ral.js +23 -0
- package/vendor/vscode-jsonrpc/lib/common/semaphore.d.ts +10 -0
- package/vendor/vscode-jsonrpc/lib/common/semaphore.js +74 -0
- package/vendor/vscode-jsonrpc/lib/common/sharedArrayCancellation.d.ts +15 -0
- package/vendor/vscode-jsonrpc/lib/common/sharedArrayCancellation.js +77 -0
- package/vendor/vscode-jsonrpc/lib/node/main.d.ts +58 -0
- package/vendor/vscode-jsonrpc/lib/node/main.js +289 -0
- package/vendor/vscode-jsonrpc/lib/node/ril.d.ts +12 -0
- package/vendor/vscode-jsonrpc/lib/node/ril.js +163 -0
- package/vendor/vscode-jsonrpc/package.json +54 -0
- package/vendor/vscode-jsonrpc/typings/thenable.d.ts +5 -0
|
@@ -0,0 +1,488 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure JS replacement for @typescript/libsyncrpc.
|
|
3
|
+
*
|
|
4
|
+
* Spawns a child process and communicates with it synchronously over
|
|
5
|
+
* stdin/stdout pipes using the same MessagePack-based tuple protocol:
|
|
6
|
+
* [MessageType (u8), method (bin), payload (bin)]
|
|
7
|
+
*
|
|
8
|
+
* Synchronous I/O is achieved by calling fs.readSync / fs.writeSync
|
|
9
|
+
* directly on the pipe file descriptors obtained from the spawned
|
|
10
|
+
* ChildProcess.
|
|
11
|
+
*/
|
|
12
|
+
import { spawn, } from "node:child_process";
|
|
13
|
+
import { closeSync, openSync, readSync, writeSync, } from "node:fs";
|
|
14
|
+
import { binHeaderSize, MSGPACK_BIN16, MSGPACK_BIN32, MSGPACK_BIN8, MSGPACK_FIXARRAY3, MSGPACK_UINT8, writeBinHeader, } from "./node/msgpack.js";
|
|
15
|
+
// ── MessageType constants ────────────────────────────────────────────
|
|
16
|
+
// Sent by channel (parent → child)
|
|
17
|
+
const MSG_REQUEST = 1;
|
|
18
|
+
const MSG_CALL_RESPONSE = 2;
|
|
19
|
+
const MSG_CALL_ERROR = 3;
|
|
20
|
+
// Sent by child (child → parent)
|
|
21
|
+
const MSG_RESPONSE = 4;
|
|
22
|
+
const MSG_ERROR = 5;
|
|
23
|
+
const MSG_CALL = 6;
|
|
24
|
+
// Pre-allocated buffer used by Atomics.wait for tiny sleeps when a
|
|
25
|
+
// non-blocking fd returns EAGAIN.
|
|
26
|
+
const sleepBuf = new Int32Array(new SharedArrayBuffer(4));
|
|
27
|
+
// Shared empty buffer – avoids allocating Buffer.alloc(0) on every
|
|
28
|
+
// zero-length bin field.
|
|
29
|
+
const EMPTY_BUF = Buffer.alloc(0);
|
|
30
|
+
// ── Global cleanup tracking ─────────────────────────────────────────
|
|
31
|
+
// Track all live child processes so they can be killed on process exit.
|
|
32
|
+
// This mimics the auto-cleanup behavior of the native libsyncrpc module,
|
|
33
|
+
// whose Rust/C++ destructors would kill children automatically.
|
|
34
|
+
const liveChildren = new Set();
|
|
35
|
+
process.on("exit", () => {
|
|
36
|
+
for (const child of liveChildren) {
|
|
37
|
+
try {
|
|
38
|
+
child.kill();
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
// swallow – process may already be dead
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
liveChildren.clear();
|
|
45
|
+
});
|
|
46
|
+
/**
|
|
47
|
+
* SyncRpcChannel – drop-in replacement for the native libsyncrpc class.
|
|
48
|
+
*
|
|
49
|
+
* API surface intentionally matches the original:
|
|
50
|
+
* - constructor(exe, args)
|
|
51
|
+
* - requestSync(method, payload): string
|
|
52
|
+
* - requestBinarySync(method, payload): Uint8Array
|
|
53
|
+
* - registerCallback(name, cb)
|
|
54
|
+
* - close()
|
|
55
|
+
*
|
|
56
|
+
* The protocol is unversioned; both sides (this JS channel and the Go
|
|
57
|
+
* child process) must be built from the same tree.
|
|
58
|
+
*
|
|
59
|
+
* This class is **not** thread-safe. All calls must originate from a
|
|
60
|
+
* single thread — do not share an instance across worker threads.
|
|
61
|
+
*/
|
|
62
|
+
export class SyncRpcChannel {
|
|
63
|
+
child;
|
|
64
|
+
readFd;
|
|
65
|
+
writeFd;
|
|
66
|
+
pipeFd;
|
|
67
|
+
callbacks = new Map();
|
|
68
|
+
methodBufCache = new Map();
|
|
69
|
+
_msgType = 0;
|
|
70
|
+
_msgName = EMPTY_BUF;
|
|
71
|
+
_msgPayload = EMPTY_BUF;
|
|
72
|
+
headerBuf = Buffer.allocUnsafe(4);
|
|
73
|
+
// Read-ahead buffer – reduces readSync syscalls by buffering data from the pipe.
|
|
74
|
+
readBuf = Buffer.allocUnsafe(65536);
|
|
75
|
+
readBufPos = 0;
|
|
76
|
+
readBufLen = 0;
|
|
77
|
+
// Write buffer – assembles entire tuples for a single writeSync.
|
|
78
|
+
writeBuf = Buffer.allocUnsafe(65536);
|
|
79
|
+
constructor(exe, args) {
|
|
80
|
+
const isWindows = process.platform === "win32";
|
|
81
|
+
if (isWindows) {
|
|
82
|
+
// On Windows, libuv pipe handles don't expose POSIX fds, so
|
|
83
|
+
// readSync/writeSync can't be used on stdio pipes. Instead,
|
|
84
|
+
// we create a Windows named pipe path, pass it to the child
|
|
85
|
+
// via --pipe, and open it with fs.openSync which returns a
|
|
86
|
+
// real C-runtime fd backed by a proper HANDLE.
|
|
87
|
+
const pipePath = `\\\\.\\pipe\\tsgo-sync-${process.pid}-${Date.now()}`;
|
|
88
|
+
this.child = spawn(exe, [...args, "--pipe", pipePath], {
|
|
89
|
+
stdio: ["ignore", "ignore", "inherit"],
|
|
90
|
+
});
|
|
91
|
+
// Retry openSync until the child creates the named pipe.
|
|
92
|
+
let fd;
|
|
93
|
+
for (let i = 0; i < 500; i++) {
|
|
94
|
+
try {
|
|
95
|
+
fd = openSync(pipePath, "r+");
|
|
96
|
+
break;
|
|
97
|
+
}
|
|
98
|
+
catch {
|
|
99
|
+
if (this.child.exitCode !== null) {
|
|
100
|
+
throw new Error(`Child process exited with code ${this.child.exitCode} before pipe was ready`);
|
|
101
|
+
}
|
|
102
|
+
Atomics.wait(sleepBuf, 0, 0, 10);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
if (fd === undefined) {
|
|
106
|
+
this.child.kill();
|
|
107
|
+
throw new Error("SyncRpcChannel: timed out connecting to named pipe");
|
|
108
|
+
}
|
|
109
|
+
this.readFd = fd;
|
|
110
|
+
this.writeFd = fd;
|
|
111
|
+
this.pipeFd = fd;
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
// POSIX: use stdio pipe file descriptors directly.
|
|
115
|
+
this.child = spawn(exe, args, {
|
|
116
|
+
stdio: ["pipe", "pipe", "inherit"],
|
|
117
|
+
});
|
|
118
|
+
const stdout = this.child.stdout;
|
|
119
|
+
const stdin = this.child.stdin;
|
|
120
|
+
this.readFd = stdout._handle.fd;
|
|
121
|
+
this.writeFd = stdin._handle.fd;
|
|
122
|
+
if (typeof this.readFd !== "number" || this.readFd < 0 || typeof this.writeFd !== "number" || this.writeFd < 0) {
|
|
123
|
+
stdout.destroy();
|
|
124
|
+
stdin.destroy();
|
|
125
|
+
this.child.kill();
|
|
126
|
+
throw new Error("SyncRpcChannel: could not obtain pipe file descriptors.");
|
|
127
|
+
}
|
|
128
|
+
// Set the pipe handles to blocking mode. Under node --test's
|
|
129
|
+
// process isolation, pipes are created in non-blocking mode
|
|
130
|
+
// (for the IPC channel). This causes readSync/writeSync to get
|
|
131
|
+
// EAGAIN, requiring costly 1ms sleeps per retry. Setting
|
|
132
|
+
// blocking mode ensures readSync blocks properly until data
|
|
133
|
+
// arrives, matching the behavior of the native libsyncrpc.
|
|
134
|
+
stdout._handle.setBlocking?.(true);
|
|
135
|
+
stdin._handle.setBlocking?.(true);
|
|
136
|
+
// Prevent Node's event-loop from reading stdout or keeping the
|
|
137
|
+
// process alive – we will use fs.readSync exclusively.
|
|
138
|
+
stdout.pause();
|
|
139
|
+
stdout.unref();
|
|
140
|
+
stdin.unref();
|
|
141
|
+
}
|
|
142
|
+
// Track for auto-cleanup on process exit.
|
|
143
|
+
liveChildren.add(this.child);
|
|
144
|
+
this.child.unref();
|
|
145
|
+
}
|
|
146
|
+
// ── Public API ──────────────────────────────────────────────────
|
|
147
|
+
/**
|
|
148
|
+
* Send a request and synchronously wait for the response (string).
|
|
149
|
+
* Handles Call (callback) messages from the child inline.
|
|
150
|
+
*/
|
|
151
|
+
requestSync(method, payload) {
|
|
152
|
+
this.ensureOpen();
|
|
153
|
+
const result = this.requestBytesSync(method, payload);
|
|
154
|
+
return result.toString("utf-8");
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Send a request and synchronously wait for the response (binary).
|
|
158
|
+
* Handles Call (callback) messages from the child inline.
|
|
159
|
+
*/
|
|
160
|
+
requestBinarySync(method, payload) {
|
|
161
|
+
this.ensureOpen();
|
|
162
|
+
return this.requestBytesSync(method, payload);
|
|
163
|
+
}
|
|
164
|
+
/** Register a string→string callback that the child may invoke. */
|
|
165
|
+
registerCallback(name, callback) {
|
|
166
|
+
this.callbacks.set(name, callback);
|
|
167
|
+
}
|
|
168
|
+
/** Kill the child process and release resources. */
|
|
169
|
+
close() {
|
|
170
|
+
try {
|
|
171
|
+
liveChildren.delete(this.child);
|
|
172
|
+
if (this.pipeFd !== undefined) {
|
|
173
|
+
closeSync(this.pipeFd);
|
|
174
|
+
this.pipeFd = undefined;
|
|
175
|
+
}
|
|
176
|
+
// Destroy the stdio streams so that their pipe handles are closed
|
|
177
|
+
// and no longer prevent the event loop from draining.
|
|
178
|
+
this.child.stdout?.destroy();
|
|
179
|
+
this.child.stdin?.destroy();
|
|
180
|
+
this.child.kill();
|
|
181
|
+
this.readFd = -1;
|
|
182
|
+
this.writeFd = -1;
|
|
183
|
+
}
|
|
184
|
+
catch {
|
|
185
|
+
// swallow – process may already be dead
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
// ── Core request loop ───────────────────────────────────────────
|
|
189
|
+
ensureOpen() {
|
|
190
|
+
if (this.readFd < 0) {
|
|
191
|
+
throw new Error("SyncRpcChannel is closed");
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
getMethodBuf(method) {
|
|
195
|
+
let buf = this.methodBufCache.get(method);
|
|
196
|
+
if (buf === undefined) {
|
|
197
|
+
buf = Buffer.from(method, "utf-8");
|
|
198
|
+
this.methodBufCache.set(method, buf);
|
|
199
|
+
}
|
|
200
|
+
return buf;
|
|
201
|
+
}
|
|
202
|
+
requestBytesSync(method, payload) {
|
|
203
|
+
const methodBuf = this.getMethodBuf(method);
|
|
204
|
+
this.writeTuple(MSG_REQUEST, methodBuf, payload);
|
|
205
|
+
for (;;) {
|
|
206
|
+
this.readTuple();
|
|
207
|
+
switch (this._msgType) {
|
|
208
|
+
case MSG_RESPONSE: {
|
|
209
|
+
// Compare raw bytes instead of decoding to string.
|
|
210
|
+
if (!methodBuf.equals(this._msgName)) {
|
|
211
|
+
throw new Error(`name mismatch for response: expected \`${method}\`, got \`${this._msgName.toString("utf-8")}\``);
|
|
212
|
+
}
|
|
213
|
+
return this._msgPayload;
|
|
214
|
+
}
|
|
215
|
+
case MSG_ERROR: {
|
|
216
|
+
if (methodBuf.equals(this._msgName)) {
|
|
217
|
+
throw new Error(this._msgPayload.toString("utf-8"));
|
|
218
|
+
}
|
|
219
|
+
throw new Error(`name mismatch for response: expected \`${method}\`, got \`${this._msgName.toString("utf-8")}\``);
|
|
220
|
+
}
|
|
221
|
+
case MSG_CALL: {
|
|
222
|
+
this.handleCall(this._msgName.toString("utf-8"), this._msgPayload);
|
|
223
|
+
break;
|
|
224
|
+
}
|
|
225
|
+
default:
|
|
226
|
+
throw new Error(`Invalid message type from child: ${this._msgType}`);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
// ── Callback handling ───────────────────────────────────────────
|
|
231
|
+
/**
|
|
232
|
+
* Handle an incoming MSG_CALL from the child process.
|
|
233
|
+
*
|
|
234
|
+
* After sending the error response back to the child, this method
|
|
235
|
+
* intentionally re-throws to abort the caller's request loop.
|
|
236
|
+
* A failed callback is treated as unrecoverable to match the
|
|
237
|
+
* behavior of the native libsyncrpc addon.
|
|
238
|
+
*/
|
|
239
|
+
handleCall(name, payload) {
|
|
240
|
+
const cb = this.callbacks.get(name);
|
|
241
|
+
if (!cb) {
|
|
242
|
+
const errMsg = `unknown callback: \`${name}\`. Please make sure to register it on the JavaScript side before invoking it.`;
|
|
243
|
+
this.writeTuple(MSG_CALL_ERROR, Buffer.from(name, "utf-8"), Buffer.from(errMsg, "utf-8"));
|
|
244
|
+
throw new Error(`no callback named \`${name}\` found`);
|
|
245
|
+
}
|
|
246
|
+
try {
|
|
247
|
+
const result = cb(name, payload.toString("utf-8"));
|
|
248
|
+
this.writeTuple(MSG_CALL_RESPONSE, Buffer.from(name, "utf-8"), Buffer.from(result, "utf-8"));
|
|
249
|
+
}
|
|
250
|
+
catch (e) {
|
|
251
|
+
const errMsg = String(e instanceof Error ? e.message : e).trim();
|
|
252
|
+
this.writeTuple(MSG_CALL_ERROR, Buffer.from(name, "utf-8"), Buffer.from(errMsg, "utf-8"));
|
|
253
|
+
throw new Error(`Error calling callback \`${name}\`: ${errMsg}`);
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
// ── MessagePack tuple write ─────────────────────────────────────
|
|
257
|
+
/**
|
|
258
|
+
* Write a complete [type, name, payload] tuple in as few writeSync
|
|
259
|
+
* calls as possible. For messages that fit in the pre-allocated
|
|
260
|
+
* write buffer (64 KB), everything is assembled and sent in a single
|
|
261
|
+
* syscall. Larger messages use two syscalls: one for the header
|
|
262
|
+
* portion and one for the payload data.
|
|
263
|
+
*/
|
|
264
|
+
writeTuple(type, name, payload) {
|
|
265
|
+
const nameLen = name.length;
|
|
266
|
+
const payloadIsString = typeof payload === "string";
|
|
267
|
+
const payloadLen = payloadIsString ? Buffer.byteLength(payload, "utf-8") : payload.length;
|
|
268
|
+
const nameHdrSize = binHeaderSize(nameLen);
|
|
269
|
+
const payloadHdrSize = binHeaderSize(payloadLen);
|
|
270
|
+
const headerSize = 2 + nameHdrSize + nameLen + payloadHdrSize;
|
|
271
|
+
const totalSize = headerSize + payloadLen;
|
|
272
|
+
if (totalSize <= this.writeBuf.length) {
|
|
273
|
+
// Small message: assemble into write buffer, one syscall
|
|
274
|
+
let off = 0;
|
|
275
|
+
this.writeBuf[off++] = MSGPACK_FIXARRAY3;
|
|
276
|
+
this.writeBuf[off++] = type;
|
|
277
|
+
off = writeBinHeader(this.writeBuf, off, nameLen);
|
|
278
|
+
name.copy(this.writeBuf, off);
|
|
279
|
+
off += nameLen;
|
|
280
|
+
off = writeBinHeader(this.writeBuf, off, payloadLen);
|
|
281
|
+
if (payloadLen > 0) {
|
|
282
|
+
if (payloadIsString) {
|
|
283
|
+
// Encode string directly into write buffer — avoids
|
|
284
|
+
// Buffer.from(string, 'utf-8') allocation entirely.
|
|
285
|
+
this.writeBuf.write(payload, off, payloadLen, "utf-8");
|
|
286
|
+
}
|
|
287
|
+
else if (payload instanceof Buffer) {
|
|
288
|
+
payload.copy(this.writeBuf, off);
|
|
289
|
+
}
|
|
290
|
+
else {
|
|
291
|
+
this.writeBuf.set(payload, off);
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
this.writeAllBuf(this.writeBuf, totalSize);
|
|
295
|
+
}
|
|
296
|
+
else {
|
|
297
|
+
// Large message: header + name in one call, payload in another
|
|
298
|
+
let off = 0;
|
|
299
|
+
this.writeBuf[off++] = MSGPACK_FIXARRAY3;
|
|
300
|
+
this.writeBuf[off++] = type;
|
|
301
|
+
off = writeBinHeader(this.writeBuf, off, nameLen);
|
|
302
|
+
name.copy(this.writeBuf, off);
|
|
303
|
+
off += nameLen;
|
|
304
|
+
off = writeBinHeader(this.writeBuf, off, payloadLen);
|
|
305
|
+
this.writeAllBuf(this.writeBuf, off);
|
|
306
|
+
if (payloadLen > 0) {
|
|
307
|
+
if (payloadIsString) {
|
|
308
|
+
// Large string: must allocate (can't stream-encode
|
|
309
|
+
// across multiple writeSync calls).
|
|
310
|
+
this.writeAllBuf(Buffer.from(payload, "utf-8"));
|
|
311
|
+
}
|
|
312
|
+
else {
|
|
313
|
+
this.writeAllBuf(payload);
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
// ── MessagePack tuple read ──────────────────────────────────────
|
|
319
|
+
/**
|
|
320
|
+
* Read a [type, name, payload] tuple into instance fields
|
|
321
|
+
* (_msgType, _msgName, _msgPayload) to avoid allocating a
|
|
322
|
+
* short-lived 3-element array on every call.
|
|
323
|
+
*/
|
|
324
|
+
readTuple() {
|
|
325
|
+
// Fixed 3-element array marker
|
|
326
|
+
const marker = this.readByte();
|
|
327
|
+
if (marker !== MSGPACK_FIXARRAY3) {
|
|
328
|
+
throw new Error(`Expected fixed 3-element array (0x93), received: 0x${marker.toString(16)}`);
|
|
329
|
+
}
|
|
330
|
+
// Message type – positive fixint or uint8
|
|
331
|
+
const tb = this.readByte();
|
|
332
|
+
if (tb <= 0x7f) {
|
|
333
|
+
this._msgType = tb;
|
|
334
|
+
}
|
|
335
|
+
else if (tb === MSGPACK_UINT8) {
|
|
336
|
+
this._msgType = this.readByte();
|
|
337
|
+
}
|
|
338
|
+
else {
|
|
339
|
+
throw new Error(`Expected positive fixint or uint8 marker, received: 0x${tb.toString(16)}`);
|
|
340
|
+
}
|
|
341
|
+
this._msgName = this.readBin();
|
|
342
|
+
this._msgPayload = this.readBin();
|
|
343
|
+
}
|
|
344
|
+
/**
|
|
345
|
+
* Read a MessagePack bin field.
|
|
346
|
+
*/
|
|
347
|
+
readBin() {
|
|
348
|
+
const marker = this.readByte();
|
|
349
|
+
let size;
|
|
350
|
+
switch (marker) {
|
|
351
|
+
case MSGPACK_BIN8:
|
|
352
|
+
size = this.readByte();
|
|
353
|
+
break;
|
|
354
|
+
case MSGPACK_BIN16:
|
|
355
|
+
this.readExactInto(this.headerBuf, 2);
|
|
356
|
+
size = (this.headerBuf[0] << 8) | this.headerBuf[1];
|
|
357
|
+
break;
|
|
358
|
+
case MSGPACK_BIN32:
|
|
359
|
+
this.readExactInto(this.headerBuf, 4);
|
|
360
|
+
size = this.headerBuf.readUInt32BE(0);
|
|
361
|
+
break;
|
|
362
|
+
default:
|
|
363
|
+
throw new Error(`Expected binary data (0xc4-0xc6), received: 0x${marker.toString(16)}`);
|
|
364
|
+
}
|
|
365
|
+
if (size === 0)
|
|
366
|
+
return EMPTY_BUF;
|
|
367
|
+
return this.readExact(size);
|
|
368
|
+
}
|
|
369
|
+
// ── Low-level synchronous I/O ───────────────────────────────────
|
|
370
|
+
/** Build an EOF error with the child's exit code/signal if available. */
|
|
371
|
+
eofError() {
|
|
372
|
+
const code = this.child.exitCode;
|
|
373
|
+
const signal = this.child.signalCode;
|
|
374
|
+
const detail = signal ? `killed by signal ${signal}` : code !== null ? `exited with code ${code}` : "unknown reason";
|
|
375
|
+
return new Error(`Unexpected EOF while reading from child process (${detail})`);
|
|
376
|
+
}
|
|
377
|
+
/** Read a single byte from the buffered read-ahead. */
|
|
378
|
+
readByte() {
|
|
379
|
+
if (this.readBufPos >= this.readBufLen) {
|
|
380
|
+
this.fillReadBuffer();
|
|
381
|
+
}
|
|
382
|
+
return this.readBuf[this.readBufPos++];
|
|
383
|
+
}
|
|
384
|
+
readExact(length) {
|
|
385
|
+
// Use allocUnsafeSlow (not allocUnsafe) so the buffer has its own
|
|
386
|
+
// backing ArrayBuffer at byteOffset 0. This is critical because
|
|
387
|
+
// callers such as RemoteSourceFile create DataView/Uint8Array over
|
|
388
|
+
// buffer.buffer with absolute offsets. Buffer.allocUnsafe returns
|
|
389
|
+
// slices of a shared pool whose byteOffset is non-zero, corrupting
|
|
390
|
+
// those downstream views.
|
|
391
|
+
//
|
|
392
|
+
// allocUnsafeSlow (vs alloc) skips zero-fill, which matters for
|
|
393
|
+
// large transfers — e.g. checker.ts at ~57 MB saves ~5 ms of
|
|
394
|
+
// unnecessary memset. The buffer is immediately filled by
|
|
395
|
+
// readExactInto so uninitialized memory is never exposed.
|
|
396
|
+
const buf = Buffer.allocUnsafeSlow(length);
|
|
397
|
+
this.readExactInto(buf, length);
|
|
398
|
+
return buf;
|
|
399
|
+
}
|
|
400
|
+
/**
|
|
401
|
+
* Fill the internal read-ahead buffer from the pipe fd.
|
|
402
|
+
* Retries on EAGAIN for non-blocking mode compatibility.
|
|
403
|
+
*/
|
|
404
|
+
fillReadBuffer() {
|
|
405
|
+
this.readBufPos = 0;
|
|
406
|
+
this.readBufLen = 0;
|
|
407
|
+
for (;;) {
|
|
408
|
+
try {
|
|
409
|
+
const n = readSync(this.readFd, this.readBuf, 0, this.readBuf.length, null);
|
|
410
|
+
if (n === 0) {
|
|
411
|
+
throw this.eofError();
|
|
412
|
+
}
|
|
413
|
+
this.readBufLen = n;
|
|
414
|
+
return;
|
|
415
|
+
}
|
|
416
|
+
catch (e) {
|
|
417
|
+
if (e instanceof Error && ("code" in e) && (e.code === "EAGAIN" || e.code === "EWOULDBLOCK")) {
|
|
418
|
+
Atomics.wait(sleepBuf, 0, 0, 1);
|
|
419
|
+
continue;
|
|
420
|
+
}
|
|
421
|
+
throw e;
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
/**
|
|
426
|
+
* Synchronously read exactly `length` bytes into `buffer`.
|
|
427
|
+
* Serves from the internal read-ahead buffer first; for large reads
|
|
428
|
+
* that exceed the buffer size, reads directly from the fd to avoid
|
|
429
|
+
* an extra copy.
|
|
430
|
+
*/
|
|
431
|
+
readExactInto(buffer, length) {
|
|
432
|
+
let pos = 0;
|
|
433
|
+
while (pos < length) {
|
|
434
|
+
const avail = this.readBufLen - this.readBufPos;
|
|
435
|
+
if (avail > 0) {
|
|
436
|
+
// Serve from read-ahead buffer
|
|
437
|
+
const toCopy = Math.min(avail, length - pos);
|
|
438
|
+
this.readBuf.copy(buffer, pos, this.readBufPos, this.readBufPos + toCopy);
|
|
439
|
+
this.readBufPos += toCopy;
|
|
440
|
+
pos += toCopy;
|
|
441
|
+
}
|
|
442
|
+
else if (length - pos >= this.readBuf.length) {
|
|
443
|
+
// Remaining data is larger than read buffer; read directly
|
|
444
|
+
// into the target to avoid unnecessary copying.
|
|
445
|
+
try {
|
|
446
|
+
const n = readSync(this.readFd, buffer, pos, length - pos, null);
|
|
447
|
+
if (n === 0) {
|
|
448
|
+
throw this.eofError();
|
|
449
|
+
}
|
|
450
|
+
pos += n;
|
|
451
|
+
}
|
|
452
|
+
catch (e) {
|
|
453
|
+
if (e instanceof Error && ("code" in e) && (e.code === "EAGAIN" || e.code === "EWOULDBLOCK")) {
|
|
454
|
+
Atomics.wait(sleepBuf, 0, 0, 1);
|
|
455
|
+
continue;
|
|
456
|
+
}
|
|
457
|
+
throw e;
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
else {
|
|
461
|
+
// Refill the read-ahead buffer
|
|
462
|
+
this.fillReadBuffer();
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
/**
|
|
467
|
+
* Synchronously write all bytes from `data` (up to `length`).
|
|
468
|
+
* Retries on EAGAIN.
|
|
469
|
+
*/
|
|
470
|
+
writeAllBuf(data, length) {
|
|
471
|
+
const total = length ?? data.length;
|
|
472
|
+
let pos = 0;
|
|
473
|
+
while (pos < total) {
|
|
474
|
+
try {
|
|
475
|
+
const n = writeSync(this.writeFd, data, pos, total - pos);
|
|
476
|
+
pos += n;
|
|
477
|
+
}
|
|
478
|
+
catch (e) {
|
|
479
|
+
if (e instanceof Error && ("code" in e) && (e.code === "EAGAIN" || e.code === "EWOULDBLOCK")) {
|
|
480
|
+
Atomics.wait(sleepBuf, 0, 0, 1);
|
|
481
|
+
continue;
|
|
482
|
+
}
|
|
483
|
+
throw e;
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
//# sourceMappingURL=syncChannel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"syncChannel.js","sourceRoot":"","sources":["../../src/api/syncChannel.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import type { LanguageVariant } from "#enums/languageVariant";
|
|
2
|
+
import type { NodeFlags } from "#enums/nodeFlags";
|
|
3
|
+
import type { ScriptKind } from "#enums/scriptKind";
|
|
4
|
+
import { SyntaxKind } from "#enums/syntaxKind";
|
|
5
|
+
import type { EndOfFile, EntityName, Identifier, KeywordSyntaxKind, ModifierSyntaxKind, PropertyAccessExpression, PunctuationSyntaxKind, Statement, Token } from "./ast.generated.ts";
|
|
6
|
+
export { SyntaxKind } from "#enums/syntaxKind";
|
|
7
|
+
export { TokenFlags } from "#enums/tokenFlags";
|
|
8
|
+
export * from "./ast.generated.ts";
|
|
9
|
+
export type Path = string & {
|
|
10
|
+
__pathBrand: any;
|
|
11
|
+
};
|
|
12
|
+
export interface TextRange {
|
|
13
|
+
pos: number;
|
|
14
|
+
end: number;
|
|
15
|
+
}
|
|
16
|
+
export interface ReadonlyTextRange {
|
|
17
|
+
readonly pos: number;
|
|
18
|
+
readonly end: number;
|
|
19
|
+
}
|
|
20
|
+
export interface NodeArray<T extends Node> extends ReadonlyArray<T>, ReadonlyTextRange {
|
|
21
|
+
hasTrailingComma?: boolean;
|
|
22
|
+
transformFlags: number;
|
|
23
|
+
}
|
|
24
|
+
export interface Node extends ReadonlyTextRange {
|
|
25
|
+
readonly kind: SyntaxKind;
|
|
26
|
+
readonly flags: NodeFlags;
|
|
27
|
+
readonly parent: Node;
|
|
28
|
+
readonly jsDoc?: readonly Node[];
|
|
29
|
+
forEachChild<T>(visitor: (node: Node) => T, visitArray?: (nodes: NodeArray<Node>) => T): T | undefined;
|
|
30
|
+
getSourceFile(): SourceFile;
|
|
31
|
+
}
|
|
32
|
+
export interface FileReference extends TextRange {
|
|
33
|
+
readonly fileName: string;
|
|
34
|
+
readonly resolutionMode: number;
|
|
35
|
+
readonly preserve: boolean;
|
|
36
|
+
}
|
|
37
|
+
export interface SourceFile extends Node {
|
|
38
|
+
readonly kind: SyntaxKind.SourceFile;
|
|
39
|
+
readonly statements: NodeArray<Statement>;
|
|
40
|
+
readonly endOfFileToken: EndOfFile;
|
|
41
|
+
readonly text: string;
|
|
42
|
+
readonly fileName: string;
|
|
43
|
+
readonly path: Path;
|
|
44
|
+
readonly languageVariant: LanguageVariant;
|
|
45
|
+
readonly scriptKind: ScriptKind;
|
|
46
|
+
readonly isDeclarationFile: boolean;
|
|
47
|
+
readonly referencedFiles: readonly FileReference[];
|
|
48
|
+
readonly typeReferenceDirectives: readonly FileReference[];
|
|
49
|
+
readonly libReferenceDirectives: readonly FileReference[];
|
|
50
|
+
readonly imports: readonly Node[];
|
|
51
|
+
readonly moduleAugmentations: readonly Node[];
|
|
52
|
+
readonly ambientModuleNames: readonly string[];
|
|
53
|
+
readonly externalModuleIndicator: Node | true | undefined;
|
|
54
|
+
/** @internal */
|
|
55
|
+
tokenCache?: Map<string, Node>;
|
|
56
|
+
}
|
|
57
|
+
export type PunctuationToken<TKind extends PunctuationSyntaxKind> = Token<TKind>;
|
|
58
|
+
export type KeywordToken<TKind extends KeywordSyntaxKind> = Token<TKind>;
|
|
59
|
+
export type ModifierToken<TKind extends ModifierSyntaxKind> = KeywordToken<TKind>;
|
|
60
|
+
export interface PropertyAccessEntityNameExpression extends PropertyAccessExpression {
|
|
61
|
+
readonly expression: EntityNameExpression;
|
|
62
|
+
readonly name: Identifier;
|
|
63
|
+
}
|
|
64
|
+
export type EntityNameExpression = Identifier | PropertyAccessEntityNameExpression;
|
|
65
|
+
export type EntityNameOrEntityNameExpression = EntityName | EntityNameExpression;
|
|
66
|
+
//# sourceMappingURL=ast.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ast.d.ts","sourceRoot":"","sources":["../../src/ast/ast.ts"],"names":[],"mappings":"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"}
|